Tópicos em System-Level
Design
Tecnologia de Projeto
Sandro Rigo
[email protected]
2o Semestre de 2006
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
1
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
2
Impacto de DT no custo de
implementação de SoC-PE
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
3
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.
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
4
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
5
Desafios para Tecnologia de Projeto
• Verificação: design for verifiability,
reuso, system-level e software
• Projeto de software embarcado: codesign, verificação
• Gerenciamento: tamanho do time,
projeto colaborativo, aprimoramento do
processo
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
6
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?
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
7
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
8
Metodologia de Projeto
• Componentes críticos ainda são
projetados em baixo nível: RTL ou gatelevel
– 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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
9
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 systemlevel design e da indústria de ESL
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
10
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
11
System-level Design
• Bibliotecas de software (módulos)
– Aceleram o desenvolvimento
• Possibilitam a criação de um SoC
composto por blocos complexos
rapidamente
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
12
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
13
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
14
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
15
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
16
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
17
Fluxo de Projeto em 2004 (ITRS’05)
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
18
Fluxo de Projeto em 2007 (ITRS’05)
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
19
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 “coprocessor 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.
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
20
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
21
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
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
22
System-Level Design Requirements
(Near-term)
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
23
System-Level Design Requirements
(Long-term)
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
24
System-Level Design Potential Solutions
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
25
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
26
Referências
•
International Technology Roadmap for Semiconductors. 2005
Edition.
MO801: Tópicos em Arquitetura e Hardware
http://www.ic.unicamp.br/~sandro
27
Download

design