Download - 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
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
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
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
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
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
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
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
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:
k
k
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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:
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.):
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
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
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
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
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
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
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
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
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
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:
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.
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:
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
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
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
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.
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 )
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Í
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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)
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
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
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
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
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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
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
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
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
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
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
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
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:
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:
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:
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:
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
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
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
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
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
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:
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
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
Z = Q1 AND Q0 AND X
DISEÑO LÓGICO CON FSM
8. Realización del circuito Lógico: Seguidamente se
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
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
X
Input Z Output
FSM DESCRITA EN VHDL
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);
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
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
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
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.