Está en la página 1de 51

Sistemas Digitales II

31/10/2015

SistemasDigitalesII
Unidad2CircuitosCombinacionales
VHDL

LuisArmandoReyesCardoso
IngenieroElectricista ITQ
PTC Mecatrnica.
email:
lreyes@uttt.edu.mx
7329112Mecatrnica
Ext.412

M.enC.LuisArmandoReyesCardoso

Sistemas Digitales II

31/10/2015

Entidades(entity),PuertosdeEntradaySalida
Modo in. Se refiere a las seales de entrada a la entidad.
Este slo es unidireccional y nada ms permite el flujo de
datos hacia dentro de la entidad.
Modo out. Indica las seales de salida de la entidad.
Modo inout. Permite declarar a un puerto de forma
bidireccional es decir, de entrada/salida; adems
permite la retroalimentacin de seales dentro o fuera de
la entidad.
Modo buffer. Permite hacer retroalimentaciones internas
dentro de la entidad, pero a diferencia del modo inout, el
puerto declarado se comporta como una terminal de salida.
M.enC.LuisArmandoReyesCardoso

Entidades(entity),PuertosdeEntradaySalida

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

Sistemas Digitales II

31/10/2015

Entidades(entity),PuertosdeEntradaySalida

M.enC.LuisArmandoReyesCardoso

DeclaracindeEntidades(entity)

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

Sistemas Digitales II

31/10/2015

DeclaracindeEntidades(entity)

M.enC.LuisArmandoReyesCardoso

DeclaracindeEntidades(entity)

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

Sistemas Digitales II

31/10/2015

DeclaracindeEntidades(entity)

M.enC.LuisArmandoReyesCardoso

DeclaracindeEntidades(entity)
SOLUCIN
En este caso se puede notar que existen varios mdulos individuales, los cuales en
conjunto forman una entidad general. Adems, las salidas C3,C2,C1,C0 deben
considerase como inout, es decir seales de entradasalida, dado que en la
estructura interna se observa que la salida de cada una de estas retroalimenta, a la
entrada, al siguiente mdulo:

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

10

Sistemas Digitales II

31/10/2015

DeclaracindeEntidades(entity)

M.enC.LuisArmandoReyesCardoso

11

DeclaracindeEntidades

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

12

Sistemas Digitales II

31/10/2015

Identificadores
Regla

Incorrecto

Correcto

El primer carcter siempre debe ser una letra mayscula


o minscula.

4Suma

Suma4

El segundo carcter no puede ser un guion bajo.

S_4bits

S4_bits

No se permite el uso de dos guiones juntos.

Resta__4

Resta_4_

Unidentificadornopuedeutilizarsmbolos.

Clear#8

Clear_8

M.enC.LuisArmandoReyesCardoso

13

ArreglodeEntidadesUtilizandoVectores

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

14

Sistemas Digitales II

31/10/2015

ArreglodeEntidadesUtilizandoVectores

M.enC.LuisArmandoReyesCardoso

15

ArreglodeEntidadesUtilizandoVectores

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

16

Sistemas Digitales II

31/10/2015

ArreglodeEntidadesUtilizandoVectores

M.enC.LuisArmandoReyesCardoso

17

ArreglodeEntidadesUtilizandoVectores

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

18

Sistemas Digitales II

31/10/2015

DiseodeEntidadesMedianteLibrerasyPaquetes

En este caso, ieee es la librera, std_logic_1164 es el paquete y all es la palabra


reservada, la cual indica que todos los componentes almacenados dentro del paquete
pueden ser utilizados.

M.enC.LuisArmandoReyesCardoso

19

DiseodeEntidadesMedianteLibrerasyPaquetes
Ejemplo:
Realizar la declaracin de la entidad Bloque mostrada en la figura mediante el
uso de libreras y paquetes.

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

20

10

Sistemas Digitales II

31/10/2015

DiseodeEntidadesMedianteLibrerasyPaquetes
SOLUCIN
En esta entidad se utiliza la biblioteca ieee y el paquete std_logic_1164. Las
entradas y salidas se manejan de forma individual y en tipo vector. Es decir:

M.enC.LuisArmandoReyesCardoso

21

DiseodeEntidadesMedianteLibrerasyPaquetes
Ejemplo
En la figura se representa una entidad con capacidad para realizar una suma de 2
bits, A y B, que da como resultado la operacin SUMA= A+B. Realizar la
declaracin de la entidad correspondiente mediante el uso de paquetes y
libreras.

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

22

11

Sistemas Digitales II

31/10/2015

DiseodeEntidadesMedianteLibrerasyPaquetes
SOLUCIN
Como se puede observar, en la lnea 3 la librera work utiliza el paquete
std_arith, requerido para que la operacin SUMA= A+B se pueda efectuar; este
paquete permite el uso del operador (+), mismo que hace posible esta
operacin. En el caso de que la librera no est dentro del programa al momento
de su ejecucin, el compilador enviar un mensaje de error.

M.enC.LuisArmandoReyesCardoso

23

DiseodeEntidadesMedianteLibrerasyPaquetes

1 library ieee;
2 useieee.std_logic_1164.all;
3 entity multiplicais
4 port(X0,X1,YO,Yl:instd_logic;
6 Z3,Z2,Z1,Z0:out std_logic;
7 end multiplica;

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

24

12

Sistemas Digitales II

31/10/2015

OperadoresAritmticosenVHDL

M.enC.LuisArmandoReyesCardoso

25

Arquitecturas(architecture)
Los estilos de programacin utilizados en el
diseo de arquitecturas se clasifican como:
Estilo Funcional.
Estilo por Flujo de Datos.
Estilo Estructural.
M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

26

13

Sistemas Digitales II

31/10/2015

Arquitecturas(architecture)
DescripcinFuncional

M.enC.LuisArmandoReyesCardoso

27

Arquitecturas(architecture)
DescripcinFuncional

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

28

14

Sistemas Digitales II

31/10/2015

Arquitecturas(architecture)
DescripcinporFlujodeDatos

La descripcin por flujo datos indica la forma en que los


datos se pueden transferir de una seal a otra sin
necesidad de declaraciones secuenciales (ifthenelse).
Este tipo de descripciones permite definir el flujo que
tomarn los datos entre mdulos encargados de realizar
operaciones.
En este tipo de descripcin se pueden utilizar dos
formatos: mediante instrucciones when else (cuandosi
no) o por medio de ecuaciones booleanas.

M.enC.LuisArmandoReyesCardoso

29

DescripcinporFlujodeDatosMedianteWHEN ELSE

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

30

15

Sistemas Digitales II

31/10/2015

DescripcinporFlujodeDatosMedianteWHEN ELSE

M.enC.LuisArmandoReyesCardoso

31

DescripcinporFlujodeDatosMedianteEcuaciones
Booleanas

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

32

16

Sistemas Digitales II

31/10/2015

DescripcinporFlujodeDatosMedianteEcuaciones
Booleanas

M.enC.LuisArmandoReyesCardoso

33

DescripcinporFlujodeDatosMedianteEcuaciones
Booleanas

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

34

17

Sistemas Digitales II

31/10/2015

DescripcinporFlujodeDatosMedianteEcuaciones
Booleanas

M.enC.LuisArmandoReyesCardoso

35

DescripcinEstructural
Como su nombre indica, una descripcin
estructural basa su comportamiento en modelos
lgicos establecidos (compuertas, sumadores,
contadores, etc.).
El usuario puede disear estas estructuras y
guardarlas para su uso posterior o tomarlas de
los paquetes contenidos en las libreras de diseo
del software que se est utilizando.

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

36

18

Sistemas Digitales II

31/10/2015

DescripcinEstructural

M.enC.LuisArmandoReyesCardoso

37

DescripcinEstructural

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

38

19

Sistemas Digitales II

31/10/2015

ComparacinEntrelosEstilosdeDiseo
El estilo de diseo utilizado en la programacin del circuito
depende del diseador y de la complejidad del proyecto.
Por ejemplo, un diseo puede describirse por medio de
ecuaciones booleanas, pero si es muy extenso quiz sea
ms apropiado emplear estructuras jerrquicas para
dividirlo; ahora bien, si se requiere disear un sistema cuyo
funcionamiento dependa slo de sus entradas y salidas, es
conveniente utilizar la descripcin funcional, la cual
presenta la ventaja de requerir menos instrucciones y el
diseador no necesita un conocimiento previo de cada
componente del circuito.

M.enC.LuisArmandoReyesCardoso

39

SealesIntermediasenVHDL
Prctica 7

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

40

20

Sistemas Digitales II

31/10/2015

SealesIntermediasenVHDL
Prctica 7

M.enC.LuisArmandoReyesCardoso

41

AsignacindeDatosenVHDL

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

42

21

Sistemas Digitales II

31/10/2015

ValoresdeSTD_LOGIC
Valor

Descripcin

Valorindefinido undefined

Valorfuertedesconocido

0Fuerte

1Fuerte

Altaimpedancia

Valordbildesconocido

0Dbil

1Dbil

NoImporta(Dont Care)

M.enC.LuisArmandoReyesCardoso

43

DiseoLgicoCombinacional
conVHDL

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

44

22

Sistemas Digitales II

31/10/2015

ProgramacindeEstructurasBsicasMediante
AsignacionesConcurrentes

Las declaraciones concurrentes se encuentran


fuera de la declaracin de un proceso y suelen
usarse en las descripciones de flujo de datos y
estructural.
Esto se debe a que en una declaracin
concurrente no importa el orden en que se
escriban las seales, ya que el resultado para
determinada funcin sera el mismo.

M.enC.LuisArmandoReyesCardoso

45

ProgramacindeEstructurasBsicasMediante
AsignacionesConcurrentes

En VHDL existen tres tipos de declaraciones


concurrentes:
Declaraciones condicionales asignadas a una
seal (whenelse).
Declaraciones concurrentes asignadas a seales.
Seleccin de una seal (withselectwhen).

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

46

23

Sistemas Digitales II

31/10/2015

AsignacionesPuramenteConcurrentes

M.enC.LuisArmandoReyesCardoso

47

DeclaracionescondicionalesAsignadasaunaSeal
(when else)

Prctica 8

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

48

24

Sistemas Digitales II

31/10/2015

Ejemplo

Una funcin F depende de cuatro variables D, C, B, A, que


representan un nmero binario, donde A es la variable
menos significativa. La funcin F adopta el valor de uno si
el nmero formado por las cuatro variables es inferior o
igual a 7 y superior a 3. En caso contrario la funcin F es
cero.
Obtenga la tabla de verdad de la funcin F y realice el
programa correspondiente en VHDL (utilice estructuras
del tipo whenelse y operadores lgicos).

M.enC.LuisArmandoReyesCardoso

Prctica 9

Solucin

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

49

50

25

Sistemas Digitales II

31/10/2015

DeclaracionesConcurrentesAsignadasaSeales
Prctica 10

M.enC.LuisArmandoReyesCardoso

51

Ejemplo
Dada la tabla de verdad mostrada a continuacin, halle las
ecuaciones X, Y, Z, de la forma suma de productos y progrmelas en
VHDL, utilizando declaraciones concurrentes asignadas a seales.

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

52

26

Sistemas Digitales II

31/10/2015

Solucin
Las ecuaciones de la forma suma de productos para X,
Y y Z se muestran a continuacin:
X

ABC

ABC

ABC

A BC

ABC

ABC

A BC

ABC

ABC

M.enC.LuisArmandoReyesCardoso

A BC

ABC

53

Solucin

Prctica 11
X

ABC

ABC

ABC

A BC

ABC

ABC

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

A BC

ABC

ABC

54

27

Sistemas Digitales II

31/10/2015

SeleccindeunaSeal(with select when)

La declaracin w i t h s e l e c t w h e n se utiliza para asignar un valor a una seal con base en


el valor de otra seal previamente seleccionada.

Prctica 12

M.enC.LuisArmandoReyesCardoso

Prctica 13

55

Ejemplo

Se requiere disear un circuito combinacional que detecte nmeros primos de 4 bits. Realice la
tabla de verdad v elabore un programa que describa su funcin. Utilice instrucciones del tipo with
select when.

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

56

28

Sistemas Digitales II

31/10/2015

ProgramacindeEstructurasBsicasMediante
DeclaracionesSecuenciales

Las declaraciones secuenciales son aquellas en


las que el orden que llevan puede tener un
efecto significativo en la lgica descrita.
A diferencia de una declaracin concurrente,
una secuencial debe ejecutarse en el orden en
que aparece y formar parte de un proceso
(process).
M.enC.LuisArmandoReyesCardoso

57

DeclaracionesPuramenteSecuenciales

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

58

29

Sistemas Digitales II

31/10/2015

Declaracionesifthenelse
Esta declaracin sirve para seleccionar una condicin o condiciones
basadas en el resultado de evaluaciones lgicas (falso o verdadero).

No se puede mostrar la imagen en este momento.

M.enC.LuisArmandoReyesCardoso

59

ComparadordeIgualdad
Practica 14

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

60

30

Sistemas Digitales II

31/10/2015

DeclaracionesIF ELSIF ELSE

M.enC.LuisArmandoReyesCardoso

61

Comparadorde4bits

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

62

31

Sistemas Digitales II

31/10/2015

Comparadorde4bits
Prctica 15

M.enC.LuisArmandoReyesCardoso

63

M.enC.LuisArmandoReyesCardoso

64

Ejemplo

M.enC.LuisArmandoReyesCardoso

32

Sistemas Digitales II

31/10/2015

Solucin

M.enC.LuisArmandoReyesCardoso

65

M.enC.LuisArmandoReyesCardoso

66

Solucin

M.enC.LuisArmandoReyesCardoso

33

Sistemas Digitales II

31/10/2015

Solucin
Prctica 16

M.enC.LuisArmandoReyesCardoso

67

OperadoresRelacionales

Los operadores relacinales se usan para evaluar la igualdad, desigualdad o la


magnitud en una expresin.
Los operadores de igualdad y desigualdad ( = y /= ) se definen en todos los tipos
de datos.
Los operadores de magnitud (<,< =,> y > = ) lo estn slo dentro del tipo escalar.
En ambos casos debe considerarse que el tamao de los vectores en que se
aplicarn dichos operadores debe ser igual.
Operador

Significado

Igual

/=

Diferente

<

Menor

<=

MenoroIgual

>

Mayor

>=

MayoroIgual

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

68

34

Sistemas Digitales II

31/10/2015

Decodificadores
Funcin bsica de un decodificador es detectar la
presencia de una determinada combinacin de
bits (cdigo) en sus entradas y sealar la
presencia de este cdigo mediante un cierto nivel
de salida.
En su forma general, un decodificador posee n
lneas de entrada para gestionar n bits y en una
de las 2n lneas de salida indica la presencia de
una o ms combinaciones de n bits.
M.enC.LuisArmandoReyesCardoso

69

DecodificadorBinarioBsico

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

70

35

Sistemas Digitales II

31/10/2015

DecodificadorBinariode4Bits

M.enC.LuisArmandoReyesCardoso

71

DecodificadorBinariode4Bits

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

72

36

Sistemas Digitales II

31/10/2015

Decodificador
Binariode4Bits
Prctica 17

M.enC.LuisArmandoReyesCardoso

73

DecodificadorBinariode4Bits Simulacin

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

74

37

Sistemas Digitales II

31/10/2015

DecodificadordeBDCaDecimal

M.enC.LuisArmandoReyesCardoso

75

M.enC.LuisArmandoReyesCardoso

76

Decodificador de
BDC a Decimal
Prctica 18

M.enC.LuisArmandoReyesCardoso

38

Sistemas Digitales II

31/10/2015

DecodificadordeBDC aDecimal Simulacin

M.enC.LuisArmandoReyesCardoso

77

DecodificadordeBCDa7Segmentos

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

78

39

Sistemas Digitales II

31/10/2015

DecodificadordeBCD
a7Segmentos
Prctica 19

M.enC.LuisArmandoReyesCardoso

79

DecodificadordeBCDa7Segmentos

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

80

40

Sistemas Digitales II

31/10/2015

Decodificador1de874LS138

M.enC.LuisArmandoReyesCardoso

81

Decodificador1de874LS138

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

82

41

Sistemas Digitales II

31/10/2015

Decodificador1de874LS138
Prctica 20

M.enC.LuisArmandoReyesCardoso

83

Decodificador1de874LS138

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

84

42

Sistemas Digitales II

31/10/2015

Codificadores
Un codificador es un circuito lgico combinacional que,
esencialmente, realiza la funcin inversa del
decodificador.
Un codificador permite que se introduzca en una de
sus entradas un nivel activo que representa un dgito,
como puede ser un dgito decimal u octal, y lo
convierte en una salida codificada, como BCD o binario.
Los codificadores se pueden disear tambin para
codificar smbolos diversos y caracteres alfabticos.
El proceso de conversin de smbolos comunes o
nmeros a un formato codificado recibe el nombre de
codificacin.
M.enC.LuisArmandoReyesCardoso

85

CodificadorDecimal BCD

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

86

43

Sistemas Digitales II

31/10/2015

Codificador
Decimal BCD
Prctica 21

M.enC.LuisArmandoReyesCardoso

87

CodificadorDecimal BCD

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

88

44

Sistemas Digitales II

31/10/2015

Codificadorde8a3Lneas74XX148
Prctica 22 - Realizar el cdigo y simulacin

M.enC.LuisArmandoReyesCardoso

89

Multiplexores(SelectoresdeDatos)
Un multiplexor (MUX) es un dispositivo que permite
dirigir la informacin digital procedente de diversas
fuentes a una nica lnea para ser transmitida a travs
de dicha lnea a un destino comn.
El multiplexor bsico posee varias lneas de entrada de
datos y una nica lnea de salida.
Tambin posee entradas de seleccin de datos, que
permiten conmutar los datos digitales provenientes de
cualquier entrada hacia la lnea de salida.
A los multiplexores tambin se les conoce como
selectores de datos.
M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

90

45

Sistemas Digitales II

31/10/2015

Multiplexorde2a1

M.enC.LuisArmandoReyesCardoso

91

M.enC.LuisArmandoReyesCardoso

92

Multiplexorde2a1
Prctica 23

M.enC.LuisArmandoReyesCardoso

46

Sistemas Digitales II

31/10/2015

Multiplexorde2a1

M.enC.LuisArmandoReyesCardoso

93

Multiplexor4a1

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

94

47

Sistemas Digitales II

Prctica 24

31/10/2015

Multiplexor4a1

M.enC.LuisArmandoReyesCardoso

95

Multiplexor4a1

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

96

48

Sistemas Digitales II

31/10/2015

Multiplexor8a1

Prctica 25

M.enC.LuisArmandoReyesCardoso

97

Demultiplexores
Un demultiplexor (DEMUX) bsicamente
realiza la funcin contraria a la del
multiplexor.
Toma datos de una lnea y los distribuye a un
determinado nmero de lneas de salida.
Por este motivo, el demultiplexor se conoce
tambin como distribuidor de datos.
Los decodificadores pueden utilizarse tambin
como demultiplexores.
M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

98

49

Sistemas Digitales II

31/10/2015

Demultiplexorde
1a4 Lneas
Prctica 26

M.enC.LuisArmandoReyesCardoso

99

M.enC.LuisArmandoReyesCardoso

100

Demultiplexorde
1a8Lneas
Prctica 27

M.enC.LuisArmandoReyesCardoso

50

Sistemas Digitales II

31/10/2015

MultiplexoresyDemultiplexores
Prctica 28 - Realizar ambas funciones, para realizar en laboratorio
es neceserio utilizar dos GAL16V8 dos GAL22V10

M.enC.LuisArmandoReyesCardoso

M.enC.LuisArmandoReyesCardoso

101

51

También podría gustarte