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
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
MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro
3
Impacto de DT no custo de implementação de SoC-PE
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.
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
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
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?
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
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
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
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
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
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
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
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
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
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
MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro
18
Fluxo de Projeto em 2004 (ITRS’05)
MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro
19
Fluxo de Projeto em 2007 (ITRS’05)
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.
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
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
MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro
23
System-Level Design Requirements (Near-term)
MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro
24
System-Level Design Requirements (Long-term)
MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro
25
System-Level Design Potential Solutions
MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro
26
MO801: Tópicos em Arquitetura e Hardwarehttp://www.ic.unicamp.br/~sandro
27
Referências
• International Technology Roadmap for Semiconductors. 2005 Edition.