Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... ·...

14
Desenvolvimento de circuitos VLSI João Canas Ferreira Universidade do Porto Faculdade de Engenharia 2012-02-17 Assuntos 1 Circuitos MOS 2 Fluxo de projeto João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 2 / 28

Transcript of Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... ·...

Page 1: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Desenvolvimento de circuitos VLSI

João Canas Ferreira

Universidade do PortoFaculdade de Engenharia

2012-02-17

Assuntos

1 Circuitos MOS

2 Fluxo de projeto

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 2 / 28

Page 2: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Componentes

à Para circuitos digitais

I Transístores MOS: NMOS + PMOS = CMOSI 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ápidosI Mais transístoresI 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

Fonte: [Rabaey03]

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 4 / 28

Page 3: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Transístor MOS

Fonte: [Rabaey03]

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 5 / 28

Layout de um transístor

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 6 / 28

Page 4: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Modelo ideal do transístor MOS

Fonte: [Weste10]

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 7 / 28

Inversor MOS

Fonte: [Weste10]

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 8 / 28

Page 5: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

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

Fonte: [Rabaey03]

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 10 / 28

Page 6: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Níveis lógicos

Fonte: [Rabaey03]

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 11 / 28

Margens de ruído

Fonte: [Rabaey03]

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 12 / 28

Page 7: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Regeneração de sinais

Fonte: [Rabaey03]

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 13 / 28

Porta estática ideal

Fonte: [Rabaey03]

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 14 / 28

Page 8: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

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

vout(t) = (1 − e−t/τ)V τ = RC

tp = ln(2)× t = 0,69× RCJoão Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 16 / 28

Page 9: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

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 =1T

∫ t+T

tp(t)dt =

Vdd

T

∫ t+T

ti(t)dt

à Produto potência-atraso PDP

E = 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 =

∫ T

0p(t)dt = Vdd

∫ T

0isupply(t)dt = Vdd

∫ Vdd

0CLdVout = CL × V2

dd

Ecap =

∫ T

0Pcap(t)dt =

∫ T

0Vout icap(t)dt =

∫ Vdd

0CL Vout dVout =

12

CL × V2dd

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 18 / 28

Page 10: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Visão geral

design entry

systempartitioning

floorplanning

placement

routing

logic synthesis

VHDL/Verilog

chip

block

logic cells

netlist

prelayoutsimulation

circuitextraction

postlayoutsimulation

back-annotatednetlist finish

start

physicaldesign

logicaldesign

A B

A

14

2

3

59

6

78

Joã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-funcionalI 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çãoI 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

Problema: Como usar informação sobre a tecnologia-alvo?

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 20 / 28

Page 11: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Bibliotecas de células (para síntese)I Características tecnológicas gerais (tensão de alimentação, etc.)I FuncionalidadeI Tempos de propagaçãoI Consumo de energiaI TerminaisI 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 detalhadaI Ênfase no comportamento temporalI Também importante: consumo de energia

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 22 / 28

Page 12: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Bibliotecas de células (para encaminhamento)

à Formato normalizado: Library Exchange Format (LEF)

I TecnologiaI camadasI regras geométricas para ligaçõesI 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

à Locais para colocação das células (azul) e alimentações (vermelho)

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 24 / 28

Page 13: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

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 derelógio

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 26 / 28

Page 14: Desenvolvimento de circuitos VLSI - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2011... · à Para circuitos digitais I Transístores MOS: NMOS + PMOS = CMOS I Interligações

Encaminhamento

à Circuito completo com ligações entre célulasJoã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 projeto2 Extração de parasitas das interligações

I resistênciaI capacidade

3 Validação com informação completaI “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 fabricoI 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?

Problema: E se o circuito for demasiado lento? (“Timing closure”)

João Canas Ferreira (FEUP) Desenvolvimento de circuitos VLSI 2012-02-17 28 / 28