Está en la página 1de 13

PRACTICA NO.

1
DISEO DE CIRCUITOS ARITMTICOS Y SECUENCIALES

Maried Natalia Meneses pino


Email: nata_8888@unicauca.edu.co
KatherinJhoanna Escobar Nieves
Email: kathe1104@unicauca.edu.co

RESUMEN: En esta primera prctica de circuitos


digitales se desea aplicar todos los conocimientos
aprendidos en clase en el diseo de circuitos
aritmticos y secuenciales. Este laboratorio se divide
en dos puntos, el primero consiste en el diseo de un
contador de 3 dgitos BCD, cuyo contenido se mostrar
en los despliegues de 7 segmentos en la tarjeta Altera
DE0; En la segunda parte, se realiza un modelo en
VHDL para una unidad aritmtico-lgica de 16 bits.

PALABRAS CLAVES:

2. PROCEDIMIENTOS DE DISEO.
2.1 contador 3 Dgitos BCD.
El requerimiento para este tem es el siguiente:
Implementar un contador de 3 dgitos BCD.
Mostrar el contenido del contador en los
despliegues de 7 segmentos HEX2-0. Utilizar una
seal de control, del reloj de 50 MHz sobre la
tarjeta DE0 de Altera, para incrementar el
contenido del contador a intervalos de 1 segundo.
Use un pulsador para resetear el contador a 0.

Contador, BCD, ALU, hexadecimal, operaciones, DE0.

ABSTRACT: In this first Digital Circuits Practice, its


desired to implement all the acquired knowledge in
classes, about the designing of arithmetic, and
sequential circuits. This laboratory is divided in two
parts, the first is about the design of a 3 BCD digits
counter, whose content will be shown in the Altera DE0
7-segment displays ; In the second part a VHDL model
is design for an arithmetic logic unit

Nuestro circuito para cumplir con el requerimiento


planteado quedo de la siguiente manera:

KEY WORDS :Counter, BCD, ALU, hexadecimal,


operations, DE0.

1. INTRODUCCIN.
Por medio de este informe se explicar el
procedimiento necesario para disear e implementar un
contador de 3 dgitos BCD y una unidad aritmtico
lgica (ALU) de 16 bits. Para cumplir a cabalidad con
los requerimientos se elaboraron cdigos en VHDL, se
realizaron sus respectivas simulaciones en la
herramienta ModelSim y finalmente se crearon bloques
funcionales que se explicaran durante el desarrollo del
presente informe.

Figura 1. Circuito Total contador 3 dgitos BCD.


El cual cuenta con dos entradas: CLK

RESET.

Clk es la seal de reloj que nos proporciona la


tarjeta Altera DE0 la cual es de 500Mhz y reset va
a ser una seal de control la cual intervendr en el
funcionamiento del contador de 3 dgitos BCD.
Cuando esta se encuentre en estado activo,
reiniciara el contador llevndolo a su estado inicial

el cual es cero 0000 e iniciando nuevamente el


conteo.
Este tiene 3 salidas S2, S1, S0 donde S2 corresponde
al digito ms significativo del contador de 3 bits BCD y
S0 el menos significativo del mismo.
Este circuito est compuesto por un divisor de
frecuencia ( clk_div), contador de 3 dgitos BCD y 3
decodificadores, los cuales se explicaran a continuacin
.

Figura 2. RTL circuito divisor de frecuencia.


Como puede observarse en el circuito esquemtico,
este divisor cuenta con 1 sola entrada (clock_50Mhz)
la cual obedece a la seal de reloj transmitida por la
tarjeta Altera DE0 y 7 salidas que corresponden a cada
una de las frecuencia a las que se puede convertir
dicha seal .

2.1.1. DIVISOR DE FRECUENCIA


Fue necesaria la utilizacin de un circuito divisor de
frecuencia, puesto que se nos peda que el contenido
del contador aumentara a intervalos de 1 segundo y
como se sabe la seal de reloj que maneja la tarjeta
Altera DE0 es de 50 Mhz, motivo por el cual se tuvo
que hacer modificaciones sobre esta para el buen
funcionamiento del circuito.
Se tom un circuito divisor de frecuencia diseado por
el docente, el cual nos permita operar a cualquiera de
las siguientes frecuencias:
-1 Mhz.
-100 Khz.
-10 Khz.
-1 Khz.
-100 hz.
-10hz.
-1 hz.
Como se deseaba trabajar a 1 frecuencia de 1 hz para
obtener un periodo de un segundo, lo que se hizo fue
conectar la seal de reloj de nuestro circuito contador
de 3 dgitos BCD a la salida deseada del circuito divisor
de frecuencia.
El RTL de este circuito y su respectivo bloque funcional
se logran ver en las siguientes imgenes:

Figura 3. Bloque funcional divisor de frecuencia


2.1.2 CONTADOR 3 DIGITOS BCD
Para la solucin de esta primera parte de la prctica, se
tom como base el diseo del contador BCD de 1
digito realizado en clase con las orientaciones del
docente, el cual realizaba un conteo de 0 a 9. Para
este caso, se necesita un contador que vaya de 0
hasta 999 en numeracin decimal.
Para realizar este diseo se realizaron 3 contadores
BCD en cascada el cual funciona de la siguiente
manera:
-DGITO MENOS SIGNIFICATIVO:
Va incrementar de 1 en 1 desde 0000, en el momento
que sea igual a 1001 (9) este regresar a 0.
-2 DGITOMS SIGNIFICATIVO:
Este incrementara su valor cada que el digito menos
significativo complete un ciclo, este cambiara desde a
cero 0000 hasta 1001 como corresponde en
numeracin BCD.
- DGITO MS SIGNIFICATIVO:
El funcionamiento de este contador, depende del
segundo contador; Su valor va a cambiar de 1 en 1
desde 0000 hasta 1001, cuando el segundo
contador BCD compete su ciclo. En el momento que
este tom el valor de (9) 1001 regresara
automticamente a 0000 para volver a iniciar la

cuenta. Es de resaltar que el momento en que dicho


contador tome su ultimo valor posible, en los display se
7 segmentos se mostrara el valor 999 que
corresponde el nmero mximo al que puede llegar
nuestro contador total.
Ya habiendo explicado, el procedimiento pensado para
el diseo de nuestro contador de 3 dgitos BCD , se
mostrar posteriormente su diseo en VDL :

Figura 4. VHDL contador 3 dgitos BCD.


Como logra observarse en el cdigo, este contador de 3
dgitos BCD, cuenta con dos (2) entradas, los cuales
son RESET y CLK ; Y 3 salidas Q,R y S que
representan cada uno de los dgitos de nuestro
contador .Siendo S el digito ms significativo y Q el
menos significativo.
Despus de compilar dicho cdigo en Quartus II y no
obtener ningn error, se procede a visualizar el RTL de
nuestro circuito el cual quedo de la siguiente manera:

Figura 5. RTL contador de 3 dgitos BCD.


Ahora, para corroborar el buen funcionamiento del
mismo, se procede a su respectiva simulacin usando
el programa ModelSim. El resultado de dicha
simulacin se muestra en la figura No. 6a y 6b
En lasfiguras:
- La primera lnea o fila corresponde a la entrada Clk,
la cual es la seal de reloj de frecuencia 1 hz que nos
proporcional el circuito divisor de frecuencias.
-La segunda fila corresponde a la entradareset la cual
en el estado 1 permite el funcionamiento del contador,
y en el estado 0 lgico reinicia la cuenta del mismo.
-La tercera fila, Es la salida Q el cual representa al
digito menos significativo de nuestro contador.
-La cuarta y quinta lnea corresponden respetivamente
a las salidas R y S . Siendo S digito ms significativo.
Tal como como se haba nombrado anteriormente, se
logra observar en la figura 4.a que en el momento. En
el que se obtiene el numero 999 ( 1001 1001 1001) en
contador vuelve a su estado inicial, comenzando la
cuenta nuevamente desde 0 (0000).

Figura 6 a. Simulacin contador 3 dgitos BCD.

Figura 7.Bloque funcional contador 3 dgitos BCD

Figura 6.b Simulacin contador 3 dgitos BCD.


En la simulacin logra observarse tambin, que el
contador hace 1 variacin de 1 en 1 en numeracin
BCD, adems de evidenciarse que en el momento que
el digito menos significativo llega a 9 este inicia
nuevamente su cuenta y activa en conteo en el
segundo digito ms significativo, y este a su vez a
llegar al mismo nmero provoca un aumento en el
conteo de S.
En la figura 4.b. en el momento que la entrada RESET
se encuentra inactiva, el contador detiene su cuenta y
regresa a su estado inicial 0000, para empezar
nuevamente la cuenta.
Finalmente el bloque funcional , para el contador de 3
dgitos BCD se muestra posteriormente, sealando las
2 entradas de este sistema reset y clk y cada una de
las salidas S,Q,R las cuales sern mostradas luego en
los display 7 segmentos:

2.1.3 DECODIFICADOR
SEGMENTOS.

DE

BCD

Como se pide mostrar el contenido del contador en los


despliegues de 7 segmentos HEX2-0, fue necesario
usar 3 bloques decodificadores de BCD a 7 segmentos
con el fin de mostrar las salidas S, Q, R en la tarjeta
Altera DE2.
Se us el decodificador diseado en clase, con las
debidas instrucciones del docente .
Su bloque funcional se presenta a continuacin:

MKSKSKSKSKSKSKS

Figura 8. Bloque funcional conversor a


segmentos

En el RTL del mimo se puede observar que el


decodificador de BCD a 7 segmentos cuenta con una
entrada de 4 bits que corresponden a cualquiera de los
nmeros que puede tomar cada bit del contador, es
decir aquellos que estn entre 0000 y 1001 y una
salida de 7 bits que corresponden a cada uno de los
segmentos que componen un display .

Figura 10 . Tabla Unidad Aritmtico Lgica.


El circuito final de nuestra ALU consta 4 entradas:
reset, clk(seal de reloj), Numero que permite
ingresar al sistema el nmero A y B, una entrada En
que funciona como una lnea de seleccin de un mux.
Adems, est compuesto por 9 bloques funcionales,
estos son: 1 sistema para el ingreso de los nmeros a
operar denominado IngresoNum; 1 bloque Generador
que controla posteriormente el opcodede la ALU; 1
multiplexor de 4 a 1 el cual controla lo que se va a
observar en el display de 7 segmentos; 4 bloques
deco_7segmentos conectados a la salida del
multiplexor y un divisor de frecuencia que permitir
visualizar los resultados a una frecuencia de 1Hz.
El circuito total es el siguiente:

Figura 9.RTL circuito conversor a 7 segmentos.

2.2 Unidad Aritmtico Lgica (ALU)


de 16 bits.
El requerimiento
continuacin:

para

la

ALU

se

describe

Realice un modelo en VHDL para una unidad


aritmtico lgica (ALU) de 16 bits. Verifique la
operacin correcta con una simulacin. A y B son
entradas de 16 bits a la ALU, e Y es la salida. Una
operacin de desplazamiento y rotacin sigue a las
operaciones aritmticas y lgicas.
El opcode controla las funciones de la ALU de la
siguiente:

Figura 11 . Circuito final ALU 16 bits.

2.2.1 DIVISOR DE FRECUENCIA


El divisor de frecuencia utilizado para el diseo de
nuestra ALU de 16 bits es el mismo que se explic en
el numeral 2.1.1 del presente informe.

2.2.2 INGRESO DE NMEROS (IngresoNum)


Este bloque funcional es bsicamente un sistema que
nos permite ingresar los nmeros A y B con los que se
van a realizar las diferentes operaciones lgicas y
aritmticas.
Para el ingreso de los nmeros se utiliz una entrada
denominada Numero de 10 bits, la cual corresponde a
los 10 switches de la tarjeta Altera DE0 y dos salidas A
y B que son los nmeros que posteriormente sern
operados en la ALU. Ya que la FPGA solo cuenta con
10 switches, fue necesario crear unas seales en el
VHDL que tiene como funcin:

numAB: Para ingresar el nmero deseado, en la


tarjeta corresponde a los switches del [8...0].
S1: Utilizada para seleccionar cual de los
nmeros se va a ingresar. Si el interruptor S1=0
se guardar el nmero A, cuando S1=1 el nmero
a ingresar es el B. Esta entrada corresponde al
interruptor ms significativo [10].
S2: Esta entrada tiene la funcin de determinar si
se ingresaran los 8 bits ms o menos
significativos de cada nmero. Cuando S2=1 se
ingresaran al sistema los primeros 8 bits ms
significativos, de lo contrario, S2=0 se guardaran
los 8 bits menos significativos. Como ya se dijo el
nmero que se est ingresando depende de
exclusivamente de S1.
Una vez se realiza el proceso de ingreso de nmeros,
se concatenan a la salida los 8 bits ms significativos
con los 8 menos significativos para formar los nmeros
A y B.
El cdigo del sistema de ingreso de los nmeros en
VHDL se muestra en la siguiente imagen:

Figura 12 .VHDL Ingreso Nmeros.


Una vez diseado el VHDL se procede a compilar con
el fin de verificar que no haya errores en el cdigo lo
que nos permite realizar posteriormente crear el bloque
funcional del circuito tal y como se muestra en la
siguiente imagen:

Figura 13 . Bloque funcional circuito de Ingreso


de Nmeros.

2.2.3 UNIDAD ARITMETICO-LOGICA 16 BITS


Nuestra Unidad aritmtico- lgica va a realizar 11
operaciones la cuales van a depender de la seal
enviada por el opcode , tal como se mostr en la figura
No. 8.
Esta cuenta con 3 entradas, A y B que corresponden a
los dos nmeros de 16 bits que se van a manejar y
OPCODE que es una seal de control de 5 bits la cual
va a indicar la operacin a realizarse con los nmeros
A y B, siendo estas funciones lgicas, aritmticas, de
rotacin o transferencia.
Adems se cuenta con una salida Y , de 16 bits la cual
es la respuesta de la accin realizada dentro de la ALU
y una salida adicional Cout que va a sealar si existe o
no acarreo en la operacin realizada.

Figura 14. VHDL ALU 16 bits


En la figura se observa que esta ALU realiza las
siguientes operaciones lgicas:
-Transferencia de A:
En la salida se obtiene el mismo valor de la
entrada A.
-Transferencia de B:
Y ser equivalente al segundo valor ingresado a la
unidad aritmtico-logica.
-A or B:
Realiza una adicin lgica entre los nmeros A y B.
-A and B:
Realiza la funcin booleana de producto lgico
entre los nmeros A y B.
-Transferencia ALU_OUT:
En la salida se mantiene el valor de salida anterior
obtenido.
Operaciones aritmticas:
-A+B :
Realiza una suma aritmtica entre las cantidades
seleccionadas como A y B.
- A + 1:
A la entrada A se suma aritmticamente un 1.
- A - 1:
Al valor seleccionado como A se le sustrae
aritmticamente un 1.
-A-B
Se realiza una sustraccin aritmtica, a A se le
resta B.
Operaciones de desplazamiento:
- Rotacin a la izquierda: El segundo bit ms
significativo toma la posicin del ms significativo, y
este a su vez toma lo posicin del bit menos
significativo. Cada bit toma la posicin del su bit
antecesor en forma ascendente.
-Desplazamiento hacia la derecha: Cada bit toma
del valor delbit ubicado a su derecha, es decir estos
pierden un bit de significancia. Al ser un
desplazamiento, es de mencionarse que el bit
menos significativo se pierde, y en la posicin del bit
ms significativo se agrega un cero.

Ya habiendo explicado el contenido del VHDL


realizado en Quartus II para nuestra ALU, de 16 bits,
se procedi a su respetiva compilacin
y
posteriormente la visualizacin de su RTL es cual se
puede observar en la figura 14

Figura 16. Simulacin 1 ALU16 bitsOpcode 000XX


En esta imagen se logra observar, que para un:
Numero A =FFF1= 1111 1111 1111 0001
Numero B=1FFF = 0001 1111 1111 1111
Y opcode=

00000 Y= FFF1
Dicho resultado corresponde a la transferencia de
A, por lo tanto es verdico este resultado.

00001 Y= FFE3
En ALU _OUT se obtiene como
resultado el
Numero A al ser los tres primeros bits ms
significativos 000 , pero al ser los 2 bits menos
significativos 01 la operacin a realizarse es una
rotacin ala izquierda de dicho nmero , por ende
el bit ms significativo ocupa el lugar del ultimo , y
todos los dems bits ocupan la posicin del bit
mayor a ellos en significancia, como se muestra a
continuacin:
Y = A
Y = 1111 1111 1111 0001
Y = 1111 1111 1111 0011
Y=
FFF3

00010 Y= 7FF8
En ALU _OUT se obtiene como
resultado el
Numero A al ser los tres primeros bits ms
significativos 000, pero al ser los 2 bits menos
significativos 10 la operacin a realizarse es un
desplazamiento a la derecha el cual consiste en
que cada uno de los bits tome la posicin del bit
inmediatamente anterior a l en orden de
significancia, el ultimo bit se pierde y en la posicin
del bit ms significativo se asigna un cero, tal cual
como se logra ver en el resultado Y
Y =A.
Y=1111 1111 1111 0001
Y= 0111 1111 1111 1000
Y= 7FF8

Figura 15. RTL ALU 16 bits.


En este se logran observar en la parte superior
izquierda las entradas A y B cada uno de 16 bits,
en la parte inferior la entrada opcode de 5 bits
que acta como lnea de seleccin de cada uno
de los 32 multiplexores presente en el circuito,
controlando la operacin realizada en un instante
dado.
Ahora, para estar seguros del correcto
funcionamiento de la unidad lgico-aritmtica de
16 bits se procedi a realizar su simulacin en
ModelSim.


00011 Y=0000
Al ser los dos bits menos significativos 11 la
operacin a realizar es una transferencia de ceros, por
lo cual a nuestra salida obtenemos el nmero 0 de 16
bits.

00111 Este opcode indica que se debe

realizar una transferencia de ceros, por lo


cual es nuestra simulacin observamos
como salida 1 cero el numeracin
hexadecimal.
Ahora, con este mismo proceso de anlisis, se
verifica que los valores encontrados en la
simulacin, sean correspondientes a los
resultados que establecen la operacin de los
nmeros. Se hace la prueba resultado a resultado
con el fin de descartar errores en el diseo de
nuestra ALU.

Figura 16. Simulacin


Opcode001XX

ALU

16

bits

OPCODE : 001XX = Transferencia de B =ALU_OUT

00100 Y=1FFF
En esta caso los dos ltimos bits de Opcode nos
indican que la operacin a realizar es la
transferencia de ALU_OUT, y al ser esta
transferencia de B , lo que hace nuestra Unidad
lgica-aritmtica es arrojar el mismo nmero que
se est ingresando como B , el cual es 1FFF.

00101 Y=3FFE
Los dos ltimos bits de opcode sealan que la
operacin a realizar que debo rotar a B hacia la
izquierda por lo cual:
Y = B
Y = 0001 1111 1111 1111
Y = 0011 1111 1111 1110
Y=
3FFE

00110 Y=OFFF
En este caso se pide que el nmero B cumpla
con la funcin de desplazamiento hacia la
derecha, por lo cual a nuestra salida se tendra:
Y = B
Y = 0001 1111 1111 1111
Y = 0000 1111 1111 1111
Y = OFFF
Como puede observarse se agreg un cero en la
casilla del bit ms significativo, y los dems bits se
desplazaron hacia la derecha perdindose
nicamente el ltimo de ellos.

Como en las operaciones mostradas hasta el


momento, no se ha mostrado como es el
funcionamiento de la salida Cout, es decir del bit
de acarreo, se pasar inmediatamente al anlisis
de la simulacin obtenida para el caso en el que
los 3 bits ms significativos del opcode son 100
que corresponde a la suma aritmtica entre A y B,
la cual al ser los nmeros ingresados a la ALU lo
suficientemente grandes generan acarreo en el
resultado de operacin.

Figura 17. Simulacin 2 ALU 16 bits


Opcode100XX

Para A+B, el opcode es 100XX. Valores que


se pueden ver en la imagen anterior.
OPCODE:
10000 Y= 1FF0
Este primer cdigo, lo que hace es transferir el
resultado que se obtuvo de la operacin A+B,
donde:
A+B = FFF1 + 1FFF
A+B = 1111 1111 1111 0001 +
0001 1111 1111 1111
A+ B=1 0001 1111 1111 0000
A+B =1 1FF0

Como puede observarse se obtiene como resultado


de la operacin un numero de 17 bits, como se
estaban operando dos cantidades de 16 bits , se
asigna una respuesta de 16 bits y se adiciona una
salida adicional que indicara si se presenta o no
acarreo en la operacin.

10001 Y= 1 3FE0

Este opcode esta definido como la rotacin a la


izquierda del resultado de la operacin aritmtica
A+B.
Y = A+B
Y= 1 0001 1111 1111 0000
Y=
1 0011 1111 1110 0000
Y=
1 3FE0
Como puede observarse la operacin obtenida
tericamente corresponde al valor entregado por el
simulador Model-Sim. El programa esta diseado de
tal manera que el bit de acarreo sea el bit ms
significativo aun si este se modifica mediante una
rotacin.
Ahora, ya habiendo comprobado el buen
funcionamiento de Unidad Lgica- Aritmtica
mediante la simulacin, se pasa a crear el bloque
funcional de esta, quedando de la siguiente forma.

Figura 18. Bloque funcional ALU.


Donde se logra ver que esta cuenta con 3 entradas :
A,B y opcode y 2 salidas : Y que me almacena el
resultado de la operacin hecha y Cout que a indicar s
existe acarreo o no, al hacer la operacin.

2.2.4 GENERADOR
El generador es un circuito que corresponde a un
contador de 5 bits, su funcin principal es controlar
el opcodede la ALU, es decir, seleccionar la
operacin o funcin que va a realizar la unidad
aritmtica - lgica entre los nmeros A y B de 16
bits. El cdigo en VHDL es el siguiente:

Figura 18. VHDL Generador (Contador de 5


bits).
Una vez creado y compilado el VHDL de nuestro
circuito Generador de operaciones, es posible
mirar el RTL del mismo:

Figura 19. RTL circuito Generador.


Como se aprecia el circuito Generador es
respectivamente un contador de 5 bits con una
salida O de 4 hasta 0, este contador
corresponde a un arreglo de flip-flops tipo D,
adems tiene una entrada controlada por el reloj
(clk) que permite que los flip-flops se activen y
realicen el conteo.
La simulacin de este circuito se ilustra en la
siguiente imagen y adems se hace su respectiva
explicacin:

Si En = 01, selecciona D1 por lo tanto en el


display se visualiza el nmero B.

Si En = 10, selecciona D2 y corresponde a


observar el resultado de las operaciones en el
siete segmentos.

Si En = 11, selecciona D3 que est conectada


a GND.
Es importante tener en cuenta que tanto las
entradas D0, D1, D2, D3 como la salida Z son
nmeros de 15 bits.
El VHDL del mux de 4 a 1 es el siguiente:

Figura 20. Simulacin circuito Generador.


De la anterior simulacin se puede deducir que:
El contador de 5 bits se incrementa siempre
que haya un flanco de reloj
-

Una vez es activada la seal de reset, el


contador toma el valor de 0 y reinicia su
conteo una vez se desactive la misma
seal.

El contador inicia desde el nmero 00000


y se incrementa hasta el nmero 11111.

Despus de verificar que el contador funciona


correctamente se crea su bloque funcional:

Figura 22 . VHDL Multiplexor de 4 a 1.


Figura 21 . Bloque funcional circuito Generador

2.2.5 MULTIPLEXOR DE 4 A 1
El multiplexor de 4 a 1 tiene la funcin de seleccionar
que se va a visualizar en el display de siete
segmentos de la tarjeta Altera DEO, tiene 5
entradas, estas son: DO, D1, D2, D3 y una lnea de
seleccin En. Esta lnea cumple con las siguientes
caractersticas:
-

Si En = 00, selecciona DO por lo tanto en el


display se visualiza el nmero A.

Posteriormente se compila, para evitar cualquier


clase de error y en seguida se observa que es lo
que realmente se genera mediante el RTL del
circuito:

selecciona a D2 y por ltimo cuando es 11 a la salida


se tendr D3, pero para el caso de nuestra ALU de 16
bits D3 la conectamos a tierra ya que no se utiliz. En
la simulacin se dieron valores arbitrarios solo para
corroborar en funcionamiento del circuito.
Una vez se verifico el funcionamiento del mux se cre
su bloque funcional, este es:

Figura 25. Bloque funcional Multiplexor 4 a 1.


2.2.6 DECODIFICADOR
SIETE SEGMENTOS:

Figura 23 . RTL Multiplexor de 4 a 1.


De la anterior figura es posible confirmar que si se ha
generado un multiplexor el cual tiene una salida Z de
16 bits. La salida escoger una nica entrada
dependiendo exclusivamente de la lnea de seleccin.
Luego se realiz la simulacin del multiplexor de 4 a 1
y se confirm su correcto funcionamiento, la
herramienta ModelSim nos gener esta simulacin

Figura 24. Simulacin Multiplexor de 4 a 1.


Se puede concluir de la anterior imagen que la salida Z
obtenida depende estrictamente de la combinacin que
tome la lnea de seleccin En, confirmando que cuando
es 00 selecciona D0, s es 01 selecciona D1, 10

HEXADECIMAL

Este bloque funcional fue indispensable para


comprobar el funcionamiento de nuestra ALU a travs
de los displays de siete segmentos de la tarjeta Altera
DE0. Se utilizaron 4 decodificadores ya que la unidad
aritmtico-lgica es de 16 bits, por lo tanto se requera
utilizar 4 displays. Para realizar el cdigo del
decodificador de hexadecimal a siete segmentos nos
basamos en el decodificador BCD realizado en clase.
El cdigo es el siguiente:

Figura 26. VHDL decodificador hexadecimal


La simulacin del decodificador se realiz en ModelSim
y despus se cre el bloque funcional del mismo:

secuenciales y aritmticos ya que brinda recursos


necesarios para la creacin y comprobacin de los
mismos.

3. REFERENCIAS
[1] ORTIZ, DAGO. "Modelo para informe en
iEEE" . SLIDESHARET.NET. disponible en
http://es.slideshare.net/dagoortiz/modelopara-informe-en-ieee.

Figura 27 . Bloque funcional Decodificador

3. CONCLUSIONES:
3.1 Es indispensable simular los circuitos diseados,
ya que esto nos permite verificar si el circuito est
funcionando o no tal y como se desea. La herramienta
que no permite hacer las simulaciones se llama
ModelSim.

3.2 Esta prctica de laboratorio en VHDL nos permiti


incursionar en el diseo de circuitos digitales, haciendo
uso de todas las herramientas y tcnicas vistas en
clase de Circuitos Digitales II.

3.3 Durante la creacin del circuito deseado en VHDL


es de vital importancia el manejo del orden, para que a
la hora de presentar algn error durante la compilacin,
sea apreciado de manera rpida el error disminuyendo
el tiempo ocupado en el diseo de los mismos.

3.4 Se pudo cumplir satisfactoriamente con los


requerimientos planteados, los cuales eran disear un
contador de 3 dgitos BCD y Mostrar el contenido del
contador en los despliegues de 7
Segmentos HEX2-0, adems de disear e implementar
una Unidad Lgica- Aritmtica de 16 bits, que
desarrollaba diferentes funciones como por ejemplo
rotacin y desplazamiento .

3.5 Al ser la primera prctica desarrollada en VHDL


fue elemental el trabajo en equipo, siendo esta una
oportunidad de aprendizaje y ayuda mutua durante el
desarrollo y diseo de los sistemas.

3.6 El programa Altera Quartus II es una herramienta


de gran ayuda durante el diseo de circuitos

[2] Ramos, Carlos.(2012- julio 26) "ESTADO


FINITO - DIVISOR DE FRECUENCIA CON
VHDL" . disponible en
http://www.estadofinito.com/divisorfrecuencia-vhdl/.
[3] Urbano, Fernando.(2014 )Apuntes de clase
circuito aritmticos y secuenciales, diseos
realizados durante la clase

También podría gustarte