Electronica Digital- Temario Completo

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

Views 134 Downloads 4 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Instituto Tecnológico de Veracruz

ELECTRONICA DIGITAL

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

Electrónica Digital

Capitulo uno Códigos y sistemas numéricos binarios.

Ing. Mecatronica

González Rico Brenda

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

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

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

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

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

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

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

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 Seis 5 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

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

Electrónica Digital

Fracción Octal

Resultado en octal

1/2

1/2

0,4

1/3

1/3

0,25252525 periódico

1/4

1/4

0,2

1/5

1/5

0,14631463 periódico

1/6

1/6

0,125252525 periódico

1/7

1/7

0,111111 periódico

1/8

1/10 0,1

1/9

1/11

0,07070707 periódico

1/10

1/12

0,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:

*01

2 3 4 5 6 7

0 00 0 0 0 0 0 0 1 01 2 3 4 5 6 7 2 0 2 4 6 10 12 14 16

Ing. Mecatronica

González Rico Brenda

Electrónica Digital 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 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

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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

{$ 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 2 2 3 4 5 6 7 8 9 A B C D E 3 3 4 5 6 7 8 9 A B C D E

F 10

F 10 11

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

2 4

6

8 A C E 10 12 14 16 18 1A 1C 1E 20

3 6

9

C F 12 15 18 1B 1E 21 24 27 2A 2D 30

4 8

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

Ing. Mecatronica

5

6

7 8 9 A B C D E

F 10

González Rico Brenda

Electrónica Digital 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B 50 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A 60 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69 70 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78 80 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87 90 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96 A0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5 B0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4 C0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3 D0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2 E0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1 F0 10 20 30 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 100

Tabla de los primeros 16 números Decimal Binario Octal Hexadecimal

Ing. Mecatronica

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

González Rico Brenda

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: 1010011010 |-|--||-|xoxooxxoxo ynynnyynyn 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) 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación)

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

Fracciones en Hexadecimal.Fracción Octal

Resultado en octal

1/2

1/2

0,4

1/3

1/3

0,25252525 periódico

1/4

1/4

0,2

1/5

1/5

0,14631463 periódico

1/6

1/6

0,125252525 periódico

1/7

1/7

0,111111 periódico

1/8

1/10 0,1

1/9

1/11

0,07070707 periódico

1/10

1/12

0,063146314 periódico

Sistema Hexadecimal.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.-

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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

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.

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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

HEXADECIMAL

0

0

0

0

0

1

1

1

1

1

2

10

2

2

2

3

11

3

3

3

4

100

10

4

4

5

101

11

5

5

6

110

12

6

6

7

111

13

7

7

8

1000

20

10

8

9

1001

21

11

9

10

1010

22

12

A

11

1011

23

13

B

12

1100

30

14

C

13

1101

31

15

D

14

1110

32

16

E

15

1111

33

17

F

16

10000

40

20

10

Ing. Mecatronica

20

1

21

2

22

4

23

8

24

16

25

32

26

64

27

128

González Rico Brenda

Electrónica Digital

Ing. Mecatronica

28

256

29

512

210

1024

211

2048

212

4096

213

8192

214

16, 384

215

32, 768

216

65, 573

217

131, 072

218

262, 144

219

524, 288

220

1' 048, 576

80

1

81

8

82

64

83

512

84

4, 096

85

32, 768

86

262, 144

87

2' 097, 152

160

1

161

16

162

256

163

4, 096

164

65, 536

165

1' 048, 576

González Rico Brenda

Electrónica Digital

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. 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).

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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: 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.

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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 segundo 8 * (101) = 80 tercero 4 * (102) = 400 cuarto 3 * (103) = 3000

--------- primero 1*(10-1) = 0.1 -------- segundo 2*(10-2) = 0.02 -------- tercero 5*(10-3) = 0.005

Notación Posicional del Sistema

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

(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 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

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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: .

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

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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 posición siguiente Hay que sumar 1010 (que en decimal es 10) y 1111 (que en decimal es 15). 10 + 15 = 25

10110 +11100 110010 Ing. Mecatronica

100100 + 10010 110110

10.1 +11.01 101.11 González Rico Brenda

Electrónica Digital

1 0 1

+ + +

1 1 1

=1 =1 =10

Ejemplo: Sumar:

30 20 50

0 1 1 1 1 0 1 0 1 0 0 1 10 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:    

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

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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 10001 -01010 —————— 00111

Restamos 217 - 171 = 46 11011001 -10101011 ————————— 00101110

7 Restamos

46 35 - 15

Restamos

100011 001111 —————— 010100

50 -

11

0110010 001011 —————— 100111

20

3

1.3.3.4 Multiplicación. Multiplicación de números binarios 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

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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

Multiplicar:

25 * 5 = 125 11001 00101 11001 00000 11001 00000 00000 001111011 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

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

Capitulo dos Algebra de boole y compuertas lógicas.

Ing. Mecatronica

González Rico Brenda

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 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.

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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. 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 Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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). 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: Ing. Mecatronica

González Rico Brenda

Electrónica Digital

               

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ó. 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 + x Conmutativa respecto a la segunda función: xy = yx Ing. Mecatronica

González Rico Brenda

Electrónica Digital

Asociativa 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 = x Identidad respecto a la segunda función: x1 = x Complemento respecto a la primera función: x + x' = 1 Complemento respecto a la segunda función: xx' = 0 Propiedades Del Álgebra De Boole Idempotente respecto a la primera función: x + x = x Idempotente respecto a la segunda función: xx = x Maximalidad del 1: x + 1 = 1 Minimalidad del 0: x0 = 0 Involución: x'' = x Inmersión respecto a la primera función: x + (xy) = x Inmersión respecto a la segunda función: x(x + y) = x Ley de Morgan respecto a la primera función: (x + y)' = x'y' Ley de Morgan respecto a la segunda función: (xy)' = x' + y' Función Booleana Una 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.

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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 ABCD 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000

Resultado 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0

Las funciones booleanas se pueden representar como la suma de productos mínimos (minterms) iguales a 1. En nuestro ejemplo la función f(A,B,C,D) = ABCD + ABCD' + ABC'D + AB'CD + A'BCD

booleana

será:

Diagramas de Karnaugh Los diagramas de Karnaugh se utilizan para simplificar las funciones booleanas. Se construye una tabla con las variables y sus valores posibles y se agrupan Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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ónimas Un hecho interesante es que es posible implementar cualquier circuito electrónico utilizando una sola compuerta, ésta es la compuerta NAND Para 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 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:

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

A OR B A AND B.......................Primer paso para aplicar el teorema de DeMorgan A' 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.

PUERTA OR O SUMADORA

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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 ecuación lógica de la función AND para dos variables de entrada es la siguiente:

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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 exclusiva tiene su propio símbolo gráfico o puede expresarse en términos de operaciones complementarias AND, OR.

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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) Ejemplo: en la siguiente tabla de verdad hay 3 columnas de entrada, entonces habrán: 23 = 8 combinaciones (8 filas)

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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 “. • Condiciones de no negatividad para variables. Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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

Electrónica Digital

Capitulo tres Simplificación de funciones booleanas

Ing. Mecatronica

González Rico Brenda

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

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 = 0 La segunda fila corresponde a A = 1 La 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

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

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. Ejemplo Paso 1: Encontrando implicantes primos Minimizando una función arbitraria:

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

A

B

C

D

f

m0

0

0

0

0

0

m1

0

0

0

1

0



0

0

1

0

0



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

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 1

m4 m8

0100 1000

2

m9 m10 m12

1001 1010 1100

3

m11 m14

1011 1110

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

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

- 100

XX X XX

10- X

X X

1- - 0 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 y por

que está cubierto por o

y

que está cubierto

.

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.

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

En el caso que estamos analizando, los dos implicantes primos y 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

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

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

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

Electrónica Digital

Capitulo cuatro Principios, prácticas y ejemplos de diseño de circuitos combi nacionales.

Ing. Mecatronica

González Rico Brenda

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

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

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

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

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

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

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

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

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

|

AB

|

I0 I1 I2 I3

|

S

|

00

|

0XXX

|

0

|

00

|

1XXX

|

1

|

01

|

X0XX

|

0

|

01

|

X1XX

|

1

|

10

|

XX1X

|

1

|

10

|

XXX0

|

0

|

11

|

XXX0

|

0

|

11

|

XXX1

|

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

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

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

Electrónica Digital

Ing. Mecatronica

González Rico Brenda

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

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

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

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-tobinary encoder es un circuito codificador con ocho entradas (un terminal Ing. Mecatronica

González Rico Brenda

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

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. Luego,

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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

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

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

|abcdefg

| SIGNO

0000 |

1111110

|0

|

1000 |

0110000

|1

|

0100 |

1101101

|2

|

|3

|

1100

|

1111001

0010 |

0110011

|4

|

1010 |

1011011

|5

|

0110 |

0011111

|6

|

1110 |

1110000

|7

|

0001 |

1111111

|8

|

1001 |

1110011

|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

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

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

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

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

Este modo se utiliza para las señales que además de BUFFER salir de la entidad pueden usarse como entradas realimentadas

Ing. Mecatronica

González Rico Brenda

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 BIT

Características En este tipo las señales solo toman los valores de "1" y "0"

Booleana

En este tipo las señales solo toman los valores de True y False

Std_logic

En este tipo las señales toman 9 valores, entre ellos tenemos: "1", "0", "Z" (para el 3er estado), "-" (para los opcionales).

Integer

En este tipo las señales toman valores enteros. Los 1 y los 0 se escriben sin “

Bit_Vector

En este tipo los valores de las señales son una cadena de unos y ceros. Ejemplo: “1000”

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

Ing. Mecatronica

Contiene todos los caracteres ISO de 8 bits, donde los primeros 128 son los caracteres ASCII.

González Rico Brenda

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

Oper adores Tipo U X

Std_logic Uninitialize d Forcing Unknown

0

Forcing 0

1

Forcing 1

Z

High Impedance

W

Weak 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

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 ...

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

Enunciado concurrente 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

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

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

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

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

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

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 puede aplicar cualquier combinación de variables de entrada, o sus Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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 GAL El 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

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 GAL Basada 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

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

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

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

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

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

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

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

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

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

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

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 "tosynchronize" (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

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

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

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

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

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

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 flipflop 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

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 FlipFlops. 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

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

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

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

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 flipflops 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 configuraciones en MSI Ing. Mecatronica

circuitos

secuenciales

y

sus

González Rico Brenda

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

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

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 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:

Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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. 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 Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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

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. 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 Ing. Mecatronica

González Rico Brenda

Electrónica Digital

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

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

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 flipflops 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

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