Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Digitales
M. Vzquez,
E. Todorovich, M. Tosini
Materializacin de Sistemas
Lgicos
Circuitos integrados especficos (ASIC - (Appication
Specific Integrated Circuits).
Circuitos Integrados programables por el usuario,
por ejemplo PAL, CPLD, FPGAs, etc.
Circuitos impresos que permiten ensamblar circuitos
integrados (estndar, especficos o programables) y
componentes discretos (resistencias, capacitores,
transistores, etc)
Diseo de Sistemas Lgicos
Materializacin de Sistemas
Lgicos. Ejemplos:
Circuito aeroespacial ASIC Atmel. Mucho conocimiento de electrnica.
Materializacin de Sistemas
Lgicos. Ejemplos:
Placa de Digilent con componentes discretos y circuitos integrados. Conocimiento
de electrnica, sobre todo cuando se disea en varias capas y altas frecuencias
Diseo Lgico
Independientemente de la implementacin final del
diseo. Las primeras etapas del diseo lgico son
las mismas:
Descripcin del diseo digital: esquemticos, lenguajes de
descripcin de hardware (HDLs), o mediante lenguajes de
alto nivel (HLL) tales como C, Handel-C, etc.
Simulacin funcional y/o comportamental del diseo.
Observar el comportamiento y, de ser necesario, corregir
la descripcin
Sntesis Lgica
La sntesis lgica es un proceso por el que se
obtiene un circuito en trminos de puertas
lgicas (pertenecientes a bibliotecas genricas o
especficas) a partir de una descripcin
abstracta.
Tabla de verdad, ecuacin lgica, etc.
Descripcin en VHDL, Verilog, etc.
x1
x2
x3
Sntesis mediante
multiplexores
Se emplea un multiplexor con tantas entradas de control como
variables de entrada tenga el circuito.
Cada una de las entradas del MUX (2n) se conectan a 0 a 1
segn corresponda al valor de la salida.
0
1
1
0
1
0
0
1
0
1
2
3
4
5
6
7
y1
0
0
0
1
0
1
1
1
0
1
2
3
4
5
6
7
y2
p1
p2
:
AND
pk
x1
x2
.........
xn
p2 = x1 x2 x3
p1
x1
p2
x2
x3
Diseo de Sistemas Lgicos
10
11
x1
:
:
:
xk
OR
s1 . . . . . . . . .sm
12
p1
p2
OR
AND
pk
s1 . . . . . . . . .sm
x1
x2
.........
xn
13
AND
OR
10
01 00
x1 x2
10
00 10
x1 x3
01
00 10
x1 x3
y1
y2
x1
x2
x3
14
Memorias ROM
Una memoria ROM es un
dispositivo totalmente
cableado. Ante cada
combinacin de valores de los
xi da como resultado un
determinado valor en cada
salida yi.
xn-1
xn-2
xn-3
:
x0
ROM
ym-1
ym-2 . . . . . . . y0
Diseo de Sistemas Lgicos
15
Memorias ROM
La figura siguiente
muestra un ejemplo de
implementacin de una
memoria ROM pasiva
de cuatro celds (n = 2)
de 4 bits cada una (m =
4).
AND
OR
01
01
01
10
10
01
10
10
x1
x0
y3
y2
y1
y0
16
Decodificador, demultiplexor y
plano AND
Demultiplexor de 1 a 4 con entrada, y = 1,
implementa un Decodificador de 2 bits.
z1 z0
01
01
p1
01
10
p2
10
01
p3
10
10
p4
z1
z2
z1
z1 z0
z0
z1 z0
z1 z0
equivale a
Decodificador de 2 bits,
equivale a plano AND
completo.
Memorias ROM
El proceso de sntesis consiste en
compilar (en un compilador de
circuitos digitales) la secuencia de bits
del plano OR.
La secuencia de bits del plano AND es
fija: secuencia de valores de las
seales xi desde todos 0 hasta todos
1 (decodificador de direcciones).
Por ejemplo, para una ROM de 4
palabras de 8 bits cada una con los
valores:
17
DireccinValor
0
1
2
3
AAh
FFh
03h
54h
Plano AND :
01 01
01 10
10 01
10 10
Plano OR :
10101010
11111111
00000011
01010100
18
x2
x1
x0
0
0
0
1
0
1
1
1
ym-1
ym-2
19
x1
x0
y10
x2
y11
y1
y20
y21
y11 = y1(x2 = 1)
y10 = y1(x2 = 0)
y21 = y2(x2 = 1)
y20 = y2(x2 = 0)
y2
20
10
x2
X1
X0
21
Sntesis Lgica
Tcnicas y herramientas de minimizacin
Para tablas de verdad (circuitos combinacionales)
Mapas de Karnaugh (1953).
Algoritmo de QuineMcCluskey (1956).
Espresso heuristic logic minimizer (Brayton et al.,
1984).
Diseo de Sistemas Lgicos
22
11
Mapas de Karnaugh
Las simplificaciones que permiten los diagramas de Karnaugh
se basan en la siguiente identidad:
A B C + A B C = A B (C + C) = A B
La ecuacin anterior indica que si una variable (la C) aparece
negada en un trmino y no negada en otro que tiene el resto
de las variables iguales, puede eliminarse por completo. Los
diagramas de Karnaugh ayudan mucho a la localizacin de
estas variables que se pueden suprimir.
23
Mapas de Karnaugh
Mtodo manual, grfico, til hasta 5 o 6 variables.
Las variables se ordenan de acuerdo al cdigo de
Gray (una sola variable cambia de polaridad entre
cuadros adyacentes).
Para obtener la expresin minimizada:
Agrupar los 1 en rectngulos que contengan 1, 2, 4, 8
unos.
Cada casilla con un 1 se debe cubrir al menos una vez.
Los valores indefinidos (dont care) pueden aprovecharse
para hacer grupos de 1 mas grandes.
Diseo de Sistemas Lgicos
24
12
Mapas de Karnaugh
X0
0
X1 X0
00
X1
X2
01 11 10
0
1
X0
X1 X0
00
X3 X2
01 11 10
00
01
12 13
15
14
11
10
X2
11
10
X3
X1
Diseo de Sistemas Lgicos
25
Mapas de Karnaugh
Un mapa de Karnaugh se puede ver como un diagrama de
Venn especialmente dibujado:
(A,B,C,D) = 11012 = 13
D
12 13
15
14
11
10
C
Diseo de Sistemas Lgicos
26
13
Mapas de Karnaugh
x3
x2 x1
x0
x3
x2
x1
x0
27
Mapas de Karnaugh
X1 X0
00 01 11 10
X3 X2 00
01
11
10
28
14
Mapas de Karnaugh
ste es un mtodo grfico que posee limitaciones
muy fuertes (casi imposible de hacer) cuando se
desea simplificar funciones de ms de 6
variables.
No es determinstico, hay varias maneras de
agrupar.
No necesariamente se encuentra la expresin
mnima.
Diseo de Sistemas Lgicos
29
30
15
31
Implicantes primos
Dada una funcin expresada como suma de conjunciones.
Los implicantes primos son las expresiones que no estn
contenidas en ninguna otra.
Ejemplo, sea la funcin booleana F = X2X1X0 + X2X0 + X2X0,
Implicantes primos son: X2X0 y X2X0
X2X1X0 est contenida en X2X0, ya que
X2X0 = X2X0X1 + X2X0X1
32
16
m7, m15
m3, m7
X2X1X0
X3X1X0
m9 y m11
m9 y m13
X3X2X0
X3X1X0
Diseo de Sistemas Lgicos
33
X0
X2
Implicantes esenciales
X3X0 y X3X0
X3
X1
Diseo de Sistemas Lgicos
34
17
Generacin de implicantes
primos
A partir de la expresin cannica conjuntiva, se determina el ndice de
cada trmino. El ndice es el nmero de componentes que contengan
uno.
minterms
cdigo
ndice
valor decimal
m0
0000
m2
0010
m4
0100
m3
0011
m6
0110
m9
1001
m7
0111
m11
1011
11
m13
1101
13
m15
1111
15
35
Generacin de implicantes
primos
Se itera combinando trminos mediante la aplicacin de la
siguiente regla:
Los trminos a combinar no deben diferir entre si, ms
que en el estado de una de las variables, la cul ser sustituida
por un guin
36
18
Generacin de implicantes
primos
minterms
Implicantes
de tam. 2
Implicantes
de tam. 4
m0
m(0,2)
00_0
m(0,2,4,6)
0__0
m2
m(0,4)
0_00
m(0,4,2,6)
0__0
m4
m(2,3)
001_
m(2,3,6,7)
0_1_
m3
m(2,6)
0_10
m(3,7,11,15)
__11
m6
m(4,6)
01_0
m(3,11,7,15)
__11
m9
m(3,7)
0_11
m(9,11,13,15)
1__1
m(9,13,11,15)
1__1
m7
m(3,11)
_011
m11
m(6,7)
011_
m13
m(9,11)
10_1
m15
m(9,13)
1_01
m(7,15)
_111
m(11,15)
1_11
elimina
elimina
elimina
11_1
m(13,15)
37
Generacin de cobertura
mnima
Se construye tabla de modo que:
filas son los implicantes primos encontrados.
columnas los mintrminos de la funcin.
identifica los mintrminos cubiertos por los implicantes primos
m(0,2,4,6)
b
c
m(2,3,6,7)
m(3,7,11,15)
m(9,11,13,15)
m0
m2
x
x
m3
x
m4
m6
x
x
m7
m9
m13 m15
x
x
x
x
m11
x
x
38
19
Generacin de cobertura
mnima
Identificar implicantes esenciales y generar tabla reducida
m(0,2,4,6)
b
c
m(2,3,6,7)
m0
m2
x
x
m(3,7,11,15)
m3
m4
m6
x
x
m7
m9
m11
m13 m15
d m(9,11,13,15)
x
x
39
Generacin de cobertura
mnima
Identificar implicantes esenciales y generar tabla reducida
m(0,2,4,6)
b
c
m(2,3,6,7)
m0
m2
x
x
m(3,7,11,15)
m3
m4
m6
m7
m11
m13 m15
d m(9,11,13,15)
Tabla reducida b
c
m9
m3
m7
m(2,3,6,7)
m(3,7,11,15)
x
x
40
20
Generacin de cobertura
mnima
Reglas para tabla reducida:
Dos implicantes primos son intercambiables si poseen el mismo
costo.
Se dice que un implicante primo y domina a otro z, si tiene todas
las marcas de z y alguna adicional.
Tras eliminar las filas se busca implicantes esenciales: el nico
que cubre una columna
Si no quedan cubiertos todos los mintrminos se repite el proceso.
41
Generacin de cobertura
mnima
En nuestro ejemplo son intercambiables
b
c
m3
m7
m(2,3,6,7)
m(3,7,11,15)
o bien
42
21
Algoritmo de Quine
McCluskey
Si bien el algoritmo de QuineMcCluskey se puede
implementar en un programa, su complejidad
temporal y espacial no son buenas (exponencial).
Es un mtodo exhaustivo, es decir que agota todas
las posibilidades.
Para resolver problemas de muchas variables se
deben usar mtodos heursticos sub-ptimos.
43
Espresso
Espresso es el algoritmo estndar de sntesis
automtica de funciones booleanas.
Es un algoritmo greedy que aplica operaciones
iterativamente
Se parte de diferentes puntos y se aplican
operaciones hasta que no haya mejoras
Se puede caer en mnimos locales
44
22
Espresso
Espresso esta disponible en la web como
cdigo open-source:
http://diamond.gem.valpo.edu/~dhart/ece110/espr
esso/tutorial.html Programa para bajar ms
instrucciones sobre cmo operarlo.
http://embedded.eecs.berkeley.edu/pubs/downloa
ds/espresso/index.htm El cdigo fuente original
se puede bajar de la pgina de Berkeley.
45
23