Tecnicas Digitales New

247
ELECTRÓNICA DIGITAL Análisis y Síntesis INGENIERÍA ELECTROMECÁNICA Curso de Diseño Digital Técnicas Digitales 2010 IE. MSc. José Armando Becerra Vargas Profesor Asistente UFPS

description

Curso completo de Diseño Digital I y II

Transcript of Tecnicas Digitales New

Page 1: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 1/247

 

ELECTRÓNICA DIGITAL

Análisis y Síntesis

INGENIERÍA ELECTROMECÁNICA

Curso de Diseño Digital – Técnicas Digitales 2010

IE. MSc. José Armando Becerra VargasProfesor Asistente UFPS

Page 2: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 2/247

 

INTRODUCCIÓN

Generalidades:

Actualmente el mundo está viviendo la era digital, era donde a través de losavances de la ciencia, las nuevas tecnologías de la información y lacomunicación  “TICs” , etc., han dejado de lado los componentes sólidos,

tangibles de la era industrial, para dar paso a los bits y los bytes, elementosintangibles de la nueva era. Las grandes industrias como General Motors,Boeing, etc. Quedan atrás con sus grandes y sólidas construcciones, paradar paso a empresas como Microsoft, entre otras, las cuales están llamadasa revolucionar el mundo moderno, con sus estructuras virtuales y canalesde comunicación.

La Microelectrónica se puede definir como el conjunto de ciencias y técnicascon las que se realizan y fabrican circuitos electrónicos, sobre una pastillade un semiconductor, lo que formará un circuito integrado (IC), éste a suvez permitirá el desarrollo de grandes sistemas que soportarán lasplataformas de la nueva era.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Page 3: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 3/247

 

OBJETIVOS DEL CURSO

General: Desarrollar en el estudiante capacidades y destrezas paraanalizar y sintetizar sistemas digitales combinacionales y secuenciales,utilizando métodos tradicionales como el álgebra de BOOLE, los mapas deKARNAUGH, Maquinas de estado y herramientas EDA.

Específicos: 

1. Hacer un breve repaso sobre los sistemas de numeración y las

operaciones básicas que los caracterizan.2. Estudiar y analizar las compuertas lógicas. (AND, OR, NOT).

3. Reconocer e interpretar los términos técnicos utilizados en el estudio delos sistemas digitales.

4. Desarrollar habilidades para el análisis y síntesis de sistemas digitales

combinacionales, utilizando las herramientas algebraicas ycomputacionales.

5. Adquirir habilidades y capacidades cognitivas para analizar y diseñarsistemas MSI, LSI y VLSI. Lógica combinacional modular.

6. Estudiar e interpretar el lenguaje de descripción de hardware HDL.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Page 4: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 4/247

 

OBJETIVOS DEL CURSO

Específicos: 7. Desarrollar talleres de aprendizaje que refuercen los temas vistos en

clase.

8. Permitir al estudiante un ambiente propicio para el trabajo en grupo, através de los talleres y prácticas de laboratorio.

9. Desarrollar habilidades para el análisis y diseño de sistemas digitalessecuenciales, utilizando herramientas algebraicas y computacionales.

10.Adquirir habilidades y capacidades cognitivas para el análisis y diseñode sistemas secuenciales MSI, LSI y VLSI.

11.Estudiar y analizar el diseño de máquinas de estado MOORE y MEALY.

12.Adquirir habilidades y destrezas en el uso de herramientascomputacionales como ISE FOUNDATION de XILINX y ELECTRONICWORK BENCH.

13.Desarrollar en el estudiante un espíritu crítico, dialógico, reflexivo yparticipativo, que propicie un ambiente bidireccional para el desarrollode nuevas ideas respecto a la formación integral y a su vez sirva deretroalimentación para el mejoramiento continuo del quehacer docente.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Page 5: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 5/247

 

SISTEMASCOMBINACIONALES Y

LÓGICA COMBINACIONAL

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

CAPÍTULO I

Page 6: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 6/247

 

Un sistema combinacional es aquel cuyas salidas en un instantedado vienen dadas por la combinación de sus entradas en esemismo instante.

En consecuencia un circuito combinacional no puede tenerbucles cerrados o realimentaciones (porque si hay bucles, laentrada se realimenta o cambia durante el circuito).

Representación:

SISTEMAS COMBINACIONALES

Definición:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Page 7: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 7/247

SISTEMAS COMBINACIONALES

Sistemas de numeración. Códigos numéricos. Lógica de conmutadores. Modelos lógicos. Tablas de verdad. Formas canónicas.

Sistemas modulares (MSI y LSI) Análisis y síntesis de los sistemas combinacionales. Diseño con multiplexores y codificadores.

Para el estudio de los sistemas combinacionales, se van a tener encuenta los siguientes tópicos:

Tópicos de estudio:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 8: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 8/247

Cualquier sistema consta fundamentalmente de una serie deelementos que lo conforman, una serie de reglas que permiteestablecer operaciones y relaciones entre tales elementos. Por ello,

puede decirse que un sistema de numeración es el conjunto deelementos (símbolos o números), operaciones y relaciones que por intermedio de reglas propias permite establecer el papel de talesrelaciones y operaciones.

Existe un sinnúmero de sistemas numéricos, los más comunes son:

• Sistema Decimal: Base diez (10)• Sistema Binario: Base dos (2)• Sistema Octal: Base ocho (8)• Sistema Hexadecimal: Base dieciséis (16)

¿QUÉ ES UN SISTEMA DE NUMERACIÓN?

SISTEMAS DE NUMERACIÓN

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 9: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 9/247

Sistema decimal

SISTEMAS NUMÉRICOS

Es el más utilizado, cuenta con diez elementos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. Las operaciones que en el se pueden dar son las aritméticas (suma, resta,multiplicación, división, potenciación, etc.) y lógicas (Unión - disyunción,Intersección - conjunción, negación, Diferencia, Complemento, etc.). Las

relaciones entre los números del sistema decimal son mayor que, menorque, igual y a nivel lógico son pertenencia y contenencia.

Un número del sistema decimal tiene la siguiente representación:

1

1

0

0

2n

2n

1n

1n

n

n10 10a10a10a10a10a10a )N ( 

Siendo: N   Número decimal.

ai  Número relativo que ocupa la i-esima posición

n  Número de dígitos que ocupa la parte entera menos uno

k   Número de dígitos de la parte fraccionaria.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 10: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 10/247

Sistema binario

Definición:  El sistema de numeración Binario es el conjunto de elementosformado por el 0 y el 1, con operaciones aritméticas (suma, resta,multiplicación) y lógicas (OR, AND y NOT) y además sus propias relacionesque por intermedio de reglas propias permite establecer el papel de talesrelaciones y operaciones entre sus dos elementos.

Suma:  Se realiza exactamente igual que en el sistema de numeracióndecimal teniendo en cuenta que si se excede la base se lleva en la siguientecifra una unidad de orden superior. Veamos el siguiente ejemplo:

Ejemplo: Realizar la suma aritmética de los siguientes números binarios:

011010110011

1110

Carry 

Resultado

SISTEMAS NUMÉRICOS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010  

Page 11: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 11/247

Sistema binario

Resta:  Se realiza exactamente igual que en el sistema de numeracióndecimal teniendo en cuenta que si se excede la base se lleva en la siguientecifra una unidad de orden superior. Veamos algunos ejemplos:

Ejemplos: Resolver la resta entre los siguientes números binarios:

(111101)2

- (110010)2

(001011)2

Restar los siguientes números binarios fraccionarios:(1011,111)2

-(0010,010)2

(1001,101)2

SISTEMAS NUMÉRICOS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 12: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 12/247

Sistema binarioLa Multiplicación y la división:  Se realizan de forma idéntica que en elsistema decimal, por ejemplo la multiplicación se realiza multiplicando cadauno de los bits del multiplicando por el bit menos significativo delmultiplicador, luego por el siguiente y así sucesivamente, teniendo en cuenta

que el cada resultado se va corriendo una posición hacia la izquierda parafinalmente realizar la suma entre ellos.

Existen algoritmos para desarrollar las operaciones de multiplicación ydivisión que serán vistos más adelante.

Ejemplos: Resolver la multiplicación entre los siguientes números binarios:

101 x 011

101101

000

01111

SISTEMAS NUMÉRICOS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 13: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 13/247

Sistema binario

El complemento a uno y a dos:  Para desarrollar apropiadamente laoperación de resta se hace uso de la operación de complemento auno o de complemento a dos. En el primer caso se denomina

complemento a la base menos uno y en el segundo complemento ala base.

Complemento a uno: Sencillamente se hace el complemento dígito adígito.

Ejemplos:

1. (110111)2 el complemento a uno será 0010002. (110010)2 el complemento a uno será 0011013. (000101)2 el complemento a uno será 111010

SISTEMAS NUMÉRICOS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 14: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 14/247

Sistema binario

Complemento a dos: Se realiza el complemento a uno del número y

se le suma uno al bit menos significativo.

Este complemento solo se emplea en los números negativos. Paralos números positivos el complemento a dos es el mismo número.

Ejemplos:

Obtener el complemento a dos del siguiente número (110111)2 El complemento a uno será 001000, ahora 001000 + 1 = 01001

Luego el complemento a dos del número dado es: 001001

SISTEMAS NUMÉRICOS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 15: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 15/247

SISTEMAS NUMÉRICOS

Representación:

Es claro que un número en cualquier base se representa por la posición de

sus cifras respectivas.

Ejemplo sistema decimal:

1265 = 1000 + 200 + 60 + 5

= 1 × 103 + 2 × 102 + 6 × 101 + 5 × 100 

El peso es 10 elevado a la posición que ocupe la cifra de derecha a izquierda.

La idea funciona también para números con decimales, si se considera que

éstos tienen posiciones negativas.

3,75 = 3 + 0,7 + 0,05=  3 × 100 + 7 × 10−1 + 5 × 10−2 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 16: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 16/247

SISTEMAS NUMÉRICOS

Representación:

Lo anterior se resume en la fórmula siguiente:

Siendo el dígito que está en la posición i.

Para generalizar la fórmula a cualquier base, ésta se escribe de la siguiente

manera:

Siendo B la base de numeración.

i

i

i

i10d Valor 

id 

i

i

i

iBd Valor 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 17: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 17/247

Escribir una cantidad N  en una base B

Algoritmo para encontrar la secuencia de dígitos di 

1. Comenzar con i = 0 , y con D = N .

2. Se divide D entre B , y se obtiene:

a. Un cociente Ci 

b. Un resto, que será la cifra di del resultado.

3. Si el cociente Ci es cero, el proceso ha terminado.

4. Si no, hacer D = Ci , i = i + 1 y volver al  paso 2.

SISTEMAS NUMÉRICOS

Representación:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

 

Page 18: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 18/247

LÓGICA COMBINACIONAL

Un sistema binario se caracteriza por tener dos valores posibles que, en términos de voltaje, se corresponden a  dos valores detensión, los que se representan numéricamente con 1 para V cc  y0  para GND.Generalmente, la lógica positiva hace corresponder un valor detensión alto al 1 y un valor de tensión bajo al 0 (y viceversa parala lógica negativa):

Sistema binario en electrónica digital

0  V L (voltaje bajo)

1  V H (voltaje alto)Lógica Positiva

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 19: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 19/247

La correspondencia entre losprimeros 16 números  decimales y  binarios  se muestra en lasiguiente tabla:

Nú m er o de ci ma l Nú me ro bin ar io

0 0 0 00

1 0 0 01

2 0 0 10

3 0 0 11

4 0 1 00

5 0 1 01

6 0 1 10

7 0 1 11

8 1 0 00

9 1 0 01

1 0 1 0 10

1 1 1 0 11

1 2 1 1 00

1 3 1 1 01

1 4 1 1 10

1 5 1 1 11  

Mientras más dígitos tiene unsistema, más compacta es sunotación. Así, los dígitos binariostienden a ser más largos (en unfactor  log210=2,3222) que sucorrespondiente notación decimal.

LÓGICA COMBINACIONAL

Números binarios

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 20: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 20/247

Las principales razones por las cuales utilizar sistemas de

representación binaria son:

Por qué usar la representación binaria

• Los sistemas de procesamiento de información seconstruyen con base en conmutadores;

• Los procesos de  toma de decisión, en un sistemadigital, son binarios; y

• Las señales binarias son  más confiables  que las quetienen más niveles de cuantificación.

LÓGICA COMBINACIONAL

Números binarios

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 21: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 21/247

Supóngase un  sistema deiluminación  basado en dosinterruptores o conmutadores

(como el que existe en laparte inferior y superior deuna escalera):

LÓGICA COMBINACIONAL

Conmutadores

S1 = 1 (conmutador 1 en posición 1)

S1 = 0 (conmutador 1 en posición 0) A = 0 (Lámpara apagada)

S2 = 1 (conmutador 2 en posición 1) A = 1 (Lámpara encendida)

S2 = 0 (conmutador 2 en posición 0)

Condiciones o premisas Acciones o Conclusiones

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 22: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 22/247

Gran parte de los procesos de decisión tienen carácter binario

.Respuestas etc INCORRECTO

CORRECTO

FALSO

VERDADERO

 NO

SI 

Un sistema puedecaracterizarse lingüísticamente como:

Si (S1=1 y S2=0) o (S1=0 y S2=1),entonces B=1; caso contrario, B=0.

Confiabilidad 

Las señales binarias son  mucho más confiables  para sertransmitidas entre dos puntos distantes. Al usar sólo dos niveles devoltaje para representar un dígito, el sistema es más inmune a lapresencia de ruidos.

LÓGICA COMBINACIONAL

Toma de decisiones

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010  

Page 23: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 23/247

Una descripción abstracta de un sistema digital, expresado conenunciados lógicos formales, se denomina “DISEÑO LÓGICO” .

Los símbolos máscomunes son:

Usando estos símbolos, el circuito de encendido de la lámpara puede representarse como:

00011

10110

2121

2121

 BSSSS

ó

 BSSSS

LÓGICA COMBINACIONAL

Definición de modelos lógicos

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 24: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 24/247

Usando este tipo de representación, podría definirse la operación deun sumador binario como: 

o, en forma simbólica (para el caso de la “suma”), por:

00011

10110

Suma y x y x

ó

Suma y x y x

LÓGICA COMBINACIONAL

Definición de modelos lógicos

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 25: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 25/247

En caso de sistemas multivariables (varias entradas y salidas),  x  será un vector de entradas y habrá una función asociada a cada

salida. Estas funciones también suelen denominarse  “funcionesbooleanas”, ya que responden al  “álgebra de Boole” .

El comportamiento de un sistema combinacional puede expresarse

formalmente como  z=f(x), donde z representa la salida del sistemay x la entrada (para un sistema de una entrada y una salida).

LÓGICA COMBINACIONAL

Definición de modelos lógicos

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 26: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 26/247

Para el caso del circuito de la lámpara:

Puede apreciarse que  el 

comportamiento de un

circuito combinacional  puede representarsetambién a través de una

tabla conocida como “tabla de verdad ” .

LÓGICA COMBINACIONAL

Definición de modelos lógicos

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 27: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 27/247

Tabla Comparativa de los sistemas de numeración 

Binario  Decimal  Hexadec  Binario  Decimal  Hexadec 

0000  0  0  1000  8  8 

0001  1  1  1001  9  9 

0010  2  2  1010  10  A 

0011  3  3  1011  11  B 

0100  4  4  1100  12  C 

0101  5  5  1101  13  D 

0110  6  6  1110  14  E 

0111  7  7  1111  15  F 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 28: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 28/247

DEFINICIONES BÁSICAS

Términos canónicos: Se llama término canónico de una función lógica a

todo producto o suma en el cual aparecen todas las variables de que

depende esa función. A los términos productos se les llama productos

canónicos y a los términos sumas, se les llama sumas canónicas.

Formas canónicas:  Cuando una función se expresa como suma de

productos canónicos o como producto de sumas canónicas, se dice que dicha

función se encuentra expresada en su forma canónica.

Formas equivalentes:  Dos expresiones booleanas, F1 y F2, son

equivalentes, es decir F1 = F2, sí y sólo sí describen la misma función de

conmutación. Se comprobará que formas booleanas diferentes pero

equivalentes, conducirán a circuitos de conmutación distintos aunque

realicen la misma función.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 29: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 29/247

Tabla de verdad:  La tabla de verdad de una función lógica es una formade representación de la misma, en la que se indica el valor 0 ó 1 que tomala función para cada una de las combinaciones de valores de las variablesde dicha función

Ejemplo:a b c F 

0 0 0 0 01 0 0 1 12 0 1 0 13 0 1 1 04 1 0 0 15 1 0 1 16 1 1 0 17 1 1 1 1

En la columna de la izquierda se han ido numerando las combinacionesposibles de valores que siempre es igual a 2 elevado al número de variables(n), es decir 2n, en nuestro caso 23 = 8. 

DEFINICIONES BÁSICAS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 30: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 30/247

De la tabla de verdad de una función lógica, es fácil deducir lasformas canónicas de dicha función.

Así pues, si se quiere que la función F del ejemplo esté expresadacomo suma de productos canónicos debe asegurarse que para cadauna de las combinaciones de la tabla de verdad en que la funciónvalga 1 se obliga a que el término canónico valga también 1. Porejemplo para la combinación a=0, b=0 y c=1 de la tabla deverdad se ve que la función vale 1 así pues el término canónico seráa„· b„· c  , se debe entender que a'   significa que la variable a estánegada. 

Obsérvese que el término a„· b„· c  vale 1 para la combinación 0 0 1 y sólo para esa combinación, cualquier otra combinación haría queel producto canónico a„· b„· c  sea 0.

DEDUCCIÓN DE LA FORMACANÓNICA

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 31: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 31/247

Construyendo la función con todos sus términos se llega a la conclusión quepara:

La combinación 001 el término será: a‟· b‟· c La combinación 010 el término será: a‟· b · c'  La combinación 100 el término será: a · b‟· c‟  La combinación 101 el término será: a · b‟· c 

La combinación 110 el término será: a · b · c‟  La combinación 111 el término será: a · b · c  

Con lo que la función F  correspondiente a la tabla de verdad anterior será:

F = a‘· b‘· c + a‘· b · c' + a · b‘· c'+ a · b‘· c + a · b · c' + a · b · c  

Obsérvese que existen seis términos que se corresponden con los seis 1 dela función.

Otra forma de expresarla es F =    ( 1, 2, 4, 5, 6, 7 )     significa suma, F  sumatoria de términos canónicos en que la función vale 1 y los númerosentre paréntesis, las posiciones en la tabla de dichos unos „1‟ .

SUMA DE PRODUCTOS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010  

Page 32: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 32/247

También se puede realizar la función como producto de sumas canónicas, en

este caso se tienen en cuenta los „0‟ de la función; así para la combinación000 y 011 del ejemplo, la función vale 0. Por tanto el términocorrespondiente a la combinación 000 será (a + b + c), obsérvese que estetérmino sólo vale 0 para la combinación 000, para cualquier otra vale 1. Delmismo modo para la combinación 011 el término será (a + b' + c'), obsérvese también que este término sólo vale 0 para la combinación 011,cualquier otra combinación hará que dicho término valga 1.

La función expresada como producto de sumas canónicas, quedará así:

F = ( a + b + c ) · ( a + b' + c' ) 

Obsérvese que existen dos términos que corresponden con los dos 0 de lafunción.

Otra forma de expresarla es F =   ( 0, 3 )      significa producto F Productode términos canónicos en que la función vale 0 y los números entreparéntesis, las posiciones en la tabla de dichos ceros „ 0 ‟ .

PRODUCTO DE SUMAS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 33: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 33/247

VHDL COMO HERRAMIENTADE DESCRIPCIÓN DEHARDWARE

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

CAPÍTULO II

 

Page 34: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 34/247

VHDL

Introducción:El VHDL se origina a través de un doble acrónimo.

VHSIC: Very High Speed Integrated Circuit

Hardware

Description

Languaje

El lenguaje VHDL nació para dar respuesta a numerosos problemasplanteados en el desarrollo y documentación de hardware digital .

La documentación requerida para describir un sistema electrónicopuede ocupar miles de páginas y suele ser muy costoso reemplazarla información contenida cuando la tecnología o las especificacionescambian. Un lenguaje de descripción adecuado resuelve elproblema ya que la "documentación" es ejecutable.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 35: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 35/247

VHDL

Reseña histórica:

VHDL se ha convertido en un estándar, lo cual ya es una ventaja,que además reúne otras características que lo hacenparticularmente atrayente. Es un lenguaje independiente de la

tecnología, no esta ligado a un determinado simulador y norequiere una metodología precisa de diseño. VHDL permiteimplementar nuevas tecnologías en diseños existentes.

El proyecto se inicia a principios de la década de los 80‟s, el primerborrador vio la luz en agosto de 1985 diseñado por Intermetrics,IBM   y Texas Instruments  e impulsado por el Departamento deDefensa de los Estados Unidos (DoD). En diciembre de 1987  fueaprobado como estándar del IEEE y posteriormente, en 1993, fuerevisado y registrado como norma IEEE Std 1076-1993.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010  

Page 36: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 36/247

1. Fue diseñado para el modelado y simulación de sistemas digitales. La

concurrencia, temporización y señales de reloj pueden ser modeladas.

2. Actualmente se usa en síntesis de hardware.

3. Fue desarrollado a partir del ADA.

4. Permite diseñar, modelar y comprobar un sistema desde un nivel alto deabstracción hasta el nivel estructural de definición de puertas.

5. Los circuitos descritos a partir de VHDL pueden ser sintetizados por

diferentes herramientas → portabilidad.

6. Permite reutilización del código (se puede utilizar en distintas

aplicaciones).7. Puede utilizarse para implementar hardware usando diferentes

tecnologías sin necesidad de rediseñar los circuitos.

8. Se basa en un estándar (IEEE Std 1076-1987, IEEE Std 1076-1993).

9. Permite realizar un diseño jerárquico.

VHDL

Características:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 37: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 37/247

VHDL

Su Estructura:

Entity declaration

Architecture body

Library declaration, e.g. IEEE library

Descripción

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 38: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 38/247

VHDL

Su Estructura:Las Librerías: Contienen los elementos estándar de diseño, toda descripción

en VHDL, debe tener al menos la librería 1164 estándar la cual se declara

de la siguiente manera:

Libray ieee;Use ieee.std_logic_1164.all;

La entidad: El bloque se conoce en VHDL como ENTITY y se declara enprimer lugar. Una ENTIDAD indica las señales que entran al circuito y lasque salen, es decir, declara la relación del circuito con el mundo exterior.La declaración de la entidad se hace de la siguiente manera:

Entity MUX isPort (  A : In  std_logic ;

B : In  std_logic ;E : In  std_logic ;F : Out  std_logic  );

End MUX;

A

E

B

F

IN1

IN2

AND1

AND2

OR

ENTITY

MUX

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 39: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 39/247

El paquete de definiciones está contenido en una bibliotecallamada IEEE. Es necesario hacer referencia tanto a la biblioteca como al paquete, como se muestra en el diagrama. Se debenusar estas líneas de código antes de describir las entidadesutilizadas en el standard logic.

library  IEEE;  --hace visible la biblioteca

use IEEE.Std.Logic_1164.all ; --hace visible todo el contenido del paquete

entity  MVLS is port (A,B: in std_ulogic ;

Z: out  std_ulogic  );

end  MVLS;

VHDL

Su Estructura: Cláusulas library y use

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 40: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 40/247

VHDL

Su Estructura:La entidad: Existen algunos elementos que deben considerarse a la hora dedeclarar la entidad; el MODO y TIPO de los puertos.

a. MODO: El MODO del puerto especifica si la señal entra, sale, serealimenta hacia el interior del circuito o es bidireccional. Esto es:

IN  Datos entran, pero no salen OUT  Datos salen y no son usados internamente INOUT Datos son bidireccionales BUFFER  Datos salen y son realimentados hacia el sistema

b. TIPO: VHDL es “Strongly  Typed” , o sea no se pueden asignar valores deuna señal de un tipo a una señal de otro tipo. El TIPO del puerto permitetrabajar con un sinnúmero de formato de datos, haciendo muy flexible ladescripción de los mismos. Esto es:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010  

Page 41: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 41/247

VHDL

Su Estructura:TIPO: La siguiente lista contiene los tipos más usados en VHDL.

BIT  Una señal que puede tomar los valores  „0‟  o  „1‟. BIT_VECTOR  Vector. Agrupación de Bits. Por ej: [0 1 1 0 0]INTEGER  Representación de datos enteros decimales.

BOOLEAN  Pueden tomar los valores „true‟ o „false‟ .ENUMERATED  Definido por usuario.

Existen además los siguientes tipos de datos del estándar IEEE 1164:

std_ulogic

std_ulogic_vectorstd_logicstd_logic_vector

 „U‟  -- No inicializado (defecto)

 „X‟  -- Desconocido (conflicto) „0‟  -- Forzando „0‟   „1‟  -- Forzando „1‟   „Z‟  -- Alta Impedancia „W‟ -- Estado desconocido débil „L‟  --  „0‟ débil „H‟  --  „1‟ débil „-‟  -- Don‟t care 

std_logic TYPE

Puede contener los siguientes

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 42: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 42/247

El tipo std_ulogic es un tipo de dato unresolved, y puede tener unsolo driver. De hecho, la “u” se refiere al hecho de que es de tipounresolved.

VHDL

Tipo std_ulogic:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 43: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 43/247

VHDL

Tipo std_logic:

Hay otro tipo definido, llamado “std_logic” . el cual es una versión tipo resolved de std_ulogic y puede tener

mas de un driver. El tipo std_logic tiene los mismos nueve estados de std_ulogic.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 44: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 44/247

El paquete también contiene la definición de los arreglos destd_logic y std_ulogic, conocidos como std_logic_vector ystd_ulogic_vector. estos tipos tienden a ser usados para describir

estructuras de bus en la forma como el tipo bit_vector. Los tipos std_logic y std_logic_vector, son los recomendados para

usar en los diseños. La razón para esto es que hay otros estándares para usar VHDL

que están basados en estos tipos en lugar de std_ulogic  ystd_ulogic_vector.

VHDL

Vectores Tipo std_logic y std_ulogic:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 45: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 45/247

VHDL

Su Estructura:La arquitectura: El bloque se conoce en VHDL como ARCHITECTURE, esdonde de describe el funcionamiento del sistema; Qué hace y cómo lo hace.Fundamentalmente existen tres categorías de arquitectura en VHDL, estasson:

Flujo de datos (Dataflow): Incluye estructura y comportamiento, estacategoría tiene un nivel de abstracción y realización medio, describeasignaciones concurrentes (en paralelo) de señales y utiliza expresionesBooleanas. Siguiendo con el ejemplo planteado, la declaración de laArquitectura será:

 Architecture Dataflow of MUX isSignal  IN1, IN2: std_logic  ;Begin IN1 <= (A AND ( NOT E)); IN2 <= (B AND E);

F <= IN1 OR IN2;End Dataflow;

A

E

B

F

IN1

IN2

AND1

AND2

OR

ARCH

MUX

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 46: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 46/247

VHDL

Su Estructura:Comportamental (Behavioral): Define un proceso descrito secuencialmente,Esta categoría permite entender el funcionamiento del sistema desde sucomportamiento; su nivel de abstracción es alto y el nivel de realización esbajo. En una descripción en VHDL donde existen varios procesos, éstos seejecutan de forma concurrente, cada uno de ellos es secuencial. Siguiendocon el ejemplo planteado, la declaración de la Arquitectura será:

A

E

B

F

IN1

IN2

AND1

AND2

OR

ARCH

MUX

Funcional Simbólico

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 47: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 47/247

VHDL

Su Estructura:Comportamental (Behavioral): Existen dos formas de declarar laarquitectura comportamental para el MUX del ejemplo, estas son:

 Architecture Behavioral of MUX is

Begin

With E  select 

F <= A when  ‘0’; 

B when  ‘1’; 

End Behavioral;

 Architecture Behavioral of MUX is

Begin

Process (  A, B, E  )

Begin

if  ( E = ‘0’ ) then

F <= A;

else

F <= B;

end if  ;

End Behavioral;

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 48: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 48/247

VHDL

Su Estructura:Estructural (structural): Esta categoría define una serie de componentes einterconexiones entre ellos. Tiene un nivel de abstracción bajo y surealización es de alta complejidad. En una descripción tipo structural , sedebe tener especial cuidado del directorio donde se guardan loscomponentes previamente diseñados o los componentes estándar comocompuertas, chips, etc. A continuación se presenta la descripción delejemplo:

Componentes:

U1  Compuerta NOT 

U2  Compuerta AND 2 entradas U3  Compuerta AND 2 entradas 

U4  Compuerta OR 2 entradas 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

A

E

B

F

IN1

IN2

AND1

AND2

OR

ARCH

MUX

U2

U3

U1

U4

IN0

NOT

 

Page 49: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 49/247

VHDL

Su Estructura: Architectura structural of MUX is

Component AND2

Port ( I1, I2: In  std_logic  ;

O : out   std_logic  );

End component  ;

Component OR2

Port ( I1, I2: In  std_logic  ;

O : out   std_logic  );

End component  ;

Component NOT 

Port ( I : In  std_logic  ;

O : out   std_logic  );

End component  ;

Signal  IN0,  IN1, IN2 :  std_logic  ; 

Begin

U1: NOT  port map(E, IN0);

U2: AND2 port map(A, IN0, IN1);

U3: AND2 port map (E, B, IN2);

U4: OR2 port map(IN1, IN2, F);

End structural;

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 50: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 50/247

VHDL

Declaraciones de las unidades de diseño

ENTITY, ARCHITECTURE, PACKAGE DECLARATION,PACKAGE BODY, CONFIGURATION

Cláusulas de contexto

LIBRARY CLAUSEUSE CLAUSE

Declaraciones

ALIAS, ATTRIBUTE, TYPE, SUBTIPE, CONSTANT,SIGNAL, VARIABLE, GROUP, FILE, COMPONENT,

PROCEDURE/FUNCTION (Subprograma y su body)

Especificaciones

ATTRIBUTE,CONFIGURATION,DISCONNECTION

Sentencias concurrentesBLOCK, PROCESS, PROCEDURE CALL,FUNCTION CALL, ASSERTION, SIGNAL,

ASSIGNEMENT, COMPONENT,INSTANCIATION, GENERATE

Sentencias secuencialesWAIT, ASSERTION, asignación de:SIGNAL Y VARIABLE, PROCEDURE,CALL, FUNCTION CALL, IF, CASE,LOOP, NEXT, EXIT, RETURN, NULL

Panorámica de los elementos:

 

Page 51: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 51/247

abs  begin  disconnect  for  in  map of 

access  block  downto  function  inertial  mod on

after  body  inout open

alias  buffer  else  generate  is  nand or

all  bus  elsif   generic  new others

and  end  group  label  next out

architecture  case  entity  guarded  library  nor 

array  component  exit  linkage  not  package

assert  configuration  if   literal  null  port

attribute  constant  file  impure  loop  postponed

VHDL

Palabras reservadas:

 

Page 52: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 52/247

procedure  register  select srl unaffected  wait

process  reject  severity  subtype  units when

protected  rem  shared until while

pure  report  signal then  use  with

return  sla to

range  rol  sll transport variable  xnor

record  ror  sra type  xor 

VHDL

Palabras reservadas (cont.):

 

Page 53: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 53/247

VHDL

Operadores:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

En VHDL existen unos elementos llamados operadores, los cualespermiten realizar operaciones lógicas, aritméticas y relacionales.

1. Lógicos

AND; NAND

OR; NORXOR; XNOR

NOT

2. Relacionales

= Igual 

 /= No igual

< Menor qué

<= Menor igual qué

> Mayor qué

>= Mayor igual qué

3. Aritméticos

+ Más

- Menos

* Multiplicación

 / División

REM Residuo

MOD Módulo

ABS Absoluto

4. Concatenación &  Concatenar

5. Aritméticos Unarios - Negación Aritmética 

 

Page 54: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 54/247

rol  ( rotate left )ror  ( rotate right )sll  ( shift left logical )

srl  ( shift rigth logical )sla  ( shift left arithmetic )sra  ( shift right arithmetic )

VHDL

Operadores:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

6. De Registro

Operan sobre objetos de tipo:

1. bit_vector

2. std_logic_vector

3. std_ulogic_vector

 

Page 55: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 55/247

1. Constantes: se inicializan a un determinado valor queconservan inalterado (no puede cambiarse una vezinicializado):

CONSTANT e: real := 2.71828;CONSTANT retraso: time := 10 ns;

CONSTANT tamaño_max: natural; Se permite declararuna constante sin especificar su valor siempre y cuandoeste valor sea declarado en otro sitio (se hace así para las

declaraciones en paquetes).

VHDL

Objetos:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 56: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 56/247

2. Variables: Su valor puede ser alterado en cualquier instante.

Se les puede asignar un valor inicial:

VARIABLE contador: natural := 0;

VARIABLE aux: bit_vector (31 DOWNTO 0);

VHDL

Objetos:

Instrucción ALIAS: permite asignar un nombre adicional a un

objeto previamente definido o ponerle nombre a una parte deuno existente:

VARIABLE instruccion: bit_vector (31 DOWNTO 0);

 ALIAS código_op: bit_vector (7 DOWNTO 0) IS instruccion(31 DOWNTO 24);

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 57: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 57/247

VHDL

Objetos:3. Señales: representan conexiones reales en el circuito. Se declaran

igual que las constantes y variables; pueden ser de varios tipos:

a. normal: si no se especifica el tipo.

b. registro: debe especificarse con la palabra clave REGISTER.c. bus: debe especificarse con la palabra clave BUS.

Al igual que en constantes y variables, a las señales también se lespuede asignar un valor inicial.

Ejemplos:SIGNAL selec: bit := '0';SIGNAL datos: bit_vector(7 DOWNTO 0) BUS := B"00000000";

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 58: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 58/247

VHDL

Objetos:

las señales pueden declararse en una entidad, en una

arquitectura o en un paquete.

si se quiere inicializar una señal hay que indicar un valor en[:= expresión]

por ejemplo: signal s: bit:='1';

de otra manera, el valor es inicializado al valor más bajo deltipo de variable definido.

Señales

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 59: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 59/247

VHDL

Objetos:

Señales

Escalar:

signal name(s):=type [range_contraint][:=expression];

Vectorial:

signal name(s): array_type[index_constraint][:=expression];

Entidad:

port (name(s): direction type [range_constraint][:=expression]);

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 60: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 60/247

Ejemplos:

◦ signal count: integer range 1 to 50; (el valor inicial será 1)

◦ signal GROUND: BIT:='0';

◦ signal YS_BUS std_logic_vector (7 downto 0);

◦ port (B, A: in integer range 0 to 9);◦ signal bogus: bit_vector; (Errónea, no hay dimensión)

VHDL

Objetos:

Señales

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 61: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 61/247

Señales de tipo definido por el usuario

Habiendo definido el tipo, se pueden declarar señales de este mismotipo. En el ejemplo se ha declarado la señal STATE de tipo MY_STATE.Se Deben observar las reglas estrictas cuando se usen estas señales: nose puede asignar nada a la señal STATE que no sea del tipo MY_STATE.

type MY_SATE is (RESET, IDLE, RW_CYCLE, INT_CYCLE);… Signal STATE: MY_STATE;Signal TWO_BIT: bit_vector (0 to 1);

… STATE<=RESET;

STATE<=“00”; 

STATE<=TWO_BIT;

VHDL

Objetos:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 62: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 62/247

------------------------------------------------------------------- Comparación en la utilización de variables y señales-----------------------------------------------------------------library ieee;use ieee.std_logic_1164.all;

entity sig_var is port( d1, d2, d3: in std_logic;

res1, res2: out std_logic);end sig_var;

architecture behv of sig_var is signal sig_s1: std_logic;beginproc1: process(d1,d2,d3)variable var_s1: std_logic;

begin var_s1 := d1 and d2;

res1 <= var_s1 xor d3;end process;proc2: process(d1,d2,d3)

beginsig_s1 <= d1 and d2;res2 <= sig_s1 xor d3;

end process;End behv;

VHDL

Resultado de la Simulación

Ejemplo de aplicación:

 

Page 63: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 63/247

VHDL

Atributos:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Es una característica asociada a un elemento del lenguaje (tipos de datos,señales, procedimientos, entidades,...) que permite extraer informaciónadicional del mismo.

 Atributos de los tipos escalares:

T'base Tipo base de T.T'left Valor más a la izquierda de T.T'right Valor más a la derecha de T.T'low Valor mínimo de T.T'high Valor máximo de T.T'ascending Verdadero si T tiene rango ascendente.T'image(x) String correspondiente al valor x.T'value(s) Valor en T representado por el string s.T'succ(x) Valor de la posición siguiente a x en T.T'pred(x) Valor de la posición anterior a x en T.T'leftof(x) Valor de la posición izquierda a x en T.T'rightof(x) Valor de la posición derecha a x en T.

 

Page 64: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 64/247

Tipo array A. Sea P entero entre 1 y el número de dimensión de A:

• A‟left(P) : límite izquierdo rango dimensión P

• A‟right(P) : límite derecho rango dimensión P

• A‟low(P) : límite inferior rango dimensión P

• A‟high(P) : límite superior rango dimensión P• A‟range(P) : rango índice dimensión P

• A‟reverse_range(P) : inverso rango índice dimensión P

• A‟length(P) : longitud del índice de dimensión P

signal memoria : array (0 to 5, 9 downto 1) of bit;

memoria‟left 0 memoria‟left(2) 9

memoria‟right(1) 5 memoria‟right 5memoria‟high 5 memoria‟low 0

memoria‟high(2) 9 memoria‟low(2) 1

memoria‟range 0 to 5 memoria‟range(2) 9 downto 1

memoria‟legth 9 memoria‟reverse_range 5 downto 0

VHDL

Atributos:

 

Page 65: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 65/247

A'left(n): Valor izquierdo del índice n de A.A'right(n): Valor derecho del índice n de A.A'low(n): Valor mínimo del índice n de A.A'high(n): Valor máximo del índice n de A.A„range(n): Rango del indice n de A.A„reverse_range(n): Rango del indice n de A invertido.A„length(n): Número de valores del rango n de A.A„ascending(n): Verdadero si el rango del índice de n de A es ascendente.

VHDL

Atributos de Vectores:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

type A is array (1 to 4, 31 downto 0) of boolean;

A‟left(1) = 1  A‟low(1) = 1 A‟right(2) = 0  A‟high(2) = 31 A‟range(1) is 1 to 4 A‟reverse_range(2) is 0 to 31A‟length(1) = 4  A‟length(2) = 32 A‟ascending(1) = true  A‟ascending(2) = false A‟left(1) ≡ A‟left 

 

Page 66: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 66/247

Aplicables a escalar:

• T‟left : límite izquierdo de T

• T‟right : límite derecho de T

• T‟low : límite inferior de T

• T‟high : límite superior de T• T‟base : indica el tipo base del objeto

type std_logic is ( 'U','X','0','1','Z','W','L','H','-');

subtype std_restric is std_logic range  „X‟ to „Z‟ ;

signal flag :std_logic;

signal carry :std_restric;

flag‟left U carry‟left X

flag‟right - carry‟right Z

flag‟low U carry‟low X

flag‟high - carry‟right Z

flag‟base std_logic carry‟base std_logic

VHDL

Atributos: Recurso importante de simulación

 

Page 67: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 67/247

Para un tipo T, siendo X un miembro de T y P un entero:

• T‟pos(X) : posición de X en T (se empieza por cero)

• T‟val(P) : valor situado en la posición P de T

• T‟leftof(X) : valor de T que está a la izquierda de X

• T‟rightof(X) : valor de T que está a la derecha de X

• T‟pred(X) : valor de T que está una posición delante de X

• T‟succ(X) : valor de T que está una posición detrás de X

flag‟pos(„0‟) 2

flag‟val(4)   „Z‟  

flag‟leftof(„1‟) „0‟  

flag‟rightof(„1‟) „Z‟  

flag‟pred(„1‟) „0‟  

flag‟succ(„1‟) „Z‟  

VHDL

Atributos: Recurso importante de simulación

 

Page 68: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 68/247

VHDL

Atributos:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

S´EVENT Retorna verdadero si ocurrió un evento en S duranteel corriente delta, de lo contrario devuelve falso.

S´ACTIVE Retorna verdadero si ocurrió una transición en S duranteel corriente delta, de lo contrario retorna falso.

S´LAST_EVENT Retorna el tiempo transcurrido desde la transición previade la señal S.

S´LAST_VALUE Retorna el valor previo de S antes del último evento.

S´LAST_ACTIVE Retorna el tiempo transcurrido desde la transacción previade la señal.

 

Page 69: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 69/247

Se definen en la parte declarativa de entidades, arquitecturas, bloques, procesos,procedimientos y paquetes. Son aplicables a casi cualquier objeto VHDL.

Para declarar un atributo:

attribute mi_atributo :tipo;attribute fanout :integer;

Especificación de atributo es por lo tanto:

attribute nombre_atributo of  elemento:tipo_elemento is valor_atributo;

signal bus_datos : bit_vector(7 downto 0);

atributte fanout of  bus_datos: signal is 4;Para acceder al valor de fanout a:

bus_datos‟fanout  4

VHDL

Atributos de usuario: 

 

Page 70: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 70/247

VHDL

Atributos:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Ejemplos: 

type resistencia is range 0 to 1e9

units

ohm;

Kohm =1000 ohm;

Mohm=1000 kokm;

end units resistencia;

resistencia’left=0

resistencia’right=1e9resistencia’low=0

resistencia’high=1e9

resistencia’ascending=true 

resistencia’image(2 kohm )=“2000 ohm” 

resistencia’value(“5 Mohm”)=5_000_000

 

Page 71: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 71/247

Ejemplo 2

type indice is range 21 downto 11;type nivel_logico is (desconocido, bajo, alta_impedancia, alto);

indice‟left=21 indice‟right=11indice‟low=11indice‟high=21

indice‟ascending=false indice‟image(14)=“14”  indice‟value(“20”)=20 

nivel_logico‟left=desconocidonivel_logico‟right=altonivel_logico‟low=desconocidonivel_logico‟high=altonivel_logico‟ascending=true nivel_logico‟image(alto)=“alto”  nivel_logico‟value(“bajo”)=bajonivel_logico‟pos(desconocido)=0nivel_logico‟val(3)=alto nivel_logico‟succ(deconocido)=bajo --T‟succ(alto): error ... nivel_logico‟pred(alta_impedancia)=bajo 

VHDL

 

Page 72: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 72/247

VHDL

Algunos ejemplos:

1. FLIP-FLOPs 

2. MEMORIA RAM 3. MAQUINA DE ESTADOS 

 

Page 73: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 73/247

INTRODUCCIÓN ALALGEBRA DE BOOLE Y LOSMAPAS DE KARNAUGH

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

CAPÍTULO III

 

Page 74: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 74/247

1854 George Boole “An invesigation of the laws of thought on which to found the mathematical theories of logic and  probabiblities”  

Operaciones del algebra de Boole:

Leyes Booleanas

- Ley conmutativa- Ley asociativa

- Ley distributivaFunciones Lógicas

Algebra de BOOLE

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 75: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 75/247

Un conjunto B dotado con dos operaciones algebraicas más (+) ypor (·) representa un álgebra de Boole, sí y sólo sí se verificanlos siguientes postulados:

1. Las operaciones + y · son conmutativas.

2. Existen en B dos elementos distintos representados por lossímbolos 0 y 1, respectivamente, tal que :

a + 0 = 0 + a = a  Para todo elemento a que pertenece a Ba · 1 = 1 · a = a  Para todo elemento a que pertenece a B 

El símbolo 0 es el elemento identidad para la operación (+) yel símbolo 1 es el elemento identidad para la operación (·) .

Algebra de BOOLE

Definición:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 76: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 76/247

3. Cada operación es distributiva para la otra, esto es:a + (b · c) = (a + b) · (a + c)a · (b + c) = (a · b) + (a · c)

4. Para cada elemento de B, por ejemplo el elemento a, existe unelemento a' también perteneciente a B tal que:

a + a' = 1a · a' = 0

Ejemplos:

Sea el conjunto B = { 0,1 }, y las dos operaciones + y · definidas

0 + 0 = 0 0 · 0 = 00 + 1 = 1 0 · 1 = 01 + 0 = 1 1 · 0 = 01 + 1 = 1 1 · 1 = 1

Algebra de BOOLE

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 77: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 77/247

Algebra de BOOLE

Interruptor Abierto equivale a nuestro 0 lógico

Interruptor Cerrado equivale a nuestro 1 lógico

La combinación es equivalente a

Es decir dos interruptores abiertos puestos en serie equivalen a un solointerruptor abierto.

Es equivalente a decir en el Algebra de Boole que: 0 . 0 = 0

Representación con interruptores.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 78: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 78/247

La combinaciónEs equivalente a:

Es decir que un interruptor abierto en serie con un interruptor cerrado,

equivale a un único interruptor abierto.Es equivalente a decir en el Algebra de Boole que: 0 . 1 = 0

igualmente, por la ley conmutativa se puede decir que: 1 . 0 = 0

La combinación

Es equivalente a:

Es decir que un interruptor cerrado en serie con un interruptor cerrado,equivale a un único interruptor cerrado.

Es equivalente a decir en el Algebra de Boole que: 1 . 1 = 1

Algebra de BOOLE

Representación con interruptores.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 79: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 79/247

La combinación

Es equivalente a:

Es decir dos interruptores abiertos puestos en paralelo, equivalen a un solointerruptor abierto.

Es equivalente a decir en el Algebra de Boole que: 0 + 0 = 0

La combinación

Es equivalente a:

Es decir un interruptor abierto en paralelo con un interruptor cerrado,equivale a un solo interruptor cerrado.

Es equivalente a decir en el Algebra de Boole que: 0 + 1 = 1

Algebra de BOOLE

Representación con interruptores.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 80: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 80/247

Algebra de BOOLE

Representación con interruptores.

Como ejemplo se analizará el siguiente circuito: 

La función de conmutación que activa la lámpara será:

Lámpara = (A + B) · C == (A OR B) AND C  

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 81: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 81/247

Las operaciones básicas del algebra de Boole son:

◦ Negación o complemento

◦ Adición◦ Producto

A B X = (A · B)

0 0 00 1 01 0 01 1 1

A X = A0 1

1 0

Algebra de BOOLE

A B X = (A + B)0 0 00 1 11 0 11 1 1

Operaciones básicas.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 82: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 82/247

Leyes del álgebra de BOOLE.

◦ Ley conmutativa

1. X + Y = Y + X 

2. X · Y = Y · X

◦ Ley asociativa

1. X + ( Y + Z ) = ( X + Y ) + Z = X + Y + Z 

2. X · ( Y · Z ) = ( X · Y ) · Z + (X · Y · X ) 

◦ Ley distributiva

1. X · ( Y + Z ) = ( X · Y ) + ( X · Z ) 2. ( W + X ) · ( Y + Z ) = W · Y + X · Y + W · Z + X · Z 

Algebra de BOOLE

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 83: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 83/247

Postulados del algebra de Boole

Se utilizan para simplificar las expresiones booleanas

1. X · 0 = 02. X · 1 = X3. X · X = X4. X · X' = 05. X + 0 = X6. X + 1 = 17. X + X = X

8. X + X‟ = 1 9. X‟‟ = X 10. X + (X · Y) = X11. X + (X‟ · Y) = X + Y 12. (X + Y) · (X + Z) = X + (Y · Z)

Algebra de BOOLE

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Page 84: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 84/247

Teoremas de Morgan

Los teoremas de Morgan sirven para transformar sumas lógicas enproductos lógicos o viceversa y pueden llegar a tener una granimportancia dado que todas las operaciones lógicas se puedenllegar a resolver con un mismo tipo de puerta.

Verifican matemáticamente la equivalencia de las compuertas:

NAND y negativa-OR

NOR y negativa-AND

1. (X + Y)‟ = X‟ · Y‟  2. (X · Y)‟  = X‟ + Y‟  

Algebra de BOOLE

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

l b d OO

Page 85: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 85/247

Funciones Lógicas

◦ Es un conjunto de variables relacionadas entre sí deacuerdo a las tres operaciones (  AND , OR , NOT  ), serepresenta como:

F = f (A, B, C, ...)

Algebra de BOOLE

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Al b d BOOLE

Page 86: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 86/247

Simplificación de circuitos lógicos

◦ Expresión Lógica puede estar en forma de:

Suma de productos (SOP) A·B·C + A·B·C

Producto de sumas (POS) (A+C) · (B+C+D)

Algebra de BOOLE

1. A partir de la Tabla de la verdad, obtener la expresión

lógica por medio de SOP o POS.2. Simplificar por medio de los postulados de Boole y el

teorema de Morgan o por mapa de Karnaugh.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

M d K h

Page 87: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 87/247

Mapas de Karnaugh

Es un método gráfico usado para la simplificación de funcionesde conmutación.

Propuesto por Maurice Karnaugh en 1953.

Los mapas de Karnaugh se componen de un cuadrado porcada minitérmino posible de una función lógica, así pues:

◦ 2 variables, 4 cuadrados

◦ 3 variables, 8 cuadrados◦ 4 variables, 16 cuadrados

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

M d K h d

Page 88: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 88/247

Mapa de Karnaugh para dosvariables

 A’B’   AB’ 

 A’B AB

0  2 

1  3 

0 1

0

1

A

B

m0 m2

m1 m3

A

B

Aquí se tienen tres vistas de un mapa de dos variables,las casillas sombreadas, por ejemplo, corresponden alminitérmino 2 donde A=1 y B=0

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Representando funciones en

Page 89: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 89/247

Representando funciones enun Mapa de Karnaugh (1)

Cuando se quiere llevar una función a un mapa, se colocaun 1 en el casillero correspondiente al minitérmino que

resultó como 1 en la función.

Los otros casilleros se dejan en blanco o en cero 0.

Si existen condiciones irrelevantes, es necesario poneruna X en los minitérminos correspondientes.

Realización.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Representando funciones en un

Page 90: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 90/247

Representando funciones en unMapa de Karnaugh (2)

1

1

0 1

0

1

a

b

1 X

1

0 1

0

1

A

B

F(a,b) = Σ m(0,3) F(A,B) = Σ m(0,3) + Σ d(2)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Condiciónirrelevante

 

M d K h 3

Page 91: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 91/247

Mapa de Karnaugh para 3variables

 A’B’C’   A’BC’   ABC’   AB’C’ 

 A’B’C   A’BC ABC  AB’C 

00 01 11 10 

0

1

AB

C

0 2 6 4

1 3 7 5

00 01 11 10 

0

1

AB

C

La idea con la codificación es poder usar el postulado: A·B + A·B‟ = A 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

M d K h 4

Page 92: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 92/247

Mapa de Karnaugh para 4variables

 A’B’C’D’   A’BC’D’   ABC’D’   AB’C’D’ 

 A’B’C’D   A’BC’D   ABC’D   AB’C’D 

 A’B’CD   A’BCD ABCD  AB’CD 

 A’B’CD’   A’BCD’   ABCD’   AB’CD’ 

00 01 11 10 

00

01

11

10

AB

CD

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

00 01 11 10 

00

01

11

10

AB

CD

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Ejemplo de adyacencia para un

Page 93: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 93/247

Ejemplo de adyacencia para unmapa de 4 variables

Los 1 en dos celdas adyacentes corresponden a un solo términode producto.

1 1

00 01 11 10 

00

01

11

10

AB

CD

1

1

00 01 11 10 

00

01

11

10

AB

CD

 AC’D   A’B’D’ 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Extendiendo el concepto de adyacencia

Page 94: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 94/247

Extendiendo el concepto de adyacenciapara agrupar más celdas

1 1 1 1

00 01 11 10 

0

1

AB

C

1 1 1 1

00 01 11 10 

0

1

AB

C

 A’C AC C

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Otros ejemplos para grupos de

Page 95: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 95/247

Otros ejemplos para grupos decuatro

1

1 1 1

1 1 1

1

00 01 11 10 

00

01

11

10

AB

CD

1 1

1 1

1 1

1 1

00 01 11 10 

00

01

11

10

AB

CD

 A’B’ AD B’D’ BD

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Grupos de 8 Llamados octetos

Page 96: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 96/247

Grupos de 8 Llamados octetos

1 1

1 1

1 1

1 1

00 01 11 10 

00

01

11

10

AB

CD

1 1 1 1

1 1 1 1

00 01 11 10 

00

01

11

10

AB

CD

 A’  D’ 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Ejemplo de simplificación usando

Page 97: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 97/247

Ejemplo de simplificación usandoMapas de Karnaugh

1 1

1 1 1

00 01 11 10 

0

1

xy

z

1 1

1 1 1

00 01 11 10 

0

1

xy

z

x’yz’ + x’yz + xy’z’ + xy’z + xyz 

1 1

1 1 1

00 01 11 10 

0

1

xy

z

x’y + xy’ + xz 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

P bl

Page 98: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 98/247

Problema

1.  f = a‟b‟c‟ + a‟bc‟ + a‟bc + ab‟c‟  Para la función f encontrar La suma de productos mínima usandoun mapa de karnaugh.

Para desarrollar en clase.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Ej l

Page 99: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 99/247

Decodificador de BCD a 7 segmentos

Utilizando las técnicas del diseño digital combinacional ylos Mapas de Karnaugh, diseñe un decodificador de BCD a7 segmentos.

Display de 7 segmentos

Número

binário

Descodificador

Ejemplo:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

S l ió l Ej l

Page 100: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 100/247

Decodificador BCD to 7 segmentos

0000

1000

0100

1100

0010

1010

01101110

0001

1001

B3

B2

B1

B0

a b c d e f g

1 01 1 1 11

11 00000

1 1 1110 0

1 11 1 1 11

1 11 1 0 01

0 11 0 0 11

1 11 1 0 10

1 11 1 1 1011 00001

1 11 1 0 11

Restantes casos 00 00000

Tabla de la verdad

Solución al Ejemplo

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

S l ió l Ej l

Page 101: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 101/247

1B2

B3

B0

B2

B3

B0

B2

B3

B1

B3

Ba 1B2

B3

B0

B1

B3

B0

B1

B3

B2

B3

Bb

B1

B0

0

01

1

00 01

1

11

1

0

00

01

00

1

11 10

00

01

11

10

B3

B2

a

B1B0

1

11

0

00 01

1

11

0

0

00

01

00

1

11 10

00

01

11

10

B3

B2

b

Decodificador BCD to 7 segmentos

Solución al Ejemplo

Mapas de Karnaugh

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

TALLER 1 (A l d Cl )

Page 102: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 102/247

TALLER 1 (Aula de Clase)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Utilizando los conceptos básicos para la síntesis de sistemascombinacionales y los lenguajes de descripción de hardware HDL,diseñe un decodificador de BCD a 7 segmentos.

Metodología: Dividir la clase en dos grupos con igual número deestudiantes, cada grupo desarrollará el diseño propuesto con la

siguiente característica:Grupo 1. Descripción en VHDL de un Decodificador BCD a 7  Segmentos para display de Ánodo común. Utilizando ISE XILINX.

Grupo 2. Descripción en VHDL de un Decodificador BDC a 7  

Segmentos para display de Cátodo común. Utilizando ISE XILINX.Utilizando como herramienta el simulador de XILINX, se pide unasimulación del sistema desarrollado por cada grupo. Discutir losresultados con sus compañeros de grupo e intercambiar ideas conel otro grupo.

 

TALLER 2 (Labo ato io)

Page 103: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 103/247

TALLER 2 (Laboratorio)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Cada grupo, una vez haya simulado el diseño, deberáimplementarlo en la tarjeta PEGASUS (Ver figura).

Características de la Implementación: Como entradas se utilizaránlos interruptores SW0 a SW3 de la tarjeta, la salida será uno delos cuatro displays siete segmentos propios de la tarjeta.

Tarjeta PEGASUS Spartan II [XC2S50 – PQ208]

DISPLAY SIETESEGMENTOS

SWITCHESSW0 a SW7

 

Page 104: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 104/247

LÓGICACOMBINACIONALMODULAR 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

CAPÍTULO IV

 

LÓGICA MODULAR

Page 105: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 105/247

LÓGICA MODULAR 

Generalidades:La lógica combinacional modular hace referencia a diseñosestructurados de alta complejidad, de ahí el nombre modular,porque esta compuesto de módulos. Estos sistemas se clasifican

como: MSI   (Medium Scale Integration),  LSI   (Large ScaleIntegration), VLSI (Very Large Scale Integration).

Entre los dispositivos estándar más comunes de la lógicacombinacional modular se tienen:

1. Comparadores2. Codificadores y Decodificadores3. Multiplexores y Demultiplexores4. Sumadores.5. Memorias.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

COMPARADORES

Page 106: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 106/247

COMPARADORES

Utiliza compuertas OR exclusiva , admite dos bits e indicaen su salida si los dos bits son iguales o diferentes. Tambiénexisten comparadores que permiten establecer si dosnúmeros de un bit son: =, > ó <. Su diseño se realizaaplicando técnicas digitales y algebra de BOOLE.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Comparador simple, detecta igualdad Comparador de magnitud (=, < ó >)

 

DECODIFICADORES

Page 107: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 107/247

DECODIFICADORES

Sólo una salida se activa por cada código de entrada,puede ser activado por un alto y el resto permanecen enbajo o se activan en bajo y el resto permanecen en alto

DECODIFICADOR

A0

A1

A2

A3

·

·

AN-1

X0

X1

X2

X3

·

·

XM-1

HABILITADORES

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Código de entrada:Binario, Gray, etc.

Salida exclusiva:

una por cada códigode entrada

 

Page 108: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 108/247

A2 A1 A0 O7 O6 O5 O4 O3 O2 O1 O0

0 0 0 0 0 0 0 0 0 0 1

0 0 1 0 0 0 0 0 0 1 00 1 0 0 0 0 0 0 1 0 0

0 1 1 0 0 0 0 1 0 0 0

1 0 0 0 0 0 1 0 0 0 0

1 0 1 0 0 1 0 0 0 0 0

1 1 0 0 1 0 0 0 0 0 0

1 1 1 1 0 0 0 0 0 0 0

E1 E2 E3 SALIDA

0 0 1 Habilitado

1 X X Deshabilitado (Altos)

X 1 X Deshabilitado (Altos)X X 0 Deshabilitado (Altos)Internamente esta formado Por

compuertas AND, NAND y NOT

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

A2 A1 A0

E1 E2 E3

DEC 3:8

74LS138

Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0

 

MEMORIA

Page 109: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 109/247

DIRECCION DATO

DECODIFICADOR 6 A 64

SALIDAS

ENTRADAS

MEMORIADecodificador de direcciones paramemoria RAM ó ROM

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

CODIFICADORES

Page 110: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 110/247

CODIFICADORES

Número de líneas a la entrada, al activarse una, produceun código de salida de N bits

CODIFICADOR

A0

A1

A2

·

·

AM-1

X0

X1

X2

·

·

XN-1

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Código de Salida:Binario, Gray, etc.Líneas de Entrada:Al seleccionar una seactiva un código de

salida

  

CODIFICADOR 8:3

Page 111: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 111/247

Internamente formado porcompuertas NOT Y OR

A0 A1 A2 A3 A4 A5 A6 A7 O2 O1 O0

X 1 1 1 1 1 1 1 0 0 0

X 0 1 1 1 1 1 1 0 0 1

X 1 0 1 1 1 1 1 0 1 0

X 1 1 0 1 1 1 1 0 1 1

X 1 1 1 0 1 1 1 1 0 0X 1 1 1 1 0 1 1 1 0 1

X 1 1 1 1 1 0 1 1 1 0

X 1 1 1 1 1 1 0 1 1 1

CODIFICADOR 8:3

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

CODIFICADOR 8 líneas a 3 líneas

A0 A1 A2 A3 A4 A5 A6 A7

O2 O1 O0

E

 

MULTIPLEXORES

Page 112: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 112/247

MULTIPLEXORES

Selecciona una de varias señales de entrada y la envía a lasalida

MULTIPLEXOR

I0

I1·

·

IN-1

SALIDA

SELECTOR DE DATOS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

El multiplexor puede ser uniseñal o multiseñal, o sea datosindividuales de un (1) bit o datos en forma de BUS

 

MUX 74ALS151

Page 113: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 113/247

E S2 S1 S0 Z Z

1 X X X 1 0

0 0 0 0 I0 I0

0 0 0 1 I1 I1

0 0 1 0 I2 I2

0 0 1 1 I3 I30 1 0 0 I4 I4

0 1 0 1 I5 I5

0 1 1 0 I6 I6

0 1 1 1 I7 I7

Internamente formado porCompuertas AND, OR y NOT

MUX 74ALS151

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

MUX 74ALS151

I0 I1 I2 I3 I4 I5 I6 I7 E

S0

S1

S2

Z Z

 

APLICACIONES

Page 114: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 114/247

Enrutamiento de datos: Utilizando un MUX 74ALS157 selecciona el contenido de los contadores BCD y lo envía alos visualizadores

APLICACIONES

CONTADOR 1

DECENAS

MUX MUX

DECODIFICADORES DECODIFICADORES

VISUALIZADORVISUALIZADOR

CONTADOR 1

UNIDADES

CONTADOR 2

DECENAS

CONTADOR 2

UNIDADES

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

APLICACIONES

Page 115: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 115/247

Conversión paralelo a serial

APLICACIONES

MUX

RELOJ

DATOS Salida Serial

D0

D1

D2

D3

D4

D5

D6

D7

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DEMULTIPLEXOR

Page 116: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 116/247

DEMULTIPLEXOR 

Una entrada activa una salida, la cuál se escoge por mediode las líneas de selección

Demultiplexor de 1 a 4

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

SALIDAS

DEMUXENTRADAS

SELECTORES

HABILITADOR

 

DEMULTIPLEXOR

Page 117: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 117/247

DEMULTIPLEXOR 

TABLA DE EXCITACIÓN

E S1 S0 X0 X1 X2 X3

0 0 00

1 1 1

0 0 1 1 0 1 1

0 1 0 1 1 0 1

0 1 1 1 1 1 0

1 X X 1 1 1 1

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

ESTÁNDARES COMERCIALES

Page 118: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 118/247

74138: Demux/decodificador de 3 a 874139: Demux/decodificador de 2 a 4, doble74141: Decodificador/driver BCD - decimal74154: Demux/Decodificador de 4 a 1674159: Demux/decodificador de 4 a 16 con salidas de open colector74155: Demux/decodificador doble de 2 a 4

74156: igual al 74155, pero con salidas de colector abierto

La siguiente es una lista de los demultiplexores/decodificadoresmás populares en circuito integrado de la familia TTL.

ESTÁNDARES COMERCIALES

DEMULTIPLEXORES/DECODIFICADORES COMERCIALES

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DECO/DEMUX 74138

Page 119: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 119/247

DECO/DEMUX 74138

Arquitectura para el DECO/DEMUX 74138

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DECO/DEMUX 74138

Page 120: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 120/247

DECO/DEMUX 74138

Tabla de la verdad para el DECO/DEMUX 74138

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DECO 4:16 CON 74138

Page 121: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 121/247

DECO 4:16 CON 74138

En la siguiente figura se muestra como implementar unDecodificador de 4 a 16 usando circuitos 74138

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

APLICACIONES DEL MUX - DEMUX

Page 122: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 122/247

Comunicaciones digitales

MUX DEMUX

SELECTORES

SALIDAS

ENTRADAS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

APLICACIONES DEL MUX DEMUX

 

APLICACIONES DEL DEMUX

Page 123: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 123/247

Selección de memoria

RAM1 RAM2 RAM3 RAM4

SELECTORES

SALIDAS

ENTRADA

DEMUX1 A 4

APLICACIONES DEL DEMUX

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

REALIZACIÓN DE FUNCIONES

Page 124: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 124/247

REALIZACIÓN DE FUNCIONES

Utilizando decodificadoresUn circuito decodificador completo genera todos los productosfundamentales (minitérminos) de las variables de entrada.

Cuándo las salidas del decodificador son activas a nivel bajo, para realizar lafunción en suma de productos basta con conectar las salidas,

correspondientes a los minitérminos de la función, a puertas NAND:

Por ejemplo: F(X,Y,Z) =   m(0, 3, 6)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

REALIZACIÓN DE FUNCIONES

Page 125: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 125/247

REALIZACIÓN DE FUNCIONES

Utilizando decodificadoresA veces puede ocurrir que senecesita decodificar más líneas delas que permite el circuito (Deco),se bebe entonces construir un

decodificador de mayor tamañousando decodificadores máspequeños.

Por ejemplo para 4 bits (X,Y,Z,W).

Se utilizan dos decodificadores de 3:8,con la lógica dispuesta para ampliarsu salida 4:16. (ver figura) 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

REALIZACIÓN DE FUNCIONES

Page 126: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 126/247

REALIZACIÓN DE FUNCIONES

Utilizando MultiplexoresSe parte de la siguiente afirmación: un multiplexor de 2n  entradas puede

realizar cualquier función lógica de n+1 variables.

Se pueden usar dos métodos:

• Método algebraico• Método tabular

Se estudiará este último, y se seguirá mediante un ejemplo:

1. A partir de la expresión canónica se escoge un MUX determinado:

Ej: Sea f(A,B,C,D) =  4m(0,2,3,7,8,13,15), Al ser una función de 4 

variables se necesita un MUX de 8:1 líneas (o sea, con tres variables decontrol).

2. Se crea un mapa de Karnaugh de manera que la numeración en lascolumnas, coincida con la entrada que se pretende seleccionar. (Señalesde control del MUX)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

REALIZACIÓN DE FUNCIONES

Page 127: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 127/247

REALIZACIÓN DE FUNCIONES

Utilizando MultiplexoresAsí, las columnas, vendrán determinadas por las variables de control delMUX, y las filas por el dato o los datos que se quieren transmitir. Lasvariables de control deben ser las de menor peso. Evaluando cada columnase identifica el valor que hay que colocar en cada entrada.

Ej: Realización del mapa para la función propuesta:

f(A,B,C,D) = 4m(0,2,3,7,8,13,15)

BCDA

I0000

I1001

I2010

I3011

I4100

I5101

I6110

I7111

0 1 0 1 1 0 0 0 1

1 1  0 0 0 0 1 0 10 1 2 3 4 5 6 7

138 9 10 11 12 14 15

1 0 /A /A 0 A 0 1Resultado:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

REALIZACIÓN DE FUNCIONES

Page 128: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 128/247

REALIZACIÓN DE FUNCIONES

Utilizando Multiplexores

3. Realizar el diagramalógico del circuitocolocando en cadaentrada de datos lo quela tabla indique.

Ej: La tabla indica que enla entrada I0  del MUX,se debe colocar un 1;en la I1, un 0; y así 

sucesivamente.

El circuito resultante seaprecia en la siguientefigura:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

TALLER

Page 129: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 129/247

TALLER 1. Dado el circuito mostrado en la figura, se pide:

Tabla de verdad del sistema Ecuación Booleana de salida Reducción de la función de conmutación Implementar el circuito con compuertas lógicas Implementar el circuito final con MUX. (Se requiere la mayor

eficiencia, eficacia y efectividad)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

TALLER

Page 130: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 130/247

TALLER 2. Un sistema combinacional está representado por la siguiente

función de conmutación:

F(X,Y,Z) = m(0, 2, 6, 8, 9, 11, 15) + d(1, 5, 7, 13) 

Se pide:

Tabla de verdad del sistema Ecuación Booleana de salida Reducción de la función de conmutación Implementar el circuito con compuertas lógicas Implementar el circuito final con Decodificadores. (Se requiere

la mayor eficiencia, eficacia y efectividad)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

TALLER

Page 131: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 131/247

TALLER 

3. Deducir la funciónque realiza elsiguiente circuito yelaborar su tablade verdad.¿Es óptimo este

sistema? Justifiquesu respuesta.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

Í

Page 132: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 132/247

DISPOSITIVOSLÓGICOSPROGRAMABLES

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

CAPÍTULO V

 

DISPOSITIVOS LÓGICOS

Page 133: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 133/247

Módulos combinacionales:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Los dispositivos lógicos programables, cuyo acrónimo en ingles esPLD‟s, son dispositivos diseñados atendiendo los siguientesconceptos: 

1. Funcionalidad completa: La cual se fundamenta en el hecho deque cualquier función lógica se puede realizar mediante unasuma de productos.

2. Celdas de funciones universales: También denominadasgeneradores de funciones, son bloques lógicos configuradospara procesar cualquier función lógica, similares en sufuncionamiento a una memoria. En estas celdas se almacenanlos datos de salida del circuito combinacional en vez deimplementar físicamente la ecuación Booleana. 

 

DISPOSITIVOS LÓGICOS

Page 134: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 134/247

Digital Logic

ProgammableLogic Devices ASICsStandard Logic Full Custom

FPGAs

GateArrays

SPLDs CPLDs

CMOS4xxx

TTL74xx

StandardCells

Microprocessor& RAM

Clasificación General:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 135: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 135/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Clasificación específica:PLA

Programmable Logic Array

Son los dispositivos más antiguos.Consiste en dos matrices lógicas programables de puertas AND y OR.Se puede expresar cualquier función lógica como suma de productos

PAL

Programmable Array Logic

Mejoran las PLA y disminuyen el coste.

Actualmente se conocen como PLD ó SPLD. Consiste en una matrizAND programable, una matriz OR fija, y lógica de salida. Las GAL sonmuy parecidas, pero con lógica de salida programable su nombreproviene del acrónimo “Generic Array Logic” .

CPLD

Complex PLD

Las CPLD surgen debidas a que los PLD no podían ser escalados amayores dimensiones debido a su estructura de dos niveles. Es unacolección de varios PLDs y una estructura de interconexión. Tanto los

PLDs, como la estructura de interconexión son programables.

FPGA

Field Programmable GateArrays

Es otra solución al problema de escalado de los PLDs. Los bloqueslógicos programables son de menor tamaño que en los CPLD, pero laestructura de interconexión es mucho más compleja. Utiliza CLBs,LUTs, MUX, IOB y Matriz de interconexiones.

 

DISPOSITIVOS LÓGICOS

Page 136: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 136/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Designación:

PAL ó GAL

 

DISPOSITIVOS LÓGICOS

Page 137: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 137/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Estructura:

 

DISPOSITIVOS LÓGICOS

Page 138: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 138/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

PAL con salida combinacional: PAL16L8

 

DISPOSITIVOS LÓGICOS

Page 139: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 139/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

PAL con salida a registro: PAL16R8

 

DISPOSITIVOS LÓGICOS

Page 140: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 140/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Estructura de la celda para una PAL16R8

Flip-Flop tipo “D”  

Buffer de salida

Puerta OR fija

Buffer de entrada

Matriz de programación 

Reloj dedicado 

Puertas AND programables

 

DISPOSITIVOS LÓGICOS

Page 141: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 141/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

8 Salidas a Macrocelda. 8 Términos producto por salida. PIN 1: Señal global de reloj CLK PIN 11: /OE Salida Tri-estado. PIN 20: Alimentación 5 Vdc. PIN 10: Tierra del sistema GND.

Distribución de pines

Características de la GAL16V8

GAL: Generic Array Logic 

 

DISPOSITIVOS LÓGICOS

Page 142: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 142/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Estructura de una GAL16V8

 

DISPOSITIVOS LÓGICOS

Page 143: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 143/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Estructura de la celda (OLMC) para una GAL16V8

HOMEWORK: El estudiante debe investigar sobre la estructura de una GAL22V10, para realizar uncuadro comparativo que determine las características de las OLMC.

 

DISPOSITIVOS LÓGICOS

Page 144: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 144/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Hay tres configuraciones posibles para la macrocelda OLMC que son:simple, complejo y registrado.

Existen dos bits globales que son SYN y AC0 para el control del modo

de configuración. El bit XOR para control de la polaridad de la salida encualquiera de los tres modos, mientras que el bit AC1 para el control dela configuración de la entrada/salida de las macroceldas.

1. En modo simple todos los pines de salida son realimentados por lospines adyacentes.

2. En modo registrado, el pin 1 y el pin 11 son configurados como relojy habilitación de la salida respectivamente.

3. En modo complejo el pin 1 y el pin 11 se usan como entradas y sirvenpara retroalimentar los pines 19 y 12 respectivamente.

OLMC: Output Logic Macrocell

 

DISPOSITIVOS LÓGICOS

Page 145: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 145/247

Modo Registrado: Salida a Registro

• SYN= 0.• AC0= 1.• XOR= 0 defines Active Low Output.• XOR= 1 defines Active High Output.• AC1= 0 defines this output configuration.• Pin 1 controls common CLK for the registered outputs.• Pin 11 controls common /OE for the registered outputs.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 146: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 146/247

Modo Registrado: Salida Combinacional

• SYN = 0.• AC0 = 1.• XOR = 0 defines Active Low Output.• XOR = 1 defines Active High Output.• AC1 = 1 defines this output configuration.• Pin 1 & Pin 11 are permanently configured as CLK & /OE for registered output configuration.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 147: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 147/247

Modo Complejo: I/O Combinacional

• SYN = 1.• AC0 = 1.• XOR = 0 defines Active Low Output.• XOR = 1 defines Active High Output.• AC1 = 1.• Pin 13 through Pin 18 are configured to this function.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 148: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 148/247

Modo Complejo: Salida Combinacional

• SYN=1.• AC0=1.• XOR=0 defines Active Low Output.• XOR=1 defines Active High Output.• AC1=1.• Pin 12 and Pin 19 are configured to this function.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 149: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 149/247

Modo Simple: Salida Combinacional con Feedback

• SYN = 1.• AC0 = 0.• XOR = 0 defines Active Low Output.• XOR = 1 defines Active High Output.• AC1 = 0 defines this configuration.• All OLMC except Pin 15 & 16 can be configured to this function.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 150: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 150/247

Modo Simple: Salida Combinacional

• SYN = 1.• AC0 = 0.• XOR = 0 defines Active Low Output.• XOR = 1 defines Active High Output.• AC1 = 0 defines this configuration.• Pin 15 & 16 are permanently configured to this function.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 151: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 151/247

Modo Simple: Entrada dedicada

• SYN = 1.• AC0 = 0.• XOR = 0 defines Active Low Output.• XOR = 1 defines Active High Output.• AC1 = 1 defines this configuration.• All OLMC except Pin 15 & 16 can be configured to this function.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 152: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 152/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Los PLDs que se han mencionado aquí son útiles para circuitosrelativamente pequeños, típicamente no más de 32 entradas ysalidas. No obstante es posible teóricamente construir circuitos

mayores, pero es preferible usar otros dispositivos de mayorcomplejidad.

Los PLDs son dispositivos muy vulnerables al ruido, por lo tanto losdiseños realizados con estos dispositivos merecen especial atenciónen la implementación de circuitos que permitan aumentar

considerablemente la relación señal/ruido. Normalmente se utilizaun capacitor de poliester de 0.01 uF a 50 voltios, conectado entreel polo positivo de la fuente y tierra, lo más cercano posible al chip.

Aplicación de los PLDs

 

DISPOSITIVOS LÓGICOS

Page 153: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 153/247

CPLD (Complex programmable logic device), es una arreglo debloques de PLDs y una red de interconexiones programables.Algunos CPLDs comerciales están conformados por cientos debloques de PLDs.

FPGA (field programmable gate array), son usados para circuitoscon mayor grado de complejidad, en vez de usar PALs, los FPGAs usan como bloque básico lógico una tabla de busqueda (look uptable), con memoria RAM, multiplexores y flip flops.

Cuando los diseños requieren cierta complejidad y recursos dehardware, es necesario recurrir a otros dispositivos lógicosprogramables de mayor tamaño y estructura, a continuación sehace una breve descripción de los CPLD y FPGA.

CPLDs y FPGAs:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 154: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 154/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Arquitectura de un CPLD Familia 9500 de xilinx:

  

DISPOSITIVOS LÓGICOS

Page 155: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 155/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Detalles de la Macrocelda del XC9500:

 

DISPOSITIVOS LÓGICOS

Page 156: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 156/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Detalles del bloque desalida para XC9500:

 

DISPOSITIVOS LÓGICOS

Page 157: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 157/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Características de la familia XC9500:

 

DISPOSITIVOS LÓGICOS

Page 158: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 158/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Arquitectura de un FPGA:En la figura se puede apreciar laarquitectura de un FPGA de lafamilia XILINX, obsérvese queexisten cuatro cuadrantes de

Bloques Lógicos Configurablescomunicados a través de unamatriz de interconexiones; éstosa su vez alimentan los BloquesLógicos de Entrada/Salida.Existen además unos bloques de

memoria RAM, quienesdeterminan las tablas debúsqueda llamadas Look UpTable.

 

DISPOSITIVOS LÓGICOS

Page 159: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 159/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Estructura básicade un CLB:

1. Contiene una tabla de n entradas.

2. Esta rodeado por canales decableado (varios segmentos)

3. La salida del CLB es conectada asegmentos cableados usando PIPs(Programmable InterconectionPoint)

4. Si el bloque no se usa, todos los

PIPs se desconectan y el bloqueno genera señal a ningúnsegmento, y el segmento puedeser usado para otras señales.

 

DISPOSITIVOS LÓGICOS

Page 160: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 160/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

CLB (Configured Logic Block):1. Se puede Implementar

lógica combinacional, 2n por cada celda dememoria. Usando n 

entradas 2^2n

2. Se programa cargandoel patrón de bits de latabla de verdad de lafunción.

3. Las entradas no usadasse mantienen a nivel

bajo o se duplica lalógica.

4. Punto de InterconexiónProgramables (PIP).

5. Contiene Multiplexores.

 

DISPOSITIVOS LÓGICOS

Page 161: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 161/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Matriz de Interconexiones Programable:

Consta de canales deconexiones de propósitogeneral, conexionesdirectas, canales de ruteovertical y canales deruteo horizontal,denominados líneas delargo recorrido.

Líneas de interconexión:

1.  Directas.2.  De propósito general3.  Globales

 

DISPOSITIVOS LÓGICOS

Page 162: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 162/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Estructura del IOB: (Input/Output Block)

 

DISPOSITIVOS LÓGICOS

Page 163: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 163/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Comparativo entre CPLD y FPGA:1. Lógica

• CPLD: Las funciones se implementan utilizando lógicaAND/OR de dos niveles.

- Puertas AND con muchas entradas

• FPGA: Las funciones se implementan utilizando múltiples

niveles de lógica con puertas de menor fan in.

- LBs más sencillos pero en mayor número.

2. Interconexión• CPLD: Interconexión tipo crossbar. Cada salida de LB es

directamente interconectable a cada entrada a través de1 o 2 interruptores– Tiempo predecible

• FPGA: Interconexión segmentada. Las conexiones entreLBs típicamente pasan a través de varios interruptores

 

DISPOSITIVOS LÓGICOS

Page 164: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 164/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

MEMORIAS: Terminología empleada.Celdas de Memoria : Dispositivo o circuito eléctrico que se usapara almacenar un solo bit (0 ó 1).Palabra de Memoria: Grupo de celdas de memoria que representaninstrucciones o datos de algún tipo. Algunas palabras de memoria

son:NIBBLE: Palabra de 4 bits.BYTE: Palabra de 8 bits.WORD: Palabra de 16 bits.

Capacidad de Memoria: Forma de especificar el número de bits

que puede almacenar una memoria o bien un sistema de memoriacompleto.

Capacidad = #Palabras X #Bits de cada Palabra

 

DISPOSITIVOS LÓGICOS

Page 165: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 165/247

CLASIFICACIÓN DE LAS MEMORIAS:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 166: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 166/247

Ejemplo Memoria PROM 16X4:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 167: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 167/247

Organización y Capacidad de un Memoria:

Una Memoria, cualquiera sea sutipo, cuenta con tres elementosesenciales:

1. Un BUS de Direcciones.

2. Un BUS de Control.

3. Un BUS de Datos.

La organización de la memoria

se detalla en el cuadro adjunto.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISPOSITIVOS LÓGICOS

Page 168: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 168/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Diagrama Funcional de un Memoria RAM:

PIN DESCRIPCIÓN

A0 – A9 (Address Input). Entrada de Direcciones

D0 – D3 (Data Input/Output). Entrada/Salida de Datos

/CS (Chip Select). Selección del CHIP

/WE (Write Enable). Habilitación de Escritura

/OE (Output Enable). Habilitación de salida

DESCRIPCIÓN DE PINES

MODO /CS /WE /OE BUS DATOS

INACTIVO 1 X X HIGH Z

LECTURA 0 1 0 Dout 

LECTURA 0 1 1 HIGH Z

ESCRITURA 0 0 X Din

MODOS DE FUNCIONAMIENTO

 

DISPOSITIVOS LÓGICOS

Page 169: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 169/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Conformación de un Banco de Memorias:

Uno de los problemas que enfrenta eldiseño de sistemas micro-procesados

es la conformación de Bancos deMemorias que permitan aumentar lacapacidad de la palabra; en la figura sepuede observar como se interconectandos memorias RAM tipo PCD6114(1kX4 bits), para obtener una Memoriade 1kX8 bits.

 

DISPOSITIVOS LÓGICOS

Page 170: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 170/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

Conformación de un Banco de Memorias:

La figura muestra un modelo

de banco de memoria quepermite aumentar la palabra yla longitud de la misma.

  

DESCRIPCIÓN 1 EN VHDL DEUNA MEMORIA RAM

Page 171: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 171/247

-- Descripción de un memoria RAM-- Libreríaslibrary IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.Numeric_Std.all;-- Entidadentity sync_ram isport ( clock : in  std_logic;

we : in  std_logic;address : in std_logic_vector;datain : in  std_logic_vector;

dataout : out std_logic_vector);end entity sync_ram;-- Arquitecturaarchitecture behavioral of  sync_ram istype ram_type is array (0 to (2**address'length)-1) of  std_logic_vector(datain'range);signal ram : ram_type;signal read_address : std_logic_vector(address'range);begin

RamProc: process(clock) isbegin

if  rising_edge(clock) thenif we = '1' thenram(to_integer(unsigned(address))) <= datain;

end if ;read_address <= address;

end if ;end process RamProc;

dataout <= ram(to_integer(unsigned(read_address)));end architecture behavioral;

UNA MEMORIA RAM

  

DESCRIPCIÓN 2 EN VHDL DEUNA MEMORIA RAM

Page 172: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 172/247

------------------------------------------------------------------------------------- Otro modelo de descripción-----------------------------------------------------------------------------------library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;-----------------------------------------------------------------------------------entity SRAM is

generic( width: integer:=4;depth: integer:=4;addr: integer:=2);

port( Clock: in std_logic;Enable: in std_logic;ReadD: in std_logic;

WriteD: in std_logic;Read_Addr: in std_logic_vector(addr-1 downto 0);Write_Addr: in std_logic_vector(addr-1 downto 0);Data_in: in std_logic_vector(width-1 downto 0);Data_out: out std_logic_vector(width-1 downto 0));

end SRAM;----------------------------------------------------------------------------------

UNA MEMORIA RAM

 

DESCRIPCIÓN 2 EN VHDL DEUNA MEMORIA RAM

Page 173: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 173/247

UNA MEMORIA RAM

------------------------------------------------------------------------------------------ Declaración de la arquitectura y el tipo definido por el usuario ram_type----------------------------------------------------------------------------------------architecture behav of SRAM istype ram_type is array (0 to depth-1) of  std_logic_vector(width-1 downto 0);signal tmp_ram: ram_type;

begin -- Proceso de lectura de la memoria RAM process(Clock, Read)

begin if (Clock'event and Clock='1') then if Enable='1' then if Read='1' then 

Data_out <= tmp_ram(conv_integer(Read_Addr));else 

Data_out <= (Data_out'range => 'Z');end if ;

end if ;end if ;

end process;

 

DESCRIPCIÓN 2 EN VHDL DEUNA MEMORIA RAM

Page 174: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 174/247

UNA MEMORIA RAM

------------------------------------------------------------------------------- Proceso para la escritura de la memoria-----------------------------------------------------------------------------

process(Clock, Write)begin if (Clock'event and Clock='1') then 

if Enable='1' then if Write='1' then tmp_ram(conv_integer(Write_Addr)) <= Data_in;

end if ;end if ;

end if ;end process;

end behav;----------------------------------------------------------------------------------

 

CAPÍTULO VI

Page 175: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 175/247

SISTEMAS SECUENCIALESY LÓGICA SECUENCIAL

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

CAPÍTULO VI

 

INTRODUCCIÓN

Page 176: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 176/247

Sistemas secuenciales síncronos y asíncronos.

Elementos básicos de memoria:

RegistrosContadoresMemorias de acceso aleatorio (RAM)Dispositivos lógicos programables (PLDs)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

SISTEMA SECUENCIAL

Page 177: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 177/247

Una misma combinación de

entradas puede generar 

distinta salida ya que elestado puede ser distinto

dependiendo de la historia

de las entradas.

La historia pasada de las

entradas está representada

en el estado que posea el

circuito

MODELO GENERAL

MODELO GENERAL

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

SISTEMA SECUENCIAL

Page 178: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 178/247

En el modelo general el valor de las salidas Zi depende, a

través de la función de salida que implementa el circuito

combinacional, no sólo de los valores actuales de las

entradas Xi, sino también del contenido actual de los

elementos de memoria 

En estos elementos, lo que se almacena es el llamado estado

actual del sistema secuencial (registro histórico).

El paso desde el estado actual del sistema a un estado

siguiente, viene a su vez definido por la llamada función detransición de estados [que depende de los valores actuales

de las entradas y del estado actual].

Características de funcionamiento

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

SISTEMA SECUENCIAL

Page 179: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 179/247

Los sistemas secuenciales pueden sersíncronos o asíncronos.

1. Sistema Secuencial Síncrono: es aquel sistema secuencialen el que los cambios deestado se producen cuando serecibe una señal de activacióna través de una entradaespecial del sistema,denominada “entrada de

reloj”.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

SISTEMA SECUENCIAL

Page 180: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 180/247

Señal de reloj

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

SISTEMA SECUENCIAL

Page 181: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 181/247

Señal de reloj

Sistemas Activados por Nivel: es necesario que su señal deactivación alcance el nivel alto para que se produzcan los cambiosde estado en el sistema.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

SISTEMA SECUENCIAL

Page 182: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 182/247

Señal de reloj

Sistemas Activados por Flanco (de subida o bajada):  loscambios de estado se producen únicamente durante los flancos desubida o de bajada de la señal de activación del sistema

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

SISTEMA SECUENCIAL

Page 183: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 183/247

2. Sistema Secuencial Asíncrono: es aquel sistema secuencialen el que los cambios de estado se producen cuando cambiaalguna de sus entradas, sin necesidad de que se active por unaseñal de reloj.

De esta forma, el cambio en las salidas se produce de forma

inmediata en respuesta al cambio en las entradas.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

BIESTABLES

Page 184: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 184/247

Latch Cerrojo con inversores. Latch SR Asíncrono

Con Puertas NOR.

Con Puertas NAND.

Latch SR Síncrono. Con entradas Asíncronas.

Latch D Síncrono.

Flip Flop D Master – Slave.

Flip Flop JK.

Flip Flop T.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

BIESTABLES

Page 185: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 185/247

Circuito secuencial con dos estados estables (salida 0 y salida 1)en los que se pueden mantener indefinidamente.

• Objetivo: almacenar un bit (memoria).

Introducción

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

BIESTABLES

Page 186: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 186/247

Latch (Cerrojo) con inversores

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

BIESTABLES

Page 187: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 187/247

Latch SR NOR 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

FUNCIONAMIENTO INHIBIDO

 

LATHC SR CON PUERTAS NOR 

Page 188: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 188/247

TABLA DE LA VERDAD

FUNCIONAMIENTO INHIBIDO

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR CON PUERTAS NOR FUNCIONAMIENTO RESET

Page 189: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 189/247

FUNCIONAMIENTO RESET

TABLA DE LA VERDAD

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR CON PUERTAS NOR FUNCIONAMIENTO SET

Page 190: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 190/247

FUNCIONAMIENTO SET

TABLA DE LA VERDAD

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR CON PUERTAS NOR FUNCIONAMIENTO NO PERMITIDO

Page 191: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 191/247

FUNCIONAMIENTO NO PERMITIDO

TABLA DE LA VERDAD

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR CON PUERTAS NOR 

Page 192: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 192/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR CON PUERTAS NOR DIAGRAMA DE TIEMPOS

Page 193: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 193/247

DIAGRAMA DE TIEMPOS

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR CON PUERTAS NAND

Page 194: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 194/247

Latch S-R con puertas NAND: 

las entradas S y R  se activanahora por nivel bajo

En tecnología TTLlas puertas NAND seprefieren a las NOR 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR (NAND)CARACTERÍSTICAS DE FUNCIONAMIENTO

Page 195: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 195/247

CARACTERÍSTICAS DE FUNCIONAMIENTO

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR SÍNCRONO

Page 196: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 196/247

Los latches-SR vistos hasta ahora son:• Activos por nivel („Latches‟). 

•  Asíncronos.

Si se agrega una señal de reloj al latch-SR anterior, se obtiene:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR SÍNCRONOCARACTERÍSTICAS DE FUNCIONAMIENTO

Page 197: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 197/247

CARACTERÍSTICAS DE FUNCIONAMIENTO

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC SR SÍNCRONOENTRADAS ASÍNCRONAS

Page 198: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 198/247

ENTRADAS ASÍNCRONAS

Biestable SR síncrono con entradas de Preset y Clear asíncronas.

•  CLEAR   Puesta a cero („0‟) asíncrona.

•  PRESET  Puesta a uno („1‟) asíncrona

Tienen prioridad sobre las señales de reloj y permiten poner el estado de uno(„1‟) o de cero („0‟).

Latch SR síncrono activo por nivel alto de reloj, con entradas asíncronas PRESET yCLEAR activas por nivel bajo.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

LATHC D SÍNCRONOBIESTABLE D ACTIVO POR NIVEL

Page 199: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 199/247

BIESTABLE D ACTIVO POR NIVEL

Se utilizan para la implementación de elementos de memoria, cuya únicafinalidad es es almacenar el valor de la línea de información (un bit).

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

L L t h bi t bl ti i l

FLIP-FLOPs

Page 200: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 200/247

Los Latches son biestables activos por nivel:

Problema:

si hay un pulso no deseado en la entrada de datos el pulsono deseado se trasladará a la salida.

Se necesita un elemento de almacenamiento que no puedacambiar su estado más de una vez durante un ciclo de reloj

Solución:

biestables activos por flanco   

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

FLIP-FLOP D MASTER-SLAVEBIESTABLE “D” ACTIVO POR FLANCO DE BAJADA 

Page 201: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 201/247

Para implementar biestables que se activen por flanco se utiliza laconfiguración MASTER-SLAVE o MAESTRO-ESCLAVO. Ver figura.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

FLIP-FLOP D MASTER-SLAVEDIAGRAMA DE TIEMPOS

Page 202: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 202/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

FLIP-FLOP D MASTER-SLAVECARACTERÍSTICAS DE FUNCIONAMIENTO

Page 203: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 203/247

Flip-Flop D Master-Slave activado por flanco de subida.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

BIESTABLE J-K

Problema:

Page 204: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 204/247

Problema: 

En el biestable S-R se presenta una situación indeseada, cuando S y R son iguales a uno („1‟) 

Solución:

Determinar un estado cuando se dé esta situación, por ejemploque el biestable cambie de estado (Q(t+1) = /Q(t)).

J va a actuar como la S del biestable S-R

K va a actuar como la R del biestable S-R

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

FF J-K A PARTIR DEL FF DFLIP-FLOP ACTIVADO POR FLANCO DE SUBIDA

Page 205: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 205/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

FF J-K A PARTIR DEL FF DCARACTERÍSTICAS DE FUNCIONAMIENTO

Page 206: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 206/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

FF J-K A PARTIR DEL FF DFF J-K ACTIVADO POR FLANCO DE BAJADA

Page 207: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 207/247

Biestable JK activado por flanco de bajada.

Se utiliza un biestable D activado por flanco de bajada.

Las puertas lógicas en el circuito combinacional de excitación ylas conexiones realizadas serán las mismas que en el caso

anterior. Igual que en los biestables D, los biestables J-K comerciales

disponen de entradas asíncronas (Clear y Preset)

Indica queel reloj es

negado

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

FF T A PARTIR DEL FF J-K

FLIP-FLOP TOGGLE (BASCULANTE)

Page 208: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 208/247

FLIP-FLOP TOGGLE (BASCULANTE)

Mantiene el estado o lo cambia (dependiendo del valor de T):

Si T = „1‟   Qt+1 = /Qt  pero si T = „0‟    Qt+1 = Qt 

No se construye comercialmente, se puede implementar utilizandoun biestable J-K, ver figura.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DERIPCIÓN DE FLIP-FLOP JKUTILIZANDO VHDL 

Page 209: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 209/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

-- Flip Flop Tipo JK-- Declaración de Librerías (Cláusulas)Library ieee;Use ieee.std_logic_1164.ALL;-- EntidadEntity JK is

Port ( ck, J, K : in std_logic;q, nq : out std_logic);

end JK;-- Arquitectura

Architecture behavioral of JK issignal estado: std_logic;

BeginProcess (ck)

Beginif  rising_edge(ck) then

case std_logic_vector'(J, K) iswhen "11" => estado <= not(estado);when "10" => estado <= '1';when "01" => estado <= '0';when others => null;

end case;end if ;

q <= estado;nq <= not(estado);

End process;End behavioral;

 

DERIPCIÓN DE FLIP-FLOP DUTILIZANDO VHDL 

Page 210: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 210/247

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

-- Flip Flop Tipo D con Preset Síncrono-- Declaración de las librerías (Cláusulas)Library ieee;Use ieee.std_logic_1164.ALL;-- EntidadEntity ffDpreset is

port ( d, ck, npreset: in bit;q, nq: out bit);

End ffDpreset;--Arquitecturaarchitecture behavioral of ffDpreset is

beginprocess (ck, npreset, d)

beginif ck'event and ck='1' then

if npreset='0' then q <= '1';

nq <= „0‟; else q <= d; nq <= not d;end if ;

end if ;end process;

end behavioral

-- Flip Flop tipo D con Reset asíncrono-- Declaración de la libreria (Cláusulas)library ieee;use ieee.std_logic_1164.all;-- EntidadENTITY dff IS

PORT( D, Clk, Reset : IN STD_LOGIC;Q, Qbar : OUT STD_LOGIC);

END dff;-- ArquitecturaARCHITECTURE behavioral OF dff IS

BEGINPROCESS(Clk, Reset, D)

BEGINIF Reset=„0‟ then

Q <= „0‟; Qbar <= „1‟; 

ELSIF (Clk'event) AND (Clk='1') THENQ <= D;Qbar <= not D;

END IF;END PROCESS;

END behavioral;

 

DERIPCIÓN DE FLIP-FLOP TUTILIZANDO VHDL 

Page 211: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 211/247

--FLIP FLOP TIPO TLibrary ieee;Use ieee.std_logic_1164.ALL;--EntidadEntity ffT is

Port ( ck, T : in std_logic;q, nq : out std_logic);

End ffT;-- ArquitecturaArchitecture behavioral of ffT issignal estat: std_logic;

BeginProcess (ck, T)

Beginif  rising_edge(ck) then

estat <= T XOR estat;end if ;q <= estat;nq <= not(estat);

End process;End behavioral;

 

CAPÍTULO VII

Page 212: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 212/247

ANÁLISIS Y DISEÑO DESISTEMAS SECUENCIALES

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MAQUINAS DE ESTADOTópicos de estudio:

Page 213: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 213/247

Definición Clasificación

Máquinas de estado asíncronas* Maquinas de estado síncronas

◦ Análisis◦ Síntesis (Diseño)

Tópicos de estudio:

* No serán objeto de estudio en este curso.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MAQUINAS DE ESTADO FINITODEFINICIÓNES:

Page 214: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 214/247

Estado: Es un conjunto de señales cuyos valores en cualquierinstante de tiempo contienen toda la información acerca delpasado necesaria para explicar el comportamiento futuro delsistema.

Maquinas de Estado: Son ciertos circuitos secuenciales que tienenun número determinado de estados (2n).

retroalimentados (flip flops, biestables)

máquinas sincrónicas temporizadas cuando utilizan las primeraspara crear circuitos cuyas entradas son examinadas y cuyassalidas cambian con respecto a una señal de reloj controlada.

En cualquier caso, se tienen unas entradas, unas salidas y unosestados.

DEFINICIÓNES:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MAQUINAS DE ESTADO FINITOConcepto:

Page 215: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 215/247

Una máquina de estado finito es un modelode comportamiento compuesto de estados,transiciones y acciones. Un estadoalmacena información acerca del pasado

(p.ej. Un estado refleja los cambios quehan existido a la entrada desde el inicio delsistema hasta el presente). Una transiciónindica un cambio de estado y se describepor una condición que se debe cumplir paraalcanzar la transición. Una acción es una

descripción de una actividad que va a serdesarrollada en un momento dado.

Concepto:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MAQUINAS DE ESTADO FINITOAcciones:

Page 216: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 216/247

Existen varios tipos de acciones:

1. Acción de inicio: Se ejecuta la acción cuando se inicia el estado.

2. Acción de fin: Se ejecuta la acción cuando se finaliza el estado.

3. Acción de entrada: Se ejecuta dependiendo del estado presente y lascondiciones de entrada.

4. Acción de transición: Ejecuta la acción cuando se lleva a cabo cierta transición.

Acciones:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MAQUINAS DE ESTADO FINITOCLASIFICACIÓN:

Page 217: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 217/247

En una máquina de estados, cada estado siempre será función delestado anterior y de las entradas. Sin embargo, atendiendo a laforma en que se generan las salidas es posible hablar de dos tiposdiferentes de máquinas de estado finitas:

• MEALY: las salidas son función del estado y entradas actuales• MOORE: las salidas son función del estado actual

a, b  Estados

 x   Entrada

 z   Salida

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MODELO MÁQUINA DE MOOREEstructura lógica de bloques:

Page 218: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 218/247

g q

Estado Siguiente = F (Estado Actual, Entrada) Salida = G (Estado Actual)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MODELO MÁQUINA DE MOOREDiagrama de tiempos:

Page 219: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 219/247

Todos los cambios de salida en un circuito Moore se sincronizan con el reloj,ya que la salida sólo es función del estado y éste depende totalmente de laseñal de reloj. A diferencia de circuitos MEALY, los circuitos MOORE nogeneran glitches en la salida.

g p

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MODELO MÁQUINA DE MEALYEstructura lógica de bloques:

Page 220: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 220/247

g q

Estado Siguiente = F (Estado Actual, Entrada) Salida = G (Estado Actual, Entrada)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MODELO MÁQUINA DE MEALYDiagrama de tiempos:

Page 221: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 221/247

g p

La salida z puede cambiar en cualquier momento en que cambie la entradao el estado, pues z es función de ambos. Esto produce cambios a lasalida inesperados. Se debe tener cuidado de muestrear la salida de uncircuito MEALY sólo cuando el circuito se haya estabilizado después de uncambio de entrada.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

MOORE vs MEALYPrincipales características:

Page 222: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 222/247

1. La máquina de MEALY es más económica en componentesfísicos que la máquina de MOORE.

2. En un diseño tipo MOORE es más fácil seguir la operación del

sistema en pasos a través de sus estados. Más fácil la detecciónde errores.

3. En un sistema tipo MEALY las salidas pueden cambiar concambios indeseados de las entradas.

4. En un diseño con modelo MOORE la salida es síncrona con elreloj, en MEALY no lo es.

p

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

ANÁLISIS DE MAQUINAS DEESTADO

Page 223: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 223/247

Ejemplo 1: 

Determine el funcionamiento delcircuito de la figura.

1. Lo primero es establecer que en

realidad el circuito es secuencial  Esto se evidencia cuando se notaque posee elementos de memoria(FFs, en este caso tipo D) y lazosde realimentación. Si no fuerasecuencial, el funcionamiento se

establecería a partir de la tabla deverdad.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

ANÁLISIS DE MAQUINAS DEESTADO

Page 224: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 224/247

2. Se obtienen las ecuaciones de

excitación. Estas ecuaciones son ecuacionesbooleanas que describen la

entrada a los FFs. Ya que estecircuito usa FFs tipo D, tienenuna sola entrada.

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

ANÁLISIS DE MAQUINAS DEESTADO

Page 225: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 225/247

3. Desarrollar las ecuaciones del 

siguiente estado.

La ecuación característica de un FFtipo D es: Q*= D

Remplazando se obtiene

Desarrollar la ecuación de la salida.

Y = Q0 · Q1 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

ANÁLISIS DE MAQUINAS DEESTADO

 

Page 226: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 226/247

4. Desarrollar la tabla de excitación 

C Q1

Q0

Q*

1

Q*

0

Y

0 0 0 0 0 0

0 0 1 0 1 0

0 1 0 1 0 0

0 1 1 1 1 1

1 0 0 0 1 0

1 0 1 1 0 0

1 1 0 1 1 0

1 1 1 0 0 1

En este ejercicio la salida dependeTOTALMENTE del estado actual

tabla de excitación 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

ANÁLISIS DE MAQUINAS DEESTADO

Page 227: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 227/247

5. Desarrollar el diagrama de

estados

El diagrama de estados muestragráficamente las transicionesentre estados.

Cada círculo representa un estado. Elestado que representa se encuentracodificado dentro del círculo, al igualque la salida bajo la línea.

Los líneas tipo flecha del diagramarepresentan las transiciones, que

dependen de la entrada.

A partir de esta representación es mássencillo entender el comportamientodel circuito.

00 01

1011

Y = 0 Y = 0

Y = 0Y = 1

C = 1

C = 1

C = 1

C = 1

C = 0

C = 0

C = 0

C = 0

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

ANÁLISIS DE MAQUINAS DEESTADO

Page 228: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 228/247

Ejercicio para resolver en clase: 

Determine el funcionamiento delcircuito de la figura.

Z

JCPK

R

Q_Q

JCPK

R

Q_Q

X

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

ANÁLISIS DE MAQUINAS DEESTADO

Page 229: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 229/247

Aplicar el algoritmo de análisispreviamente descrito para analizar el

funcionamiento del circuito de la figura.◦ Determine si el circuito es MEALY 

o MOORE.◦ Determine la forma de onda de

las señales a la salida (imagineuna señal cualquiera a la entradaX, de al menos 7 transiciones).

◦ Determine el diagrama detransición de estados.

Ejercicio para resolver en casa (HOMEWORK)

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISEÑO LÓGICO CON FSM

SÍNTESIS:

Page 230: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 230/247

SÍNTESIS:

La síntesis de circuitos secuenciales comienza con laespecificación de la tabla (o diagrama) de estados deseada.

Pueden existir circuitos con especificación completa, en loscuales cada pareja de estado siguiente/salida está definida porcompleto. (Dibujar ejemplo en el tablero).

Pueden también existir circuitos de especificación incompleta, en

los cuales se tienen varios estados siguientes o salidasarbitrarias. (Dibujar ejemplo en el tablero).

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISEÑO LÓGICO CON FSM

SÍNTESIS:

Page 231: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 231/247

Los pasos a seguir en la síntesis de máquinas de estado son los siguientes:

1. A partir de la especificación del circuito, obtener los diagramas de

estado (modelo de MEALY o de MOORE).

2. Obtener la Tabla de estados.

3. Asignar códigos a cada estado del diagrama (Binary o One Hot).

4. Escoger el tipo de Flip-Flops a emplear.

5. Desarrollar la tabla de excitación.

6. Obtener las ecuaciones de entrada de cada FF (excitación).7. Obtener las ecuaciones de la(s) salida(s).

8. Realizar el diagrama lógico del circuito.

SÍNTESIS:

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISEÑO LÓGICO CON FSM

SÍNTESIS EJEMPLO:

Page 232: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 232/247

SÍNTESIS EJEMPLO:

Para entender más fácilmente este procedimiento, se desarrollará paso apaso el siguiente ejercicio:

Diseñar una máquina de estados que permita detectar la secuencia 110 ,

cuya entrada a la máquina se hará de forma serial por el puerto  X . Cadaque la máquina detecte la secuencia, una salida Z se pondrá en 1. 

1. Diagrama de estados: Con las especificaciones dadas, se construye eldiagrama de estados. Obsérvese que se puede utilizar tanto el modeloMOORE, como el modelo de MEALY.

Para el caso del ejercicio, se optará por el modelo de MEALY .NOTA: Se sugiere que el estudiante desarrolle el ejercicio utilizando elmodelo de MOORE 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISEÑO LÓGICO CON FSM

1. Diagrama de estados:

Page 233: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 233/247

ag a a de estados

a

b

c

x=0/z=0

x=0/z=0

x=1/z=0

x=0/z=0

x=1/z=1

x=1/z=0

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISEÑO LÓGICO CON FSM

2. Tabla de estados: Teniendo en cuenta las transiciones y las

Page 234: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 234/247

ysalidas del diagrama de estados, se construye la tabla. 

E.P. Entrada E.S. Salida

a  x’  b  z = ‘0’  

a x a  z = ‘0’  

b  x’  b  z = ‘0’  

b x c  z = ‘0’  

c  x’  b  z = ‘0’  

c x a z = ‘1’ 

 

E.P.     ESTADO PRESENTE  ; E.S.     ESTADO SIGUIENTE 

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISEÑO LÓGICO CON FSM

3. Codificación de estados: Para la codificación de estados se

Page 235: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 235/247

tienen en cuenta los siguientes métodos: 

3.1 ONE HOT: El método ONE HOT para codificación de estados,aumenta la velocidad de procesamiento de la máquina, perodisminuye eficiencia en área. Se utiliza un biestable por estado, enel caso del ejemplo será:

3.2 BINARY: Este método responde más lentamente que el anterior,pero permite un mejor aprovechamiento del área del dispositivo.Se utiliza el código BINARIO o el código GRAY, así pues el número

de biestables será igual a #Estados = 2n

. Donde n es el número debiestables a utilizar. En el caso del ejemplo será:

100c ;010b ;001a  

10c ;01b ;00a   Se utilizará en elejemplo

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISEÑO LÓGICO CON FSM

4. Selección del biestable: En este paso se selecciona el tipo

 

Page 236: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 236/247

p pde flip-flop a utilizar, dependiendo de sus prestaciones ycomplejidad. Para hacer más completo el ejemplo, se utilizará elflip-flop tipo JK, cuya tabla de excitación se presenta acontinuación: 

J K Qt Qt+1

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 0

J K Qt+1

0 0 Qt

0 1 0

1 0 1

1 1  /Qt

Tabla completa

Tabla Reducida

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISEÑO LÓGICO CON FSM

5. Obtener la tabla de excitación:  Una vez seleccionado el

Page 237: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 237/247

biestable y el tipo de codificación de los estados, se desarrolla latabla de excitación, la cual contiene; además de entradas,salidas, estado presente y estado siguiente; las señales deexcitación de los biestables. 

E.P.Q1 Q0

Entradax

E.S.Q1* Q0*

J1 K1 J0 K0 Salidaz

0 0 0 0 1 0 0 1 X 0

0 0 1 0 0 0 0 0 0 0

0 1 0 0 1 0 0 0 0 0

0 1 1 1 0 1 X X 1 0

1 0 0 0 1 X 1 1 X 0

1 0 1 0 0 X 1 0 0 1

Tabla de excitación

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010 

DISEÑO LÓGICO CON FSM

6. Ecuaciones de excitación de cada flip-flop: A partir de

  

Page 238: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 238/247

p p pla tabla de excitación, se obtienen las ecuaciones de excitaciónde los flip-flops. Se puede usar algebra de BOOLE o mapas deKARNAUGH.

1 0 0  1

0  X 0  0 

Q1Q0x

X 0 0 X

0 1 0 0

00 01 11 10

0

1

Q1Q0x00 01 11 10

0

1

J0K0

Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010

J0 = X AND Q0 = X NOR Q0 K0 = Q1 AND (X XNOR Q0) 

 

DISEÑO LÓGICO CON FSM

6. Ecuaciones de excitación de cada flip-flop:

  

Page 239: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 239/247

Igualmente se obtienen las ecuaciones booleanas para J1 yK1.

0 0 0  X

0  1 0  X 

Q1Q0

x

0 0 0 1

0 X 0 1

00 01 11 100

1

Q1Q0

x

00 01 11 100

1

J1K1

J1 = X AND (Q1 XOR Q0)  K1 = Q1 AND Q0

 

DISEÑO LÓGICO CON FSM

7. Ecuaciones de salida: Igualmente se obtienen las

 

Page 240: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 240/247

ecuaciones booleanas para la salida Z.

0 0 0 0

0 0 0 1

00 01 11 10

0

1

Q1Q0

x

Z = Q1 AND Q0 AND X 

 

DISEÑO LÓGICO CON FSM

8. Realización del circuito Lógico: Seguidamente se

Page 241: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 241/247

procede a realizar el circuito lógico. Según el diseño setienen dos flip-flops tipo JK más la lógica combinacional.

 

DESCRIPCIÓN EN VHDL DEUNA MÁQUINA DE ESTADOS

Page 242: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 242/247

La descripción en VHDL de máquinas de estado se realiza utilizando un patrón decódigo estándar el cual utiliza sentencias secuenciales como:

• PROCESS• CASE/END CASE • WHEN … ELSE • IF … THEN … ELSE/END IF 

Para estudiar las máquinas de estado descritas en VHDL, continuaremos con elejemplo del detector de secuencia (011) cuya representación de estados es lasiguiente:

S0 S1 S21/0 0/0

0/0

1/0

0/0

1/1

  Input Z  Output  

 

FSM DESCRITA EN VHDL

Page 243: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 243/247

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity Det_Sec is

Port ( x, rst, clk : in STD_LOGIC;z : out  STD_LOGIC);

end Det_Sec;

La descripción de la máquina de estados inicia con la declaración de las librerías,observe que por lo menos debe declararse la librería estándar 1164, la cual contiene lamayoría de componentes y dispositivos del lenguaje. Luego se declara la entidad quienpermite la interconexión del sistema con el mundo exterior por último se declara laarquitectura tipo comportamental con estructura secuencial; en ella se declaran dosprocesos: uno para la máquina de estados propiamente dicha y el otro para laactualización a estado presente del próximo estado, todo sincronizado con la señal delreloj.

Continuación

 

FSM DESCRITA EN VHDLwhen S2 =>architecture Behavioral of Det_Sec is

Type state_type is (S0, S1, S2);

Page 244: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 244/247

if x = '1' thenES <= S0;z <= '1';

ElseES <= S1;z <= '0';

end if ;end case;

end process;

process(clk, rst, ES)beginif rst = '1' thenES <= S0;

elsif clk = '1' and clk'event thenEP <= ES;

end if ;end process;

end Behavioral;

Signal EP, ES: state_type;begin

process (x, EP)beginCase EP iswhen S0 =>

if x = '1' then

ES <= S0;z <= '0';Else

ES <= S1;z <= '0';

end if ;when S1 =>if x = '1' then

ES <= S2;z <= '0';

ElseES <= S1;z <= '0';

end if ;

 

RESULTADO DE LASIMULACIÓN

Page 245: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 245/247

Resultado de la simulación del detector de secuencia (011)

 

TALLER DE EJERCICIOSProblema 7.1: Diseñe un circuito secuencial síncrono con una entrada de datos X, queproduzca una salida Z = "1 " durante un ciclo de reloj cuando la secuencia de los tres

Page 246: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 246/247

últimos valores de la entrada sean : 111, 110 ó 000.Problema 7.2: Diseñe un autómata de Mealy con dos entradas X, Y y una salida Z cuyofuncionamiento sea el siguiente:

a. si XY = 00, entonces Z = 0 .b. si XY = 11, después de que las entradas hayan sido durante dos ciclos de reloj

XY = 01, entonces Z= 1.En el resto de los casos se mantiene la salida .

Nota: en cada ciclo sólo puede cambiar una variable de entrada, no las dos a la vez.

Problema 7.3: Se desea diseñar una maquina expendedora de refrescos, cuyofuncionamiento es el siguiente: La máquina acepta monedas de $ 500, $ 200 y $ 100;el refresco cuesta $ 700; se pueden ingresar los tres tipos de denominación demonedas; cuando la máquina detecte que se han ingresado $ 700 o más, entregará elrefresco activando la salida durante un pulso de reloj; si el ingreso fue de $ 700,entonces la máquina entrega el refresco y retorna al estado inicial; si por el contrariose ingresó un valor superior a los $ 700, la máquina entrega el refresco e indica, en undisplay siete segmentos, la cantidad de monedas de $ 100 que debe devolver, luegoretorna al estado inicial. Se pide hacer un diseño FSM que controle el funcionamientode la máquina. 

 

FUENTES BIBLIOGRÁFICAS

Page 247: Tecnicas Digitales New

5/16/2018 Tecnicas Digitales New - slidepdf.com

http://slidepdf.com/reader/full/tecnicas-digitales-new 247/247

1. WAKERLY, John F. Diseño digital Principios y Prácticas. Editorial PrenticeHall Pearson, Tercera edición 2001. ISBN 970-26-0720-5.

2. MANO, Morris M. Diseño Digital. Editorial Prentice Hall, Cuarta edición2004. ISBN 970-26.0438-9

3. TOCCI, Ronald J. Sistemas Digitales Principios y Aplicaciones. Editorial

Prentice Hall Pearson, Octava edición 2005, México. ISBN 970-26-0297-1

4. BAENA, Oliva Carmen. Problemas de Circuitos y Sistemas Digitales.Editorial Mac Graw Hill, Primera edición 1997, Madrid España.