27
MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 1 Tópicos em System-Level Tópicos em System-Level Design Design Tecnologia de Projeto Tecnologia de Projeto Sandro Rigo [email protected] 2 o Semestre de 2006

MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo [email protected]

Embed Size (px)

Citation preview

Page 1: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

1

Tópicos em System-Level Tópicos em System-Level DesignDesign

Tecnologia de ProjetoTecnologia de Projeto

Sandro [email protected]

2o Semestre de 2006

Page 2: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

2

Tecnologia de Projeto

• Possibilita concepção, implementação e

validação dos sistemas eletrônicos;

• Inclui ferramentas, bibliotecas, processo de

fabricação e metodologias;

• Custo é a maior ameaça à continuidade do

roadmap para semicondutores

• ITRS até 2003: design productivity gap– # transistores > habilidade de aproveitá-los

Page 3: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

3

Impacto de DT no custo de implementação de SoC-PE

Page 4: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

4

Impacto de DT no custo de implementação de SoC-PE

• O custo estimado de projeto para SoC-PE é $20M

• Seria $900M se os avanços em DT ocorridos entre 1993 e 2005 não tivessem acontecido

• 80% do custo pode estar no software

• Custo de verificação cresceu exponencialmente se comparado ao de manufatura

• O número de engenheiros de verificação é maior que o de projetos.

Page 5: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

5

Desafios para Tecnologia de Projeto

• Dois tipos básicos: complexidade no silício (fabricação) e complexidade do sistema;

• Especificação e validação se tornam desafios;

• Reuso: projeto hierárquico, integração de componentes heterogêneos

Page 6: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

6

Desafios para Tecnologia de Projeto

• Verificação: design for verifiability,

reuso, system-level e software

• Projeto de software embarcado: co-

design, verificação

• Gerenciamento: tamanho do time,

projeto colaborativo, aprimoramento do

processo

Page 7: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

7

Metodologia de Projeto

• Metodologia vem se tornando mais

desafiadora do que ferramentas

• Conseguimos colocar um sistema

extremamente complexo em um único

chip. Mas como explorar esse potencial

de maneira confiável e viável em

termos de custo?

Page 8: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

8

Metodologia de Projeto

• Cada nova geração da tecnologia tras

novas questões:– Requer novas análises e novas ferramentas devem ser

desenvolvidas para ajudar o projetista em suas decisões críticas

• Outro desafio é determinar qual a

melhor seqüência para atacar essas

questões– Minimizar iterações no fluxo de projeto

Page 9: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

9

Metodologia de Projeto

• Componentes críticos ainda são

projetados em baixo nível: RTL ou gate-

level– Requer novas análises e novas ferramentas devem ser

desenvolvidas para ajudar o projetista em suas decisões críticas

• Cada avanço no nível de abstração

requer novas ferramentas!!!– Analisar os trade-offs possíveis

– Mapear os resultados ao nível inferior

Page 10: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

10

Metodologia de Projeto

• Mas …para o contínuo avanço na

produtividade a solução é:

Abstração e Automação

• Daí o grande crescimento de system-

level design e da indústria de ESL

Page 11: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

11

System-level Design

• Reuso de HW e SW é conceito chave– Ganhos de produtividade estimados em 200%

• Cores, ou IPs, reutilizáveis trazem ganho na produtividade:

– São pré-verificados, diminuem a complexidade

• Teste reutilizáveis– Facilitam e aceleram a verificação

Page 12: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

12

System-level Design

• Bibliotecas de software (módulos)– Aceleram o desenvolvimento

• Possibilitam a criação de um SoC composto por blocos complexos rapidamente

Page 13: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

13

Platform-Based Design

• Extensão ao reuso de cores

• Objetivo é criar grupos de cores reutilizável: plataforma

• Estrutura básica de comunicação e processadores é fixa

• Exploração é baseada em customização de parâmetros e cores opicionais

Page 14: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

14

Platform-Based Design

• Engloba particionamento HW/SW

• Sistemas multiprocessados requerem particionamento SW/SW

• A idéia é que a exploração e decisões de projeto fiquem restritas a funções críticas

• A maioria das decisões é “herdada” pelo reaproveitamento da plataforma

Page 15: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

15

System-level Verification

• É fundamental uma notação padrão

para o aumento no nível de abstração

• Anos de experimentos com variantes de

C, C++, Java, etc, levam a SystemC

• SystemC é adequado para

inteoperabilidade de módulos HW/SW

Page 16: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

16

System-level Verification

• TLM se mostra promissora para alto desempenho de simulação

• Linguagens de SW para descrever HW trazem novos tipos de fontes de erro

• Requer novas técnicas padronizadas de verificação capaz de atender também o domínio de HW

• Métodos formais precisam começar a explorar esse alto nível de abstração

Page 17: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

17

Síntese da Micro-arquitetura

• Um padrão para especificação e verificação do sistema vai levar ao surgimento de novas ferramentas

• Síntese do sistema como um todo é uma tarefa extremamente difícil

• Primeiro passo: sintetizar RTL a partir de uma especificação em alto nível. Já existe: Forte

Page 18: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

18

Fluxo de Projeto em 2004 (ITRS’05)

Page 19: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

19

Fluxo de Projeto em 2007 (ITRS’05)

Page 20: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

20

Co-síntese de HW e SW

• Próximo passo seria sintetizar tanto HW quanto SW

• Substitui o processo manual de mapeamento de uma especificação comportamental a um programa e um HW para a micro-arquitetura

• Um possível caminho é chamado de “co-processor sythesis”

– Um algoritmo é analisado e dividido em uma estrutura de controle, que permanece em software, e uma porção de processamento/fluxo de dados que é implementada em HW através de um co-processador.

Page 21: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

21

Co-síntese de HW e SW

• A parte em HW pode reduzir o tempo de execução

em 90-95%– Depende da proporção de controle versus processamento

• Essa técnica já começa a aparecer em alguns

produtos, e deve continuar como a forma mais

comum nos próximos anos

• Uma representação unificada, baseada em software,

do processamento implícito em uma aplicação pode

ser a chave para novas possibilidades nessa área

Page 22: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

22

Desafios em System-Level Design

Solução existe e está sendo otimizada

Solução é conhecida

Solução Temporária (interim) é conhecida

Solução não é conhecida

Page 23: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

23

System-Level Design Requirements (Near-term)

Page 24: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

24

System-Level Design Requirements (Long-term)

Page 25: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

25

System-Level Design Potential Solutions

Page 26: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

26

Page 27: MO801: Tópicos em Arquitetura e Hardware sandro 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo sandro@ic.unicamp.br

MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro

27

Referências

• International Technology Roadmap for Semiconductors. 2005 Edition.