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