electronica digital- temario completo

170
ELECTRONICA DIGITAL Presenta: González Rico Brenda. Profesor: Ing. Jaime de Jesús Cañas Ortega. Materia: Instituto Tecnológico de Veracruz

Upload: brendarico

Post on 30-Jul-2015

225 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Electronica Digital- Temario Completo

ELECTRONICA DIGITAL

Presenta: González Rico Brenda.Profesor:Ing. Jaime de Jesús Cañas Ortega.Materia:Electrónica digital

Instituto Tecnológico de Veracruz

Page 2: Electronica Digital- Temario Completo

Electrónica Digital

Capitulo unoCódigos y sistemas numéricos

binarios.

Ing. Mecatronica González Rico Brenda

Page 3: Electronica Digital- Temario Completo

Electrónica Digital

1.1 Electrónica analógica vs electrónica digital.

Para poder entender claramente a lo que se refiere este tema empezaremos siguiendo el lineamiento de que la electrónica analógica y la digital son opuestas, ya que la primera trabaja con señales que varían continuamente, mientras que la otra lo hace con señales de tipo incremental. En la electrónica analógica los parámetros de medida generalmente son voltajes e intensidades, en la digital se miden estados lógicos de un circuito.

Para ilustrar más claramente lo de la electrónica analógica nos basaremos en el ejemplo de una señal acústica

Cuando hablamos nuestras cuerdas vocales vibran lo que origina que las moléculas de aire también los hagan, propagando la vibración, si medimos esta vibración durante un periodo de tiempo, esta tendría la forma de la imagen de arriba. Cuando esta señal es captada por un micrófono se genera una señal eléctrica que tiene una forma análoga a la de la señal acústica. Esto

Ing. Mecatronica González Rico Brenda

Page 4: Electronica Digital- Temario Completo

Electrónica Digital

nos dice que las vibraciones de las moléculas se han convertido en variaciones de voltaje.

De esta manera con señales eléctricas podemos imitar las señales del mundo real, y los más interesante, logramos que la información de la vibración de las moléculas del aire se haya transmitido a los electrones.

En las señales analógicas, la información se encuentra en la forma de la onda.

Para el caso de la digital se basa en un enfoque completamente diferente, que consiste en convertir las señales en números. Pensemos por un momento: estamos acostumbrados a escuchar el termino televisión digital, radio digital, reloj digital, música digital, ¿esto qué quiere decir?

En una computadora podemos escuchar música, ver videos, escribir y muchas cosas más. Todo eso se hace con números, la información se maneja en números (y todo esto se hace con puros 0 y 1).

Ing. Mecatronica González Rico Brenda

Page 5: Electronica Digital- Temario Completo

Electrónica Digital

Basémonos en el anterior caso de la señal acústica, ahora convertida a digital

Un ejemplo muy claro es el internet. El internet es una red digital, especializada en la transmisión de números. Y esos números pueden ser datos, canciones, videos, programas, etc.… la red no sabe qué tipo de señal transporta, solo ve números.

La electrónica digital trabaja con números. La información está en los números y no en la forma de la señal. Cualquier señal se puede convertir a números y recuperarse posteriormente.

Un circuito digital realiza manipulaciones sobre los números de entrada y genera unos números de salida. En consecuencia se podría decir que parece que los circuitos digitales son inteligentes, aunque esto no es cierto, ya que no tienen capacidad de pensar por cuenta propia, sino que están programados por la persona que los diseño así.

Esto de una manera más completa quiere decir que los dispositivos analógicos procesan las señales variantes en el tiempo que pueden adquirir cualquier valor a los largo de un intervalo continuo de voltaje, corriente un otra medida.

Ing. Mecatronica González Rico Brenda

Page 6: Electronica Digital- Temario Completo

Electrónica Digital

Una señal digital se hace para tomar en cualquier instante solo dos valores denominados 0 y 1 (o bajo=low. y alto=high).

Apenas a partir de estos últimos 20 0 30 años la revolución digital se ha extendido a casi todos los aspectos de la vida. Para demostrarlo, los ejemplos se pueden ver en el hecho de que muchos sistemas analógicos ahora se han vuelto digitales.

Entonces ¿por qué ha surgido una revolución digital? Pues entre las muchas razones para dar preferencia a los circuitos digitales sobre los analógicos están:

Facilidad de diseño. El diseño digital o también conocido como “diseño lógico”, como su nombre lo indica es lógico. No se necesitan habilidades matemáticas especiales, y para analizar el comportamiento de los circuitos lógicos solo hace falta visualizarse mentalmente sin tener conocimientos previos sobre como funcionan los transitares, capacitores u otros dispositivos que requieren de cálculos matemáticos para modelarse.

Flexibilidad y funcionalidad. Una vez que un problema se ha reducido a su forma digital se puede resolver utilizando pasos lógicos. Por ejemplo se puede diseñar un circuito que mezcle o codifique una voz grabada que sea absolutamente indescifrable para cualquiera que no tenga su “clave”. Este principio se utilizo para codificar mensajes, pero luego existieron personas que notaron efectos interesantes en los sonidos generados y dio el paso para la creación de un dispositivo llamado vocoder (más sencillo es lo que utilizan los Daft Punk para hacer su música).

Ing. Mecatronica González Rico Brenda

Page 7: Electronica Digital- Temario Completo

Electrónica Digital

Economía. Los circuitos digitales proporcionan mucha funcionalidad en un reducido espacio. Estos pueden

integrarse en un solo chip y fabricarse masivamente a un bajo costo, inclusive haciendo posible la creación de productos desechables como calculadoras de bolsillo, relojes digitales de pulsera y tarjetas musicales de felicitación!!

Avance tecnológico constante. Cuando se diseña un sistema digital, se sabe que habrá una tecnología más rápida, económica o superior en poco tiempo.

1.2 Introducción a los niveles del Diseño Digital.

Como anteriormente había dicho, los circuitos digitales tienen ciertos estados lógicos dentro de su funcionamiento, lo que significa que presentan cierta memoria para realizar las tareas para las que se les han programado. El elemento que hace posible esa memoria es la llamada puerta lógica, que es el elemento base en la toma de decisiones de nuestros circuitos. De esta manera al interconectar varias puertas lógicas se lograran codificar los posibles resultados que se deseen obtener de un circuito.

Esta labor puede realizarse en diferentes niveles de representación y abstracción. La industria misma y la mayoría de los diseñadores se mueven a

Ing. Mecatronica González Rico Brenda

Page 8: Electronica Digital- Temario Completo

Electrónica Digital

un ritmo constante hacia mayores niveles a medida que la densidad y funcionalidad de los circuitos se incrementa.

El primer peldaño del diseño digital es la física del dispositivo y los procesos de fabricación de C.I. (circuito integrado). Los efectos de los impresionantes avances en cuanto a integración y velocidad de los C.I. se encuentran resumidos en la Ley de Moore que indica que la cantidad de transistores por pulgada cuadrada en un C.I. se duplica cada año. Esta proporción de avance ha disminuido a aproximadamente 18 meses, pero lo que se debe resaltar es que cada vez que se duplica la densidad lo hace a la par de la velocidad.

Los ASIC (Aplicación Specific Integrate Circuit o Circuito Integrado de Aplicación Específica) son circuitos integrados configurables que ha sido diseñado para un propósito u aplicación específica para un producto electrónico específico.

Una forma más rápida y directa de integrar aplicaciones es mediante la lógica programable, la cual permite independizar el proceso de fabricación del proceso de diseño fuera de la fábrica de semiconductores.

Para eso el diseñador digital debe considerar estos puntos importantes:

El uso de buenas herramientas no garantiza un buen diseño, pero ayuda bastante a eliminar el esfuerzo y dolor que conlleva el hacer bien las cosas.

Saber cuándo preocuparse y cuando no, con respecto a los aspectos analógicos del diseño digital.

Documentar siempre los diseños para hacerlos comprensibles tanto para uno mismo como para los demás

Diseñar para un costo mínimo al nivel del sistema, incluyendo su propio esfuerzo ingenieril como parte del costo.

Dentro de todo esto, igualmente el trabajo del diseñador digital se ve influido por un sinnúmero de factores externos a la ingeniería, entre los que se

Ing. Mecatronica González Rico Brenda

Page 9: Electronica Digital- Temario Completo

Electrónica Digital

incluyen la disponibilidad de los componentes, especificaciones del objetivo, políticas de oficina, estándares de producción, etc.

1.3 Sistemas Numéricos

Digito: Es un signo que representa una cantidad contable. Dependiendo del sistema de numeración, serán los diferentes signos que se tenga para representar cualquier cantidad.Numero: Es la representación de una cantidad contable por medio de uno o más dígitos.Sistema de Numeración: Es un conjunto de dígitos que sirven para representar una cantidad contable.El nombre del sistema de numeración que se trate serán los diferentes dígitos posibles para tal representación.Así también los sistemas de numeración se les llaman base, de tal manera que el sistema de numeración binario, también se le llama base 2.Los sistemas de numeración más utilizados en electrónica son:

Binario o Base 2 (0, 1)

Octal o Base 8 (0, 1, 2, 3, 4, 5, 6, 7)

Hexadecimal o Base 16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)

Decimal o Base 10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

Absoluto

Valores de un digito

Relativo

Valor Absoluto de un Digito: Es aquel representa un digito sin importar donde se encuentre así:

5 2 7 6 10 BASE 10

Ing. Mecatronica González Rico Brenda

Page 10: Electronica Digital- Temario Completo

Electrónica Digital

5 Cinco 2 Dos 7 Siete 6 Seis

Valor Relativo de un Digito: Es aquel representa el mismo digito, dependiendo de la posición que se encuentre con respecto a la división de los enteros y las fracciones.

53 22 71 60 = Cinco mil, doscientos, Setenta y Seis5 x 103 + 2 x 102 + 7 x 101 + 6 x 100

5 x 1000 + 2 x 100 + 7 x 10 + 6 x 1

1.3.1 Sistema binario octal y hexadecimal.

El sistema binario o sistema de numeración en base 2 es también un sistema de numeración posicional igual que el decimal, pero sólo utiliza dos símbolos, el “0” y el “1”. Por lo tanto para poder representar mayor número de información al tener menos símbolos tendremos que utilizar más cifras:

Bit: 0 ó 1 Cuarteto: Número formado por 4 bits Byte: 8 bits Kilobyte: 1024 bytes Megabyte: 1024 kilobytes Gigabyte: 1025 megabytes

Un número es sistema binario es por lo tanto una secuencia de bits, así por ejemplo:

11101001 2 es un número en base 2 y representa el número:

1 * 27 + 1 * 26 + 1 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 128 + 64 + 32 + 0 + 8 + 0 + 0 + 1 = 233

SISTEMA OCTAL.

Es un sistema de base 8, es decir, con sólo ocho símbolos distintos 0,1,2,3,4,5,6,7 .

Ing. Mecatronica González Rico Brenda

Page 11: Electronica Digital- Temario Completo

Electrónica Digital

Por ejemplo:

40712 8 es un número en base 8 y representa el número:

\large 4 \times 8^4 + 0 \times 8^3 + 7 \times 8^2 + 1 \times 8^1 + 2 \times 8^0 = 4 \times 4094 + 0 \times 512 + 7 \times 64 + 1 \times 8 + 2 \times 1 = 16384 + 0 + 448 + 8 + 2 = 16842

Los números octales pueden construirse a partir de números binarios agrupando cada tres dígitos consecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor decimal.

Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 001 010. De modo que el número decimal 74 en octal es 112.

En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos.

Es posible que la numeración octal se usara en el pasado en lugar del decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares. Esto explicaría por qué en latín nueve (novem) se parece tanto a nuevo (novus). Podría tener el significado de número nuevo.

Fracciones

La numeración octal es tan buena como la binaria y la hexadecimal para operar con fracciones, puesto que el único factor primo para sus bases es 2.

Ing. Mecatronica González Rico Brenda

Page 12: Electronica Digital- Temario Completo

Electrónica Digital

Fracción

Octal

Resultado en octal

1/2 1/2 0,4

1/3 1/30,25252525 periódico

1/4 1/4 0,2

1/5 1/50,14631463 periódico

1/6 1/60,125252525 periódico

1/7 1/70,111111 periódico

1/8 1/10 0,1

1/9 1/110,07070707 periódico

1/10 1/120,063146314 periódico

Tabla de la suma en base 8:

+ 0 1 2 3 4 5 6 7

0 0 1 2 3 4 5 6 7

1 1 2 3 4 5 6 7 10

2 2 3 4 5 6 7 10 11

3 3 4 5 6 7 10 11 12

4 4 5 6 7 10 11 12 13

5 5 6 7 10 11 12 13 14

6 6 7 10 11 12 13 14 15

7 7 10 11 12 13 14 15 16

Tabla de la multiplicación en base 8:

* 0 1 2 3 4 5 6 7

0 0 0 0 0 0 0 0 0

1 0 1 2 3 4 5 6 7

2 0 2 4 6 10 12 14 16

3 0 3 6 11 14 17 22 25

4 0 4 10 14 20 24 30 34

5 0 5 12 17 24 31 36 43

Ing. Mecatronica González Rico Brenda

Page 13: Electronica Digital- Temario Completo

Electrónica Digital

6 0 6 14 22 30 36 44 52

7 0 7 16 25 34 43 52 61

El sistema de numeración más utilizado actualmente en computación es el hexadecimal o base 16, el cual consta de 16 dígitos símbolos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F . El sistema hexadecimal un sistema de numeración vinculado a la informática, ya que los ordenadores interpretan los lenguajes de programación en bytes, que están compuestos de ocho dígitos. A medida de que los ordenadores y los programas aumentan su capacidad de procesamiento, funcionan con múltiplos de ocho, como 16 o 32. Por este motivo, el sistema hexadecimal, de 16 dígitos, es un estándar en la informática.

Como nuestro sistema de numeración sólo dispone de diez dígitos, debemos incluir seis letras para completar el sistema.

Estas letras y su valor en decimal son: A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15.

El sistema hexadecimal es posicional y por ello el valor numérico asociado a cada signo depende de su posición en el número, y es proporcional a las diferentes potencias de la base del sistema que en este caso es 16.

Veamos un ejemplo numérico: 3E0,A (16) = ( 3×16

) + ( E×16¹ ) + ( 0×160 ) + ( A×16–1 ) = ( 3×256 ) + ( 14×16 ) + ( 0×1 ) + ( 10×0,0625 ) = 992,625

La utilización del sistema hexadecimal en los ordenadores, se debe a que un dígito hexadecimal representa a cuatro dígitos binarios (4 bits = 1 nibble), por tanto dos dígitos hexadecimales representaran a ocho dígitos binarios (8 bits = 1 byte) que como es sabido es la unidad básica de almacenamiento de información. Por ejemplo:

2A703 16 es un número en base 16 y representa el número:

Ing. Mecatronica González Rico Brenda

Page 14: Electronica Digital- Temario Completo

Electrónica Digital

{$ 2 * 16^4 + 10 * 16^3 + 7 * 8^2 + 0 * 16^1 + 3 * 16^0 = 2 * 65536 + 10 * 1096 + 7 * 256 + 0 * 16 + 3 * 1 = 16384 + 10960 +

1792 + 0 + 3 = 29139 $}

Tabla de la suma en base 16:

+ 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 0 1 2 3 4 5 6 7 8 9 A B C D E F

1 1 2 3 4 5 6 7 8 9 A B C D E F 10

2 2 3 4 5 6 7 8 9 A B C D E F 10 11

3 3 4 5 6 7 8 9 A B C D E F 10 11 12

4 4 5 6 7 8 9 A B C D E F 10 11 12 13

5 5 6 7 8 9 A B C D E F 10 11 12 13 14

6 6 7 8 9 A B C D E F 10 11 12 13 14 15

7 7 8 9 A B C D E F 10 11 12 13 14 15 16

8 8 9 A B C D E F 10 11 12 13 14 15 16 17

9 9 A B C D E F 10 11 12 13 14 15 16 17 18

A A B C D E F 10 11 12 13 14 15 16 17 18 19

B B C D E F 10 11 12 13 14 15 16 17 18 19 1A

C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B

D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C

E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D

F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

Tabla de la multiplicación en base 16:

* 2 3 4 5 6 7 8 9 A B C D E F 10

2 4 6 8 A C E 10 12 14 16 181A

1C 1E 20

3 6 9 C F 12 15 18 1B 1E 21 24 272A

2D

30

4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C 40

5 A F 14 19 1E 23 282D

32 37 3C 41 46 4B 50

6 C 12 18 1E 242A

30 36 3C 42 48 4E 545A

60

7 E 15 1 23 2 31 38 3F 46 4 54 5B 62 69 70

Ing. Mecatronica González Rico Brenda

Page 15: Electronica Digital- Temario Completo

Electrónica Digital

C A D

8 10 18 20 28 30 38 40 48 50 58 60 68 70 78 80

9 12 1B 242D

36 3F 48 515A

63 6C 75 7E 87 90

A 14 1E 28 32 3C 46 505A

64 6E 78 82 8C 96 A0

B 16 212C

37 424D

58 63 6E 79 84 8F9A

A5

B0

C 18 24 30 3C 48 54 60 6C 78 84 90 9CA8

B4 C0

D1A

27 34 41 4E 5B 68 75 82 8F 9CA9

B6 C3 D0

E 1C2A

38 46 54 62 70 7E 8C9A

A8

B6 C4D2

E0

F 1E2D

3C

4B5A

69 78 87 96A5

B4 C3D2

E1 F0

10 20 30 40 50 60 70 80 90A0

B0 C0D0

E0 F0100

Tabla de los primeros 16 números

Decimal

Binario

Octal

Hexadecimal

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

Ing. Mecatronica González Rico Brenda

Page 16: Electronica Digital- Temario Completo

Electrónica Digital

Representación

Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de estar en dos estados mutuamente exclusivos. Las secuencias siguientes de símbolos podrían ser interpretadas todas como el mismo valor binario numérico:

1 0 1 0 0 1 1 0 1 0| - | - - | | - | -

x o x o o x x o x oy n y n n y y n y n

El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En un ordenador, los valores numéricos pueden ser representados por dos voltajes diferentes y también se pueden usar polaridades magnéticas sobre un disco magnético. Un “positivo”, “sí”, o “sobre el estado” no es necesariamente el equivalente al valor numérico de uno; esto depende de la arquitectura usada.

De acuerdo con la representación acostumbrada de cifras que usan números árabes, los números binarios comúnmente son escritos usando los símbolos 0 y 1. Cuando son escritos, los números binarios son a menudo subindicados, prefijados o sufijados para indicar su base, o la raíz. Las notaciones siguientes son equivalentes:

100101 binario (declaración explícita de formato) 100101b (un sufijo que indica formato binario) 100101B (un sufijo que indica formato binario) bin 100101 (un prefijo que indica formato binario) 1001012 (un subíndice que indica base 2 (binaria) notación) %100101 (un prefijo que indica formato binario)

Ing. Mecatronica González Rico Brenda

Page 17: Electronica Digital- Temario Completo

Electrónica Digital

0b100101 (un prefijo que indica formato binario, común en lenguajes de programación)

Fracciones en Hexadecimal.-

Fracción

Octal

Resultado en octal

1/2 1/2 0,4

1/3 1/30,25252525 periódico

1/4 1/4 0,2

1/5 1/50,14631463 periódico

1/6 1/60,125252525 periódico

1/7 1/70,111111 periódico

1/81/10

0,1

1/91/11

0,07070707 periódico

1/101/12

0,063146314 periódico

Sistema Hexadecimal.-

Ing. Mecatronica González Rico Brenda

Page 18: Electronica Digital- Temario Completo

Electrónica Digital

El sistema hexadecimal, a veces abreviado como hex, es el sistema de numeración posicional de base 16 —empleando por

tanto 16 símbolos—. Su uso actual está muy vinculado a la informática y ciencias de la computación, pues los computadores suelen utilizar el byte u octeto como unidad básica de memoria

Tabla del Sistema Decimal, Binario, Octal y Hexadecimal.-

Decimal

Binario

Octal

Hexadecimal

0 0 0 01 1 1 12 10 2 23 11 3 34 100 4 45 101 5 56 110 6 67 111 7 7

8100

010 8

9100

111 9

10101

012 A

11101

113 B

12110

014 C

13110

115 D

14111

016 E

15111

117 F

Ing. Mecatronica González Rico Brenda

Page 19: Electronica Digital- Temario Completo

Electrónica Digital

1.3.2 Conversión entre sistemas numéricos.

Conversión de decimal a cualquier otro sistema de numeración:

Para convertir de decimal a cualquier otro sistema se hará por división sucesiva, es decir que si queremos convertir a binario un numero de decimal, bastara dividir entre dos la cantidad y el resultado volverlo a dividir hasta que el resultado sea menor a 2, siempre con números enteros, de tal manera si él numero decimal es non o impar sobrara siempre uno y si es par sobrara cero y estos residuos se pondrán en orden de la ultima división a la primera y se da dicho numero binario.

Para convertir de cualquier sistema de numeración a decimal se hará por el peso de los dígitos, convirtiéndose estos a decimal y sumando el resultado.

DECIMAL BINARIO BASE 4 OCTAL HEXADECIMAL0 0 0 0 01 1 1 1 12 10 2 2 23 11 3 3 34 100 10 4 45 101 11 5 56 110 12 6 67 111 13 7 78 1000 20 10 89 1001 21 11 9

10 1010 22 12 A11 1011 23 13 B12 1100 30 14 C13 1101 31 15 D14 1110 32 16 E

Ing. Mecatronica González Rico Brenda

Page 20: Electronica Digital- Temario Completo

Electrónica Digital

15 1111 33 17 F16 10000 40 20 10

20 121 222 423 824 1625 3226 6427 12828 25629 512

210 1024211 2048212 4096213 8192214 16, 384215 32, 768216 65, 573217 131, 072218 262, 144219 524, 288220 1' 048, 576

80 181 882 6483 51284 4, 09685 32, 76886 262, 144

Ing. Mecatronica González Rico Brenda

Page 21: Electronica Digital- Temario Completo

Electrónica Digital

87 2' 097, 152160 1161 16162 256163 4, 096164 65, 536

1651' 048, 576

En matemáticas, varios sistemas de notación que se han usado o se usan para representar cantidades abstractas denominadas números. Un sistema numérico está definido por la base que utiliza. La base de un sistema numérico es el número de símbolos diferentes o guarismos, necesarios para representar un número cualquiera de los infinitos posibles en el sistema.

A lo largo de la historia se han utilizado multitud de sistemas numéricos diferentes, pero existen 4 de sistemas numéricos de los más utilizados en la actualidad y son:

Binario o Base 2 (2 Dígitos, 0 - 1)

Octal o Base 8 (8 Dígitos, 0 - 7)

Decimal o Base 10 (10 Dígitos, 0 - 9)

Hexadecimal o Base 16 (16 Dígitos, 0 - f)

Valores posiciónales

La posición de una cifra indica el valor de dicha cifra en función de los valores exponenciales de la base. En el sistema decimal, la cantidad representada por uno de los diez dígitos -0, 1, 2, 3, 4, 5, 6, 7, 8 y 9- depende de la posición del número completo.

Ing. Mecatronica González Rico Brenda

Page 22: Electronica Digital- Temario Completo

Electrónica Digital

Para convertir un número n dado en base 10 a un número en base b, se divide (en el sistema decimal) n por b, el cociente se

divide de nuevo por b, y así sucesivamente hasta obtener un cociente cero.

Sistema Numérico Binario o Base 2

El sistema de numeración más simple que usa la notación posicional es el sistema de numeración binario. Este sistema, como su nombre lo indica, usa solamente dos dígitos (0,1).

Números decimales del 0 al 10 y sus equivalentes en binario

Decimal Binario

0 0

1 1

2 10

3 11

4 100

5 101

6 110

7 111

8 1000

9 1001

10 1010

Sistema Numérico Octal o Base 8

El sistema de numeración octal es también muy usado en la computación por tener una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. El sistema octal usa 8 dígitos (0,1,2,3,4,5,6,7) y tienen el mismo valor que en el sistema de numeración decimal. Como el sistema de numeración octal usa la notación posicional entonces para el número 3452.32q tenemos:

Ing. Mecatronica González Rico Brenda

Page 23: Electronica Digital- Temario Completo

Electrónica Digital

2*(80) + 5*(81) + 4*(82) + 3*(83) + 3*(8-1) + 2*(8-2) = 2 + 40 + 4*64 + 64 + 3*512 + 3*0.125 + 2*0.015625 = 2 + 40 + 256 + 1536

+ 0.375 + 0.03125 = 1834 + 40625dentonces, 3452.32q = 1834.40625d

Los números octales pueden construirse a partir de números binarios agrupando cada tres dígitos consecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor decimal.

Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 001 010. De modo que 74 en octal es 112.

Es posible que la numeración octal se usara en el pasado en lugar del decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares. Esto explicaría por qué en latín nueve (novem) se parece tanto a nuevo (novus). Podría tener el significado de número nuevo.

Sistema Numérico Decimal o Base 10

El sistema de numeración decimal es el más usado, tiene como base el número 10, o sea que posee 10 dígitos (o símbolos) diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). El sistema de numeración decimal fue desarrollado por los hindúes, posteriormente lo introducen los árabes en Europa, donde recibe el nombre de sistema de numeración decimal o arábigo. Si se aplica la notación posicional al sistema de numeración decimal entonces el dígito número n tiene el valor: (10n)* A

Este valor es positivo y es mayor o igual que uno si el dígito se localiza a la izquierda del punto decimal y depende del dígito A, en cambio el valor es menor que uno si el dígito se localiza a la derecha del punto decimal. Por ejemplo, el número 3489.125 expresado en la notación posicional es:

Primero 9 * (100) = 9 --------- primero 1*(10-1) = 0.1 segundo 8 * (101) = 80 -------- segundo 2*(10-2) = 0.02

Ing. Mecatronica González Rico Brenda

Page 24: Electronica Digital- Temario Completo

Electrónica Digital

tercero 4 * (102) = 400 -------- tercero 5*(10-3) = 0.005 cuarto 3 * (103) = 3000

Notación Posicional del Sistema

(10-6) = 0.000001 (10-5) = 0.00001 (10-4) = 0.0001 (10-3) = 0.001 (10-2) = 0.01 (10-1) = 0.1

(100) = 1 (101) = 10

(102) = 100 (103) = 1000

(104) = 10000 (105) = 100000

(106) = 10000000

Sistema Numérico Hexadecimal o Base 16

El sistema de numeración hexadecimal, o sea de base 16, (es común abreviar hexadecimal como hex aunque hex significa base seis y no base dieciséis). El sistema hexadecimal es compacto y nos proporciona un mecanismo sencillo de conversión hacia el formato binario, debido a esto, la mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal. Como la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal

Ing. Mecatronica González Rico Brenda

Page 25: Electronica Digital- Temario Completo

Electrónica Digital

representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 123416 es igual a:

1*163 + 2*162 + 3*161 + 4*160

Lo que da como resultado:

4096 + 512 + 48 + 4 = 466010

Cada dígito hexadecimal puede representar uno de dieciséis valores entre 0 y 1510. Como sólo tenemos diez dígitos decimales, necesitamos inventar seis dígitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear nuevos símbolos para estos dígitos, utilizamos las letras A a la F.

Para convertir un número hexadecimal en binario, simplemente sustituya los correspondientes cuatro bits para cada dígito hexadecimal, por ejemplo, para convertir 0ABCDh en un valor binario:

0 A B C D (Hexadecimal)

0000 1010 1011 1100 1101 (Binario)

1.3.3 Operaciones básicas en binario.

1.3.3.1 Números negativos, complemento a 2.

El complemento a dos de un número N que, expresado en el sistema binario está compuesto por n dígitos, se define como:

.

Ing. Mecatronica González Rico Brenda

Page 26: Electronica Digital- Temario Completo

Electrónica Digital

Veamos un ejemplo: tomemos el número que, cuando se expresa en binario es , con 6 dígitos, y calculemos

su complemento a dos:

Cabe señalar que en este ejemplo se ha limitado el número de bits a 6, por lo que no sería posible distinguir entre el -45 y el 19 (el 19 en binario es 10011). En realidad, un número en complemento a dos se expresa con una cantidad arbitraria de unos a la izquierda, de la misma manera que un número binario positivo se expresa con una cantidad arbitraria de ceros. Así, el -45, expresado en complemento a dos usando 8 bits sería 11010011, mientras que el 19 sería 00010011; y expresados en 16 bits serían 1111111111010011 y 0000000000010011 respectivamente. Se presenta la tabla de verdad del complemento a 2 para cuatro dígitos.

El cálculo del complemento a dos es muy sencillo y muy fácil de realizar mediante puertas lógicas, donde reside su utilidad.

Para comenzar los números positivos se quedarán igual en su representación binaria. Los números negativos deberemos invertir el valor de cada una de sus cifras, es decir realizar el complemento a uno, y sumarle 1 al número obtenido. Podemos observar esto en la tabla de ejemplo.

Cabe recordar que debido a la utilización de un bit para representar el signo, el rango de valores será diferente al de una representación binaria habitual; el rango de valores decimales para «n» bits será:

Una forma de hallar el opuesto de un número binario positivo en complemento a dos es comenzar por la derecha (el dígito menos significativo), copiando el número original (de derecha a izquierda) hasta encontrar el primer 1, después de haber copiado el 1, se niegan (complementan) los dígitos restantes (es decir, copia un 0 si aparece un 1, o un 1 si aparece un 0). Este método es mucho más rápido para las personas, pues no utiliza el complemento a uno en su conversión.1

Ing. Mecatronica González Rico Brenda

Page 27: Electronica Digital- Temario Completo

Electrónica Digital

Por ejemplo, el complemento a dos de «0011 11010» es «1100 00110»-

Otra forma es negar todos los dígitos (se halla el complemento a 1) y después sumar un 1 al resultado, viene a ser lo mismo que lo anteriormente explicado.

100001 ---> 011110 --> 011111

1.3.3.2 suma.

Las posibles combinaciones al sumar dos bits son

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10

100110101 + 11010101 —————— 1000001010

Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" se llama arrastre). A continuación se suma el acarreo a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas (exactamente como en decimal).

La suma binaria se puede realizar cómodamente siguiendo las tres reglas descritas: 1º Si el número de unos (en sentido vertical) es par el resultado es 0. 2º Si el número de unos (en sentido vertical) es impar el resultado es 1. 3º Acarreo tantos unos como parejas (completas) de números 1 haya. Por ejemplo: 0 + 0=0, 0+1=1, 1+0=1, 1+1=10 se pone 0 y se acarrea un 1 a la

Ing. Mecatronica González Rico Brenda

Page 28: Electronica Digital- Temario Completo

Electrónica Digital

posición siguiente Hay que sumar 1010 (que en decimal es 10) y 1111 (que en decimal es 15). 10 + 15 = 25

  10110 100100 10.1 +11100 + 10010 +11.01

110010 110110 101.11 

1 + 1 = 10 + 1 =11 + 1 =10

Ejemplo:

Sumar: 30 0 1 1 1 1 0 20 1 0 1 0 0 50 1 1 0 0 1 0

50

1.3.3.3 Resta.

Resta de números binarios

El algoritmo de la resta en binario es el mismo que en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.

Las restas básicas 0-0, 1-0 y 1-1 son evidentes:

Ing. Mecatronica González Rico Brenda

Page 29: Electronica Digital- Temario Completo

Electrónica Digital

0 - 0 = 0 1 - 0 = 1

1 - 1 = 0 0 - 1 = no cabe o se pide prestado al próximo.

La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 - 1 = 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente.

Veamos algunos ejemplos:

Restamos 17 - 10 = 7 Restamos 217 - 171 = 46 10001 11011001 -01010 -10101011 —————— ————————— 00111 00101110

7 46

Restamos 35 - 15 Restamos 50 - 11

100011 0110010 001111 001011 —————— —————— 010100 100111

20 3

1.3.3.4 Multiplicación.

Multiplicación de números binarios

Ing. Mecatronica González Rico Brenda

Page 30: Electronica Digital- Temario Completo

Electrónica Digital

El algoritmo del producto en binario es igual que en números decimales; aunque se lleva cabo con más sencillez, ya que el 0

multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto.

Por ejemplo, multipliquemos 22 por 9 = 198

10110 1001 ————————— 10110 00000 00000 10110 ————————— 11000110

198

Multiplicar: 25 * 5 = 125

11001 00101 11001 00000 11001 00000 00000 001111011

Ing. Mecatronica González Rico Brenda

Page 31: Electronica Digital- Temario Completo

Electrónica Digital

125

1.3.3.5 División.

La división en binario es similar al decimal, la única diferencia es que a la hora de hacer las restas, dentro de la división, estas deben ser realizadas en binario. Por ejemplo, vamos a dividir 100010010 (274) entre 1101 (13)= 20

Capitulo dos Algebra de boole y compuertas

lógicas.

Ing. Mecatronica González Rico Brenda

Page 32: Electronica Digital- Temario Completo

Electrónica Digital

Las álgebras booleanas, estudiadas por primera vez en detalle por George Boole , constituyen un área de las matemáticas que ha pasado a ocupar un lugar prominente con el advenimiento de la computadora digital. Son usadas ampliamente en el diseño de circuitos de distribución y computadoras, y sus aplicaciones van en aumento en muchas otras áreas. En el nivel de lógica digital de una computadora, lo que comúnmente se llama hardware, y que está formado por los componentes electrónicos de la máquina, se trabaja con diferencias de tensión, las cuales generan funciones que son calculadas por los circuitos que forman el nivel. Éstas funciones, en la etapa de diseña del hardware, son interpretadas como funciones de boole.En el presente trabajo se intenta dar una definición de lo que es un álgebra de boole; se tratan las funciones booleanas,haciendo una correlación con las fórmulas proposicionales. Asimismo, se plantean dos formas canónicas de las funciones booleanas, que son útiles para varios propósitos, tales como el de determinar si dos expresiones representan o no la misma función. Pero para otros propósitos son a menudo engorrosas, por tener más operaciones que las necesarias. Particularmente, cuando estamos construyendo los circuitos electrónicos con que implementar funciones booleanas, el problema de determinar una expresión mínima para una función es a menudo crucial. No resultan de la misma eficiencia en dinero y tiempo, principalmente, dos funciones las cuales calculan lo mismo pero donde una tiene menos variables y lo hace en menor tiempo. Como solución a este problema, se plantea un método de

Ing. Mecatronica González Rico Brenda

Page 33: Electronica Digital- Temario Completo

Electrónica Digital

simplificación, que hace uso de unos diagramas especiales llamados mapas o diagramas de Karnaugh, y el cual tiene la

limitación de poder trabajar adecuadamente sólo con pocas variables.Se realizan estas presentaciones con el fin de demostrar la afinidad existente entre el álgebra de boole y la lógica proposicional, y con el objeto de cimentar el procedimiento de simplificación presentado en la lógica de proposiciones.

2.1 Postulados básicos del algebra booleana.

El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y uno (falso y verdadero). Un operador binario " º " definido en éste juego de valores acepta un par de entradas y produce un solo valor booleano, por ejemplo, el operador booleano AND acepta dos entradas booleanas y produce una sola salida booleana.Para cualquier sistema algebraico existen una serie de postulados iníciales, de aquí se pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra booleana a menudo emplea los siguientes postulados:

Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de valores booleanos se produce un solo resultado booleano.

Conmutativo. Se dice que un operador binario " º " es conmutativo si A º B = B º A para todos los posibles valores de A y B.

Asociativo. Se dice que un operador binario " º " es asociativo si (A º B) º C = A º (B º C) para todos los valores booleanos A, B, y C.

Distributivo. Dos operadores binarios " º " y " % " son distributivos si A º (B % C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C.

Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un operador binario " º " si A º I = A.

Ing. Mecatronica González Rico Brenda

Page 34: Electronica Digital- Temario Completo

Electrónica Digital

Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano " º " si A º I = B, y B es

diferente de A, es decir, B es el valor opuesto de A.

Para nuestros propósitos basaremos el álgebra booleana en el siguiente juego de operadores y valores:- Los dos posibles valores en el sistema booleano son cero y uno, a menudo llamaremos a éstos valores respectivamente como falso y verdadero.- El símbolo · representa la operación lógica AND. Cuando se utilicen nombres de variables de una sola letra se eliminará el símbolo ·, por lo tanto AB representa la operación lógica AND entre las variables A y B, a esto también le llamamos el producto entre A y B.- El símbolo "+" representa la operación lógica OR, decimos que A+B es la operación lógica OR entre A y B, también llamada la suma de A y B.- El complemento lógico, negación ó NOT es un operador unitario, en éste texto utilizaremos el símbolo " ' " para denotar la negación lógica, por ejemplo, A' denota la operación lógica NOT de A.- Si varios operadores diferentes aparecen en una sola expresión booleana, el resultado de la expresión depende de la procedencia de los operadores, la cual es de mayor a menor, paréntesis, operador lógico NOT, operador lógico AND y operador lógico OR. Tanto el operador lógico AND como el OR son asociativos por la izquierda. Si dos operadores con la misma procedencia están adyacentes, entonces se evalúan de izquierda a derecha. El operador lógico NOT es asociativo por la derecha.Utilizaremos además los siguientes postulados:

P1 El álgebra booleana es cerrada bajo las operaciones AND, OR y NOT P2 El elemento de identidad con respecto a · es uno y con respecto a

+ es cero. No existe elemento de identidad para el operador NOT P3 Los operadores · y + son conmutativos. P4 · y + son distributivos uno con respecto al otro, esto es, A· (B+C) =

(A·B)+(A·C) y A+ (B·C) = (A+B) ·(A+C).

Ing. Mecatronica González Rico Brenda

Page 35: Electronica Digital- Temario Completo

Electrónica Digital

P5 Para cada valor A existe un valor A' tal que A·A' = 0 y A+A' = 1. Éste valor es el complemento lógico de A.

P6 · y + son ambos asociativos, esto es, (AB) C = A (BC) y (A+B)+C = A+ (B+C).

2.2 Teoremas fundamentales del algebra booleana.

Es posible probar todos los teoremas del álgebra booleana utilizando éstos postulados, además es buena idea familiarizarse con algunos de los teoremas más importantes de los cuales podemos mencionar los siguientes:

Teorema 1: A + A = A Teorema 2: A · A = A Teorema 3: A + 0 = A Teorema 4: A · 1 = A Teorema 5: A · 0 = 0 Teorema 6: A + 1 = 1 Teorema 7: (A + B)' = A' · B' Teorema 8: (A · B)' = A' + B' Teorema 9: A + A · B = A Teorema 10: A · (A + B) = A Teorema 11: A + A'B = A + B Teorema 12: A' · (A + B') = A'B' Teorema 13: AB + AB' = A Teorema 14: (A' + B') · (A' + B) = A' Teorema 15: A + A' = 1 Teorema 16: A · A' = 0

Los teoremas siete y ocho son conocidos como Teoremas de DeMorgan en honor al matemático que los descubrió.

Ing. Mecatronica González Rico Brenda

Page 36: Electronica Digital- Temario Completo

Electrónica Digital

Características:Un álgebra de Boole es un conjunto en el que destacan las

siguientes características:1- Se han definido dos funciones binarias (que necesitan dos parámetros) que llamaremos aditiva (que representaremos por x+ y) y multiplicativa (que representaremos por xy) y una función monaria (de un solo parámetro) que representaremos por x'.2- Se han definido dos elementos (que designaremos por 0 y 1)Y 3- Tiene las siguientes propiedades:

Conmutativa respecto a la primera función: x + y = y + xConmutativa respecto a la segunda función: xy = yxAsociativa respecto a la primera función: (x + y) + z = x + (y +z)Asociativa respecto a la segunda función: (xy)z = x(yz)Distributiva respecto a la primera función: (x +y)z = xz + yz Distributiva respecto a la segunda función: (xy) + z = (x + z)( y + z)Identidad respecto a la primera función: x + 0 = xIdentidad respecto a la segunda función: x1 = xComplemento respecto a la primera función: x + x' = 1Complemento respecto a la segunda función: xx' = 0

Propiedades Del Álgebra De Boole

Idempotente respecto a la primera función: x + x = xIdempotente respecto a la segunda función: xx = xMaximalidad del 1: x + 1 = 1Minimalidad del 0: x0 = 0Involución: x'' = xInmersión respecto a la primera función: x + (xy) = xInmersión respecto a la segunda función: x(x + y) = xLey de Morgan respecto a la primera función: (x + y)' = x'y'Ley de Morgan respecto a la segunda función: (xy)' = x' + y'

Ing. Mecatronica González Rico Brenda

Page 37: Electronica Digital- Temario Completo

Electrónica Digital

Función BooleanaUna función booleana es una de A x A x A x....A en A, siendo A un

conjunto cuyos elementos son 0 y 1 y tiene estructura de álgebra de Boole.Supongamos que cuatro amigos deciden ir al cine si lo quiere la mayoría. Cada uno puede votar sí o no. Representemos el voto de cada uno por xi. La función devolverá sí (1) cuando el número de votos afirmativos sea 3 y en caso contrario devolverá 0.Si x1 vota 1, x2 vota 0, x3 vota 0 y x4 vota 1 la función booleana devolverá 0.Producto mínimo (es el número posible de casos) es un producto en el que aparecen todas las variables o sus negaciones.

El número posible de casos es 2n. Siguiendo con el ejemplo anterior. Asignamos las letras A, B, C y D a los amigos. Los posibles casos son:

Votos ResultadoABCD1111 11110 11101 11100 01011 11010 01001 01000 00111 10110 00101 00100 00011 00010 0

Ing. Mecatronica González Rico Brenda

Page 38: Electronica Digital- Temario Completo

Electrónica Digital

0001 00000 0

Las funciones booleanas se pueden representar como la suma de productos mínimos (minterms) iguales a 1.

En nuestro ejemplo la función booleana será:f(A,B,C,D) = ABCD + ABCD' + ABC'D + AB'CD + A'BCD

Diagramas de KarnaughLos diagramas de Karnaugh se utilizan para simplificar las funciones booleanas.Se construye una tabla con las variables y sus valores posibles y se agrupan los 1 adyacentes, siempre que el número de 1 sea potencia de 2. En esta página tienes un programa para minimización de funciones booleanas mediante mapas de Karnaugh

2.3 funciones booleanas AND, OR Y NOT.

La relación que existe entre la lógica booleana y los sistemas de cómputo es fuerte, de hecho se da una relación uno a uno entre las funciones booleanas y los circuitos electrónicos de compuertas digitales. Para cada función booleana es posible diseñar un circuito electrónico y viceversa, como las funciones booleanas solo requieren de los operadores AND, OR y NOT podemos construir nuestros circuitos utilizando exclusivamente éstos operadores utilizando las compuertas lógicas homónimasUn hecho interesante es que es posible implementar cualquier circuito electrónico utilizando una sola compuerta, ésta es la compuerta NANDPara probar que podemos construir cualquier función booleana utilizando sólo compuertas NAND, necesitamos demostrar cómo construir un inversor (NOT), una compuerta AND y una compuerta OR a partir de una compuerta NAND, ya que como se dijo, es posible implementar cualquier función booleana utilizando sólo los operadores booleanos AND, OR y NOT. Para construir un inversor simplemente conectamos juntas las dos entradas de

Ing. Mecatronica González Rico Brenda

Page 39: Electronica Digital- Temario Completo

Electrónica Digital

una compuerta NAND. Una vez que tenemos un inversor, construir una compuerta AND es fácil, sólo invertimos la salida de

una compuerta NAND, después de todo, NOT ( NOT (A AND B)) es equivalente a A AND B. Por supuesto, se requieren dos compuertas NAND para construir una sola compuerta AND, nadie ha dicho que los circuitos implementados sólo utilizando compuertas NAND sean lo óptimo, solo se ha dicho que es posible hacerlo. La otra compuerta que necesitamos sintetizar es la compuerta lógica OR, esto es sencillo si utilizamos los teoremas de DeMorgan, que en síntesis se logra en tres pasos, primero se reemplazan todos los "·" por "+" después se invierte cada literal y por último se niega la totalidad de la expresión:

A OR BA AND B.......................Primer paso para aplicar el teorema de DeMorganA' AND B'.....................Segundo paso para aplicar el teorema de DeMorgan(A' AND B')'..................Tercer paso para aplicar el teorema de DeMorgan(A' AND B')' = A' NAND B'.....Definición de OR utilizando NAND

Si se tiene la necesidad de construir diferentes compuertas de la manera descrita, bien hay dos buenas razones, la primera es que las compuertas NAND son las más económicas y en segundo lugar es preferible construir circuitos complejos utilizando los mismos bloques básicos. Observe que es posible construir cualquier circuito lógico utilizando sólo compuertas de tipo NOR (NOR = NOT(A OR B)). La correspondencia entre la lógica NAND y la NOR es ortogonal entre la correspondencia de sus formas canónicas. Mientras que la lógica NOR es útil en muchos circuitos, la mayoría de los diseñadores utilizan lógica NAND.

2.3.1 Representación de los circuitos lógicos básicos.

PUERTA NOT O INVERSORA

Se trata de una operación que solo maneja una variable de entrada y otra de salida. La salida toma el estado opuesto o inverso del que tiene la entrada.

Ing. Mecatronica González Rico Brenda

Page 40: Electronica Digital- Temario Completo

Electrónica Digital

PUERTA OR O SUMADORA

Cuando distintas variables lógicas se combinan mediante la función OR, el resultado toma el estado alto, verdadero o 1 si alguna de ellas tiene dicho estado. La ecuación que representa la función OR de dos variables de entrada es la siguiente:

X = A + B

PUERTA AND O MULTIPLICADORA

Cuando varias variables lógicas, de tipo binario, se combinan mediante la operación lógica AND, producen una variable de salida, que solo toma el nivel lógico 1, estado alto o verdadero, si todas ellas tienen dicho nivel o estado. La

Ing. Mecatronica González Rico Brenda

Page 41: Electronica Digital- Temario Completo

Electrónica Digital

ecuación lógica de la función AND para dos variables de entrada es la siguiente:

PUERTA NAND O MULTIPLICADORA INVERSORA

La puerta NAND produce la función inversa de la AND, o sea, la negación del producto lógico de las variables de entrada. Actúa como una puerta AND seguida de una NOT.

PUERTA OR EXCLUSIVA (OREX)

La salida de esta compuerta es 1, estado alto o verdadero si cada entrada es 1 pero excluye la combinación cuando las dos entradas son 1. La función OR

Ing. Mecatronica González Rico Brenda

Page 42: Electronica Digital- Temario Completo

Electrónica Digital

exclusiva tiene su propio símbolo gráfico o puede expresarse en términos de operaciones complementarias AND, OR.

2.3.2 Tablas de verdad.

La tabla de verdad es un instrumento utilizado para la simplificación de circuitos digitales a través de su ecuación booleana.

Las tablas de verdad pueden tener muchas columnas, pero todas las tablas funcionan de igual forma.

Hay siempre una columna de salida (última columna a la derecha) que representa el resultado de todas las posibles combinaciones de las entradas.

El número total de columnas en una tabla de verdad es la suma de las entradas que hay + 1 (la columna de la salida).

El número de filas de la tabla de verdad es la cantidad de combinaciones que se pueden lograr con las entradas y es igual a 2n, donde n es el número de columnas de la tabla de verdad (sin tomar en cuenta la columna de salida)

Ing. Mecatronica González Rico Brenda

Page 43: Electronica Digital- Temario Completo

Electrónica Digital

Ejemplo: en la siguiente tabla de verdad hay 3 columnas de entrada, entonces habrán: 23 = 8 combinaciones (8 filas)

Un circuito con 3 interruptores de entrada (con estados binarios "0" o "1"), tendrá 8 posibles combinaciones. Siendo el resultado (la columna salida) determinado por el estado de los interruptores de entrada.

2.3.3. Formas canonícas y estándar.

FORMA CANONICA: Esta es útil para el manejo del tema que se refiere al problema dual de cualquier problema de programación lineal. La forma canónica aceptable y reconocida en la mayoría de los textos debe cumplir con los siguientes requisitos:

• Función objetivo maximizar.

• Restricciones del tipo “.

• Condiciones de negatividad para variables.

Otra forma legítima para considerar como canónica es cumpliendo con los siguientes requisitos:

• Función objetivo de minimizar.

• Restricciones del tipo “.

Ing. Mecatronica González Rico Brenda

Page 44: Electronica Digital- Temario Completo

Electrónica Digital

• Condiciones de no negatividad para variables.

FORMA ESTANDAR: El modelo de programación lineal para resolverse, necesita arreglarse para igualdades, lo cual se consigue utilizando tanto variables de holgura como variables superfluas. Lo anterior da lugar a la presentación del modelo cumpliendo con los siguientes requisitos:

• Función objetivo para Max. o bien Min.

• Restricciones del tipo =.

• Lado derecho de restricciones no negativo.

• Condiciones de no negativo para variables.

3 simplificación de funciones booleanas.

Ing. Mecatronica González Rico Brenda

Page 45: Electronica Digital- Temario Completo

Electrónica Digital

Capitulo tres

Simplificación de funciones booleanas

Ing. Mecatronica González Rico Brenda

Page 46: Electronica Digital- Temario Completo

Electrónica Digital

3.1 Mapas de Karnaugh

Los Mapas de Karnaugh son una herramienta muy utilizada para la simplificación de circuitos lógicos.

Cuando se tiene una función lógica con su tabla de verdad y se desea implementar esa función de la manera más económica posible se utiliza este método.

Ejemplo: Se tiene la siguiente tabla de verdad para tres variables.

Se desarrolla la función lógica basada en ella. (Primera forma canónica). Ver que en la fórmula se incluyen solamente las variables (A, B, C) cuando F cuando es igual a "1".

Si A en la tabla de verdad es "0" se pone A, si B = "1" se pone B, Si C = "0" se pone C, etc.

F = A B C + A B C + A BC + A B C + A B C + A B C

Una vez obtenida la función lógica, se implementa el mapa de Karnaugh.

Ing. Mecatronica González Rico Brenda

Page 47: Electronica Digital- Temario Completo

Electrónica Digital

Este mapa tiene 8 casillas que corresponden a 2n, donde n = 3 (número de variables (A, B, C))

La primera fila corresponde a A = 0La segunda fila corresponde a A = 1La primera columna corresponde a BC = 00 (B=0 y C=0)La segunda columna corresponde a BC = 01 (B=0 y C=1)La tercera columna corresponde a BC = 11 (B=1 y C=1)La cuarta columna corresponde a BC = 10 (B=1 y C=0)

En el mapa de Karnaugh se han puesto "1" en las casillas que corresponden a los valores de F = "1" en la tabla de verdad.

Tomar en cuenta la numeración de las filas de la tabla de verdad y la numeración de las casillas en el mapa de Karnaugh.

Para proceder con la simplificación, se crean grupos de "1"s que tengan 1, 2, 4, 8, 16, etc. (sólo potencias de 2).

Los "1"s deben estar adyacentes (no en diagonal) y mientras más "1"s tenga el grupo, mejor.

La función mejor simplificada es aquella que tiene el menor número de grupos con el mayor número de "1"s en cada grupo

Ing. Mecatronica González Rico Brenda

Page 48: Electronica Digital- Temario Completo

Electrónica Digital

se ve del gráfico que hay dos grupos cada uno de cuatro "1"s, (se permite compartir casillas entre los grupos).

La nueva expresión de la función booleana simplificada se deduce del mapa de Karnaugh.

- Para el primer grupo (rojo): la simplificación da B (los "1"s de la tercera y cuarta columna) corresponden a B sin negar)- Para el segundo grupo (azul): la simplificación da A (los "1"s están en la fila inferior que corresponde a A sin negar)

Entonces el resultado es F = B + A ó F = A + B

Ejemplo:

Una tabla de verdad como la de la derecha da la siguiente función booleana:

F = ABC + AB C + A B C + A B C

Se ve claramente que la función es un reflejo del contenido de la tabla de verdad cuando F = "1"

Con esta ecuación se crea el mapa de Karnaugh y se escogen los grupos. Se lograron hacer 3 grupos de dos "1"s cada uno.

Se puede ver que no es posible hacer grupos de 3, porque 3 no es potencia de 2. Se observa que hay una casilla que es compartida por los tres grupos.

La función simplificada es:

F = AB + A C + B C

Ing. Mecatronica González Rico Brenda

Page 49: Electronica Digital- Temario Completo

Electrónica Digital

Grupo en azul: AB, grupo marrón: AC, grupo verde:BC.

3.2 Método de Quine M Clausky.

Es un método de simplificación de funciones booleanas desarrollado por Willard Van Orman Quine y Edward J. McCluskey. Es funcionalmente idéntico a la utilización del mapa de Karnaugh, pero su forma tabular lo hace más eficiente para su implementación en lenguajes computacionales, y provee un método determinístico de conseguir la mínima expresión de una función booleana.

El método consta de dos pasos:

1. Encontrar todos los implicantes primos de la función.2. Usar esos implicantes en una tabla de implicantes primos para

encontrar los implicantes primos esenciales, los cuales son necesarios y suficientes para generar la función.

Aunque es más práctico que el mapa de Karnaugh, cuando se trata de trabajar con más de cuatro variables, el tiempo de resolución del algoritmo Quine-McCluskey crece de forma exponencial con el aumento del número de variables. Se puede demostrar que para una función de n variables el límite superior del número de implicantes primos es 3n/n. Si n = 32 habrá más de 6.5 * 1015 implicantes primos. Funciones con un número grande de variables tienen que ser minimizadas con otros métodos heurísticos.

EjemploPaso 1: Encontrando implicantes primos

Minimizando una función arbitraria:

Ing. Mecatronica González Rico Brenda

Page 50: Electronica Digital- Temario Completo

Electrónica Digital

A B C D f

m0 0 0 0 0 0

m1 0 0 0 1 0

m² 0 0 1 0 0

m³ 0 0 1 1 0

m4 0 1 0 0 1

m5 0 1 0 1 0

m6 0 1 1 0 0

m7 0 1 1 1 0

m8 1 0 0 0 1

m9 1 0 0 1 X

m10 1 0 1 0 1

m11 1 0 1 1 1

m12 1 1 0 0 1

m13 1 1 0 1 0

m14 1 1 1 0 X

m15 1 1 1 1 1

Uno fácilmente puede formar la expresión canónica suma de productos de esta tabla, simplemente sumando mini términos (dejando fuera las redundancias) donde la función se evalúa con 1:

Ing. Mecatronica González Rico Brenda

Page 51: Electronica Digital- Temario Completo

Electrónica Digital

Por supuesto, esta expresión no es mínima. Para optimizarla, primero son colocados todos los mini términos evaluados en la

función como 1 en una tabla. Las redundancias también son agregadas a la tabla, estas pueden combinarse con los mini términos:

N. de 1s Minterm Representación binaria

1m4m8

01001000

2m9m10m12

100110101100

3m11m14

10111110

4 m15 1111

En este punto, uno puede empezar a combinar los mini términos entre sí. Si dos mini términos sólo varían en un solo dígito, ese dígito debe reemplazarse por un guion "-" indicando que ese bit no importa. Los términos que ya no pueden combinarse más son marcados con "*". Cuando van de tamaño 2 a 4, tratamos '-' como un valor de bit.

Ejemplo: -110 y -100 o -11- pueden ser combinados, pero no -110 y 011-.

(Consejo: agrupar los '-' primero.)

Número de 1s Minterm Bin | Implicantes de tamaño 2 | Implicantes de tamaño 4--------------------------------|-------------------------|------------------------1 m4 0100 | m(4,12) -100* | m(8,9,10,11) 10--* m8 1000 | m(8,9) 100- | m(8,10,12,14) 1--0*--------------------------------| m(8,10) 10-0 |------------------------

Ing. Mecatronica González Rico Brenda

Page 52: Electronica Digital- Temario Completo

Electrónica Digital

2 m9 1001 | m(8,12) 1-00 | m(10,11,14,15) 1-1-* m10 1010 |-------------------------|

m12 1100 | m(9,11) 10-1 |--------------------------------| m(10,11) 101- |3 m11 1011 | m(10,14) 1-10 | m14 1110 | m(12,14) 11-0 |--------------------------------|-------------------------|4 m15 1111 | m(11,15) 1-11 | | m(14,15) 111- |

Paso 2: tabla de implicantes primos

Los términos marcados con "*" ya no pueden combinarse más, en este punto ya tenemos la tabla de implicantes primos. En el costado van los implicantes primos recientemente generados, y en la parte superior los mini términos utilizados. Los mini términos correspondientes a las redundancias son omitidos en este paso, no se colocan en la parte superior.

4 8 10 11 12 15

X X - 1 0 0

X X X 1 0 - -

X X X 1 - - 0

X X X 1 - 1 -

En esta tabla vemos los mini términos que "cubre" cada implicante primo. Ninguno de los implicantes de esta tabla está incluido dentro de otro (esto queda garantizado en el paso uno), pero si puede estar "cubierto" por dos o

más implicantes. Es el caso de que está cubierto por

y o que está cubierto por

y .

Por este motivo, cada uno de estos dos implicantes sólo son esenciales en ausencia del otro. Un proceso adicional simple para reducir estos implicantes es prueba y error, pero un proceso más sistemático es el método de Petrick.

En el caso que estamos analizando, los dos implicantes primos y

Ing. Mecatronica González Rico Brenda

Page 53: Electronica Digital- Temario Completo

Electrónica Digital

no llegan a incluir todos los mini términos por lo que podemos combinar estos implicantes con cada uno de los

implicantes no esenciales para conseguir dos funciones mínimas:

Las dos son equivalentes a esta función original:

3.3 Implementación de funciones booleanas.

Una de las características de la electrónica digital que más gustan al aficionado es que en ella es fácil iniciarse en el diseño de circuitos. En este artículo vamos a ver qué sencillo es diseñar un circuito digital con tal de que conozcamos la función lógica que debe de verificar. La función lógica estará compuesta por diversas variables lógicas relacionadas entre sí mediante las operaciones del álgebra de Boole. Dichas operaciones son la suma lógica (+), el producto lógico (*) y la negación (así, a negada la representaremos por a'). Sin más preámbulos, veamos cómo se "saca" el circuito digital para que "resuelva" una función lógica, y qué mejor forma de verlo que con un ejemplo concreto:

Idéese un circuito digital tal que implemente la función lógica G=(a*b)'+(c*(a+b'))

Empecemos por ver cuántas variables forman a la función G. En este caso se ve que son tres, a, b y c. Pues ya podemos empezar a dibujar el circuito. Hay

Ing. Mecatronica González Rico Brenda

Page 54: Electronica Digital- Temario Completo

Electrónica Digital

que dibujar tantas líneas verticales como variables tenga la función, poniéndole a cada una de ellas como título el nombre de

una variable:

¿Hay alguna variable aislada que esté negada? Si la respuesta es sí (y en este caso lo es, fíjese en la función, en ella aparece b') habrá que colocar una puerta inversora de tal forma que su entrada esté conectada a la línea de la variable que debe negarse. A la salida de esta puerta tendremos la variable negada:

Como puede apreciarse, la salida de la puerta se ha "extendido" con una línea vertical.El siguiente y último paso es ir realizando con puertas lógicas las operaciones de la función lógica. Así, podríamos hacer ahora el producto negado de la variable a con la variable b. Para ello emplearemos la puerta NAND:

Ing. Mecatronica González Rico Brenda

Page 55: Electronica Digital- Temario Completo

Electrónica Digital

Podríamos seguir con la suma lógica de a con b' (puerta OR):

La puerta OR recién colocada entrega a su salida a+b'. Si multiplicamos esto por c tendríamos c*(a+b') (ver la expresión de la función G):

Por último sólo queda sumar (a*b)' (que está en la salida de la puerta NAND) con c*(a+b') (presente en la salida de la puerta AND) para obtener la función G de salida:

Ing. Mecatronica González Rico Brenda

Page 56: Electronica Digital- Temario Completo

Electrónica Digital

Y ya tenemos nuestro circuito terminado. Este circuito calcula automáticamente el valor de la función G para cualquier combinación de valores de las variables que forman la función. Como se habrá dado cuenta a lo largo de este artículo, para poder llevar a cabo la implementación de la función con puertas lógicas es imprescindible conocer con detalle cada una de las puertas lógicas que existen. Por este motivo, y en el caso de que usted no las conozca, le invitamos a que eche un vistazo al artículo que trata de las puertas lógicas.

Ing. Mecatronica González Rico Brenda

Page 57: Electronica Digital- Temario Completo

Electrónica Digital

Capitulo cuatro

Principios, prácticas y ejemplos de diseño de circuitos combi

nacionales.

Ing. Mecatronica González Rico Brenda

Page 58: Electronica Digital- Temario Completo

Electrónica Digital

* Circuito Combinacional

Un circuito Combinacional es aquel que está formado por funciones lógicas elementales (AND, OR, NAND, NOR, etc.), que tiene un determinado número de entradas y salidas, dependiendo los valores que toman las salidas exclusivamente de los que toman las entradas en ese instante. Ejemplo de este tipo de circuitos son: los codificadores, decodificadores, multiplexores, demultiplexores, comparadores, generadores-detectores de paridad, etc.

* Análisis de circuitos Combinacionales

En este punto se trata el análisis de circuitos combinacionales a nivel de puertas lógicas. La estructura del circuito vendrá dada por su diagrama lógico, cuyos constituyentes serán puertas lógicas cuyo comportamiento lo determina el símbolo que lo representa.

Circuito Combinacional

Un circuito Combinacional se analiza determinando la salida de los elementos lógicos que lo constituyen (normalmente puertas lógicas), partiendo de las variables de entrada y avanzando en el sentido de la señal hacia la salida.

4.1 Procedimiento de diseño

El diseño de circuitos combinacionales trata el problema inverso al análisis: a partir de una especificación inicial, se trata de determinar las ecuaciones booleanas (o tabla de verdad) que satisfaga dicha especificación y, de estas, el esquema del circuito.

Ejemplo: Se desea diseñar un sistema de aviso muy simple para un coche, que debe operar del siguiente modo:

- Si el motor está apagado y las puertas abiertas, sonará una alarma

Ing. Mecatronica González Rico Brenda

Page 59: Electronica Digital- Temario Completo

Electrónica Digital

- Si el motor está encendido y el freno de mano está puesto, también sonará la alarma.

Las situaciones reales, motor encendido o apagado, puertas abiertas o cerradas, etc. pueden tratarse como variables binarias.

Sean f,e,p tres variables binarias que indican

f→ freno de mano. Toma el valor 1 si está puesto y 0 en caso contrario.

p→ Puerta. Toma el valor 1 si alguna de las puertas del coche está abierta y 0 cuando todas las puertas están cerradas.

e→ encendido. Toma el valor 1 si el motor está arrancado, 0 si está apagado.

La salida A puede considerarse también como una señal binaria, A, que toma dos valores posibles: Si A=1, la alarma se activa, si A=0, la alarma no se activa.

f | p | e | A |

0 | 0 | 0 | 0 |

0 | 0 | 1 | 0 |

0 | 1 | 0 | 1 |

0 | 1 | 1 | 0 |

1 | 0 | 0 | 0 |

1 | 0 | 1 | 1 |

1 | 1 | 0 | 1 |

1 | 1 | 1 | 1 |

A partir de la tabla de verdad se pueden obtener la expresión suma de min términos asociada:

Ing. Mecatronica González Rico Brenda

Page 60: Electronica Digital- Temario Completo

Electrónica Digital

A = f’ p e’ + f p’ e + f p e’ +f p

4.2 Principales circuitos combinacionales y sus configuraciones en MSI.

4.2.1 Sumadores.

En electrónica un Sumador es un Circuito Lógico que calcula la operación suma. En los computadores modernos se encuentran en lo que se denomina Unidad Aritmético lógica (ALU). Generalmente realizan operaciones aritméticas en código binario decimal o BCD exceso 3, por regla general los sumadores emplean el sistema binario. En los casos en los que se esté empleando un complemento a dos para representar números negativos el sumador se convertirá en un sumador-sustractor (Adder-subtracter).

* Tipos de Sumadores:

* Half-adder.

* Full-Adder.

* Carry-Look- Ahead.

* Carry-Select.

* Sumadores binarios de 4 bits:

Las operaciones aritméticas se presentan con tal frecuencia que se han desarrollado un número de circuitos integrados especiales para llevarlas a cabo. El 74LS283 es un buen exponente de esta clase de dispositivos, siendo, en esencia, un sumador hexadecimal de 4 bits, Por lo tanto, acepta como entradas dos números de 4 bits de cada uno, A y B, y un bit de acarreo previo, CO. Los 4 bits correspondientes al número A se conectan a las entradas Al, A2, A3 y A4. Las cuatro entradas del dato B se conecta de manera similar. El sumador genera como resultado un número de 4 bits

Ing. Mecatronica González Rico Brenda

Page 61: Electronica Digital- Temario Completo

Electrónica Digital

correspondientes a la suma de los dos datos, A y B, además de un bit de acarreo, C4. En la figura Nº2 se muestra la configuración de

pines del 74LS283.

Figura: Configuración de pines del 74LS283

La operación del circuito integrado puede describirse en forma resumida de la siguiente manera:

* Si la suma de los dos datos de entrada más el acarreo previo arroja un resultado entre O y 15, la suma aparecerá en las salidas de suma y el bit de acarreo de salida, C4 se hace igual a cero.

* Si el resultado de la suma se sitúa entre 16 y 31, el bit de acarreo C4 se pone en 1 y las salidas correspondientes a los bits de suma se hacen iguales al valor del resultado menos 16. Observe que en el sumador de 4 bits, el bit de acarreo resultante posee un peso binario igual a 16.

Ejemplo:

Suponga entradas a un sumador como el siguiente:

A4A3A2A1= 01112 (716)

B4B3B2B1 = 10102 (A16)

CO=1

En este caso, la suma de los tres datos de entrada, 0111 + 1010 + 1 resulta ser igual 18. De acuerdo a las reglas anteriores, se produce un bit de acarreo igual 1 y las salidas adoptan un valor de 2 (esto es, 18 menos 16). Por lo tanto, C4 = 1 y 4 3 2 1=0010.

* Sumadores en cascada

Ing. Mecatronica González Rico Brenda

Page 62: Electronica Digital- Temario Completo

Electrónica Digital

Es posible implementar sumadores para palabras de tamaño superiores a 4 bits si se disponen varios 74LS283 en cascada. Para

el efecto, basta simplemente con conectar la salida C4 del sumador de menor peso a la entrada CO del sumador siguiente. En la figura Nº 3 se muestra como se conectarían dos 74LS283 en cascada para con formar un sumador de 8 bits. Los dos sumadores se muestran recibiendo como datos a dos números binarios de 8 bits cada uno cuyos valores son: A=11001010, B = 11100111, CO=0. El resultado de la operación, mostrado también en la misma figura es 10110001 y C4= 1.+

4.2.2 Restadores

La sustracción de dos números binarios puede llevarse a cabo tomando el complemento del sustraendo y agregándolo al minuendo. Por este método, la operación de sustracción, llega a ser una operación de división que requiere sumadores completos para su implementación en máquina. Es posible implementar la sustracción con circuitos lógicos en una forma directa, como se hace con lápiz y papel.

Por este método cada bit sustraendo del número se sustrae de su bit minuendo correspondiente significativo para formar un bit de diferencia. Si el bit minuendo es menor que el bit sustraendo, se toma un 1 de la siguiente posición significativa. El hecho de que se ha tomado un 1 debe llevarse al siguiente par más alto de bit mediante una señal binaria que llega de fuera (salida) de una etapa dada y va a (entrada) la siguiente etapa más alta. En forma precisa así como hay medios sumadores y sumadores completos, hay medio restadores y restadores completos.

* Medio Restador

Un medio restador es un circuito combinacional que sustrae dos bits y produce su diferencia. También tiene una salida para especificar si se ha tomado un 1. Se designa el bit minuendo por x y el bit sustraendo mediante

Ing. Mecatronica González Rico Brenda

Page 63: Electronica Digital- Temario Completo

Electrónica Digital

y. Para llevar a cabo x - y, tienen que verificarse las magnitudes relativas de x y y. Si x > y se tienen tres posibilidades; 0 - 0 = 0, 1 -

0 = 1 y, 1 - 1 = 0. El resultado se denomina bit de diferencia.

Si x < y. tenemos 0 - 1 y es necesario tomar un 1 de la siguiente etapa más alta.

El 1 que se toma de la siguiente etapa más alta añade 2 al bit minuendo, de la misma forma que en el sistema decimal lo que se toma añade 10 a un dígito minuendo. Con el minuendo igual a 2, la diferencia llega a ser 2 - 1 = 1. El medio restador requiere dos salidas. Una salida genera la diferencia y se denotará por el símbolo D. La segunda salida, denotada B para lo que se toma, genera la señal binaria que informa a la siguiente etapa que se ha tomado un 1. La tabla de verdad para las relaciones de entrada-salida de un medio restador ahora puede derivarse como sigue:

x y | B D

0 0 0 0

0 1 1 1

1 0 0 1

1 1 0 0

La salida que toma B es un 0 en tanto que x > y. Es un l para x = 0 y y = 1. La salida D es el resultado de la operación aritmética 2B + x - y.

Es interesante observar que la lógica para D es exactamente la misma que la lógica para la salida S en el medio sumador.

* Restador completo

Un restador completo es un circuito Combinacional que lleva a cabo una sustracción entre dos bits, tomando en cuenta que un 1 se ha tomado por

Ing. Mecatronica González Rico Brenda

Page 64: Electronica Digital- Temario Completo

Electrónica Digital

una etapa significativa más baja. Este circuito tiene tres entradas y dos salidas. Las tres entradas, x, y y z, denotan al minuendo,

sustraendo y a la toma previa, respectivamente. Las dos salidas, D y B, representan la diferencia y la salida tomada, respectivamente. La tabla de verdad para el circuito es como sigue:

x y z | B D

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 1 0

1 0 0 0 1

1 0 1 0 0

1 1 0 0 0

1 1 1 1 1

Los ocho renglones bajo las variables de entrada designan todas las combinaciones posibles de 1 y 0 que pueden tomar las variables binarias. Los 1 y 0 para las variables de salida están determinados por la sustracción de x - y - z.

Las combinaciones que tienen salida de toma z = 0 se reducen a las mismas cuatro condiciones del medio sumador. Para x = 0,, y = 0 y z = 1, tiene que tomarse un 1 de la siguiente etapa, lo cual hace B = 1 y añade 2 a x. Ya que 2 - 0 - 1 = 1, D = 1. Para x = 0 y yz = 11, necesita tomarse otra vez, haciendo B = 1 y x = 2.

Ya que 2 - 1 - 1 = 0, D = 0. Para x = 1 y yz = 01, se tiene x - y - z = 0, lo cual hace B = 0 y D = 0. Por último, para x = 1, y = l, z = 1, tiene que tomarse 1, haciendo B = 1 y x = 3 y, 3 - 1 - 1 = 1, haciendo D = 1.

Ing. Mecatronica González Rico Brenda

Page 65: Electronica Digital- Temario Completo

Electrónica Digital

4.2.3 Multiplexores/ Demultiplexores.

Los Multiplexores

Vamos a estudiar, en éste capítulo, una serie de circuitos combinatorios relacionados con la transferencia de información; es decir, analizaremos la situación de tener varias señales binarias a una red digital.

Mediante una señal de control deseamos seleccionar una de las entradas y que ésta aparezca a la salida. Haciendo una analogía eléctrica, podemos comparar un multiplexor con un conmutador de varias posiciones, de manera que, situando el selector en una de las posibles entradas, ésta aparecerá en la salida.

Los multiplexores son circuitos combinacionales con varias entradas y una salida de datos, y están dotados de entradas de control capaces de seleccionar una, y sólo una, de las entradas de datos para permitir su transmisión desde la entrada seleccionada a la salida que es única.

La entrada seleccionada viene determinada por la combinación de ceros (0) y unos (1) lógicos en las entradas de control. La cantidad que necesitaremos será igual a la potencia de 2 que resulte de analizar el número de entradas. Así, por ejemplo, a un multiplexor de 8 entradas le corresponderán 3 de control.

Podemos decir que la función de un multiplexor consiste en seleccionar una de entre un número de líneas de entrada y transmitir el dato de un canal de información único. Por lo tanto, es equivalente a un conmutador de varias entradas y una salida.

Dentro de un multiplexor hay que destacar tres tipos de señales: los datos de entrada, las entradas de control y la salida

El diseño de un multiplexor se realiza de la misma manera que cualquier sistema combinatorio desarrollado hasta ahora. Veamos, como ejemplo, el caso de un multiplexor de cuatro entradas y una salida que tendrá, según lo dicho anteriormente, dos entradas de control. Esta tabla de verdad define

Ing. Mecatronica González Rico Brenda

Page 66: Electronica Digital- Temario Completo

Electrónica Digital

claramente cómo, dependiendo de la combinación de las entradas de control, a la salida se transmite una u otra entrada

de las cuatro posibles. Así:

CONTROL| ENTRADAS DATOS | SALIDA |

A B | I0 I1 I2 I3 | S |

0 0 | 0 X X X | 0 |

0 0 | 1 X X X | 1 |

0 1 | X 0 X X | 0 |

0 1 | X 1 X X | 1 |

1 0 | X X 1 X | 1 |

1 0 | X X X 0 | 0 |

1 1 | X X X 0 | 0 |

1 1 | X X X 1 | 1 |

 

Si deducimos de esta tabla de verdad la expresión booleana que nos dará la función salida, tendremos la siguiente ecuación:

S = (/A*/B*I0) + (/A*B*I1) + (A*/B*I2) + (A*B*I3)

Con la que podremos diseñar nuestro circuito lógico.

La estructura de los multiplexores es siempre muy parecida a esta que hemos descrito, aunque a veces se añade otra entrada suplementaria de validación o habilitación, denominada «strobe» o «enable» que, aplicada a las puertas AND, produce la presentación de la salida.

* Tipos de multiplexores

Dentro de la gran variedad de multiplexores que existen en el mercado, hay varios tipos que conviene destacar a causa de su gran utilidad en circuitos digitales, estos son:

Ing. Mecatronica González Rico Brenda

Page 67: Electronica Digital- Temario Completo

Electrónica Digital

Multiplexor de 8 entradas.

Multiplexor de 16 entradas.

Doble multiplexor de 4 entradas.

Dentro del primer tipo podemos hacer la distinción entre tener la entrada de «strobe» o no. La tecnología utilizada para su diseño es TTL, de alta integración, y la potencia que disipan suele ser de unos 150 mW. El tiempo de retardo típico es de unos 25 nanosegundos y tienen un "fan - out" de 10. Normalmente, estos circuitos suelen darnos dos tipos de salida: una afirmada y la otra negada.

En cuanto al segundo tipo de multiplexores, señalaremos que se diferencian de los primeros en el número de entradas, que es el doble, y que no existe la posibilidad de tener dos salidas, sino que sólo podemos optar por la negada y, en consecuencia, a la salida únicamente se tendrán los datos de la entrada complementados. La potencia de disipación para estos multiplexores viene a ser de aproximadamente unos 200 mW. El tiempo de retardo y el "fan - out" son más o menos iguales que en el caso del multiplexor de 8 entradas.

Diagrama básico de un multiplexor de 16 entradas y 2 señales de control

En la ilustración correspondiente podemos ver un multiplexor de 16 entradas, donde, si hacemos 0 el «strobe», en la salida se obtiene el dato negado de la entrada seleccionada mediante las cuatro entradas de control.

En el último de los tipos, dentro del mismo encapsulado del circuito integrado, tenemos dos multiplexores de cuatro entradas de datos: dos de control y una señal de «strobe» cada uno.

Doble multiplexor de cuatro entradas donde las señales de control son comunes

Las entradas de control son comunes para ambos multiplexores, como podemos ver en el circuito de la figura. Al igual que los anteriores, se suelen

Ing. Mecatronica González Rico Brenda

Page 68: Electronica Digital- Temario Completo

Electrónica Digital

realizar con tecnología TTL de alta integración, y tienen una disipación media de unos 180 mW.

Con estos tres tipos de multiplexores trabajaremos habitualmente, incluso en el caso de tener que emplear algún otro de orden superior, es decir, con mayor número de entradas. Para ello, necesitaremos utilizar más de un multiplexor de los descritos anteriormente.

Multiplexor de 32 entradas construido a partir de cuatro multiplexores de 8 entradas y uno de 4 entradas

La forma de conectarlos entre sí depende de la aplicación concreta de que se trate, pero siempre habrá que disponer de más de una etapa de multiplexores, lo cual acarrea un tiempo de retardo. Así, por ejemplo, para seleccionar un dato de entre las 32 entradas de que disponemos, deberemos diseñar un sistema análogo al representado en la figura correspondiente.

El primer multiplexor de 8 entradas sitúa secuencialmente los datos de entrada I0 a I7 en la línea de salida de éste, a medida que el código de las señales de control va variando. Análogamente, el segundo multiplexor, también de 8 entradas, transmitirá los datos I8 a I15 a su línea de salida, dependiendo de las señales de control.

Ing. Mecatronica González Rico Brenda

Page 69: Electronica Digital- Temario Completo

Electrónica Digital

Ing. Mecatronica González Rico Brenda

Page 70: Electronica Digital- Temario Completo

Electrónica Digital

* Los Demultiplexores

Una de las aplicaciones más características de los decodificadores era su transformación en los circuitos digitales denominados demultiplexores.

Un Demultiplexor consta de una entrada de datos, varias señales de control y las líneas de salida

El demultiplexor es un circuito destinado a transmitir una señal binaria a una determinada línea, elegida mediante un seleccionador, de entre las diversas líneas existentes. El dispositivo mecánico equivalente a un demultiplexor será un conmutador rotativo unipolar, de tantas posiciones como líneas queramos seleccionar. El seleccionador determina el ángulo de giro del brazo del conmutador.

La analogía mecánica de un demultiplexor es un selector con una entrada y varias posiciones de salida

Un decodificador se convierte en un Demultiplexor añadiéndole una señal más a su circuitería interna. Si se aplica esta señal, la salida será el complemento de dicha señal, ya que la salida es 0 si todas las entradas son 1, y aparecerá únicamente en la línea seleccionada.

Se puede aplicar a un Demultiplexor una señal de habilitación o "enable", conectándose en cascada el decodificador con el circuito compuesto de una puerta AND y dos puertas NOT cuyas entradas son la señal de habilitación y el dato que queremos transmitir.

Si la entrada de habilitación es 0, la salida será el complemento del dato, es decir, que el dato aparecerá en la línea con el código deseado. Si la entrada de "enable" es 1, la salida será 0, se inhiben los datos en cualquier línea y todas las entradas permanecen en 1.

Veamos, de otra manera, en qué consiste la función de un circuito Demultiplexor. Estos son circuitos que realizan una función contraria a la de los multiplexores, es decir, tienen una única entrada de datos que, mediante

Ing. Mecatronica González Rico Brenda

Page 71: Electronica Digital- Temario Completo

Electrónica Digital

unas entradas de control, se pone en comunicación con una de entre varias salidas de datos. La salida concreta seleccionada

depende de la combinación de valores lógicos presentada en las entradas de control.

De la definición ya se desprende que cualquier decodificador que excite sólo una salida entre varias, y esté provisto de entrada de inhibición o "enable", puede utilizarse como Demultiplexor, ya que las entradas del código se pueden emplear como entradas de control y la señal de inhibición como entrada de datos.

Por el contrario, los decodificadores del tipo BCD a 7 segmentos que dan varias de sus salidas para cada combinación de entrada, no pueden ser utilizados como demultiplexores.

En la práctica, no existen circuitos integrados demultiplexores, sino que se fabrican circuitos decodificadores/demultiplexores, que en realidad son decodificadores con entrada de inhibición ("enable" o "strobe"). En la figura se muestra la construcción mediante puertas lógicas de un decodificador/demultiplexor de 2 a 4 líneas.

A continuación, veremos el funcionamiento de un decodificador como demultiplexor. Suponemos que se ha representado una combinación de entradas, como por ejemplo 1 0 1, es decir, A /B C, y con ellas se selecciona la salida número 5. Cuando se ponga 1 en la entrada de "enable" se tendrá 1 en la salida 5, y cuando se ponga 0 en la señal de "strobe" aparecerá 0 en 5, es decir, que la salida sigue a la entrada de datos y ésta es, precisamente, la función del demultiplexor.

Dentro de los demultiplexores existen varios tipos característicos y utilizados dentro de nuestro PC. Describamos algunos de ellos.

* Demultiplexor de 4 a 16 líneas

Si un valor correspondiente a un número decimal que exceda de nueve se aplica a las entradas de un demultiplexor, la orden queda rechazada, por lo

Ing. Mecatronica González Rico Brenda

Page 72: Electronica Digital- Temario Completo

Electrónica Digital

tanto, las diez salidas quedarán a 1. Si se desea seleccionar una de 16 líneas de salida, el sistema se ampliará añadiendo seis

puertas NAND más y se emplearán los 16 códigos posibles con cuatro bits binarios.

El demultiplexor de 4 a 16 líneas tiene 4 líneas de selección, 16 de salida, una entrada de "enable", una entrada de datos, una toma de tierra y otra para la alimentación, de modo que en total se precisa un encapsulado de 24 patillas.

También existen demultiplexores de 2 a 4 y 3 a 8 líneas encapsulados e integrados individuales.

Un demultiplexor de 1 a 2 líneas se forma con dos puertas NAND de otras tantas entradas. La línea de salida 0 proviene de la NAND, cuyas entradas son la de datos y la línea A; mientras que la salida 1 está conectada a la NAND, cuyas entradas son la de datos y la señal A. Esta última entrada se denomina de control, ya que si A es 0, en la línea 0 aparecerá el complemento del dato.

* Demultiplexores de gran número de líneas

Si el número de salidas excede de 16 se emplean demultiplexores de 16, 8, 4 ó 2 líneas, dispuestos formando una cascada para conseguir el número de salidas deseado.

Para construir un demultiplexor superior a 16 líneas, es necesario combinar los distintos tipos de multiplexor de 2, 4, 8 ó 16 líneas. Este es el caso del multiplexor de 32 líneas

Por ejemplo, para un demultiplexor de 32 líneas podemos emplear uno de cuatro líneas del que se ramifican cuatro demultiplexores de 8 líneas, como se indica en la figura correspondiente. Observemos que el número total de salidas es el producto del número de líneas de los cuatro multiplexores por el número de ellos, es decir, 4 * 8 = 32. Las líneas 0 a 7 se decodifican en el primer demultiplexor, mientras que el segundo decodifica las ocho siguientes, y así sucesivamente.

Ing. Mecatronica González Rico Brenda

Page 73: Electronica Digital- Temario Completo

Electrónica Digital

Para el valor de las señales de control del demultiplexor de cuatro líneas igual a 01, las líneas 8 a 15 se decodifican

secuencialmente a medida que las señales de control A B C pasan desde 0 0 0 hasta 1 1 1. Por ejemplo, la línea 12 se decodificará con la selección de todas las señales de control de los demultiplexores de cuatro y ocho líneas, con el siguiente resultado 0 1 1 0 0, que no es más que la representación binaria del número decimal 12.

Puesto que en un encapsulado hay dos demultiplexores de 2 a 4 líneas, para el sistema representado se necesitará el equivalente a 4,5 encapsulados. Este mismo sistema se puede lograr con un demultiplexor de 8 líneas y ocho de 4 líneas o con uno de 2 líneas y dos de 16. El diseño más apropiado viene determinado por el coste total.

4.2.4 Decodificadores

* Codificadores y Decodificadores

En un sentido general, se puede decir que un codificador es un circuito hecho para pasar información de un sistema a otro con clave diferente, y en tal caso un decodificador sería el circuito o dispositivo que retorne los datos o información al primer sistema. Debido a que el caso que nos ocupa es el de la lógica digital, y en especial la aritmética binaria, hemos de dar sentido más directo a los términos "codificador" y "decodificador".

Un codificador es un bloque Combinacional hecho para convertir una entrada no binaria en una salida de estricto orden binario. En otras palabras, es un circuito integrado por un conjunto de componentes electrónicos con la habilidad para mostrar en sus terminales de salida un word binario (01101, 1100, etc.), equivalente al número presente en sus entradas, pero escrito en un código diferente. Por ejemplo, un Octal-to-binary encoder es un circuito codificador con ocho entradas (un terminal

Ing. Mecatronica González Rico Brenda

Page 74: Electronica Digital- Temario Completo

Electrónica Digital

para cada dígito Octal, o de base 8) y tres salidas (un terminal para cada bit binario).

Los codificadores pueden, también, proporcionar otras operaciones de conversión, tal como ocurre en las calculadoras de bolsillo con el teclado: El Keyboard (teclas, llaves) encoder convierte la posición de cada tecla (No. 9, No. 3, No. 5, + , %, etc.) en su correspondiente word asignado previamente. Un ejemplo de lo anterior es el teclado codificador en ASCII (American Standard Code for Información Interchange), que genera el word de 7 bits 0100101 cuando es presionada la tecla del porcentaje (%).

El decodificador es un circuito Combinacional diseñado para convertir un número binario (entrada) en word de "unos" y "ceros" (niveles altos y bajos de voltaje) con un orden distinto, para ejecutar un trabajo especial. En otras palabras, el word que sale es diferente al word que entró, aunque tenga la misma cantidad de bits. En Electrónica Digital es a menudo necesario pasar un número binario a otro formato, tal como el requerido para energizar los siete segmentos de los display hechos con diodos emisores de luz, en el orden adecuado para que se ilumine la figura de un individual número decimal.

Los decodificadores son también usados en los microprocesadores para convertir instrucciones binarias en señales de tiempo, para controlar máquinas en procesos industriales o implementar circuitos lógicos avanzados. El decodificador convierte números binarios en sus equivalentes Octales (base 8), decimales (base 10) y Hexadecimales.

* Los Decodificadores

En el tema de los codificadores vimos en qué consistía un codificador, es decir, explicábamos cómo pasar una información utilizada usualmente a una

Ing. Mecatronica González Rico Brenda

Page 75: Electronica Digital- Temario Completo

Electrónica Digital

forma codificada que pueda entender nuestro ordenador. Seguidamente, describiremos el modo de realizar la función

opuesta mediante los llamados decodificadores.

Decodificador básico de dos entradas y cuatro salidascontruido a partir de compuertas NAND

En un sistema digital, como puede ser nuestro PC, se pueden transmitir tanto instrucciones como números mediante niveles binarios o trenes de impulsos. Si, por ejemplo, los cuatro bits de un mensaje se disponen para transmitir órdenes, se pueden lograr 16 instrucciones diferentes, esto es lo que denominábamos, información codificada en sistema binario. Otras veces nos interesa que un conmutador de varias posiciones pueda funcionar de acuerdo con este código, es decir, para cada uno de los dieciséis códigos debe ser excitada una sola línea. A este proceso de identificación de un código particular se le denomina decodificación.

Dicho de otra manera, un decodificador realiza la función opuesta a la de codificar, es decir, convierte un código binario de varias entradas en salidas exclusivas. Podemos distinguir dos tipos básicos de decodificadores: los excitadores y los no excitadores. En el primero de los casos tenemos, por ejemplo, aquellos cuya misión es convertir el código BCD de sus entradas al formato de salida necesario para excitar un visualizador numérico o alfanumérico.

Decodificador de cuatro entradas y siete salidas del tipo no excitado

Para entender el segundo de los tipos veamos algunos ejemplos de ellos. Tomemos un decodificador de dos entradas. Este hará corresponder, a cada una de las cuatro palabras posibles de formar con las dos entradas, una de las salidas. Para la salida Y0, será 1 cuando los bits de entrada A y B son 0.

Ing. Mecatronica González Rico Brenda

Page 76: Electronica Digital- Temario Completo

Electrónica Digital

Luego, la expresión booleana que le corresponde es: Y0 = /A * /B. El mismo razonamiento se puede repetir para el resto de salidas.

Dentro de este mismo tipo de decodificadores tenemos el BCD a decimal. Supongamos que deseamos decodificar una instrucción BCD que represente un número dígito decimal, como puede ser el 5; esta operación se puede llevar a cabo con una puerta AND de cuatro entradas excitadas por los cuatro bits BCD. Por ejemplo, la salida de la puerta AND será 1 si las entradas son 1, 0, 1, 0. Puesto que este código representa el número decimal 5, la salida se señala como línea 5.

Si completamos un decodificador BCD a decimal, éste tendrá cuatro entradas, normalmente denominadas A, B, C y D, y diez líneas de salida. Las entradas complementarias, /A, /B, /C y /D, se pueden obtener por medio de inversores dentro del propio integrado. Habitualmente, para su construcción se emplean puertas NAND y, por lo tanto, una salida es 0 si el código resulta correcto en BCD y será 1 para cualquier otro código no válido. A este sistema digital también se le denomina decodificador 4 a 10, indicando que una entrada de cuatro bits selecciona una de las diez líneas de salida.

En este decodificador, los estados 1010, 1011, 1100, 1110, 1101 y 1111 no están incluidos en el código BCD, y se consideran como datos falsos de entrada produciéndose para todas ellas un 1 en todas las salidas, como se indicó anteriormente. Luego, estamos ante un decodificador BCD a decimal con rechazo de datos falsos de entrada.

También se puede construir un decodificador BCD a decimal que no rechace los datos falsos de entrada. Este decodificador minimiza el número de entradas de las puertas NAND. Así, por ejemplo, si se presentase en las entradas del decodificador la combinación 1111, aparecería señal en las salidas 7 y 9. Es decir, se han tomado los datos de entrada falsos como condiciones opcionales.

Ing. Mecatronica González Rico Brenda

Page 77: Electronica Digital- Temario Completo

Electrónica Digital

En muchas aplicaciones es deseable que la decodificación se realice únicamente durante intervalos de tiempo específicos, de

forma que sean rechazados los datos de entrada que no parezcan durante esos intervalos. Esto se consigue añadiendo una entrada denominada "strobe". Cuando esta señal es 1 se ejecuta la decodificación y cuando es 0 se inhibe la decodificación. Dependiendo de que el decodificador rechace o no los datos falsos, el modo de utilizar la señal de "strobe" debe ser distinto.

Este tipo de circuito lo podemos observar en la figura correspondiente, donde la inhibición para la decodificación se logra mediante una entrada extra en cada puerta NAND del decodificador. Cuando esta entrada es 0 las salidas son todas 1 y no se permite la decodificación.

Dentro del tipo de decodificadores excitadores podemos poner como ejemplo uno de los más utilizados en la electrónica digital: el llamado decodificador excitador BCD - 7 segmentos.

En la actualidad, se utilizan normalmente una serie de dispositivos de representación visual fabricados a base de siete segmentos o barras independientes, mediante las cuales se pueden presentar los dígitos decimales. Estos segmentos pueden ser cristales líquidos, diodos LED, etc. Para excitar a estos dispositivos se han desarrollado toda una gama de decodificadores que reciben la información, procedente de un ordenador o de un aparato de medida, en código BCD y entregan siete salidas preparadas para alimentar los siete segmentos que componen cada dígito decimal. Veamos la estructura de un decodificador excitador BCD-7 segmentos de los más sencillos.

Típica aplicación de un decodificador conectado a un LED

Dado que el código BCD permite hasta 16 combinaciones diferentes y sólo se utilizan 10 para dígitos decimales y 5 para signos especiales, la combinación que queda apaga todos los segmentos. Existe una entrada añadida a las de los cuatro bits del código, que sirve para impedir o permitir la salida del

Ing. Mecatronica González Rico Brenda

Page 78: Electronica Digital- Temario Completo

Electrónica Digital

decodificador una vez representadas las entradas. Por lo tanto, el decodificador será un sistema combinacional de cinco entradas y

siete salidas.

Representamos la tabla de verdad correspondiente solamente a los diez dígitos decimales, teniendo en cuenta que la entrada de inhibición o "strobe" siempre se encuentra a 1:

EntradasABCD | a b c d e f g | SIGNO |

0000 | 1 1 1 1 1 1 0 | 0 |

1000 | 0 1 1 0 0 0 0 | 1 |

0100 | 1 1 0 1 1 0 1 | 2 |

1100 | 1 1 1 1 0 0 1 | 3 |

0010 | 0 1 1 0 0 1 1 | 4 |

1010 | 1 0 1 1 0 1 1 | 5 |

0110 | 0 0 1 1 1 1 1 | 6 |

1110 | 1 1 1 0 0 0 0 | 7 |

0001 | 1 1 1 1 1 1 1 | 8 |

1001 | 1 1 1 0 0 1 1 | 9 |

A partir de esta tabla se pueden obtener todas las expresiones booleanas para la construcción de cada una de las salidas del código de 7 segmentos.

La representación visual de los diez dígitos decimales se suele realizar a través del denominado código de visualización de siete segmentos

La entrada de inhibición se puede aplicar de diversas formas y en distintas etapas, según convenga, para la realización física del circuito integrado.

Los decodificadores suelen ir conectados a las entradas de etapa de presentación visual, como en el caso de la conexión de un cristal líquido

Ing. Mecatronica González Rico Brenda

Page 79: Electronica Digital- Temario Completo

Electrónica Digital

Hemos de tener presente que, según el sistema de visualización utilizado en la información, hará falta un tipo distinto de

decodificador: siete segmentos, matrices de puntos, impresora, etc. Los circuitos combinatorios decodificadores se diseñarán, dependiendo de su complejidad, a partir de una memoria ROM.

4.3 Dispositivos lógicos programables con aplicaciones combinacionales.

El Incremento de popularidad y de utilización de los dispositivos lógicos programables o PLDs está siguiendo un proceso solamente comparable al que hace algunos años acompañó a los microprocesadores. Los PLDs se utilizan en casi todos los nuevos equipos electrónicos de control, industriales, de consumo, de oficina, de comunicaciones, etc.

Desde finales de la década de los sesenta, los equipos electrónicos digitales se han construido utilizando circuitos integrados de función lógica fija, realizados en pequeña o mediana escala de integración. Para las realizaciones muy complejas que exigirían un número elevado de circuitos integrados (CI) de función fija, se utilizan circuitos diseñados a medida que sólo sirven para una aplicación. Son los llamados CI específicos a una aplicación o ASIC (Application Specific Integrated Circuit). Por regla general, los ASICs los producen los fabricantes de CI con las especificaciones proporcionadas por el usuario.

Los equipos realizados con ASICs ocupan menos espacio, son más fiables, consumen menos energía y en grandes series resultan más baratos que los equipos equivalentes realizados con CI de función fija. Por otro lado, estos circuitos son muy difíciles de copiar.

Diferentes modalidades de ASICs son; los Circuitos a Medida (Full Custom), las Matrices de Puertas (Gate Arrays), las Células Normalizadas (Standard

Ing. Mecatronica González Rico Brenda

Page 80: Electronica Digital- Temario Completo

Electrónica Digital

Cell) y los FPICs (Field Programmable Integrated Circuits); estos últimos son circuitos programables por el usuario final

4.3.1 Lenguajes de descripción de hardware (VHDL)

VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language.

Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) usado por ingenieros para describir circuitos digitales. Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero éstos no son prácticos en diseños complejos. Otros lenguajes para el mismo propósito son Verilog y ABEL.

Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field Programmable Gate Array), ASIC y similares.

Formas de describir un circuito

Dentro del VHDL hay varias formas con las que podemos diseñar el mismo circuito y es tarea del diseñador elegir la más apropiada.

Funcional: Describimos la forma en que se comporta el circuito. Esta es la forma que más se parece a los lenguajes de software ya que la descripción es secuencial. Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre sí, y en paralelo con asignaciones concurrentes de señales y con las instancias a otros componentes.

Ing. Mecatronica González Rico Brenda

Page 81: Electronica Digital- Temario Completo

Electrónica Digital

Flujo de datos: describe asignaciones concurrentes (en paralelo) de señales.

Estructural: se describe el circuito con instancias de componentes. Estas instancias forman un diseño de jerarquía superior, al conectar los puertos de estas instancias con las señales internas del circuito, o con puertos del circuito de jerarquía superior.

Mixta: combinación de todas o algunas de las anteriores.

En VHDL también existen formas metódicas para el diseño de máquinas de estados, filtros digitales, bancos de pruebas etc.

Estructura de programa

VHDL fue diseñado en base a los principios de la programación estructurada. La idea es definir la interfaz de un modulo de hardware mientras deja invisible sus detalles internos. La entidad (ENTITY) en VHDL es simplemente la declaración de las entradas y salidas de un modulo mientras que la arquitectura (ARCHITECTURE) es la descripción detallada de la estructura interna del modulo o de su comportamiento. En la siguiente figura se ilustra el concepto anterior. Muchos diseñadores conciben la Entity como una funda de la arquitectura dejando invisible los detalles de lo que hay dentro (architecture). Esto forma la base de un sistema de diseño jerárquico, la arquitectura de la entidad de más nivel (top level) puede usar otras entidades dejando invisible los detalles de la arquitectura de la identidad de menos nivel. En la figura las entidades B, E y F no utilizan a otras entidades. Mientras que la entidad A utiliza a todas las demás. A la pareja entidad - arquitectura se le llama modelo. En un fichero texto VHDL la entidad y la arquitectura se escriben separadas, por ejemplo a continuación se muestra un programa muy simple en VHDL de una compuerta de 2 entradas. Como en otros programas VHDL ignora los espacios y saltos de líneas. Los comentarios se escriben con 2 guiones (--) y termina al final de la línea. En la figura siguiente se muestra la estructura de un modelo en VHDL. SINTAXIS PARA LA DECLARACION DE LA ENTIDAD VHDL define muchos caracteres especiales

Ing. Mecatronica González Rico Brenda

Page 82: Electronica Digital- Temario Completo

Electrónica Digital

llamados “palabras reservadas”. Aunque las palabras reservadas no son sensibles a las mayúsculas o minúsculas, el ejemplo que

sigue las utilizaremos en mayúsculas y negritas para identificarlas.

ENTITY Nombre_entidad IS

PORT (Nombre de señal: modo tipo de señal;

. . .

Nombre de señal: modo tipo de señal);

END nombre entidad ;

Además de darle nombre a la entidad el propósito de la declaración es definir sus señales (o ports) de interfaz externa en su declaración de ports. Además de las palabras reservadas o clavesENTITY, IS, PORT and END, una ENTITY tiene los siguientes elementos.

Nombre_entidad; es un identificador seleccionado por el usuario para seleccionar la entidad.

Nombre de señal; es una lista de uno o más identificadores separados por una coma y seleccionados por el usuario para identificar las señales externas de la interfaz.

MODO es una de las 4 siguientes palabras reservadas para indicar la dirección de la señal:

Modo Descripción

IN En este modo las señales solo entran en la entidad

OUT Las señales salen de la entidad

BUFFEREste modo se utiliza para las señales que además de

salir de la entidad pueden usarse como entradas realimentadas

Ing. Mecatronica González Rico Brenda

Page 83: Electronica Digital- Temario Completo

Electrónica Digital

INOUT

Este modo se utiliza para señales bidireccionales. Se emplea en salida con tres estados. Se puede asignar como sustituto de los tres modos anteriores, pero no se aconseja pues dificulta la comprensión del programa.

Cuando se omite el modo de una señal en la declaración de la entidad se sobreentiende que es de entrada.

Tipo de señal; en VHDL, hay varios tipos de señales predefinidas por el lenguaje, tales como:

TIPO Características

BITEn este tipo las señales solo toman los valores de "1"

y "0"

BooleanaEn este tipo las señales solo toman los valores de

True y False

Std_logicEn este tipo las señales toman 9 valores, entre ellos

tenemos: "1", "0", "Z" (para el 3er estado), "-" (para los opcionales).

IntegerEn este tipo las señales toman valores enteros. Los 1

y los 0 se escriben sin “

Bit_VectorEn este tipo los valores de las señales son una

cadena de unos y ceros. Ejemplo: “1000”

Std_Logic_Vector

En este tipo los valores de las señales son una cadena de los nueve valores permisibles para el tipo std_logic.

CharacterContiene todos los caracteres ISO de 8 bits, donde

los primeros 128 son los caracteres ASCII.

Ing. Mecatronica González Rico Brenda

Page 84: Electronica Digital- Temario Completo

Electrónica Digital

Ejemplo: “1-0Z” -231 + 1 231 - 1 Integer -2 147 483 647 2 147 483 647

Bit Character Severity_level Bit_vector Integer String Boolean Real time

Operadores

Tipo Std_logic

UUninitialize

d

XForcing

Unknown

0 Forcing 0

1 Forcing 1

ZHigh

Impedance

WWeak

Unknown

L Weak 0

H Weak 1

- Don’t care

Este tipo es parte del paquete IEEE 1164

Además el usuario puede definir otros tipos de señales, lo que resulta muy conveniente en algunos casos, como en el diseño de máquinas de estados. El lenguaje VHDL concede máxima importancia a los tipos de señales, no se

Ing. Mecatronica González Rico Brenda

Page 85: Electronica Digital- Temario Completo

Electrónica Digital

admite realizar una asignación mezclando tipos diferentes. Un PORT de una entidad y sus modos y tipos pueden ser vistos por

otros módulos que la utilicen. La operación interna de la entidad está definida en la architecture cuya sintaxis general se muestra a continuación.

Ejemplo, escriba la declaración de la entidad para un circuito digital con dos entradas a y b y una salida F según se muestra en la siguiente figura.

ENTITY ejemplo1 IS

PORT ( a, b : IN bit;

F : OUT bit );

END ejemplo1 ;

Sintaxis para la definición de la arquitectura

La sintaxis para la declaración de la arquitectura es la siguiente (aparecen en mayúscula las palabras reservadas del lenguaje VHDL, pero esto no es necesario):

ARCHITECTURE nombre_arquitectura OF nombre_entidad IS

Declaración de tipos

Declaración de señales.

Declaración de constantes

Declaración de componentes

Definición de funciones

Definición de procedimientos

BEGIN

Enunciado concurrente

. . .

Enunciado concurrente

Ing. Mecatronica González Rico Brenda

Page 86: Electronica Digital- Temario Completo

Electrónica Digital

END nombre_arquitectura;

Las declaraciones y definiciones que preceden al BEGIN, pueden estar presentes todas, algunas o ninguna. Esto depende del tipo de diseño que se esté realizando. No obstante la declaración de señales se utiliza mucho, pues contribuye entre otras cosas a la claridad del diseño.

Nombre_entidad es el nombre de su entidad. Nombre_arquitectura es el nombre dado por el usuario a la arquitectura. Las señales externas de la arquitectura son las declaradas en el port de la entidad, no obstante una arquitectura puede contener señales y otras declaraciones que solo existen localmente en esa arquitectura. Declaraciones comunes a varias entidades pueden ser puestas en un “paquete” separado utilizado por todas las entidades. Las declaraciones en la arquitectura pueden aparecer en diferente orden, pero lo más usual es comenzar por la declaración de las señales. Signal signal-name : signal-type Variables en VHDL son similares a las señales excepto que ellas no tienen significado físico en el circuito. En el ejemplo anterior no se puso declaración de variables, ellas son usadas en funciones, procedimientos y procesos. Todas las señales, variables y constantes en VHDL tienen asociadas un tipo, este especifica el conjunto de valores que el objeto puede tomar. También hay un conjunto de operadores tales como add, and etc, asociados con un tipo dado.

4.3.2 PAL’S

Las PAL (Arreglos Lógicos Programables), que como su nombre lo indica son arreglos matriciales de fusibles y diodos que mediante una cierta lógica pueden llegar a desempeñar cualquier función booleana. Su arquitectura interna consiste en términos AND programables que alimentan términos OR fijos. Todas las entradas a la matriz pueden ser combinadas mediante AND entre si, pero los términos AND específicos se dedican a términos OR específicos. Las PAL tienen una arquitectura muy popular y son probablemente el tipo de dispositivo programable por usuario más

Ing. Mecatronica González Rico Brenda

Page 87: Electronica Digital- Temario Completo

Electrónica Digital

empleado. Si un dispositivo contiene macrocélulas, comúnmente tendrá una arquitectura PAL.

Las PAL son PLD que se han desarrollado para superar ciertas desventajas de la PLA, tales como los largos retardos debidos a los fusibles adicionales que resultan de la utilización de dos matrices programables y la mayor complejidad del circuito. Básicamente la PAL está formada por una matriz AND programable y una matriz OR fija con la lógica de salida, esta estructura permite implementar cualquier suma de productos lógica con un número de variables definido, sabiendo que cualquier función lógica puede expresarse como suma de productos. La PAL es el dispositivo lógico programable más común y se implementa con tecnología bipolar TTL o ECL.

2- Arreglos Lógicos Programables (PAL)

Un dispositivo lógico programable es aquel cuyas características pueden ser modificadas y almacenadas mediante programación. Entre los dispositivos lógicos programables el PAL es el más simple, son los más populares y los más utilizados.

El circuito interno de un PAL consiste de una matriz de conexiones, una matriz de compuertas AND programables y un arreglo de compuertas OR fijo [1]. La matriz de conexiones es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección, mediante la cual se seleccionan cuales entradas del dispositivo serán conectadas al arreglo OR y así obtener una función lógica en forma de suma de productos. Los circuitos PAL son no reprogramables; ya que la síntesis de las ecuaciones lógicas se realiza a través de la quema de fusibles en cada punto de intersección de los pines de entrada con las compuertas.

Ing. Mecatronica González Rico Brenda

Page 88: Electronica Digital- Temario Completo

Electrónica Digital

3. Estructura de la PAL

En la Figura 1 se muestra la estructura interna de una PAL, en esta se observa que cada línea de salida es conectada a tres líneas producto y por consiguiente representa una suma de tres términos producto.

Figura 1. Estructura interna de la PAL.

Debido al arreglo OR, la representación del PAL mostrada en la Figura 2 es más usada que el de la Figura 1.

Ing. Mecatronica González Rico Brenda

Page 89: Electronica Digital- Temario Completo

Electrónica Digital

Figura 2. Estructura interna de la PAL estándar.

4. Funcionamiento de la PAL.

Como se ha mencionado, las PAL están formadas por una matriz de puertas AND programable conectada a una puerta OR fija. Esta estructura permite implementar cualquier suma de productos lógicos con un número de variables definidas y limitadas, entre otras, por el número de entradas y salidas que tenga el dispositivo.

En la Figura 3 se muestra la estructura básica de un PAL para tres variables de entrada y salida sin programar [2]. Cada punto de intersección entre una fila y una columna se denomina celda y es el elemento programable de la PAL. Cada fila se conecta a la entrada de una puerta AND y cada columna a la variable de entrada o su complemento. En función de la presencia o ausencia de las conexiones creadas por programación, se puede aplicar cualquier combinación de variables de entrada o sus complementos a una puerta AND para generar cualquier operación producto que se desee.

Ing. Mecatronica González Rico Brenda

Page 90: Electronica Digital- Temario Completo

Electrónica Digital

Figura 3. PAL con matriz AND sin programar.

La implementación de una función lógica sobre un PAL, se muestra la figura 4, donde las señales que entran a la matriz son las variables de entrada y sus complementos. Cuando se requiere la conexión entre una fila y una columna, el fusible queda intacto, Cuando dicha conexión no se requiere, el fusible se abre en el proceso de programación. La salida de la puerta OR proporciona finalmente la suma de productos. Observe que si alguna entrada de una puerta AND queda sin conectar, esta adquiere el valor del elemento neutro del producto lógico, sin afectar el resultado de dicha puerta.

Figura 4. PAL con matriz AND programada.

5. Símbolo simplificado de la PAL.

Puesto que las PAL son circuitos integrados muy complejos desde el punto de vista interno, los fabricantes han adoptado una notación simplificada para eliminar los diagramas lógicos complicados. En la Figura 5 se muestra la notación.

Ing. Mecatronica González Rico Brenda

Page 91: Electronica Digital- Temario Completo

Electrónica Digital

Figura 5. Símbolo simplificado de una PAL.

Buffer de entrada: Para evitar cargar con la gran cantidad de entradas de puertas AND a las que se pueden conectar una variable o su complemento, se añade un buffer a las variables de entrada de la PAL. Un buffer inversor genera el complemento de una variable de entrada.

Puertas AND: una matriz AND de una puerta PAL típica tiene una gran cantidad de líneas de interconexión y cada puerta AND tiene entradas múltiples. El diagrama lógico de una PAL muestra cada puerta AND que realmente tienen varias entradas, utilizando una sola línea para representar a todas las líneas de entrada.

Conexiones de una PAL: Para obtener un diagrama lo más sencillo posible, los fusibles de una matriz AND programable se indican mediante una X en el punto de intersección si el fusible queda intacto y no se indica nada sí el fusible esta fundido. Las conexiones fijas emplean el punto estándar.

6. Diagrama de bloque de una PAL.

Las salidas de la matriz AND son las entradas de la matriz OR y la salida de cada puerta OR se asocia a una variable lógica de salida. Una PAL típica tiene ocho o más entradas en la matriz AND y hasta ocho bloques lógicos de salida como se muestra en la Figura 6 [3].

Ing. Mecatronica González Rico Brenda

Page 92: Electronica Digital- Temario Completo

Electrónica Digital

Figura 6. Diagrama de bloque de una PAL.

Algunas PAL disponen de pines de entrada/salida (E/S) combinados, que se pueden programar como salida o como entrada. La presencia de estos pines es muy útil cuando se desea, por ejemplo, realizar una realimentación entre variables de salida y entrada como es el caso del diseño de un biestable.

4.3.3 GAL’s.

AL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Los dispositivos GALs, surgen como respuesta a la necesidad de incrementar las interconexiones internas de los dispositivos, teniendo sus salidas conectadas a macroceldas, las cuales pueden ser configuradas a sistemas combinatorios o de lógica con registros. Las estructuras GAL son, básicamente estructuras CMOS PAL, son básicamente la misma idea que la PAL pero en vez de estar formada por una red de conductores ordenados en filas y columnas en las que en cada punto de intersección hay un fusible, el fusible se reemplaza por una celda CMOS eléctricamente borrable (EECMOS). Mediante la programación se activa o desactiva cada celda EECMOS y se

Ing. Mecatronica González Rico Brenda

Page 93: Electronica Digital- Temario Completo

Electrónica Digital

puede aplicar cualquier combinación de variables de entrada, o sus complementos, a una compuerta AND para generar cualquier

operación producto que se desee. Una celda activada conecta su correspondiente intersección de fila y columna, y una celda desactivada desconecta la intersección. Las celdas se pueden borrar y reprogramar eléctricamente.

ESTRUCTURA DEL GALEl GAL básicamente está formado por una matriz AND reprogramable y una matriz OR fija con configuración programable de salidas y/o entradas. (ver figura 3).

Las estructuras GAL son estructuras PAL construidas con tecnología CMOS, y fueron comercializadas por primera vez en 1984 por Lattice Semiconductor. Como se ha mencionado, son programables y borrables eléctricamente. Son reprogramables y más flexibles, a la salida de la matriz AND/OR hay un circuito más complejo con selectores y flip-flops que permiten implementar ecuaciones más complejas. Hay distintas arquitecturas según la versión del fabricante.

La Figura 4 presenta un ejemplo de una GAL (GAL22V10). Donde el circuito a la salida de la matriz se denomina macrocelda y tienen una escala de integración baja/media. El Terminal puede funcionar como entrada o salida según la programación. Los términos productos se dibujan todos sobre una sola línea para simplificar el diagrama.

Un terminal en modo salida puede reflejar la salida Q y Q negada del flip-flop para circuitos secuenciales o la entrada D y negada para circuitos combinacionales. De modo similar puede realimentar el terminal de salida o la salida Q negada del flip flop hacia otros términos. Las GAL se usan para circuitos lógicos sencillos y de complejidad media.

La macrocelda, en el idioma inglés es por sus siglas OLMC (Output Logic MacroCells), contienen puertas OR y lógica programable, circuitos lógicos que

Ing. Mecatronica González Rico Brenda

Page 94: Electronica Digital- Temario Completo

Electrónica Digital

se pueden programar como lógica combinacional o lógica secuencial (flip-flops, contadores y registros).

 

Figura 4, Esquematico de la GAL22V10

CONSTRUCCION DEL GALBasada en la estructura básica mostrada anteriormente, la construcción de los dispositivos GALs se diferencian por sus características de entradas, salidas y configuración interna de las macroceldas empleadas, por ejemplo detallemos el GAL 16V8, donde ciertas localidades en el arreglo de memoria son diseñadas para controlar las conexiones programables a la matriz de los términos de entrada, cada bit en esta matriz representa una conexión programable entre un renglón y una columna. Afortunadamente, no es necesario buscar dentro de las direcciones de cada localidad de bit en la matriz. El software de programación cuida de estos detalles en una manera amigable. El diagrama lógico completo del GAL 16V8 se muestra en la figura 5. Este dispositivo tiene ocho terminales de entrada dedicadas (terminales 2-

Ing. Mecatronica González Rico Brenda

Page 95: Electronica Digital- Temario Completo

Electrónica Digital

9), dos con funciones especiales (1 y 11), y ocho (12-19) que pueden ser usadas como entradas o salidas.

La mayoría de los componentes de las GALs son; la matriz de los términos de entrada, las compuertas AND (las cuales generan los términos producto de entrada), y las macroceldas lógicas de salida (OLMCs, Output Logic Macro Cells). Hay que notar que las 8 terminales de entrada son conectados directamente a una columna de la matriz de términos de entrada, y así cada complemento de entrada es conectado a está. Estas terminales siempre serán especificadas como entradas cuando se programa el dispositivo. Un nivel lógico y su complemento son siempre retroalimentados de cada macro a una columna de la matriz de entrada. La fuente de estos niveles lógicos es determinada por la configuración de cada macro. Con esto, da un total de 32 variables de entrada (columnas en la matriz de entrada) que pueden ser programadas como conexiones a las 64 compuertas AND de entradas múltiples. En la matriz de entrada, cualquier columna puede ser conectada a un renglón de entrada durante el proceso de programación.

La flexibilidad del GAL 16V8 consiste en su macrocelda lógica de salida programable (ver figura 6). Ocho productos diferentes (salidas de las compuertas AND) son aplicadas como entradas a cada una de las ocho macroceldas. Dentro de cada macro los productos son enviados a una compuerta OR al mismo tiempo para generar la suma de productos (SOP, sum of products). Recordando, cualquier función puede ser expresada como una forma de SOP. Dentro de la macro, la salida del SOP puede ser enrutado a la terminal de salida para implementar un circuito combinacional, o como entrada a un flip-flop tipo D para implementar un circuito con salida registrada.

4.3.4 FPGA´s.

Ing. Mecatronica González Rico Brenda

Page 96: Electronica Digital- Temario Completo

Electrónica Digital

Una FPGA (del inglés Field Programmable Gate Array) es un dispositivo semiconductor que contiene bloques de lógica cuya

interconexión y funcionalidad puede ser configurada 'in situ' mediante un lenguaje de descripción especializado. La lógica programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lógica o un sistema combinacional hasta complejos sistemas en un chip.

Las FPGAs se utilizan en aplicaciones similares a los ASICs sin embargo son más lentas, tienen un mayor consumo de potencia y no pueden abarcar sistemas tan complejos como ellos. A pesar de esto, las FPGAs tienen las ventajas de ser reprogramables (lo que añade una enorme flexibilidad al flujo de diseño), sus costes de desarrollo y adquisición son mucho menores para pequeñas cantidades de dispositivos y el tiempo de desarrollo es también menor.

Ciertos fabricantes cuentan con FPGAs que sólo se pueden programar una vez, por lo que sus ventajas e inconvenientes se encuentran a medio camino entre los ASICs y las FPGAs reprogramables.

Históricamente las FPGA surgen como una evolución de los conceptos desarrollados en las PAL y los CPLD.

Una jerarquía de interconexiones programables permite a los bloques lógicos de un FPGA ser interconectados según la necesidad del diseñador del sistema, algo parecido a un breadboard (es una placa de uso genérico reutilizable o semi permanente) programable. Estos bloques lógicos e interconexiones pueden ser programados después del proceso de manufactura por el usuario/diseñador, así que el FPGA puede desempeñar cualquier función lógica necesaria.

Una tendencia reciente ha sido combinar los bloques lógicos e interconexiones de los FPGA con microprocesadores y periféricos relacionados para formar un «Sistema programable en un chip». Ejemplo de tales tecnologías híbridas pueden ser encontradas en los dispositivos Virtex-II

Ing. Mecatronica González Rico Brenda

Page 97: Electronica Digital- Temario Completo

Electrónica Digital

PRO y Virtex-4 de Xilinx, los cuales incluyen uno o más procesadores PowerPC embebidos junto con la lógica del FPGA.

El FPSLIC de Atmel es otro dispositivo similar, el cual usa un procesador AVR en combinación con la arquitectura lógica programable de Atmel. Otra alternativa es hacer uso de núcleos de procesadores implementados haciendo uso de la lógica del FPGA. Esos núcleos incluyen los procesadores MicroBlaze y PicoBlaze de Xlinx, Nios y Nios II de Altera, y los procesadores de código abierto LatticeMicro32 y LatticeMicro8.

Muchos FPGA modernos soportan la reconfiguración parcial del sistema, permitiendo que una parte del diseño sea reprogramada, mientras las demás partes siguen funcionando. Este es el principio de la idea de la «computación reconfigurable», o los «sistemas reconfigurables».

En la FPGA no se realiza programación tal cual como se realiza en otros dispositivos como DSP, CPLD o microcontroladores. La FPGA tiene celdas que se configuran con una función específica ya sea como memoria (FLIP-FLOP tipo D), como multiplexor o con una función lógica tipo AND, OR, XOR. La labor del "programador" es describir el hardware que tendrá la FPGA. Por consiguiente, la tarea del "programador" es definir la función lógica que realizará cada uno de los CLB, seleccionar el modo de trabajo de cada IOB e interconectarlos.

El diseñador cuenta con la ayuda de entornos de desarrollo especializados en el diseño de sistemas a implementarse en un FPGA. Un diseño puede ser capturado ya sea como esquemático, o haciendo uso de un lenguaje de programación especial. Estos lenguajes de programación especiales son conocidos como HDL o Hardware Description Language (lenguajes de descripción dehardware). Los HDLs más utilizados son:

VHDL

Verilog

ABEL

Ing. Mecatronica González Rico Brenda

Page 98: Electronica Digital- Temario Completo

Electrónica Digital

En un intento de reducir la complejidad y el tiempo de desarrollo en fases de prototipaje rápido, y para validar un diseño en HDL,

existen varias propuestas y niveles de abstracción del diseño. Los niveles de abstracción superior son los funcionales y los niveles de abstracción inferior son los de diseño al nivel de componentes hardware básicos. Entre otras, National InstrumentsLabVIEW FPGA propone un acercamiento de programación gráfica de alto nivel.

4.3.5 Aplicaciones

Cualquier circuito de aplicación específica puede ser implementado en un FPGA, siempre y cuando esta disponga de los recursos necesarios. Las aplicaciones donde más comúnmente se utilizan los FPGA incluyen a los DSP (procesamiento digital de señales), radio definido por software, sistemas aeroespaciales y de defensa, prototipos de ASICs, sistemas de imágenes para medicina, sistemas de visión para computadoras, reconocimiento de voz, bioinformática, emulación de hardware de computadora, entre otras. Cabe notar que su uso en otras áreas es cada vez mayor, sobre todo en aquellas aplicaciones que requieren un alto grado de paralelismo.

Ing. Mecatronica González Rico Brenda

Page 99: Electronica Digital- Temario Completo

Electrónica Digital

Capitulo cinco

Principios, prácticas y ejemplos de diseño de circuitos secuenciales.

5.1 Generador de pulsos

El generador de pulsos es ampliamente utilizado en aplicaciones digitales como el corazón del circuito ya que permite que estos funcionen.

Ing. Mecatronica González Rico Brenda

Page 100: Electronica Digital- Temario Completo

Electrónica Digital

También se puede utilizar como modulador de ancho de pulsos para controlar motores, luces, etc.

5.1.1 Concepto

Es un circuito que es capaz de convertir la corriente continua en una corriente que varía de forma periódica en el tiempo; estas oscilaciones pueden ser senoidales, cuadradas, triangulares, etc., dependiendo de la forma que tenga la onda producida. Un oscilador de onda cuadrada suele denominarse multivibrador.

Circuito integrado 555

El circuito integrado 555 es de bajo costo y de grandes prestaciones. Inicialmente fue desarrollado por la firma Signetics. En la actualidad es construido por muchos otros fabricantes. Entre sus aplicaciones principales cabe destacar las de multivibrador astable y monoestable.

Además de ser tan versátil contiene una precisión aceptable para la mayoría de los circuitos que requieren controlar el tiempo, su funcionamiento depende únicamente de los componentes pasivos externos que se le interconectan al microcircuito 555.

5.5.2 Configuraciones.

El 555 puede funcionar con fuentes de alimentación que van de los +5 a +18 V. Se puede considerar que el temporizador 555 es un bloque funcional formado por 2 comparadores, dos transistores, tres resistencias iguales, un multivibrador biestable (flip-flop) y una etapa de salida.

Ing. Mecatronica González Rico Brenda

Page 101: Electronica Digital- Temario Completo

Electrónica Digital

Fig. 1, bloque funcional del 555

El temporizador 555 por si solo produce un rango máximo de aproximadamente de 15 minutos.

Existen dos modos de configuración del 555 el modo monoestable y el estable.

En la fig. 2 a, se puede ver el funcionamiento del 555 en modo astable. En este el voltaje de salida pasa de un estado alto a uno bajo y repite el ciclo. El tiempo durante el cual la salida es alta, o baja, se determina por medio del circuito de resistencia y el capacitor que se conectan externamente al temporizador 555.

Cuando el temporizador funciona como modo monoestable, Fig. 2 b, el voltaje de salida es bajo, hasta que el pulso de disparo negativo se aplica al temporizador; en este momento el voltaje de salida pasa a un nivel alto. El tiempo de durante el que la salida permanece en este nivel alto está determinado por una resistencia y un capacitor conectados al temporizador.

Ing. Mecatronica González Rico Brenda

Page 102: Electronica Digital- Temario Completo

Electrónica Digital

Al termino del intervalo de temporización, el nivel de voltaje se salida vuelve a un nivel bajo.

5.1.3 Señal de reloj.

Señal de reloj

Una señal de reloj (en inglés clock signal, o simplemente clock) es en la electrónica digital una señal binaria, que sirve para coordinar las acciones de varios circuitos, en especial para la sincronización de biestables en sistemas digitales complexos. Según su aplicación, la señal de reloj se puede repetir con una frecuencia predefinida o también ser aperiódica.

En los casos en los que hay una señal de reloj, suele darse por medio de un generador de reloj. La señal oscila entre un estatus alto y bajo, que se caracteriza por un período de oscilación o bien por un valor de cambio, la frecuencia de reloj y el ciclo de trabajo.

Los circuitos que utilizan la señal de reloj para sincronizarse, pueden, según su construcción, basarse en el flanco ascendente o en el descendente de la señal (en el caso de DDR se utilizan ambos flancos).

En hojas técnicas y diagramas a la señal de reloj se le suele describir como CLK.

La mayoría de circuitos integrados complejos requieren una señal de reloj, para sincronizar diferentes partes del chip y equilibrar los retrasos de las puertas. Dado que los chips son cada vez más complejos, es cada vez más difícil proveer de una señal de reloj precisa y homogénea en todos los sitios. Ejemplo ilustrativo de este problema son los microprocesadores, componente central de los ordenadores modernos. Para los transistores se suele indicar la frecuencia, hasta la que es posible amplificar una pequeña señal. Ésta suele ser diez veces mayor a la frecuencia de reloj.

Ing. Mecatronica González Rico Brenda

Page 103: Electronica Digital- Temario Completo

Electrónica Digital

Frecuencia de reloj de los procesadores

Bajo el término frecuencia de reloj se da a entender el ritmo con el que se tramitan los datos en un ordenador, y se especifica en herzios. Dado que la frecuencia de los procesadores modernos alcanza los miles de millones de herzios, las cantidades suelen representarse con la ayuda de prefijos como giga (G) para miles de millones y mega (M) para millones (mientras que para los sistemas embebidos aún es frecuente hablar de kHz). Por ejemplo, una frecuencia de reloj de 1 GHz significa un período de reloj de un nanosegundo. El flujo de datos de un procesador resulta de la frecuencia de reloj y del flujo de datos en su conexión con la memoria principal. Las prestaciones de cálculo (medidas por ejemplo en MIPS o en FLOPS) no sólo depende de la frecuencia de reloj, sino también de la arquitectura de todo el procesador. Incluso aquellos procesadores que utilizan el mismo conjunto de instrucciones, pueden contar con prestaciones muy diferentes a pesar de tener la misma frecuencia de reloj, motivadas, por ejemplo, por la cantidad de IPC (instrucciones por ciclo), por características propias del fabricante (por ejemplo, ampliaciones de SIMD) o por el ya mencionado flujo de la memoria. El flujo de IPC especifica cuantas instrucciones puede ejecutar un procesador gracias a hacerlas en paralelo. Un procesador con un flujo de IPC mayor, consigue por ello más operaciones de cálculo por cada ciclo de reloj y calcula de forma más rápida.

5.2 Flip-Flop.

A diferencia de los circuitos lógicos combinacionales, los circuitos secuenciales tiene memoria; pueden reflejar en su salida el efecto de una señal de entrada que hubo segundos o días antes.

Los circuitos AND, OR y NOT funcionan sin memoria. Por ejemplo, en el caso del circuito AND, una salida lógica 1 es obtenida únicamente durante el

Ing. Mecatronica González Rico Brenda

Page 104: Electronica Digital- Temario Completo

Electrónica Digital

tiempo que todas las entradas estén simultáneamente en lógica 1. Si cada entrada pasa por lógica 1 de una manera secuencial,

no-simultánea, la salida permanecerá aquí la necesidad en lógica 0.

De de un circuito electrónico que se pueda colocar en uno cualquiera de los dos estados lógicos indefinidamente, hasta que sea intencionalmente pasado al estado contrario. Tal circuito es conocido como BIESTABLE, o simplemente FLIP-FLOP. El biestable, en efecto, provee una memoria, ya que puede "recordar" el último estado en el que había sido colocado.

Los circuitos flip-flops desempeñan un papel muy importante en la electrónica digital. Ellos son usados para medir frecuencia, computar el tiempo, dividir trenes de pulsos por una constante fija, generar señales en secuencia, memorización de registros(words), etc. Aunque hay muchas clases de flip-flop, todos ellos tienen por fin primordial almacenar un bit binario, representado por un estado eléctrico alto o bajo. El circuito secuencial más simple es un Flip-Flop tipo RS.

5.2.1 Flip-Flop R-S

Un RS flip-flop llamado algunas veces un "set-reset" flip-flop, es un circuito con dos entradas y dos salidas. Las salidas son complementos entre sí, o sea que, cuando la una esté en alto, la otra estará en bajo. Deriva su nombre del hecho de poder quitar (reset) y poner (set) el estado alto en la salida Q. cuando se aplique un pulso en cada una de las dos entradas: un pulso alto en la entrada S (set) quita, "borra", el pulso alto puesto en anterioridad en Q. En la práctica la polaridad del pulso de manejo dependerá del tipo de compuertas con las cuales se haya implementado el RS flip-flop.

De las tablas de verdad podemos deducir su funcionamiento teniendo en cuenta que, cuando Q tiene lógica 1, el flip-flop se considera "set" (puesto), y cuando Q tiene lógica 0 es porque el flop-flop está "reset" (cleared, borrado).

Ing. Mecatronica González Rico Brenda

Page 105: Electronica Digital- Temario Completo

Electrónica Digital

Las dos salidas Q y no-Q son simétricas(iguales) en lo que a características eléctricas se refiere, por lo que, de acuerdo con las

circunstancias, se podrá tomar una u otra como tal.

CLOCKED RS FLIP-FLOP

El flip-flop RS básico es "asynchronous" (no-sincronizado), responde a las entradas tan pronto como ellas ocurren; muestra cambios en la salida cada que se presentan cambios en Set y Reset. En ciertos procesos se requiere "to-synchronize" (sincronizar) la operación del RS flip-flop, de tal manera que sólo se produzcan cambios en la salida cuando se cumpla cierto requisito anterior. En caso contrario, las acciones se SET y RESET no deben alterar la salida Q. Una manera de sincronizar la operación de un RS Flip-Flop con otros circuitos lógicos, es colocar una compuerta a cada entrada, de tal forma que ellas respondan a S y R solamente cuando sean "habilitadas" (capacitadas) por un lógico 1 (nivel alto) procedente de un CLOCK. (un clock es un circuito secuencial generador de un tren de pulsos, "ceros" y "unos" de manera alternada). La figura 14 muestra un clocked Rs flip-flop(controlado, no sincronizado).

Ing. Mecatronica González Rico Brenda

Page 106: Electronica Digital- Temario Completo

Electrónica Digital

5.2.2 Flip-Flop J-K.

Probablemente es el flip-flop más usado en los circuitos secuenciales lógicos, por su capacidad para CONTAR y DIVIDIR. Entrega un pulso completo de salida por cada dos pulsos de entrada, característica tenida en cuenta por muchos para denominarlo, también, "toggle"(basculante, ondulante, Si - No - Si - No, etc.) flip-flop, o sencillamente un T flip-flop.

Básicamente, el JK flip-flop es un biestable RS flip-flop con compuertas (clocked) dispuestas de tal forma que la acción PONER - QUITAR (set - reset) sea llevada a cabo por una sola línea de entrada.

Ing. Mecatronica González Rico Brenda

Page 107: Electronica Digital- Temario Completo

Electrónica Digital

Básicamente, se puede considerar el JK flip-flop como un circuito biestable con una sola entrada y dos salidas, completamente

entre sí. En la práctica, el circuito integrado dispone de dos entradas auxiliares, marcadas J y K, dispuestas para "condicionar}" el estado que debe tomar la salida a partir del momento que llegue la próxima transición activa del pulso clock.

La figura 16 muestra el circuito lógico y tabla de verdad para este flip-flop.

Se puede observar que, de acuerdo a como se encuentren las entradas J y K, la salida Q puede operar como toggle o quedarse indefinidamente en un determinado estado, sin importar los pulsos en la entrada clock. Cuando se utiliza al flip-flop como contador o divisor, se pueden dejar libres las entradas J y K; en este caso, los pulsos cuya frecuencia se desea modificar, se deben poner en la entrada correspondiente al clock.

RESETABLE JK FLIP - FLOP

Ing. Mecatronica González Rico Brenda

Page 108: Electronica Digital- Temario Completo

Electrónica Digital

Muchas veces se requiere flip-flops tipo JK que puedan ser Set y Reset a estados conocidos, antes de que ellos inicien su uso en

un proceso particular. Por ejemplo, si se dispone de varios flip-flops para efectuar un trabajo en equipo, es prácticamente un requisito poderlos colocar con todas sus salidas en un nivel igual, lógico 1 o lógico =. Para esta función, el integrado tiene dos terminales auxiliares, marcados PRESET (PR) y CLEAR (CLR). El preset coloca en estado lógico 1 en la salida Q cuando es alimentado con un pulso bajo; si esto se hace con la entrada clear, el la salida Q aparece un estado lógico 0. se considera que las entradas preset y clear est´n en un nivel inactivo, cuando se las mantiene en alto(libres, "al aire"). A las entradas "clear" y "preset" se les conoce como "entradas de control prioritario", a las entradas "j" y "k" se les denomina "entradas de control simple".

5.2.3 Flip-Flop T

El flip-flop T se obtiene del tipo JK cuando las entradas J y K se conectan para proporcionar una entrada única designada por T. El flip-flop T, por lo tanto, tiene sólo dos condiciones. Cuando T = 0 ( J = K = 0) una transición de reloj no cambia el estado del flip-flop. Cuando T = 1 (J = K = 1) una transición de reloj complementa el estado del flip-flop.

Su unidad básica se dibuja a continuación que, como actúa por "niveles" de amplitud (0-1) recibe el nombre de Flip-Flop T activado por nivel (FF-T-AN). Cuando no se especifica este detalle es del tipo Flip-Flop T maestro-esclavo (FF-T-ME). Su ecuación y tabla de funcionamiento son

Q = T q

Ing. Mecatronica González Rico Brenda

Page 109: Electronica Digital- Temario Completo

Electrónica Digital

A partir del FF-RS-AN puede diseñarse este FF-T-AN siguiendo los pasos mostrados anteriormente, pero no tiene sentido ya que al ser activado por nivel no tiene utilidad.

5.2.4 Flip-Flop D

El flip-flop D (datos) es una ligera modificación del flip-flop SR. Un flip-flop SR se convierte a un flip-flop D insertando un inversor entre S y R y asignando el símbolo D a la entrada única. La entrada D se muestra durante la ocurrencia de uan transición de reloj de 0 a 1. Si D = 1, la salida del flip-flop va al estado 1, pero si D = 0, la salida del flip-flop va a el estado 0.

Su unidad básica se dibuja a continuación que, como actúa por "niveles" de amplitud (0-1) recibe el nombre de Flip-Flop D activado por nivel (FF-D-AN). Cuando no se especifica este detalle es del tipo Flip-Flop D maestro-esclavo (FF-D-ME) comúnmente denominado también Cerrojo —Latch. Su ecuación y tabla de funcionamiento son

Ing. Mecatronica González Rico Brenda

Page 110: Electronica Digital- Temario Completo

Electrónica Digital

Q = D

A partir del FF-RS-AN puede diseñarse este FF-D-AN siguiendo los pasos mostrados anteriormente, pero no tiene sentido ya que al ser activado por nivel no tiene utilidad.

Flip-flop D

El flip-flop D mostrado en la figura anterior es una modificación del flip-flop RS sincronizado. Las compuertas NAND 1 y 2 forman el flip-flop básico y las compuertas 3 y 4 las modifican para conformar el flip-flop RS sincronizado. La entrada D va directamente a la entrada S y su complemento se aplica a la entrada R a través de la compuerta 5. Mientras que el pulso de reloj de entrada sea un 0, las compuertas 3 y 4 tienen un 1 en sus salidas, independientemente del valor de las otras entradas. Esto esta de acuerdo a los requisitos de que las dos entradas del flip-flop básico NAND permanezcan inicialmente en el nivel de 1. La entrada D se comprueba durante la ocurrencia del pulso de reloj. Si es 1, la salida de la compuerta 3 va a 0, cambiando el flip-flop al estado de puesta a uno (a no ser que ya este en ese

Ing. Mecatronica González Rico Brenda

Page 111: Electronica Digital- Temario Completo

Electrónica Digital

estado). Si en 0, la salida de la compuerta 4 va a 0, cambiando el flip-flop al estado de borrado.

Flip-flop D temporizado

El flip-flop tipo D recibe su nombre por la habilidad de transmitir "datos" a un flip-flop. Es básicamente un flip-flop RS con un inversor en la entrada R. el inversor agregado reduce el numero de entradas de dos a uno. Este tipo de flip-flop se llama algunas veces bloqueador D con compuertas o flip-flop de bloqueo. La entrada CP se le da a menudo la designación variable G (de gate) para indicar que esta entrada esta habilita el flip-flop de bloqueo para hacer posible que los datos entren al mismo.

El símbolo para el flip-flop D sincronizado se muestra en la figura. La tabla característica se lista en la parte (c) y la ecuación característica se lista en la parte (d). la ecuación característica muestra que el siguiente estado del flip-flop es igual a la entrada D y es independiente del valor del presente estado.

5.2.5 Flip-Flop maestro-esclavo.

Todos los cuatro FF-AN pueden implementarse siguiendo las órdenes de un FF-D-AN a su entrada como muestra el dibujo esquemático. El FF-D hace de puerta (Cerrojo). Cada pulso en el clock hará que la señal entre al sistema (como salida del FF-D-AN) y salga la misma a la salida final respetando la tabla de verdad del FF esclavo. Así, si el esclavo es un FF-X-AN, todo el conjunto se comporta como un FF-X-ME —aquí X puede ser un FF o bien también un sistema secuencial complejo.

Ing. Mecatronica González Rico Brenda

Page 112: Electronica Digital- Temario Completo

Electrónica Digital

Accesorios de los Flip-Flop

Los Flip-Flop, normalmente y si no se especifica otro detalle, son siempre Maestro-Esclavo, y suelen traer patas accesorias combinacionales. Nombramos las siguientes:

— Reset pone a cero Q

— Set pone a 1 a Q

— Clock

— Inhibición inhibe (no deja pasar) la entrada de señal

5.3 Tablas características, de estados y de exitación de los Flip-Flops.

5.3.1 Flip Flop tipo S R

La operación del FF S R disparado por flanco es similar a la operación analizada anteriormente, con la diferencia de que el cambio de estado se efectúa en el flanco de bajada del pulso de reloj. El estado S=R=1 sigue siendo un estado prohibido. La tabla característica resume el comportamiento del FF tipo S R disparado por flanco negativo.

Ing. Mecatronica González Rico Brenda

Page 113: Electronica Digital- Temario Completo

Electrónica Digital

5.3.2 Flip Flop tipo J K

La operación de un FF tipo J K es muy similar a la de un FF S C. La única diferencia es que no tiene un estado invalido. Para la condición J=K=1 el FF complementa el estado presente. La tabla característica resume el comportamiento del FF tipo J K disparado por flanco negativo.

5.3.3 Flip Flop tipo T

Ing. Mecatronica González Rico Brenda

Page 114: Electronica Digital- Temario Completo

Electrónica Digital

Solo posee una entrada además de la del reloj. Se le denomina "toggle". Si hay un 0 en la entrada T, cuando se aplica el pulso de

reloj la salida mantiene el valor del estado presente. Si hay un 1 se complementa

La tabla característica resume el comportamiento del FF tipo T disparado por flanco negativo.

Para el caso de los FF disparados por flanco positivo la diferencia es que el cambio de estado ocurre en la subida del pulso de reloj. La diferencia básica entre flip flops disparados por flanco y los disparados por nivel, analizados en la guia anterior es que en los disparados por flanco los cambios se efectuan en el frente de bajada o en el de subida del pulso de reloj, y aunque las entradas cambien de valor durante la duración del pulso, no se efectuan cambios hasta el siguiente pulso de reloj. En los flip flops disparados por nivel en cambio el flip flop responde a los cambios de las entradas mientras el pulso de reloj está en 1.

En cuanto a la representación los FF disparados por nivel no poseen el simbolo > en la entrada de reloj.

5.3.4 Flip Flop tipo D

Ing. Mecatronica González Rico Brenda

Page 115: Electronica Digital- Temario Completo

Electrónica Digital

La operación de un FF tipo D es mucho más simple. Solo posee una entrada además de la del reloj. Se le denomina "data" y es

muy útil cuando queremos almacenar un dato de un bit (0 o 1). Si hay un 1 en la entrada D cuando se aplica el pulso de reloj la salida Q toma el valor de 1 (SET) y lo almacena. Si hay un 0 en la entrada D, cuando se aplica el pulso de reloj la salida toma el valor de 0 (RESET) y lo almacena. El cambio en la salida del FF se efectúa en el flanco de bajada del reloj. La tabla característica resume el comportamiento del FF tipo D disparado por flanco negativo.

5.4 Diagramas de Estados.

Diagrama de Estados: Es una representación gráfica del comportamiento del sistema, mostrando cada combinación de entrada y cada estado, de la misma forma muestra el resultado de la salida y el valor del estado siguiente después de un pulso de clock.

Ing. Mecatronica González Rico Brenda

Page 116: Electronica Digital- Temario Completo

Electrónica Digital

5.5 Ecuaciones de estados.

Ecuaciones de estado

Un circuito secuencial queda completamente determinado si en cada estado presente en que se encuentre se conoce.

1. Los valores de las señales de salida del circuito y

2. El estado siguiente al cual pasa el circuito cuando ocurra un pulso de reloj.

Como el estado del circuito secuencial es el conjunto de estados de los flip-flops individuales, para conocer el estado siguiente del circuito se debe conocer el estado siguiente de cada uno de los flip-flops.

Una ecuación de estado es una expresión algebraica que proporciona el estado siguiente de un flip-flop particular en función del estado presente en un circuito secuencial y de los valores que tengan las señales de entrada al mismo.

El lado izquierdo de la ecuación denota el estado siguiente y el lado derecho es una función de Boole que evaluada produce el valor del estado siguiente del flip-flop. Por ejemplo, la ecuación de estado A(t+1) = x´A´B + xA´B´ es la ecuación de estado del flip-flop A de un circuito secuencial con dos flip-flops A y B y una sola señal de entrada: x.

La ecuación anterior nos dice que el estado siguiente del flip-flop A, A(t+1), es 1 si:

1. el estado presente en el circuito es el estado 01 y x=0, ó

2. el estado presente en el circuito es el estado 00 y x=1.

En cualquier otra condición, el estado siguiente del flip-flop A será el estado 0.

5.6 Principales circuitos secuenciales y sus configuraciones en MSI

Ing. Mecatronica González Rico Brenda

Page 117: Electronica Digital- Temario Completo

Electrónica Digital

5.6.1 Contadores

Los contadores son circuitos secuenciales capaces de recorrer una secuencia previamente especificada de estados. Reciben un tren de impulsos y responden con una sucesión de estados correspondientes a la representación en binario del número de impulsos recibidos desde que se inició el ciclo.

Contadores asíncronos.

Compuestos por básculas JK con J=K=1 (básculas T) de forma que la entrada de reloj entra en la primera báscula (bit de menor peso) y el reloj del resto delas básculas es la salida Q de la báscula anterior. Esto provoca el sentido asíncrono del contador, ya que cuando entra el impulso de reloj a la primera báscula esta empieza a bascular, pero la siguiente no basculará hasta que no lo haya hecho la anterior. Este efecto provoca una reacción que se va añadiendo de báscula a báscula y por lo tanto el tiempo de cambio de un estado al otro puede ser el resultado de acumular los tiempos de transición del número de básculas que intervienen en dicho cambio.

Contadores síncronos:

Inconvenientes de los contadores asíncronos.

Ing. Mecatronica González Rico Brenda

Page 118: Electronica Digital- Temario Completo

Electrónica Digital

La frecuencia máxima de trabajo depende de la suma de los retardos que introducen los biestables que lo

componen. Los estados estables no se alcanzan siempre al mismo tiempo.

Estos inconvenientes se solucionan utilizando contadores síncronos, en los cuales el reloj de entrada se conecta a la entrada de reloj de todas las básculas, de forma que la transición de ellas se produce en función de los valores que se introduzcan en sus entradas de datos. De esta manera cuando el contador adquiere un estado (estable) posiciona las entradas de las básculas antes de que se produzca la entrada del siguiente ciclo de reloj. Cuando esta aparezca todas, las básculas comenzarán simultáneamente el proceso de cambio (si es que se ha de producir según los valores de sus entradas).

5.6.2 Registros

Un registro es circuito digital con dos funciones básicas:

Almacenamiento de datos. Movimiento de datos.

Con tales funciones una cuestión elemental es el modo de introducir y el modo de sacar dicha información. Teniendo en cuenta que hay dos maneras de manipular los datos: serie/paralelo; ello da lugar a tener diferentes configuraciones de registros en función de la entrada y la salida de dichos datos:

Entrada serie / Salida serie. Entrada serie / Salida paralelo. Entrada paralelo / Salida serie. Entrada paralelo / Salida paralelo.

Ing. Mecatronica González Rico Brenda

Page 119: Electronica Digital- Temario Completo

Electrónica Digital

Aplicaciones de los registros.

Se utilizan donde se necesiten un almacenamiento temporal de información, por ejemplo, conectados a las salidas de circuitos combinacionales aritméticos para recoger el resultado de una operación, para almacenar operaciones intermedias o proporcionar información estable a un sistema de representación por displays. Los distintos registros comparten líneas comunes llamadas buses tanto para recoger la información del bus como para volcar la información al bus, pero no todos los registros a la vez, sino uno y después otro.

5.7 Registros con aplicaciones de memoria.

Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee. Los registros son direccionables por medio de una viñeta, que es una dirección de memoria. Los bits, por conveniencia, se numeran de derecha a

Ing. Mecatronica González Rico Brenda

Page 120: Electronica Digital- Temario Completo

Electrónica Digital

izquierda (15,14,13…. 3,2,1,0), los registros están divididos en seis grupos los cuales tienen un fin especifico. Los registros se

dividen en:

Registros de segmento

Registros de apuntadores de instrucciones

Registros apuntadores

Registros de propósitos generales

Registro índice

Registro de bandera.

Registros de segmento.

Un registro de segmento se utiliza para alinear en un limite de párrafo o dicho de otra forma codifica la dirección de inicio de cada segmento y su dirección en un registro de segmento supone cuatro bits 0 a su derecha.

Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria para direccionamientos conocidos como el segmento actual. Los registros de segmento son:

Registro CS

Registro DS

Registro SS

Registro ES

Registro FS y GS

Registro CS.

Ing. Mecatronica González Rico Brenda

Page 121: Electronica Digital- Temario Completo

Electrónica Digital

El DOS almacena la dirección inicial del segmento de código de un programa en el registro CS. Esta dirección de segmento, mas

un valor de desplazamiento en el registro de apuntado de instrucción (IP), indica la dirección de una instrucción que es buscada para sí ejecución. Para propósito de programación normal, no e necesita referenciar el registro CS.

Registro DS.

La dirección inicial de un segmento de datos de programa es almacenada en el registro DS. En términos sencillos, esta dirección, mas un valor de desplazamiento en una instrucción, genera una referencia a la localidad de un bytes especifico en el segmento de datos.

Registro SS.

El registro SS permite la colocación en memoria de una pila, para almacenamiento temporal de direcciones y datos. El DOS almacena la dirección de inicio del segmento de pila de un programa en el registro SS. Esta dirección de segmento, más un valor de desplazamiento en el registro del apuntador de la pila (SP), indica la palabra actual en la pila que está siendo direccionada. Para propósitos de programación normal, no se necesita referenciar el registro SS.

Registro ES

Algunas operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro esta de segmento para manejar el direccionamiento de memoria. En este contexto, el registro ES esta asociado con el registro DI (índice) . un programa que requiere el uso del registro ES puede inicializarlo con una dirección apropiada.

Registros FS y GS.

Son registros extra de segmento en los procesadores 80386y posteriores a estos procesadores.

Ing. Mecatronica González Rico Brenda

Page 122: Electronica Digital- Temario Completo

Electrónica Digital

5.8 Dispositivos lógicos programables con aplicaciones secuenciales

El siguiente paso consiste en integrar todo el sistema secuencial en un solo integrado, es decir, la lógica combinacional y los elementos de memoria. Por lo tanto, las principales características de estos elementos serán el número de entradas, el número de términos producto, el número de biestables y el número de salidas, así como el tipo de biestables que utilizan (del cual van a depender las funciones de próximo estado).

5.8.1 Lenguaje de descripción de hardware (VHDL).

Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) usado por ingenieros para describir circuitos digitales. Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero éstos no son prácticos en diseños complejos. Otros lenguajes para el mismo propósito son Verilog y ABEL.

Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field Programmable Gate Array), ASIC y similares.

Formas de describir un circuito

Dentro del VHDL hay varias formas con las que podemos diseñar el mismo circuito y es tarea del diseñador elegir la más apropiada.

Ing. Mecatronica González Rico Brenda

Page 123: Electronica Digital- Temario Completo

Electrónica Digital

Funcional: Describimos la forma en que se comporta el circuito. Esta es la forma que más se parece a los lenguajes de software ya

que la descripción es secuencial. Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre sí, y en paralelo con asignaciones concurrentes de señales y con las instancias a otros componentes.

Flujo de datos: describe asignaciones concurrentes (en paralelo) de señales.

Estructural: se describe el circuito con instancias de componentes. Estas instancias forman un diseño de jerarquía superior, al conectar los puertos de estas instancias con las señales internas del circuito, o con puertos del circuito de jerarquía superior.

Mixta: combinación de todas o algunas de las anteriores.

En VHDL también existen formas metódicas para el diseño de máquinas de estados, filtros digitales, bancos de pruebas etc.

5.8.2 PAL’s.

Las PAL son dispositivos de matriz programable. La arquitectura interna consiste en términos AND programables que alimentan términos OR fijos. Todas las entradas a la matriz pueden ser combinadas mediante AND entre si, pero los términos AND específicos se dedican a términos OR específicos. Las PAL tienen una arquitectura muy popular y son probablemente el tipo de dispositivo programable por usuario más empleado. Si un dispositivo contiene macrocélulas, comúnmente tendrá una arquitectura PAL. Las macrocélulas típicas pueden programarse como entradas, salidas, o entrada/salida (e/s) usando una habilitación tri-estado. Normalmente tienen registros de salida que pueden usarse o no conjuntamente con el pin de e/s asociado. Otras macrocélulas tiene más de un registro, varios tipos de retroalimentación en las matrices, y ocasionalmente realimentación entre macrocélulas.

Ing. Mecatronica González Rico Brenda

Page 124: Electronica Digital- Temario Completo

Electrónica Digital

5.8.3 GAL’s.

Las GAL son dispositivos de matriz lógica genérica. Están diseñados para emular muchas PAL pensadas para el uso de macrocélulas. Si un usuario tiene un diseño que se implementa usando varias PAL comunes, puede configurar varias de las mismas GAL para emular cada de uno de los otros dispositivos. Esto reducirá el número de dispositivos diferentes en existencia y aumenta la cantidad comprada. Comúnmente, una cantidad grande del mismo dispositivo debería rebajar el costo individual del dispositivo. Estos dispositivos también son eléctricamente borrables, lo que los hace muy útiles para los ingenieros de diseño.

5.8.4 FPGA´s

Las FPGA son Campos de Matrices de Puertas Programables. Simplemente son matrices de puertas eléctricamente programables que contienen múltiples niveles de lógica. Las FPGA se caracterizan por altas densidades de

Ing. Mecatronica González Rico Brenda

Page 125: Electronica Digital- Temario Completo

Electrónica Digital

puerta, alto rendimiento, un número grande de entradas y salidas definibles por el usuario, un esquema de interconexión

flexible, y un entorno de diseño similar al de matriz de puertas. No están limitadas a la típica matriz AND-OR. Por contra, contienen una matriz interna configurable de relojes lógicos (CLBs) y un anillo de circunvalación de bloques de e/s (IOBs).

Cada CLB contiene lógica programable combinacional y registros de almacenamiento. La sección de lógica combinacional es capaz de implementar cualquier función booleana de sus variables de entrada.

Cada IOB puede programarse independientemente para ser una entrada, y salida con control tri-estado o un pin bidireccional. También contiene flip-flops que pueden usarse como buffers de entrada y salida. Los recursos de interconexión son una red de líneas que corren horizontalmente y verticalmente las filas y columnas entre el CLBS.

Los interruptores programables conectan las entradas y salidas de IOBS y CLBS a líneas cercanas. Las líneas largas recorren la anchura o longitud entera del dispositivo, estableciendo intercambios para proporcionar una distribución de señales críticas con la mínima demora o distorsión.

Los diseñadores que usan FPGAs pueden definir funciones lógicas en un circuito y revisar estas funciones como sea necesario. Así, las FPGAs pueden diseñarse y verificarse en unos días, a diferencia de las varias semanas necesarias para las matrices de puerta programables.

Ing. Mecatronica González Rico Brenda

Page 126: Electronica Digital- Temario Completo

Electrónica Digital

5.8.5 CPLDL

Los PLDs complejos son lo que el nombre implica, Dispositivos Complejos de Lógica Programable. Se consideran PAL muy grandes que tienen algunas características de las PLA. La arquitectura básica es muy parecida a la PAL con la capacidad para aumentar la cantidad de términos AND para cualquier término OR fijo. Esto se puede realizar quitando términos AND adyacentes o empleando términos AND desde una matriz expandida. Esto permite que cualquier diseño pueda ser implementado dentro de estos dispositivos.

5.8.6 Aplicaciones.

Como su mismo nombre lo indica, se ha diseñado para programar y controlar procesos secuenciales en tiempo real. Por lo general, es posible encontrar este tipo de equipos en ambientes industriales.

Los PLC sirven para realizar automatismos; son dispositivos electrónicos que reproducen programas informáticos, que permiten controlar procesos.

Ing. Mecatronica González Rico Brenda