diseno digital m. morris mano 3ed

539

Click here to load reader

Upload: danny-fer

Post on 09-Aug-2015

328 views

Category:

Documents


14 download

TRANSCRIPT

CONTENIDO

PR

CIO

IX

1

.,

ISTEMAS BINARIOSd :h( _.. ._..__ !9 a Conversiones de base numricaNme(Q~

1d

Sistemas digitales

..2

2 3 5 6 7 8-9

autor

I

Nmeros octales y hexadecimalesComplementos

3 5 79

Nmeros binarios con signoCdigos binariosAlmacenamiento binario y registros

1316

2'27

Lgica binaria

,6

LGEBRA BOOLEANA Y COMPUERTAS

GICAS

33

Definiciones bsicas Definicin axiomtica del lgebra booleana Teoremas y propiedades bsicos del lgebra booleana Funciones booleanas

33 34 4431 40

Formas cannicas y estndar7Otras operaciones lgicas Compuertas lgicas digitales Circuitos integrados

51 53 59UERTAS

3

,

INIMIZACIN EN EL NIVEL DE COEl mtodo del mapa Mapa de cuatro variablesM

64

6.70fI

Ipr

,

d

,

vi

Contenido

3-3 3-4 3-5 3-6 3-7 3-8 3-'

Mapa de cinco variablesSimplificacin de producto de sumas Condiciones de indiferencia Implementacin con NANO y NOR

Otras implementaciones de dos nivelesFuncin OR exclusivo Lenguaje de descripcin de hardware (HOl)

74 76 80 82 89 94 99

4

LGICA COMBINACIONAL4-1 4-2 4-34-4 Circuitos combinacionales Procedimiento de anlisis Procedimiento de diseo Sumador-restador binario Sumador decimal Multiplicador binario Comparador de magnitudes

7111/1 1/2 1/5 119 129 131 133 134 139 141 147

4-54-6

4-74-8

DecodificadoresCodificadores Multiplexores HDL para circuitos combinacionales

4-, 4-10 4-11

S

LGICA SECUENCIAL SINCRNICA5-1 5-2 5-3 5-4S-S

167167 169 172 180 190 198203

Circuitos secuenciales Latches

Flip-flopsAnlisis de circuitos secuenciales con reloj HOl para circuitos secuenciales Reduccin y asignacin de estados

5-6 5-7

Procedimiento de diseo

6

REGISTROS Y CONTADORES6-1 6-2 6-36-4

217217 219 227 232 239 244

6-5 6-6

Registros Registros de desplazamiento Contadores de rizo Contadores sincrnicos Otros contadores HDL para registros y contadores

7

MEMORIA Y LGICA PROGRAMABLE7-1 7-2 7-3Introduccin Memoria de acceso aleatorio Decodificacin de memoria

255255 256 262

Mar rr3.1 protegido por derechos de 3Ur')r

Contenido~

vii

7-5 7-6 7-7Zdi

Deteccin y correccin de errores Memoria de slo lectura Arreglo de lgica programable Arreglo lgico programable Dispositivos programables secuenciales

267

270 27. 280283

8

NIVEL DE TRANSFERENCIA DE REGISTROS8-1 8-2 8-38-4Notacin de nivel de transferencia de registros (RTL) Nivel de transferencia de registros en HDL Mquinas de estados algoritmicas Ejemplo de diseno Descripcin del ejemplo de diseno en HOL Multiplicador binario Lgica de control Descripcin del multiplicador binario en HOl Diseo con multiplexores

2912!ll293299

304310

8-58-7 8-8

HZ

32 , 32.32S

8-9

2

lGICA SECUENCIAl ASINCRNICAIntroduccin Procedimiento de anlisis Circuitos con latches procedimiento de d iseo Reduccin de estados y de tablas de flujo Asignacin de estado sin carreras Peligros Ejemplo de diseo

342illlli

ill360367

374379

ru398128400

CIRCUITOS INTEGRADOS D I GITALES~ O-~I____~lnlltll~ ~ ro druu~ccQionn

10-2 10-3

Caracterfsticas especiales Caracteristicas de transistor bipolar

ill

1J1B.10-6

4'0 420

m

ill421 430

u

EXPERIMENTOS DE LABORATORIO]]-0)].1

4E437

Introduccin a experimentos Nmeros decimales y binarios

442

PREFACIO

diseo digital se ocupa del diseo de circuitos electrnicos digitales. Los circuitos digitales en el diseo y construccin de sistemas como computadoras digitales. comunicadatos. gmbacin digital y muchas otras aplicaciones que requieren hardware digital. Eslibro presenla las hrT-:'-Pi " ..... ,--;-- _ 1 .J,__ . .J . --'---litos digitales y proporciona los empleados en el diseo de sistemas digitales. Ser muy til como texde un CUI1lO introductorio dentro de un programa de estudios de ingeniera el&:trica, ingeen compUlacin o cie ncias de la computacin. Muchas de las caractersticas de esta tercera edicin siguen siendo las mismas que las de anteriores, salvo por el reacomodo del material o cambios en el enfoque debidos a en la tccnologfa. Los circuitos combinacionales se abordan en un capftulo en vez de como en la edicin anterior. El captulo sobre circuitos Sttuenciales hace hincapi6 en el ron flip-flops D en lugar de nip-flops JK y SR. El material sobre memoria y lgica prose ha combinado en un captulo. El capftulo 8 se ha modificado prua incluir los procede diseo en el nivel de transferencia de registros (RTL). La principal modificacin en la tercera edicin es la inclusin de secciones sobre el Lenguade Descripcin de Hardware (HDL) Verilog. El malerial sobre HOL se ha insertado en secaparle d e modo que el profesor pueda dec idir c6mo incorpornrl o n s u c urso. La

liene un nivel apropiado para estudianles que estn aprendiendo circuitos digitay un lenguaje de descripcin de hardware al mismo tiempo. Los circuilos digitales se introducen en los captulos I aJ 3: en la seccin 3-9 se hace una

introduccin a Verilog HDL. El HOL se trala ms a fondo en la seccin 4-11 despu6s de estudiarse los circuiloS combi nacionales. Los circuitos secuenciales se tratan en los captulos 5 y 6, con ejemplos en HOL en las secciones 5-5 y 5-6. La descripcin HOL de la memoria se presenta en la seccin 7-2.

"

x

Prefacio Los sfmbolos RTL empleados en Verilog HDL se presentan en la seccin 8-2.

Se dan ejemplos de descri pciones HOL en los niveles RTL y estructural en las seccio-

nes 8-5 y 8-8. La seccin 10- 10 cubre el modelado en el nivel de interruplOres que corresponde a los circuitos CMOS. La seccin 11 -9 complementa los experimentos de hardware del capftulo II con experimentos en HDL Ahom los circuitos diseados en el laboratorio se pueden verificar con la ayuda de componentes de hardware o con simulacin HDL o ambas cosas. El CD-ROM que acompaa al libro contiene los archivos en cdigo fue nte Verilog HDL para tos ejemplos del libro. adems de dos simuladores conesfa de SynaptiCAD. El primer si mulador es VeriLogger Pro. un simulador tradicional de Verilog que servir para simular los ejemplos en HDL del libro y comprobar las soluciones a los problemas en HDL. El segundo es un nuevo tipo de tccnologfa de simulacin: un Simulador Interactho. Este programa pcnnite a los ingenieros simular y analizar ideas de diseo antes de contar con un modelo o esquema completo de simulacin. Esta tecnologa es de especial util idad parJ. los cstud ia nte.~. porque pueden introducir rpidamente ecuaciones booleanas y de entradas de nip-nop O o latch para verificar la equivalencia o experimentar con nip-nops y diseos de latches. Se incluyen cursos rpidos en fonna de archivos HTML en la presentacin Aach del CD-ROM . y en fonnade archivos MS Word en el din:ctorio instalado SynaptiCAD bajo Book Tutorials. Hay ms recursos en un sitio Web acompaante. httpl/www.prenh:t11.comlmano. En l se pueden bajar todos los ejemplos en Verilog HDL del libro. todas las figuras y tablas del libro en formato POr. cursos breves sobre el uso dcl softW!lre Verilog del CD-ROM. )' mucho ms. A continuacin se describen brevemente los temas que se tratan en cada captulo. haciendo hincapi en los cambios efcclUados paro la tercera edicin. El captulo 1 presenta los divCTSOS sistemas binarios apropiados para R:presentar informacin en sistemas digitales. Se explica elsistcma numrico binario y se ilustran los cdigos binarios. Se dan ejemplos de suma y resta de nmeros binarios con signo y de nmeros decimales en BCD. El capftulo 2 introduce los postulados bsicos del lgebra booleana y muestra la correlacin entre las expresiones booleanas y los diagramas lgicos correspondientes. Se investigan todas IIiS posibles operaciones lgicliS con dos variables para encontrar las compuertas lgicas ms tiles en el di seo de sistemas digitales. En este capitulo se menc ionan las caractersticas de las compuenas de circuitos integrados pero se deja para d capftulo 10 un anlisis ms a fondo de los circuitos electrnicos de dichliS compuenas. El captulo 3 cubre el mtodo del milpa para simplifi car expresiones booleanas. Ese mtodo tambin sirve para si mplificar circuitos digitales construidos con compuenas ANO-OR. NANO o NOR. Se considernn todos los dems circuitos que pueden ronnarse con dos nh'eles de compuenas y se expl.ica su mtodo de implementacin. Se introduce Veri log HOL junto con ejemplos sencillos de modcJado en el nivel de compuertas. El captulo 4 bosqueja los procedimientos fonnales pam. analizar y disear circuitos combinacionales. Se presentan como ejemplos de diseo algunos componentes bsicos empleados en el diseo de sistemas digitales, como sumadores y conven idore..c de cdigo. Se explican las funciones de lgica digital de uso ms comn. como el sumador y rest:ldor parJ.lelo.los decodificadores. codificadores y multiplexores. con ilustraciones de su uso en el diseo de circuitos combinncionales. Se dan ejemplos en HDL de modelado cn el nivel de compucnas. flujo de datos y componamiento. para mostrar las difcrentes fomlas con que se cuenta para deseriMat r -:l protegidor.f

derechos dE> "lL!')r

Prefacio

xi

bir circuitos combinacionales en Verilog HOL. Se presema el plocedimiemo para escribir un conjunto sencillo de pruebas que suministre estfmulos a un diseo HDL. El eapUulo S delinea los pnxedimientos formales para el anlisis y disei'lo de circuitos secuenciales sincronicos con reloj. Se presenta la e.. 101\ 1) I'IU)(;I;.SA DO RA

FIGURA 1-2 Ejemplo de procesamiento de informacin binaria

' -9

LGICA BINARIALu.lgicu binaria se ocupa de variables que adoplan dos valores discrelos y de operaciones que asumen un significado lgico. Los dos valores que pueden adoplar las variables reciben difercnles nombres (verdadero y falso. s(y no. etctera). pero para nuestros fines es convenie nle pensar en ellos en I~nni nos de bits y llSignarles 1 valores I y O. LB lgica binaria que 05 se presenta en esta seccin equivale a un lgebra llamada lgebra booleana, que se estudiar fonnalmente en el captulo 2. El propsito de esta seccin es hacer una introduccin heurfstica al lgebra booleana y relacionarla con los circuitos de lgica digital y las seales binarias.

Definicin de lgica binariaLa lgica binaria consiste en variables binarias y operaciones lgicas. Las variables se designan con Itlras del alfabeto, como A, B, C. x. y, z. etctera, y cada variable tiene dos y slo dos posibles valores: I y O. Hay tres operaciones lgicas bsicas: ANO, OR Y Nm.Mal '11 pro '"'Qido por df'rocf'Jo

F

F

in itfO I O I

NANO

, I ) , , ,

FF . (x,.,.O O I I

, I FO I O I I I I O

,

FI O O O

NOR

)

>>

F

F - (x + ,)'

O O I I

O I O I

O R e;clU$ivo (XOR)

)) ) ))

F

F - x,.'

+ x'y

- x ED y

x itO O O I I O I I

' O I I O

NOR exclu~ivo

FF - Xl + x'y' (xEDy)'O O I I

" e1 ""hn'1\

t')r

,Seccin 3-1Y' 00y

El mtodo del mapa

69

01

11

10

o

,fiGURA 3-6

1

N -

,

'

l:.

Mapa para el ejemplo 3-3; F(x, Y. z) .. }:(O, 2. 4, S, 6) .. l ' + xy'centes dan el tnnino de dos literales X}~, mientras que el cuadrado solo n:presenta el minitrmino de tres literales xY;,. la funcin simplificada es

F =z' +xy'Si una funcin no est expresada como suma de minitnninos. podemos usar el mapa paro obtener los minitrminos de la funcin y luego s implificar la funcin a una expresin con el

mnimo de trminos. Hay que asegurarse de que la expresin algebraica est en forma de sumil de productos. Cada trmino de producto se puede marcar en el mapa en uno. dos o ms cuadrados. Luego. los minitrminos de la (uncin se leen directamente del mapa.

Dada la funcin booleana

F = A'e + A'B +AB'C + Bea) b) exprscln como suma de minitrminos y luego halle la expresin mnima de suma de productos"

Tres tnninos de producto de la expresin tienen dos literales y se representan en un mapa de tres variables con dos cuadrados cada uno. Los dos cuadrados correspondientes al primer I~r mino. A'C, se encuentran en la figura 3-7 en la interseccin de A' (primera fila) y C (dos columnas de en medio), que da los CUadl"'ddos 001 y 011. Observe que, al marcar los cuadrados

A

8C 00

8 0111 10

O

,

r'

~+ '--,C

~I

,

FIGURA 3-7 Mapa para el ejemplo 3-4; A' e + A'S + ABe + Be

~

e + A"S

Mar

'JI prOiP.gido por derecho!' de '1U ':Ir

70

Captulo 3

Minimizacin e n el nivel de compuertas

con l. podrfamos hallar ah un 1 colocado por un trmino anterior. Esto sucede (,:on el segundo trmino, A'B. que tiene unos en los cuadrados 011 y DIO. Sin embargo. el cuadmdo 011 tambin corresponde al primer trmino. A'C, as que simplemente dejamos el 1 que ya est ah. Continuando de la misma maner.!, determinamos que eltrminoAB'C va en el cuadrado 101 , que corresponde al minitrmino 5. y que el trmino Be tiene dos unos en los cuadrados 011 y 111 . La funcin tiene un lotal de cinco minilrminos. como puede verse por los cinco unos en el mapa de la figura 3-7. Los mini trminos se leen direclamente del mapa. y son l. 2. 3. 5 y 7. La funcin se expresa en forma de suma de minitrminos:F(A.B.C) ~ :);(1. 2.3. '.7 )La expresin de suma de productos dada originalmente tiene demasiados trminos: puede simplificarse. como se muestra en el mapa. a una expresin de slo dos trminos:

F=C+A'8

3-2

MAPA DE CUATRO VARIABL ESEl mapa para las funciones booleanas de cuatro variables se ilustra en la figura 3-8. En a) se presentan los 16 minitnninos y los cuadrados asignados a cada uno. En b) se ha redibujado el mapa de modo que muestre su relacin con las cuatro variables. Las filas y columnas se numeran en orden segn el cdigo Gray. de modo que slo un dgito cambie de valor entre dos fi las o columnas adyacentes. El minitrmino correspondiente a cada cuadrado se obtiene de la concatenacin del nmero de fila con el nmero de columna. Por ejemplo. los nmeros de la tercera fila (1 1) y la segunda columna (01) dan. al concatenarse. el nmero binario 11 DI. que es el equivalente binario del t3 decimal. As. el cuadrado de la tercera fila y la segunda columna representa al minitnnino "'u.

,

00

"

,O11110

""m. m " m ,

m, m ,

m, m,

m, m.

00 w'z','t' ""xY : ..,'z',: ... 'z'y:'

O1 ""xy': ' ...xy:11,,"Xy' l '

...x,: ...x,:

....zy:'

m m" m" "

...x,:

"'X'l'

"" , )

m il

m "

1O ",z'y'l' ......y z

......,.:

.d,.:'

b)

-

FIGURA 3 -8

Mapa de cuatro variablesMat rnl protegido p?f derechos de ':lut')r

,Seccin 3-2 Mapa de cuatro variables 71

la minimizacin por mapa de funciones booleanas de cualro variables es similar al mto-

do que se emplea para minimizar funci ones de tres variables. Definimos los cuadmdos adyac~ ntes como cuadrados que estn juntos. Adems, consideramos que el mapa est en una superficie cuyos bordes superior e inferior. y derecho e izquierdo. estn en contacto para formar cuadrados adyacentes. Por ejemplo. "lo y m 2 forman cuadrados adyacentes. lo mismo que m3 YmIl_ Es fci l detenninar la combinacin de cuadrados adyacentes que es til para el proceso de simplificacin. por inspeccin del mapa de cualro variables: Un cuadrado representa unm i ni ~rmin o.

lo que da un trmino con cuatro literales.

Dos cuadrados adyacentes representan un trmino de tres literales.

Cuatro cuadrados adyacentes representan un trmino de dos litemles.Ocho cuadrados adyacentes represe ntan un trmino de una sola lileral.

Diecisis cuadrados adyacemes representan la funcin igual a l . Ninguna otra combinacin de cuadrados puede simplificar la funcin . Los dos ejemplos si guientes ilustran el uso del procedimiento para simplifi car funciones booleanas de cuatro va riables.

Simplifique la funcin booleana F(w, x, y, ,) = l:(O, 1,2, 4,5,6,8, 9, 12,13, 14 ) Puesto que la funcin tiene cuatro variables, hay que ~ un mapa de cuatro variables. Los mi nitrminos indicados en la suma se han marcado con I en el mapa de la figura 3-9. Es posible combinar ocho cuadrados adyacentes marcados con l para formar el trmino de una literal y. Los tres unos restantes de la derecha no pueden combinarse para dar un tnnino simplificado. Se debern combinar como dos o cuatro cuadrados adyacentes. Cuanto mayor sea el nmero

00

"

y

011

11

101 1

01

1 1

1

w 11

~_I-+I+-_-+'==111

10

-.:Je

,FIGURA ] -9

Mapa para el elemplo 3-5; F(w, x, y, z)

1;(0, 1, 2, 4, S, 6, 8, 9, 12, 13, 14)

=

y' - w ' z'

+ xz '

72

Captulo 3

Minimizacin e n el nivel de compuertas

de cuadrados combinudos. menos literales tendr el tnnino correspondiente. En este ejemplo. los dos unos de arriba a la derecha se combinan con los dos unos de arriba a la izquierda para dar el tnnino w'z' . Cabe sealar que est pennitido usar el mismo cuadrado ms de una vez. Ahora nos queda un cuadrado marcado con I en la tercera fila y la cuan a columna (cuadrado 1110). En vez de tomar este cuadrado solo (lo que darla un tnnino con cuatro literales). lo combinamos con cuadrados que ya usamos antes para forolar un rea de cuatro cuadrados adyacentes. Estos cuadrados ocupan la interseccin de la.. dos filas de en medio y las dos CI)lumnas de los extremos. y dan el tnnino xi. La funcin simplificada es

F = y'

+ tV' + xz'

+AB'C'

Simplificar la fu ncin booleana

F = A'B'C'

+

B'CD'

+

A'BC O'

El rea del mapa cubiena por esta funcin consiste en los cuadrados marcados con I en la figura 3- 10. Esta funcin tiene cuatro variables y. en la fonna en que est expresnda. cons ta de tres tnninos de tres literales cada uno y un tnnino de cuatro literales. Cada tnnino de tres literales se representa en el mapa con dos cuadrados. Por ejemplo. A'H e se representa en los cuadmdos ()()()() y 000 l. La funcin se puede simplificar en el mapa tomando los unos de las cuatro esqui nas para dar ellmlino B'O'. Esto es posible porque los cuatro cuadr..ldos estn adyacentes si el mapa se dibuja en una s uperficie cuyos bordes superior e inferior. y derecho e izquierdo. estn en contacto. Los dos unos de la izquierda en la fila superior se combinan con los dos unos de la fila inferior paro dar el trnlino B'C. El uno restante se puede combinar en un rea de dos cuadrados paro dar el tnnina A'CO'. La funcin simplificada es

F = B'D'

+ B'C' + A'CD'

CDA800 1 01

C

11

1 0

00

~

~

O111

LJ1

8

10

1

---;-]D

FIGURA ) 10

Mapa para el ejemplo 36; A' IfC

-t"

B'CD' + A'BCD' + A8"C' ... 8"0' ~

se ,

A' CO'

Mat i-:I proJP.Qido "lnr derer.hos dfI :J.L'f')r

Seccin 3-2

Mapa de cuatro variables

73

ImpUcantes primosAl escoger cuadrados adyacentes en un mapa. debemos aseguramos de cubrir todos los minitbminos de la funcin al combinar los cuadrados. Al mismo tiempo, es necesario minimi7.1lT el nmero de trminos de la expresin y evitar trminos redundantes cuyos minitrminos ya estn cubiertos por otros trminos. Ocasionalmente. habr dos o ms expresiones que satisfacen los criterios de simplificacin. El procedimiento para combinar cuadrndos en el mapa podra hacerse ms sistemtico si entendemos el significado de los trminos denominados implicante primo e implicante primo esencial. Un lI/,/icumc pn'mo es un trmino de producto que se obtiene combinando el nmero mximo posible de cuadrados adyacentes en el mapa. Si un minitrmino de un cuadrado est cubierto por slo un implicante primo. decimos que ese implicante primo es cundu/. Podemos obtener los implican tes primos de una funcin a partir de un mapa combinando todos los nmeros mximos posibles de cuadrndos. Esto implica que un solo I en un mapa representa un implicame primo si no est adyacente a ningn otro l. Dos unos adyacentes forman un implicame primo si no estn dentro de un grupo de cuatro cuadrados adyacentes. Cuatro unos adyacentes forman un implicante primo si no estn dentro de un grupo de ocho cuadrados adyacentes. y as sucesivnmente. Los implicantes primos esenciales se encuentran examinando cada uno de los cuadrados marcados con I y tomando nota del nmero de implicantes primos que lo cubren. El implicante primo es esencial si es el nico que cubre al minitrmino. Considere la siguiente fu ncin booleana de cuatro variables: F(A.B.C.D)~

};(0.2.3.5.7.g.9. ' 0. 11. 13. 15)

Los minitrminos de la funcin se han marcado con I en los mapas de la figura 3- J J. La parte a) de la figura muestro dos implicantes primos esenciales. Un trmino es esencial porque s610 hay una fom13 de incluir el minitrmino mo en cuatro cuadmdos adyacentes. Estos cuatro cuadr.tdos definen al trmino S 'O'. Asimismo. slo hay una forma de combinar el minitrmi-

CDAB00

C

00

01

~I I

"~I

10

AB0001

CD 00I

C

01

~8A

"I I I I

10

.-:J8

oIIIA

I I

10

~

;-

"10

~ ='"

I

~=;I I

='=

D a) tmplicante5 primos esenciates 80 y 0 ' 0 '

D b) Implicante5 primos CD, o 'e AO y AB '

fiGURA J-11

SImplificacin empleando impli11

29II E

JI27

lO26

E

810

FIGURA ) 12

Ma pa

d~

cinco variables

resulta imprctico. La alternativa es utilizar programas de computadora ~scritos especficamente para facilitar la simplificacin de fu nciones booleanas que tienen un gran nmero de variables. Por ins peccin , y tomando en cuenta la nueva definicin de cuadrados adyacentes, es posible demostrar que cuale..-.quier 2 cuadrados adyacentes. para k = (D, 1, 2. .. . . n). en un ma pa de n variables. representan un rea que produce un tl!rmino de n - k literales. Para que esta afirmacin tenga sentido. n deber ser mayor que k. Cuando n = k. toda el rea del mapa se combina para dar la funcin de ide ntidad. La tabla 3- 1 muestrn la relacin e ntr~ el nmero de cuadrados adyacentes y el nmero de literales en el tl!rmino. Por ej emplo. ocho cuadrados adyace ntes combinan un rea del mapa de cinco variables para dar un tl!nnino de dos lilerales.

T.bl. ) -1R~locln ~ntr~ ~I num~rod~ IIr~roleJ

de cuodrodOj odyoc~nt~j y el numero

en ~J tirmlnoNmero

de cuMlndos

adyac:entesK

Nihero ele Ilterdes del tt....lno en un iii 'p. de " .....bles

O1

2

,J

,

J2

" , , l'1

, - 2

,1

, - J

,J1

, -, ,

O

,J1

, -, , ,

O

,J1

O

O

76

Captulo 3

Minimizacin en e l nivel de compuertas

DE

D

Be0001

00

o1

DE10

D

11

Be00

00

o1

11

10

1]~,..."

r' L-"

O1

1

1

e11810

1110

atJE

e1

FIGURA ) 1) Mapa para el eJemplo 3-7; F "" A'I1E: .. BD'f

ACE

Simplifique la fu ncin booleanaF ( A, B. C. D. E) = (O. 2. 4. 6. 9. 13. 2 1. 23. 25. 29. 31)

El mapa de cinco variables para esta funcin se muestra en la figura 3- 13. Hay seis minitnninos. del Oal 15. que penenecen a la pane del mapa en la que A :: O. Los otros cinco minit/!rminos penenecen aA :: l. Cuatro cuadrados adyacenles del mapa A :: Ose combinan para dar el tnnino de tres literales A' B' E'. Adviena que e.entan todos los minitrminos de la funcin. Los cuadrndos marcados con Orepresentan Jos minitrminos no incluidos en F y. por tan-

to. denotan al complemento de F. Si combinamos los cuadrados que tienen 1. obtendremos la runcin si mplificada en rorma de suma de productos:a)

F = B'O'

+

B'C '

+ A'C'O

Si combinamos los cuadrndos marcados con 0, como se indica en el diagrama. obtendremos la funcin complementada simplificada:F' = A8

+ CO + 80'

Al aplicar el teorema de DeMorgan (obteniendo el dual y complementando cada literal como se describe en la. seccin 2-4) se obtiene la funci6n simplificada en forma de producto de sumas: b) F = (A' + 8' )(e' + 0 ' )( 8' + O)

CDA8

C

00I

01I

11

10I

00

O

01

I

O8

OA

OOI

10

I

I

DFIGURA 3 -14

Mapa para el ejemplo 3-8; F(A. a, e, D) ~(O, 1, 2, S, 8, 9, 10) = 8'0' t A'CO = (A .. S)(C + D'HB + D)

se ...

MatfI'll protegido pt)r ,;erecho!' de 'lU ':Ir

78

Captulo 3

Minimizacin en el nivel de comp uertasA'

O' 8'

8'

-

eA' O

-r

--L

F

O'

e-

+

F

-t:a) F - B' D ' + B' C' + A'CD

O

b)F - (A ' + IJ' )(C'

-t

D ' )(8' + D )

FIGURA )-15

Implementacin con compuertas de la funcin del ejemplo 38

La implementacin de las expresiones simplificadas obtenidas en el ejemplo 3-8 se muestra en la figura 3-15. La eApresin de suma de productos se implementa en a) con un grupo de compuertas ANO, una para cada tnnino ANO. Las salidas de las compuertas ANO se conectan a las entradas de una sola compuerta ORoEn b) se ha implementado la misma funcin en forma de producto de sumas con un grupo de compuenas DR, una por cada tnnino OR , Las salidas de las compuertas OR se conectan a las entradas de una sola compuerta ANO. En cada caso. suponemos que contamos directamente con las variables de entrada complementadas, por lo que no se necesitan inversores. El patrn de configuracin eSlablecido en la fi gura 3- 15 es la fonna general de implementar cualquier funci n booleana expresada en una de las fonnas estndar. Si est en suma de productos, se conectan compuertas ANO a una sola compuerta OR; si est en producto de sumas. se conectan compuertas OR a una sola compuerta ANO. Cualquiera de las configuraciones forma dos niveles de compuertas. por lo que se afirma que la implementacin de una funcin en forma estndar es una implementacin de dos niveles. El ejemplo 3-8 ilustr el procedimiento paro obtener la simplificacin de producto de sumas cuando la funcin se expresa originalmente en la forma cannica de suma de minitl!:nninos. El mismo procedimiento es vlido cuando la funcin se expresa originalmente en la forma

Tabla 3-2Tablad~

verdad d~ lo funcl/I F

yO O O O1 1 1 1

zO1

,O1

O O1 1

O1

O1 1

O O1 1

O1

O1

O1

O

Seccin 3-4

Simplificacin de producto de sumas

79

,O

00OI

"

,O1I

11I

10O

,FIGURA ) -16

1

O

O

1

Mapa de la fu ndn de la tabla 3-2 cannica de producto de maxitrminos. Consideremos. por ejemplo. la tabla de verdad que define la funcin F en la tabla 3-2. En suma de minitrminos, esta fun cin se expresa asf: F(x.y.,) = l: (1.3.4.6) En producto de maxitrminos, se expresa asf: F(x. y. ,) =

n (0.2 . 5.7)

Dicho de otro modo, los unos de la funci n representan a las minitrminos, y los ceros, a los maxitrminos. El mapa de esta funcin se presenta en la figura 3-16. Podemos comenzar a simplificar esta funcin marcando con J los cuadrados corre.o~-

,y

00

(x',,), - x + ,

--/

FIGURA ] 18

Operaciones lgicas con compuertas NANOMat nal protegido por derechos dfI aL'f')r

Seccin 36x y

Im ple m e ntacin con NANO y NOR

83

,

I

}~- (XYd'

{ :3

)~--- x ' + y' + l ' b) In\'ertir-OR

(xy-t)'

a) AND-invertir

FIGURA 3 19O o~

smbolos g rficos para la compuerta NANO

Una forma conveniente de implementar una funcin booleana con compuertas NANO con siste en obtener la funcin booleana simplificada en tf rminos de operadores booleanos y luego convertir la funcin a lgica NANO. La conversin de una expresin algebraica de ANO. QR y complemento a NAND se efecta aplicando sencillas tfc nicas de manipulacin de circuitos que convierten los diagnuTUlS ANO-OR en diagramas NANO. Para facilitar la conversin a lgica NANO. es conveniente definir un smbolo grfico al terno para la compuerta. En la fi gura 3-19 se presentan dos sfmbolos grficos equivalentes para la co mpuerta NANO. El sfmbolo ANOinvertir ya se defini antes y consiste en un sfmbolo grfi co ANO seguido de un pequeo indicador circular de negacin llamado burbuja. Como alternativa, podemos representar una compuerta NANO con un sfmbolo grfico OR precedi. do por una burbuja en cada entrada, El smbolo invenir-OR para la compuerta NANO e.~ consecuencia del teorema de DeMorgan y de la convencin de que el indicador de negacin denota complementacin, Los dos sfmbolos grficos son utiJes en el anlisis y diseo de cir cuitos NANO. Si se usan ambos s(mbolos en el mismo diagrama. decimos que el circuito est en notacin mixta.

Implementacin de dos nivelesla implementacin de funciones booleanas con compuertas NANO requiere expresar la fun-

cin en forma de suma de productos. Pnrn ver la relacin entre una expresin de suma de productos y su implementacin NANO equivalente. consideremos los diagramas lgicos de la figura 3-20. Los tres diagramas son equivnlentes e implementan la funcin

F = AB+CDEn a), la funcin se implementa con compuertas ANO y ORoEn (b). las compuertas ANO se han sustituido por compuertas NANO '1 la compuerta OR se sustituy por una compuerta NANO representada por un srmbolo grfi co invertirQR. Recuerde que una burbuja denota

AB

A

A

,.)

B

,b)

B

, ;L!')r

ISeccin 3-6A

Implementacin con NANO y NOR

87

,

8'-A' -B

F

~,-D-----.J.) CompLlcnali AND-OR

A

B'A'

8

lo

~" vb) Compuertas NANDF

eD

FICURA 3-21

Implementacin de F - (AB' + A' B)(C + U)Inversor x

[>

x'

o.

x y

l>~....J

[>

x.y

. -,ANOy -FIGURA ) 24

, _-1._/ ~-- (x' + , ')' - :ty

Operaciones lgicas con compuertas NOR

lamente corno un im'ersor. La opernci6n OR requiere dos compuertas NOR y la ANO. una compena NQR con inversores en cada e"trolda. Los dos sfmbo los grficos de la notacin mixta se muestran e n la figura 3-25. El smbolo OR-invenir defi ne la operacin NOR como un OR seguido de un complemenlo. El smbolo invertir-ANO complementa cada una de las entradas y luego realiza una operocin ANO. Los dos smbolos designan la misma operacin NOR y son lgicamente idnticos por el teorema de DeMorgan.Mat~rFjl

protegido po?r derechos de '1U ':Ir

88

Capt ulo 3

Minimizacin en el nivel de compuertas

,

y ,

) >--(.r +a) ORinvc rlir

1 + : )'

_ 'Y,

3 c---,F

C ~- - ~~ -L/

E - - -- - ' 'FIGURA 326

Implementacin de f - (A + B){C + D)E

Una implementacin de dos niveles con compuenas NOR requiere simplificar la funcin en fonna de producto de sumas. Recuerde que la expresin simplificada de producto de sumas se obtiene del lIlupD combinando los ceros y complementando. Una eltprcsin en prodUCIO de sumas se implementa con un primer nh'Cl de compuenas OR que produce los tnninos de suma, seguido de una compuena ANO de segundo nivel que da el producto. La transfonnllCi n del diagrama OR-ANO en un diagrama NOR se logra cambiando las compuenas OR por compuer(aS NOR representadas por sfmbo los grficos OR-invenir, y la compuena ANO, por una como puena NOR representada por un sfmbo lo grfico invenir-AND. Si la compuena de segundo nivel tiene como cntrada un tnnino dc una sola litcral, sta deber complementarsc, La ligur:!. 3-26 muestra la implcmentacin NOR de una funci n expresada como producto de sumas:

F

~

(A + B)(C + D)E

El patrn OR-AND se detecta fcilmente quitando los pares de burbujas que estn sobre la misma Ifnea . La variable E se complementa para compensar la tercera burbuja en la entrada de la compuerta de segundo nivel. El procedimiento paro! convenir un diagrama AND-OR mullinivel en un diagrama slo NOR es similar al que se utiliz para las compuenas NANO, En el caso de NOR, hay que sustituir cada compuena OR por un sfmbolo OR inven ir, y cada compuena ANO. por un smbolo invenir-ANO. Toda burbuja que no est compensada por otra burbuja en la misma Ifnea necesi tar un inversor, o se deber complementar la literal de entrada. La Irnnsfonnacin del diagrama AND-OR de la fi gura 3-23a) en un diagrama NOR se ilustra en la figura 3-27, La funci n booleana para este circuito es

F

~

( AB'

+ A'B)(C + D' )

El diagrama AND-OR equivalente se deduce del diagrama NOR quitando ladas las burbujas. Paro compensar las burbujas en cuatro entradas, es preciso complementar las literules de en truda correspondientes.

Seccin 3-7A' BAB'

Otras implementaciones de dos niveles

89

F

cD'

FIGURA 1 -27

>

Implementacin de F - (AB' + A'S)(C .;. D' ) con compuertas NOR

3-7

OTRAS IMPLEMENTACIONES DE DOS N IVE LE SLos tipos de compuenas que ms comnmente se encuentran en los circuitos inlegrados son

las NANO y NOR. Por ello. las implementaciones de lgica NANO y NOR son las ms imponanles en la prctica. Algunas compuenas NANO o NQR (pero no todas) contemplan la posibilidad de una conexin con alambre entre las salidas de dos compuertas para foonar una funcin lgica especffica. Este tipo de lgica se llama I8ico alambrado (wired. en ingls). Por ejemplo. si se conectan entre s compuertas NANO TrL de colector abieno. efectan la lgica ANO alambrada. (la compuena TfL de coleclor abieno se representa en la fi gura I(). II del capitulo 10.) la lgica ANO alambrada efectuada con dos compuenas NANO se muestra en la figura 3-2&). la compuerta ANO se dibujll con !fneas que pasan por el centro de la compuena, para distinguirla de una compuena convencional. la compuena ANO alambrada no es una compuena ffsica. sino un smbolo que designa la funcin obtenida de la conexin alambrada que se indica. La funcin lgica implementada por el circuito de la fi gura 3-28a) es

F

~

(A B), , (CD)'

~

(AB

+ CD)'

y se denomina func in AND-OR-INVERT.

Asimismo. la salida NOR de compuenas ECL se puede vincular para desempear una fun cin OR alambrada. la funcin lgica implementada por el circuito de la fi gura 3-28b) es

F ~ (A

+ B)' + (C + D)'

~ [(A

+ B)(C + D)]'

Y se denomina funcin OR-ANO-INVERT.

A_ -

.......

A

B-_--"F - (AB

B+ CD )'- - F - I(A + B)(C +D)]'

c - - .......D - _ --"a) AND alambrado en rompuertll5 NANO ITL de rolcdor abierto(ANOOR-INVERT)

b) O R atambntdo en rompuenas ECL(O R-AND-INVERn

FIGlJRA 1-28 Lgica 1I1ambrada

Mat fI'll protegido pt)r ,;erechoc. de 'lU ':Ir

90

Captu lo 3

Minimizacin e n el nivel de compuertas

Una compuerta de 1 6gica alambrada no produce una compuerta ffsica de segundo nivel porque no es ms que una conexi6n de alambres. No obstante, en nuestras explicaciones. consideraremos los circuitos de la figura ) -28 como implenlentaciones de dos niveles. El prinler nivel consiste en compuertas NANO (o NOR) y el segundo tiene una sola compuerta ANO (u OR). La conexi6n alambrada dentro del smbolo grfico se omi tir en explicaciones posteriores.

Formas no degeneradasDesde un punto de vista te6rico, resulta interesante averiguar cuntas combinaciones de compuenas de dos niveles puede haber. Consideraremos cuatro ti pos de compuertas: ANO, OR. NANO Y NOR. Si asignamos un tipo de compuena al primer nivel y un tipo al segun do nivel . encontramos que hay 16 posibles combinaciones de formas de dos niveles. (Se puede usar e l mismo tipo en el primer nivel y en el segundo. como en la implementaci6n NANO-NANO.) Ocho de esas combinaciones se consideran formas degeneradas porque degeneran a una sola operaci6n . Esto se percibe en un circuito con compuertas ANO en el primer nivel y una compuerta ANO en el segundo nivel . La salida del circuito no es ms que la funci6n ANO de todas las variables de entrada. Las Otras ocho formas no degeneradas producen una implementaci6n de suma de productos o producto de sumas. Las ocho form as no degeneradas son: AND-OR NANO-NANO NOR-OR OR-NAND OR-AND NOR-NOR NANO-ANO ANO-NOR

La primera compuerta indicada. en cada. una de las formas constituye el primer nivel de la implementacin. La segunda compuerta es una sola, colocada en el segundo nivel. Hemos presentado las formas en pares. de modo que las dos formas de cada !fnea son una el dual de la otra. Las formas AND-OR y OR-AND son las formas bs icas de dos niveles que vimos en la seccin 3-4. Presentamos las formas NAND-NANO y NOR-NOR en la seccin 3-6. En esta seccin investigaremos las otras cuatro formas .

Implementacin AND-OR-INVERTLas dos formas NANO-ANO y ANO-NOR son equivalentes y podemos verlas juntas. Ambas efectan la funci6n AND-OR-INVERT. como se muestnl. en la figura 3-29. La fonna ANO-NOR se parece a la forma ANO-OR pero con una in\'ersi6n indicada por la burbuja en la salida de la compuerta NOR. Esta forma implementa la funcin

F = ( AB

+ CD + E)'

Al utilizar el smbolo grfico alterno para la compuerta NOR. se obt i~ne el diagrama de la figura ) -29b). Advierta que la variable sola E 110 se complementa porque el nico cambio que se efectLla es en el smbolo grfico de la compuerta NOR. Ahora pasamos la burbuja de la terminal de entrada de la compuel1a de segundo nivel a las terminales de salida de las compuertas de primer nivel. Se necesita un inversor para la variable sola, como compensacin de laM'

pro'0'9ido 0rdl"Pr,n de

Seccin 3-7ABA

Otras Implementaciones de dos niveles

91

B

e oE

=La) AND-N OR

F

-F

O-l~

C--f-' ~

----- F

E- - - - - 'b) AND-NOR

E --C~

c)NAND-AND

FIGURA 3-29

Circuitos AND-OR-INVERT; F = (AS + CD +

E)'

burbuja. O bien. podemos quitar el inversor si la entrada E se complementa. El circuito de la figura 3-291ul. circt (A,B,C,D,FI ; input A,B,C,D; output F; vire w,x,y,z,a,d;( x , B,C ,d); an4 (y,a,e); an4 (w,z,B); or (z,y,A); or (P,x,w); Dot {a,Al; Dot ( d,D);en ..

en""'''''u1.3-37 Una funcin lgica de mayora es una funcIn booleana que da I si la mayora de las variables vale l. y Oen caso conlfllrio. Escriba una primitiva definida por el usuario en HDL pal1l una funcin de mayorfa de tres bits.f

REFE~ENCIAS1. BIIAS KER, J_ 1997. A Veri/og HDL Priml!!r. Allenlown, PA: Slar Galaxy Prcss.

2.

HU . F. J. YG. R. PETatsoN. 1981./ntroduction ro Swilching Theory and Logical Duign. 3a. ed. .l Nueva York: JOOo Witey.

Mal rF11 protegido p-?r derechos de '1U ')r

110

Captulo 33.

Minimizacin e n el nivel de compuertas

IEEE Standard Hardwarr Ducription l118uag~ 8as~d on th~ \~n'log f/(m lwaf'r D~scriptiotl Language (Nonna IEEB 1364- 1995). 1995. Nueva York.: lc: Institutc of EleClrical and Ek-ctl'O-

n es Enginee rs.

4.5.

KARNAlJGIl. M. A Map Melhod for Synlhesis of Combinationnl Logic Circuits. Transactioru 01 AlEE. CommllniCCllion and EI t rQl1ics. 72. pane 1 (oo\'. de J953); 59399.KOHAVI.

Z. 1978. Swilching lJI,d AllIolIUJla TI't!or)'. 2u. etI. Nue..... York: McGr.. w-Hill. .

6. 7. 8_

M. M. YC. R. KtME. 2000. Logic and Compuur Iksign Fumlamemals. 2a. oo. Upper SaddJe Rh'er, NJ: Prenlice-Hall.MANO.

McCwSKEY, E. J. 1986. w gk fksign Principies. Englewood ClifTs. NJ: Premice-Hall.

PALNrTXAR. S. 1996. \'I!rilog HDL' A Guidt! 10 Digitallsign and Symllf'sis. SunSort Press (un IItulo Prentice-Hall).

Mat~rt'Jl

protegido por derechos de 'JI.: or

Lgica combinacional

4-1

IRCUITOS COMBINACIO

ALE S

circuitos lgicos par.! sistemas digitales pueden ser combinacionales o secuenciales. Un combinacional consiste en compuertas lgicas cuyas salidas en cualquier momento dctenninadas por la combinaci n aelUs] de entradas. Un circuito combi nacional reali7.a

operacin que se puede especificar lgicamente con un conjunto de funciones booleanas.circu itos secuenciales usan elcmemos de almacenamiento adems de compuertas lgiy sus salidas son fu ncin de las entradas y del estado de los elementos de almacenamienEsIO ltimo. a s u vez, es funcin de entradas ante riores. Por ello. las salidas de un circuito depe nden no slo de los valores ac tuales de las entradas. sino tambin de entradas

y el comportumienlo del circuito se debe especificar con una sucesin temporal de y estados internos. Los circuitos secuenciales se estudiarn en los capftul os S y 9. Un circuito combinacional consiste en variables de entradn, compuertas lgicas y variables salida. Las compuertas lgicas aceptan seales de las entradas y generan seales para las saEste proceso transforma infonnacin binaria. de los datos de entrada dados a los datos salida requcridos. En la figura 4- 1 se presenta un diagrama de bloques de un circuito comLas n variables binarias de entrada provie nen de una fue nte externa; Ins /ti varia de salida van a un destino externo. Cado variable de entrada y de salida existe ffsicamente una senal binaria que representa I lgico y O lgico. En muchas aplicaciones, el origen

11

entradas

Circuito combinacional

m salidas

I FIGURA 4-1 Diagrama de bloques de un circuito B. A = B o A < B. El circuito para comparar dos nmeros de n bits tiene 220 entradas en la tabla de verdad y resulta diffcil de manejar incluso con 11 = 3. Por otro parte, como el lector seguramente sospechar, los circuitos comparadores poseen cierto grado de regularidad. Las funciones digitales que poseen una regularidnd inherente bien definida por lo regular se disean empleando un procedimiento a1goritmico. Un algoritmo es un procedimiento que especifica un conjunto fi nito de pasos que. si se siguen. producen la solucin de un problema. Ilustraremos este mtodo dcduciendo un nlgoritmo parn el diseo de un comparodor de magnitudes de cuntro bits. El algoritmo es una aplicacin directa del procedimiento que una persona sigue para comparar las magnitudes relativas de dos nmeros. Considcremos dos nmeros. A y B. de cuatro dfgilOS cada uno. Escribiremos los coeficientes de los nmeros del ms al menos significativo:A = A)A1A.Ao

B ::: B)B1B.Bn

Cadn letra con subfndice representn uno de los dfgitos del nmero. Los dos nmeros son iguales si todos los pares de dfgi tos significativos son iguales; Al = Bl YAl = B! YA. = B 1 Y Ao "" Bo. Si los nmeros son binarios, los dfgitos son I o O. y la relacin de igualdad de cada par de bits se expresa lgicamente con una func in OR exclusivo asf:.t

= AB + AjB;

para i = O. 1.2,3

donde x = I nicamente si los dos bits de la posicin i son iguales (es decir, si ambos son I o ambos son O). La igualdad de los dos nmeros, A y B. se indica en un circuito combinacional con una variable binaria de salida que designaremos con cJ sfmbolo (A = B). Esta 'Illriable binaria es 1 si los nmeros de entrada. A y B. son iguales. yes Ocn caso contrario. Paro que exista la condicin de igualdad. las x variables debern ser todas l . Esto implica una operacin ANO de todas las variables:

(A = B) = X)X2X1XO La variable binaria (A = R) es I nicamente si lodos los pares de dIgilos de los dos nmeros son iguales. Paro detenninar si A es mayor o menor que B. se inspeccionan las magnitudes relativas de pares de dfg il05 significntivos. comen7.ando por In posicin ms significnlivn. Si los dos d'g ilos son iguales. se comparar el siguiente par de dgitos menos signifiea.lh-os. Esta comparacin continuar hasta encontrar un par de dgitos distintos. Si el dgito correspondiente de A es I y el de B es O. concluimos que A > B. Si el dgito correspondiente de A es O y el de B es J, sabemos que A < B. La comparocin sucesiva se expresa lgicamente con las dos funciones booleanas(A > B ) = A)BJ(A

B) Y(A < B) son variables de salida binarias que valen I cuando A > B o A < R, respectivamente. La implementacin con compuertas de las tres variables de salida que acabamos de dedu-

cir es ms sencilla de lo que parece porque implica cierta repeticin. Las salidas de dcsigualMat 'JI prOiP.gido0f der~hos

dE' 'Jl 'lr

134

Captulo 4

lgica combinacional

,,i> 8,

/ ,

:::J

> ,

8,

"

>,-{

-l1 U1tfi) - (A < 8 )

:::r8,

>,

~80

-r-{

H=~ >-> 0

L"

~

)- (A

:;' H)

L

.J

(A - 8 )

FIGURA 4-1 7

Comparador de magnitudes de cuatro bitsdad utilizan las mismas compuenas que generan lo salida de iguoldad. El diograma lgico del comparndor de magnitudes de cuatro bits se reprod uce en la figuro 4-1 7. Las cuatro salidas x se generan con circuitos NOR exclusivo y se aplican ti una compuen n ANO para dar la variable binaria de salida (A "" B). Las otras dos salidas utilizan las variables x para generor las func iones booleanas que presentamos antes. sta es una implementacin multinh'CI y sigue un palIn regular. El procedimie nto para obtener circuitos comparadores de magnitud para nmeros binarios de ms de cuatro bits se deduce fcilmente de este ejemplo.

4-8

DECODIFICADOR ESEn los sistemas digitales. las cantidades discretas de infonuacin se represe ntan con cdigos binarios. Un cdigo binario de n bits puede re presen tar hasta 2~ elementos distintos de informacin codificada. Un decodificador es un circuito combinncional que conviene infonuacin binaria de n Ifneas de entrada a un mximo de r lfneas de salida distintas. Si la infanuncin codificada en n bits tiene combinaciones que no se usan. el decodificador podria te ner menos de r salidas.Mar fI'll protegido por c!erocf'Jo