introdução ao desenvolvimento de circuitos...
TRANSCRIPT
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Introdução ao Desenvolvimento de Circuitos Digitais
Prof. Rômulo Calado Pantaleão Camara
Carga Horária: 2h/60h
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
A grande ideia!
O processo de concepção de um produto (chip) é muito demorado.– Tempo;
– Esforço;
– Dinheiro;
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Quanto Custa?
Tempo– 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.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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;
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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;
?
?
?
?
?
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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).
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Agenda
História
Fluxo Básico
Desafios
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Evolução das técnicas de projeto - complexidade
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
HDL - Gerações
ISP, KARL
ABL
Verilog
VHDL
SystemVerilog
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
HDL e CIs - Gerações
Verilog
VHDL
SystemVerilog
CIs de média
escala
CIs de larga
escala
VLSI, Ultra
VLSI
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Questões
Como eram implementados os chips antes de Verilog®?
Como o advento das HDLs mudaram os Circuitos integrados?
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Antes de Verilog e VHDL
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Agenda
História
Fluxo Básico
Desafios
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Partição de projeto
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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,
o tempo e a integridade das mudanças do
design através de todo o processo de concepção do hardware;
Implementação Verificação
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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;
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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;
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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;
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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;
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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;
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Fluxo de Implementação e Verificação
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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;
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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?
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Agenda
História
Fluxo Básico
Desafios
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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 Verificação
Design
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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 Verificação
Design
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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 Verificação
Design
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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 Verificação
Design
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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 Verificação
Design
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
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 Verificação
Design
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Sumário
Histórico:– 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;
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Sumário
Desafios:– 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.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP