Vous êtes sur la page 1sur 27

8 .

8 .1 IMPLEMENTACIN FSICA
Elena Valderrama
Universidad Autnoma de Barcelona

1. La implementacin fsica de circuitos digitales

8 .1

del papel al circuito


real
PPV

D0 q0

D1 q1

D2 q2

D3 q3

CK
Reset

Opcin 1: Chips SSI/MSI + PCBs


Opcin 2: Circuito integrado
SC(1)

SC(2)

SV(1)

SV(2)

ResetPPV

8 .1

2. Chips + PCBs

PPV

D0 q0

D1 q1

D2 q2

D3 q3

CK
Reset

SC(1)

SC(2)

SV(1)

SV(2)

ResetPPV

Protoboard de laboratorio
2-IN AND GATE

3-in NOR GATE


3

8 .1

2. Chips + PCBs

PROBLEMA:
Circuitos
grandes ?

Placa de Circuito Impreso


(PCB: Printed Circuit Board)
4

8 .1

3. Circuitos Integrados

La Microelectrnica tiene como


objetivo disear circuitos electrnicos
sobre un material semiconductor (Si
u otros).
A los pines del chip

Aplicando repetitivamente una serie


de procesos de implantacin,
grabado, deposicin, etc.

Dado de Si (ASIC)

Hilo
conector

g
densidades de
Consiguiendo
integracin de millones de
transistores en un nico chips
(730.106 transistores el Intel Core i7Quad)
5

3. Circuitos Integrados: Proceso de fabricacin

8 .1
Chip

Proceso tecnolgico

Corte

Pastillas (dice)

Generacin
de las
Layout mscaras

... etc

Mscaras (una por nivel)

Oblea de Si

Mscara
difusiones
dif
i
P
Mscara de rea
activa

8 .1

3. Circuitos Integrados

La informacin que la fbrica (Silicon


foundry) necesita para construir el C.I. es
su layout.
Cmo?
PPV

L
Layout
D0 q0

D1 q1

D2 q2

D3 q3

CK
Reset

SC(1)

SC(2)

SV(1)

SV(2)

ResetPPV

Layout de un inversor (2 transistores)


7

3. Circuitos Integrados

8 .1

Si un C.I. puede llegar a tener millones de


transistores, el diseador debe trabajar
con:
Millones de formas geomtricas
Representado cada una distintos
materiales/procesos
Que deben cumplir unas reglas de
diseo
Clculo de los parmetros
elctricos

Layout de un inversor (2 transistores)

CMO GESTIONAR ESTE NIVEL DE


COMPLEJIDAD?
8

3. Circuitos Integrados

8 .1

CMO GESTIONAR ESTE NIVEL DE


COMPLEJIDAD?
Estrategias de implementacin
(Standard Cells, Gate Arrays, FPGAs, )
Herramientas de sntesis

Esto es lo que veremos en la prxima leccin .


9

8 .1
RESUMEN
Hemos visto que los circuitos digitales (y otros) puede implementarse con chips SSI/MSI +
PCBs, y hemos discutido sus limitaciones,
La Microelectrnica permite construir circuitos de millares (millones) de transistores en un
nico chip,
considerable,
El proceso de definir el layout de un circuito tiene una complejidad considerable
Para tratar con esta complejidad se utilizan:
Diversas estrategias de implementacin y
Herramientas de sntesis automtica

10

8 .2

8 .22 ESTRATEGIAS DE IMPLEMENTACIN


Y HERRAMIENTAS DE SNTESIS
Elena Valderrama
Universidad Autnoma de Barcelona

1. Comentario previo

8 .2

(de la leccin anterior)


Si un C.I. puede llegar a tener millones de
transistores, el diseador debe trabajar con:

Mill
Millones
d
de fformas geomtricas
t i

Representado cada una distintos


materiales/procesos

Que deben cumplir unas reglas de


diseo

Clculo de los parmetros elctricos

La informacin que la fbrica (Silicon


foundry)) necesita para construir el C.I.
foundry
C I es
su layout.

CMO

GESTIONAR ESTE NIVEL DE COMPLEJIDAD?

Estrategias de implementacin (Standard


y , FPGA,, ))
Cell,, Gate arrays,
Herramientas de sntesis

Example: layout of a CMOS inverter.


12

8 .2

2. Estrategias de implementacin
Veremos 3 de ellas: Standard Cells, Gate Arrays, FPGAs.

NAND3

Librera de celdas (componentes) =


{puertas lgicas, biestables, mutiplexores,
decodificadores, registros, contadores, }
El layout de cada celda est predefinido:
Todas las celdas tienen la misma altura.
Las celdas se colocan en filas,

Altura

2 1 Standard Cells
2.1

Ejemplo: NAND3
Macroceldas: bloques de memoria,
multiplicadores, (configurables)

13

2.1 Estrategias de implementacin: Standard Cells

8 .2

Ejemplo de floor plan:

14

2.1 Estrategias de implementacin: Standard Cells

8 .2

Layout parcial de un
ASIC implementado
con Standard Cells

En los
l circuitos modernos
d
no suele
l h
haber
b canales
l d
de conexin.
Las pistas d
de conexin
pasan por
encima de las celdas, previamente cubiertas con una capa aislante.

15

2.2 Estrategias de implementacin: Gate Arrays

8 .2

(Mask-Programmable) Gate Arrays


A
Arrays de
d celdas
ld b
bsicas
i iindependientes
d
di t d
dell
circuito lgico.

Para personalizar dichas celdas se definen


conexiones internas a las mismas.

rows of
uncommitted
cells

Ejemplo de floor plan:

routing
channel
16

2.2 Estrategias de implementacin: Gate Arrays

8 .2

Ejemplo de uncommitted cell: 4 transistores NMOS + 4 PMOS

17

2.2 Estrategias de implementacin: Gate Arrays

8 .2

Celda personalizada (commited cell): NOR 4

18

2.2 Estrategias de implementacin: Gate Arrays

8 .2

Celda personalizada (commited cell): NOR 4

Sea of gates: Celdas en toda la superficie


superficie. Las conexiones pasan por encima de las celdas (capa
de aislante). No hay canales de conexionado.
19

2.3 Estrategias de implementacin: FPGAs


FPGAs: Field Programmable Gate Arrays
Estructura tipo Gate Array +
Programacin a nivel usuario

programmable
basic logic block

programmable
input / output

programmable
interconnections

8 .2
Ejemplo de floor-plan:

8 .2

2.3 Estrategias de implementacin: FPGAs


Ejemplo de una celda bsica (muy simplificado):
configuration bit

0
input(3:0)

4-input
LUT

clear

Existencia de una memoria de configuracin


g
(RAM,
(
, EPROM,, OTP ROM,
, segn
g modelos))
21

2.3 Estrategias de implementacin: FPGAs

8 .2

Ejemplo de conexiones programables:

22

2.3 Estrategias de implementacin: FPGAs

8 .2

Ej
Ejemplo
l d
de FPGA comercial:
i l
Celdas bsicas + bloques de memoria RAM + multiplicadores + celdas de E/S,
Conexiones programables
Ram Blocks
Input
p / Output
p
Blocks (IOB)
Dedicated
multipliers
Programmable
Interconnections

Configurable
Logic Blocks
(CLB)
23

3. Herramientas de sntesis
3.1 Nivel de descripcin de
Transferencia de Registros (RT
level)
Descripcin funcional
(p.e. descripcin HDL)
D
Define
fi llas operaciones
i
que se
ejecutan en cada ciclo de reloj.
Ej
Ejemplo:
l Temporizador
T
i d programable.
bl

8 .2
main: process(reset, clk)
begin
if reset = '1' then cs <= 0;
elsif clk'event and clk = '1' then
case cs is
when 0 => if start = '0' then cs <= 1; end if; done <= '1';
when 1 => if start = '1' then cs <= 2; end if; done <= '1';
when 2 => count <= time; cs <= 3; done <= '0';
0;
when 3 => if count = "00000000" then cs <= 0;
else cs <= 4; end if; done <= '0';
when 4 => if ref = '0' then cs <= 5; end if; done <= '0';
when 5 => if ref = '1' then cs <= 6; end if; done <= '0';
when 6 => count <= count - '1'; cs <= 3; done <= '0';
end case;
end if;;
end process main;
end behavior;

24

3. Herramientas de sntesis

8 .2

3.2 Sntesis lgica


2 etapas:
Descripcin RTL Descripcin estructural a nivel de puertas, flip-flops, LUTs,).
Independiente de la tecnologa,
Technology mapping: Descripcin estructural Los elementos bsicos son celdas
de librera (Standard Cell, Gate Array, FPGA).

25

4. Herramientas de implementacin fsica

8 .2

Descripcin estructural (celdas de librera interconectadas) implementation data.


Tipos
p de implementacin
p
ASIC (Application Specific Integrated Circuit): Standard Cell, Gate Array
FPGA.
Sea cual sea la tecnologa escogida, la implementacin pasa obligatoriamente por dos etapas:
Ubicacin (placement): Se asignan posiciones a las celdas de librera
Conexionado (routing): Se generan las pistas de interconexin.

26

8 .2
RESUMEN
Hemos visto las estrategias ms habituales de implementacin de grandes sistemas
digitales: Standard Cells, Gate Arrays y FPGAs (Field Programmable Gate Arrays).
Herramientas de sntesis.
Herramientas de implementacin fsica

27

Vous aimerez peut-être aussi