Introdução ao Desenvolvimento de Circuitos Digitais Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h
A grande ideia! O processo de concepção de um produto (chip) é muito demorado. Tempo; Esforço; Dinheiro;
Tempo Quanto Custa? Meses e até anos para desenvolver um produto; Esforço Grande grupo de engenheiros dedicado inteiramente em desenvolver a arquitetura, implementar e verificar o produto; Dinheiro Milhões de dólares.
Objetivo Descrever a evolução e a história do desenvolvimento de circuitos integrados (CI); Identificar os principais passos do fluxo de desenvolvimento de CI; Desafios encontrados no desenvolvimento de CI digitais atuais;
Exercícios - instruções Nesse Exercício você deverá: Completar um fluxograma com os passos que devem ser executados num fluxo de projeto; Incluir o fluxo de desenvolvimento; Incluir as entradas e saídas necessárias;?????
Design no fluxo de projeto de um CI Implementação e codificação são sinônimos no fluxo de projeto. A equipe de codificação é responsável por, a partir de uma especificação e arquiteturas definidas, transformar em um código de uma linguagem de descrição de harware que, após sintetizado, se transforma em um circuito que realiza a função desejada, seja programado em um FPGA, ou transformado em um circuito integrado (CI).
Design no fluxo de projeto de um CI O codificador tem que dominar a linguagem de hardware e utilizá-la da melhor forma possível para traduzir o que está na especificação para um código que seja sintetizável e realize todas as funções desejadas.
Agenda História Fluxo Básico Desafios
Evolução das técnicas de projeto - complexidade
Definição de HDL HDL (Hardware Description Language) Definição: Linguagem de software que descreve circuitos eletrônicos, operações, design e estrutura; Exemplo: Em vez de fazer a captura de esquemáticos, é utilizado HDL para descreve-los.
HDL - Gerações SystemVerilog VHDL Verilog ABL ISP, KARL
HDL e CIs - Gerações VLSI, Ultra VLSI SystemVerilog Verilog VHDL CIs de larga escala CIs de média escala
Questões Como eram implementados os chips antes de Verilog? Como o advento das HDLs mudaram os Circuitos integrados?
Antes de Verilog e VHDL Antes das Linguagens de descrição de hardware (até meados dos anos 80): Desenho feito a mão, transistor por transistor, fio por fio; Uma mudança ou erro de projeto implicava em um retrabalho imenso; Simulações SPICE eram necessárias.
Antes de Verilog e VHDL
Após as Linguagens de descrição de hardware Modificada facilmente; A arquitetura não é definida no código, apenas na síntese; Pode ser simulada com simuladores de HDLs; Codifica-se geralmente a função do circuito.
Agenda História Fluxo Básico Desafios
Partição de projeto Para lidar com a alta complexidade, o projeto de CIs é particionado em etapas segundo o fluxo de projeto. Outra técnica utilizada é o projeto hierárquico. O sistema é particionado em unidades, que são divididas em blocos funcionais, que contém células, que são formadas por transistores. Cada nível da hierarquia é chamado de nível de abstração.
Partição de projeto Cada nível mais alto esconde mais detalhes do projeto. Muitas das etapas de projeto são automatizadas e realizadas por ferramentas. Cabe ao projetista conhecer bem o que a ferramenta faz para atingir os requisitos do projeto.
Partição de projeto
Fluxo Básico Em alto nível de abstração, quais tarefas são necessárias para desenvolver um chip, partindo da ideia. Implementação: transformar a concepção da idéia ou especificação para representações de hardware físico e lógico; Verificação: garantir a funcionalidade, Implementação o tempo e a integridade das mudanças do design através de todo o processo de concepção do hardware; Verificação
Implementação Representações em uma implementação de chip: Especificação: textual, gráfica ou representação de software do comportamento e objetivos do design; Microarquitetura: textual, gráfica ou representação de software da implementação inicial da especificação; RTL: descrição de hardware do design a ser implementado;
Implementação Representações em uma implementação de chip: Portas sintetizadas: representação lógica do design depois do mapeamento lógico discreto; Placed/Routed gates: representação física e lógica do design depois de ser desenvolvido as etapas de placed/routed. GDSII: representação física do design antes do tapeout;
Implementação Representações em uma implementação de chip: Designer: arquitetura do chip desenvolvida em nível de blocos pelo grupo de engenheiros; Síntese lógica: processo de tradução do RTL para lógica discreta; Place/Route: processo de implementação física da lógica discreta;
Verificação Várias etapas são necessárias desenvolve a verificação de um chip: Simulação de Sistemas: simulação do comportamento ou nível de sistema; Simulação Lógica: simulação do em nível de RTL; Simulação em nível de portas: simulação de lógica discreta;
Verificação Várias etapas são necessárias desenvolve a verificação de um chip: Verificação Física: checagem de regras de implementação e verificação layout vs. esquemático; Verificação Formal: checagem de equivalência lógica; Timing signoff: Static Timing Analysis;
Fluxo de Implementação e Verificação
Importancia do RTL RTL é a principal etapa do fluxo: Busca fazer uma descrição estrutural da especificação e da microarquitetura; A maioria dos RTLs são criados manualmente por engenheiros de projetos experientes e qualificados; A qualidade do RTL é diretamente proporcional aos custos do projeto;
Perguntas Recapitulando o fluxo de desenvolvimento de um projeto ASIC, como vocês organizariam um grupo de engenheiro para produzir um chip tendo como princípio a ideia? Como a especificação do chip influencia o desenvolvimento de um chip?
Agenda História Fluxo Básico Desafios
Desafios Design: Tamanho e Complexidade: divisão de um projeto com milhões de portas lógicas entre os membros da equipe, módulos e interfaces; Power: requisito de consumo devem ser considerados num projeto de design; Implementação Design Verificação
Desafios Design: Performance: para projetos com alta frequência de clock, devem ser considerados informações da tecnologia utilizada no processo; IP: escolha dos ip corretos devem ser considerados num projeto de chip; Implementação Design Verificação
Desafios Verificação Tamanho e complexidade: design grandes e complexos, requerem sofisticadas estratégias de verificação; Testbenches: engenheiros devem criar ambientes de verificação que consiga abranger todas as funcionalidades do sistema; Implementação Design Verificação
Desafios Verificação Corner cases/casos específicos: engenheiros devem entender o comportamento do sistema completo, incluindo todas as exceções. Essas exceções são os casos específicos; Desing dirigido a testes: engenheiros devem projetar o design considerando a estratégia de teste no final do produto; Implementação Design Verificação
Desafios Implementação Tamanho e complexidade: quanto maior o sistema, mais longo será o tempo de implementação; Consumo: engenheiros devem abordar técnicas específicas com estratégias bem sofisticadas para garantir requisitos de consumo; Implementação Design Verificação
Desafios Implementação Tempo e Requisitos de Projeto: com o avanço das tecnologias de processo, está cada dia mais difícil convergir requisitos de tempo com as regras de projeto; Rendimento (Yield): influencia diretamente no tempo de implementação do projeto; Implementação Design Verificação
Histórico: Sumário Circuitos integrados tem evoluídos durante os últimos 50 anos e mais rápido nos últimos 20 anos; O advento das HDL habilitou a expansão rápida do tamanho e complexidade dos circuitos integrados; Fluxo Básico: O fluxo básico de um projeto de hardware segue alguns passos que envolvem design, implementação e verificação; RTL é muito importante para descrever a especificação de um projeto para uma implementação final;
Desafios: Sumário Existem muitos desafios que devem ser analisados antes e durante um projeto de chip, tanto nas áreas de projeto e verificação, quanto na área de implementação; Em todas as etapas, tamanho e complexidades são os principais desafios de um projeto de circuito integrado atual.