Projeto de ASIC Digital Apresentação e Introdução AULA: 01 Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital Professores: Dr. Marcelo Johann e Dr. Ricardo Reis [email protected], [email protected] Conteúdos do Curso • • • • Introdução à integração de sistemas em CIs Automação: Níveis de especificação e abstração Fluxo e Etapas de Projeto (de VHDL ao CHIP) Metodologias e Estilos de leiaute : – full custom, standard cell, cell arrays, lógica programável pelo usuário • Ferramentas para a síntese física – particionamento, posicionamento, roteamento, sintese de células, dimensionamento • Estruturas regulares RAM, ROM, PLA, Partes Operativas • Ferramentas de Síntese Lógica e de Alto-Nível Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 2 / 43 Conteúdo da Aula 01 • • • • • • • Tipos de Circuitos Integrados Evolução da Integração Características das Interconexões Objetivos para Otimização Diagrama Y Ações de Projeto Etapas ou Níveis de Projeto Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 3 / 43 Tipos de Circuitos Integrados General Pourpose • Circuitos de Propósito Geral • Servem para diversas aplicações finais – Microprocessador, memória, microcontrolador, Processador DSP, circuitos de prateleira, circuitos de catálogo ASICs • Circuitos Integrados para Aplicações Específicas – Dedicados a um produto de consumo, funções específicas, lógica de cola Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 4 / 43 Evolução da Integração • • • • • • Evolução de circuitos integrados Necessidade de Automação Ferramentas de Automação de Projeto Roteamento de Circuitos Integrados Tecnologia de Fabricação de Interconexões Reverse Scaling Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 5 / 43 Evolução da Integração Lei de Moore: capacidade dobra em 18 meses • 10 mil vezes em 20 anos Processadores da Intel: Lei de Moore today: It is over!!! Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 6 / 43 Evolução da Integração Electronic Design Automation (EDA) • para síntese automática, verificação, ... • US$ 3 bi em 1998, US$ 3.5 bi em 2000 Problemas: • capacidade de fabricação aumenta 58%/ano • produtividade aumenta só 21%/ano (1997) Complexidade e Desempenho Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 7 / 43 Evolução da Integração Soluções para Projeto: • aumentar equipes (+custo e -controle) • Systems-on-Chip (SOCs) = Reusabilidade Ferramentas: • modelar efeitos elétricos precisamente • tratar problemas grandes eficientemente • prover metodologia convergente Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 8 / 43 Evolução da Integração Atraso de porta (Tgate): • pode ser reduzido com o reprojeto da porta Atraso de interconexão (Tint): • exige o reprojeto das próprias interconexões Rint Rtr + - Cint CL T50% = Tgate + Tint Tgate = Rtr (0.7 Cint + 0.7 CL) Tint = Rint (0.4 Cint + 0.7 CL) Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 9 / 43 Evolução da Integração Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 10 / 43 Evolução da Integração • Introdução de camadas metálicas Razão entre comprimento total de conexões e área de todas as camadas Introdução de mais camadas metálicas no processo Tamanho do circuito • • • polimento preenchimento de valas novos materiais Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 11 / 43 Evolução da Integração Reverse Scaling a) R = 4, C = 4 RC = 16 b) R=2,C=6 RC = 12 c) R=1,C=8 RC = 8 Camadas têm características diferentes Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 12 / 43 Objetivos para Otimização • Area – Yield é inversamente proporcional • Velocidade – Trade-off, otimização, restrição • Dissipação de Potência – Falha, stress, aquecimento (resfriamento), portáveis • Tempode Projeto – Pequenos atrasos, grandes perdas • Testabilidade – É um problema considerável – Portanto, deve ser feito esforço desde início do projeto Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 13 / 43 receita Mercado atraso tempo Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 14 / 43 Diagrama Y • Ferramentas -> Produtividade • Produzir mais trabalhando menos • Hierarquia – Estruturas, repetição, agrupamento • Abstração – Esconder detalhes • Reuso – Utilizar Bibliotecas (de células) • Síntese – Acrescentar detalhes • Domínios do diagrama Y de Gajski Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 15 / 43 Eixo Comportamental Sistêmico Eixo Estrutural Algorítmico Micro arquitetural Lógico Elétrico idéia Circuito Real (fabricado) Eixo Geométrico Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 16 / 43 Especificação de Entrada Descrições de Projeto Why use a HDL (Hardware Descriptive Language) ? http://eleceng.ucd.ie/~rreilly/Digital/HDL-Design%20Issues.pdf Situação de VHDL hoje: Padrão aceito por CAD tools e projetistas Síntese: inferência de Hardware IEEE 1164 standard package Concorrente: Verilog – E.U.A. Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 17 / 43 Entidade e Interface em VHDL entity half_adder is IEEE 1164 port ( x, y: in std_ulogic bit; ; sum, carry: out std_ulogic bit ); ); end entity half_adder half_adder ; ; 1993 signal mode type x sum y carry Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 18 / 43 Sinais e Valores IEEE 1164 std_ulogic std_ulogic_vector Value U X 0 1 Z W L H - Interpretation Uninitialized Forcing Unknown Forcing 0 Forcing 1 High Impedance Weak unknown Weak 0 Weak 1 Don´t care Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 19 / 43 Multiplexador 4 para 1 entity mux is port ( i0, i1 : in std_ulogic_vector (7 downto 0); i2, i3 : in std_ulogic_vector (7 downto 0); sel : in std_ulogic_vector (1 downto 0); z : out std_ulogic_vector (7 downto 0) ); end entity mux; i0 i1 i2 i3 sel Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis z Aula: 01 20 / 43 ULA de 32 bits entity ula32 is port ( A,B : in std_ulogic_vector (31 downto 0); C : out std_ulogic_vector (31 downto 0); op : in std_ulogic_vector (5 downto 0); N,Z : out std_ulogic ); A B end entity ula32; N op Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Z C Aula: 01 21 / 43 Elementos de Hardware SW é seqüencial, HW é concorrente: Sistema Interface Comportamento a_out = 2 * in_b Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 22 / 43 Elementos de Hardware SW é seqüencial, HW é concorrente: Sistema Interface Estrutura Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 23 / 43 Sistêmico Eixo Comportamental Eixo Estrutural Algorítmico Especificações Especificações funcionais funcionais processadores, processadores, memórias, memórias, barramentos barramentos Micro arquitetural Algoritmos Algoritmos módulos módulos de de hardware hardware Lógico registradores, multiplex, operadores Máquinas Máquinas de de estado estado finitas, finitas, operações operações Elétrico Equações Equações booleanas, booleanas, tabelas tabelas verdade, verdade, BDDs BDDs Funções Funções de de transferência, transferência, equações equações diferenciais diferenciais Portas Portas lógicas, lógicas, flip-flops flip-flops Transistores, Transistores, resistores, resistores, capacitores, capacitores, indutores indutores Leiaute Leiaute das das máscaras, máscaras, retângulos, retângulos, polígonos polígonos Células Células de de biblioteca, biblioteca, modelos modelos de de posição posição de de pinos pinos Macro-células, Macro-células, planta planta baixa baixa de de blocos blocos Módulos, Módulos, clusters, clusters, cores, cores, planos planos de de clock/alimentação clock/alimentação Partições Partições físicas, físicas, componentes, componentes, placas placas Eixo Geométrico Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 24 / 43 Eixo Comportamental Sistêmico C, C++, Hardware C Java Algorítmico Eixo Estrutural processadores, memórias, barramentos Micro arquitetural VHDL Lógico Especificações funcionais Algoritmos módulos de hardware registradores, multiplex, operadores Máquinas de estado finitas, operações Elétrico Equações booleanas, tabelas verdade, BDDs Portas lógicas, flip-flops Transistores, resistores, capacitores, indutores Funções de transferência, equações diferenciais Spice EDIF CIF, GDS2 Leiaute das máscaras, retângulos, polígonos Células de biblioteca, modelos de posição de pinos LEF / DEF Macro-células, planta baixa de blocos Módulos, clusters, cores, planos de clock/alimentação Partições físicas, componentes, placas Eixo Geométrico Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 25 / 43 Sistêmico Eixo Comportamental Eixo Estrutural Algorítmico processadores, memórias, barramentos Micro arquitetural Especificações funcionais 1- “síntese” Lógico Algoritmos módulos de hardware registradores, multiplexadores, operadores Máquinas de estado finitas, operações 2- simulação Elétrico Equações booleanas, tabelas verdade, BDDs Funções de transferência, equações diferenciais Portas lógicas, flip-flops Transistores, resistores, capacitores, indutores 3- mapeamento 5- fabricação Leiaute das máscaras, retângulos, polígonos 4- place&route Células de biblioteca, modelos de posição de pinos Macro-células, planta baixa de blocos Módulos, clusters, cores, planos de clock/alimentação Partições físicas, componentes, placas Eixo Geométrico Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 26 / 43 Exemplo de metodologia na prática RTL was written in Verilog and mapped to the standard-cell library with Synopsys Design Compiler. Datapath-style placement of standard cells was carried out using a tiled-region design methodology. Tiled regions allowed for hand-assisted automatic placement of key standard cells in datapath bitslices. This methodology provided a good compromise between design effort and performance. The Avant! Apollo tool suite was used for placement, routing, and clock distribution. http://cva.stanford.edu/imagine/project/im_impl.html Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 27 / 43 Ações de Projeto • Ações de Síntese – Correct by construction – Intervenções do Projetista (ECO) – Verificação • Ações de Análise – Area, atraso, potência, diagnósticos • Ações de Otimização – Operam sobre um único ponto no diagrama Y • Ações de Gerência • Visualização – ferramentas Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 28 / 43 Etapas ou Níveis de Projeto • Projeto Algorítmico ou de Sistema – Parte de VHDL e gera uma descrição de FSM e lógica para uma arquitetura-alvo • Projeto Estrutural e Lógico – Esquemático, rede de portas – Síntese lógica 2 níveis, multi-nível, seqüencial • Projeto Elétrico – Transistores, tempo, extração e caracterização • Projeto de Leiaute – Place & route, floorpllan, partition, generation, optimization, … • Métodos de Verificação Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital - Professores: Dr. Marcelo Johann e Dr. Ricardo Reis Aula: 01 29 / 43 FIM AULA: 01 Curso de Especialização em Projeto de Circuitos Integrados Disciplina: Projeto de ASIC Digital Professores: Dr. Marcelo Johann e Dr. Ricardo Reis [email protected], [email protected]