Tópicos em System-Level Design Introdução Sandro Rigo [email protected] 2o Semestre de 2006 MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 1 A Indústria Eletrônica • Maiores impulsos para avanços na tecnologia de circuitos integrados • Extremamente competitiva • Time-to-market reduzido • Vida útil reduzida para o produto MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 2 A Indústria Eletrônica • Dispositivos eletrônicos na visão do consumidor: • Cada vez mais funcionalidades • Cada vez mais rápidos • Cada vez menores • Cada vez mais baratos MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 3 A Indústria Eletrônica • Visão do projetista: • Um incessante aumento de complexidade !!! • Novos padrões precisam ser rapidamente absorvidos • Novas metodologias de projeto se fazem necessárias MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 4 A Indústria Eletrônica • ITRS 2005: • Custo (do design) é a maior ameaça à continuidade do roadmap para semicondutores • Custos de fabricação (NRE): ~ milhões de U$ • Custo de Projeto: ~ dezenas de milhões de U$ • Tempos do ciclo de fabricação: ~ semanas • Tempos no ciclo de projeto: ~ meses ou mesmo anos MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 5 Lei de Moore A Lei de Moore continua prevalecendo, com o número de transistores dobrando a cada 2 anos Fonte: Intel MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 6 Tecnologia em CI – Estado da Arte 30 nanômetros: MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 7 Perdas por atraso no desenvolvimento 6 meses de atraso = - 33% de lucro MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 8 Aumento da capacidade de memória MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 10 Processador x Memória 100,000 10,000 1,000 Performance CPU 100 10 Memory 1 Year MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 11 Consumo de energia Fonte: Intel MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 12 Modelo inicial de sistema Processador E/S E/S E/S Memória Hardware Especializado (DSP) Glue logic/ Bridge MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro E/S 13 System-on-Chip SoC Processador E/S E/S E/S Memória Hardware Especializado (DSP) Glue logic/ Bridge MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro E/S 14 Multiprocessor System-on-Chip MPSoC Processador Processador E/S E/S E/S Memória Hardware Especializado (DSP) Glue logic/ Bridge MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro E/S 15 Onde estão os problemas? • Hardware • • • • • • • Acesso à memória externa Acesso aos periféricos externos (e internos?) Conversão de níveis de tensão Transposição de domínios de freqüência Especificação correta da capacidade da FPGA Mapeamento dos pinos de I/O Depuração MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 16 Onde estão os problemas? • Software • • • • • • Compilador Depurador Boot Loader (Monitor de Hardware) Sistema Operacional Drivers para periféricos Inteligência do dispositivo final • Interface com usuário • Configuração remota • Tolerância a falhas MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 17 Fluxo de Projeto Antigo (Clássico) Especificação Projeto de Hardware Sem Comunicação Projeto de Software Protótipo Integração Validação MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro Fabricação 18 Por que não é adequado? • Era comum projetistas partirem de uma especificação em papel diretamente para um implementação RTL • Times de hardware e software não interagem • Problemas que poderiam ser descobertos na fase inicial só aparecem na prototipação, onde é muito mais caro corrigir • Alta complexidade leva a alto tempo de desenvolvimento MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 19 Custo Custo de corrigir um problema Verificação Teste do sistema Usuário MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro Tempo 20 Solução??? • Abstração !!! • É uma técnica poderosa para atacar a alta complexidade; • Esconde detalhes desnecessários nas fases iniciais: pinos, latências, gates • Quanto mais detalhes, mais baixo o nível de abstração MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 21 Fluxo de Projeto para SoC Especificação Projeto de Hardware Validação do Sistema Particionamento HW/SW TLM Projeto concorrente de HW/SW Projeto de Software Integração do Sistema Teste do Chip Fabricação MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 22 Transaction Level Modeling (TLM) • Alto nível de abstração: modelo do sistema todo, verificação • Tipicamente usado para simulação funcional (temporizada ou não), modelagem de plataformas e testbenches • Comunicação é modelada separado da funcionalidade • Transferência de dados é feita através de chamadas de funções MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 23 Referências • SystemC from the Ground-up - David C. Black e Jack Donovan, Kluwer Academic Press, 2004 • System Design with SystemC. Thorsten Grötker, Stan Liao, Grant Martin and Stuart Swan. Kluwer, 2002. • Transaction Level Modeling in SystemC – Adam Rose, Stuart Swan, John Pierce, Jean-Michel Fernandez, OSCI TLM Working Group • Transaction Level Modeling with SystemC – TLM Concepts and Applications. Frank Ghenassia (Ed.). Springer, 2005. • Artigos de conferências como DAC, DATE e ISSS. MO801: Tópicos em Arquitetura e Hardware http://www.ic.unicamp.br/~sandro 24