Desenvolvimento de circuitos VLSI
João Canas Ferreira
Universidade do Porto Faculdade de Engenharia 2012-02-17
Assuntos
1 Circuitos MOS 2 Fluxo de projetoComponentes
à Para circuitos digitais
I Transístores MOS: NMOS + PMOS = CMOS
I Interligações
I Contribuição importante para o desempenho Evolução do processo de fabrico
à Redução das dimensões
I Transístores mais rápidos
I Mais transístores
I Custo (por transístor) menor (mais funcionalidade pelo mesmo custo)
à Aumento da dimensão da pastilha
Lei de Moore: aumento do número transístores cada 18 meses
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 3 / 28
Lei de Moore
Transístor MOS
Fonte: [Rabaey03]
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 5 / 28
Modelo ideal do transístor MOS
Fonte: [Weste10]
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 7 / 28
Inversor MOS
Portas lógicas MOS
Fonte: [Weste10]
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 9 / 28
Característica de transferência
Níveis lógicos
Fonte: [Rabaey03]
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 11 / 28
Margens de ruído
Regeneração de sinais
Fonte: [Rabaey03]
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 13 / 28
Porta estática ideal
Desempenho (tempo de propagação)
Fonte: [Rabaey03]
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 15 / 28
Tempo de propagação de circuito RC de 1ª ordem
Fonte: [Rabaey03]
à Modelo importante: corresponde ao atraso de um inversor
v
out(
t) = (1 − e
−t/τ)
V
τ =
RC
Consumo de energia
à Potência instantânea p(t) = v(t) × i(t) = Vdd × i(t) à Potência de pico Ppico = Vdd × ipico à Potência média Pa = 1 T Zt+T t p(t)dt = Vdd T Zt+T t i(t)dt à Produto potência-atraso PDPE = Pa × tp (energia por operação)
à Produto energia-atraso EDP
E × tp (métrica de qualidade de uma porta)
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 17 / 28
Consumo de circuito RC de 1ª ordem
Fonte: [Rabaey03] E0→1 = ZT 0 p(t)dt = Vdd ZT 0 isupply(t)dt = Vdd ZVdd 0 CLdVout = CL × Vdd2 Ecap = ZT 0 Pcap(t)dt = ZT 0 Vouticap(t)dt = ZVdd 0 CLVout dVout = 1 2CL × V 2 dd
Visão geral
design entry system partitioning floorplanning placement routing logic synthesis VHDL/Verilog chip block logic cells netlist prelayout simulation circuit extraction postlayout simulation back-annotated netlist finish start physical design logical design A B A 1 4 2 3 5 9 6 7 8João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 19 / 28
Tarefas de "front end"
1 Especificação funcional (comportamental) e não-funcional
I Exemplo de requisito não-funcional: fiabilidade (uso de redundância) I Especificação funcional: C / Matlab / SystemVerilog
2 Captura esquemática ou linguagem de descrição de hardware (RTL)
(Verilog/VHDL).
3 Validação/Verificação
I Testes e procedimentos de validação serão aplicados a vários níveis
4 Síntese RTL→ portas lógicas
5 Validar
6 Mapeamento em células (→ netlist)
7 Validar outra vez...
à Cada validação é feita com mais informação
Bibliotecas de células (para síntese)
I Características tecnológicas gerais (tensão de alimentação, etc.)
I Funcionalidade I Tempos de propagação I Consumo de energia I Terminais I Dimensões cell (INV) { cell_footprint : inv; area : 129.6; cell_leakage_power : 0.0190544; rail_connection( GND, RAIL_GND ); rail_connection( VDD, RAIL_VDD ); pin(ENTRADA) { direction : input; input_signal_level : RAIL_VDD; capacitance : 0.0156681; ... ... pin(SAIDA) { direction : output; output_signal_level : RAIL_VDD; ...} function : "(!ENTRADA)"; timing() { related_pin : "ENTRADA"; timing_sense : negative_unate; ...
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 21 / 28
Tarefas de "back-end"
1 Planeamento da utilização de espaço (“floorplanning”)
I Inclui planeamento da alimentação
2 Colocação das células.
3 Síntese da rede de relógio.
4 Encaminhamento das ligações entre células
5 Verificação das regras (geométricas)
6 Extração da informação física (principalmente das interconexões).
7 Validação com informação física detalhada
I Ênfase no comportamento temporal
Bibliotecas de células (para encaminhamento)
à Formato normalizado: Library Exchange Format (LEF)
I Tecnologia
I camadas
I regras geométricas para ligações
I definições de “vias” (ligações entre camadas de metal) I capacidade e resistência de pistas de metal
I Descrição da funcionalidade das células
I Dimensões das células (“bounding box”)
I Local e dimensão dos pinos (terminais) em cada célula
I Local e dimensão dos “bloqueios” (zonas a não usar no encaminhamento)
à Vista “abstrata” da célula, sem detalhes do seu interior.
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 23 / 28
Floorplanning
Colocação
à Células colocadas (notar espaços desocupados)
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 25 / 28
Encaminhamento do sinal de relógio
à Flip-flops coloridos de acordo com o atraso relativo (“skew”) do sinal de
Encaminhamento
à Circuito completo com ligações entre células
João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 27 / 28
Verificação física e finalização
1 Verificação das regras geométricas de projeto
2 Extração de parasitas das interligações
I resistência I capacidade
3 Validação com informação completa
I “back annotation”: processo de incluir informação de parasitas nos
modelos de simulação usados na etapa anterior (fim do “front-end”)
4 Desenvolver testes de fabrico (estruturais)
I Detetar defeitos (catastróficos) de fabrico
I Detetar defeitos “paramétricos” (módulo demasiado lento) I Podem ser desenvolvidos logo que exista informação estrutural
5 Geração de informação para fabrico (máscaras)
6 E o encapsulamento?