Está en la página 1de 4

1

Lgica Combinacional - Aplicaciones


(Octubre 2015)
lvaro D. Arvalo Salazar1 , Nicols M. Cuadrado vila2, Carlos E. Gil Simancas3.
Departamento de Ingeniera Elctrica y Electrnica, Facultad de Ingeniera, Universidad Nacional
de Colombia

Abstract The hardware description language Verilog was


used in this lab to develop a code that would get a
hexadecimal representation of the system in two of the
four 7-segment displays card Nexys 2.
Keywords Anode, cathode, FPGA, 7 segment, HDL,
Verilog.
Resumen-- En esta prctica de laboratorio se utiliz el
lenguaje de descripcin de hardware Verilog para
desarrollar un cdigo que permitiera obtener una
representacin del sistema hexadecimal en dos de los
cuatro displays 7 segmentos de la tarjeta de desarrollo
Nexys 2.
Palabras clave nodo, ctodo, FPGA, 7 segmentos,
HDL, Verilog.

I.

INTRODUCCIN

En este informe de laboratorio se pretende describir y


analizar los procedimientos, resultados y conclusiones de la
prctica de laboratorio nmero 3. Se comenzar con un breve
marco terico en el que se describe el funcionamiento general
de un display 7 segmentos, as como su funcionamiento en la
tarjeta de desarrollo Nexys 2. Seguidamente se empezar a
describir la seccin de anlisis y resultados, en donde se
explicar y analizar detalladamente el cdigo realizado y la
lgica implementada para satisfacer los objetivos de la
prctica.

II. MARCO TERICO


A continuacin se presentan los conceptos relevantes para
tener en cuenta con el fin de comprender el desarrollo de esta
prctica. En este punto se asume que el lector de este informe
tiene claridad en los conceptos: HDL y lgebra de Boole.
A. Codificador
Es un circuito de lgica combinacional que se encarga de
traducir una entrada de N bits (Binario, BCD, etc.) en una
salida de M bits, donde M no puede exceder a 2^N bits. Al
tratarse de un sistema combinacional, la naturaleza de dicha
transformacin corresponde a la necesidad del mismo.
El codificador que debe ser considerado en la prctica es
BCD a 7 segmentos. Este sistema transforma el lenguaje BCD
en cdigos visibles en un arreglo de LEDS, haciendo posible
visualizar los bits en forma decimal. Este arreglo consiste en
un grupo de diodos que tienen un elemento comn: su nodo o
su ctodo. Esto presenta entonces dos tipos de display, que se
presentan en la Figura 1:

Por otro lado, estar la seccin de Preguntas sugeridas, en la


que se dar respuesta a las preguntas formuladas en la gua de
laboratorio y se analizarn con detalle algunas singularidades.
Y por ltimo, se tendr la seccin de conclusiones en la que se
dar un pequeo recuento de los anlisis y observaciones de la
prctica de laboratorio.
Figura 1. Arreglo de LED: Display siete segmentos.
1

adarevalos@unal.edu.co
nmcuadradoa@unal.edu.co
3
cegils@unal.edu.co
2

Los led se organizan de tal manera que seleccionando una


combinacin entre elementos encendidos y apagados, pueda

2
visualizarse un nmero de una manera ms comprensible. La
convencin general para cada segmento (led) de un display de
7 segmentos es la indicada en la Figura 2:

Figura 2. Display 7 segmentos.


Figura 4. Entradas y salidas Nexys 2 [1].

Un decodificador de BCD a 7 segmentos busca que las


combinaciones de bits puedan traducirse de una manera ms
comprensible.

Figura 3. Diagrama de bloques display 7 segmentos.

B. Tarjeta de desarrollo Nexys2 Display


El hardware designado para el desarrollo de la prctica que
es objeto de este informe es la tarjeta de desarrollo Nexys2 de
la empresa Xilinx, en este caso se har nfasis en los Displays
7 segmentos de los que se dispone. El manual de propietario
de la tarjeta de desarrollo mencionada anteriormente, en la
seccin User IO hace detalle de los elementos de entrada y
salida que estn a disposicin de la FPGA.
En el diagrama anterior puede identificarse que el rea de
inters es la que comprende las salidas: F17, H17, C18, F15,
L18, F18, D17, D16, G14, J17, H14 y C17. Puede concluirse
que se dispone de 4 Displays, que son de nodo comn y que
comparten sus 7 segmentos.

III. ANLISIS Y RESULTADOS


En esta parte del informe se describir el desarrollo de la
prctica y la resolucin del problema de diseo. En primer
lugar, se inici con la construccin de la tabla de verdad
mostrada en la Tabla 1, teniendo en cuenta que, segn el
manual de la Tarjeta de Desarrollo Nexys 2 [1], cada uno de
los led del siete segmentos se enciende con LOW (Estado
Bajo). Despus de la construccin de la tabla se procedi con
la simplificacin de las funciones lgicas, lo que dio como
resultado las siguientes expresiones:

+A
BC
a=ABC +ACD+BC D+AB
D
+A
B
C D

b=ABC +AB D
D+
D
D
C
+A BC

c=BCD+B
A BC
+B
D
C
d= AD+
ABC
D
B
C+A
CD+AB C
e=
A
B D+A
D+A
D+A
D
B
C
BC

f =A
B CD+AB C
+
D
C

g=
AB
A BCD+AB C

(1)
(2)
(3)
(4)
(5)
(6)
(7)

Luego del anlisis y sntesis de las expresiones lgicas, se


comenz el cdigo. En primera instancia, se cre un Mdulo
de Verilog que contiene las variables de entrada (ent, de 4 bits
y control, de 2 bits), que leen el nmero que quiero representar
en el display siete segmentos y control que decide en qu
display se quiere mostrar; y las salidas (sal, de 7 bits y combl,
de 4 bits).
Luego de declarar las salidas y entradas se cre un mdulo
adicional llamado auxSeg que asignaba a cada bit de un vector
de 7 bits (leds) una funcin lgica dada por el vector de
entrada ent (cuyas combinaciones se muestran en las
ecuaciones (1), (2), (3), (4), (5) ,(6) y (7)). ste se asigna a la
entrada del mdulo (n) y se cre una variable adicional para la
salida (auxSal), en la que se guardarn los datos de manera
temporal, tal como se muestra en el diagrama de la Figura 6.

3
TABLA 1. Tabla de verdad del decodificador
Nm. (Hex)

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1

0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1

0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1

0
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0

0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0

0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0

1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
Figura 6. Diagrama de bloques que describe las entradas y las salidas del
mdulo auxSeg.

Figura 5. Mdulo inicial de la implementacin.

La combinacin de estos dos mdulos permiti mostrar


en cada nodo del bloque de Displays 7 segmentos un nmero
de cuatro bits dada una posicin, de 2 bits. La asignacin, para
crear el archivo .ucf, de cada entrada y salida se bas en el
datasheet de la Tarjeta de Desarrollo Nexys 2 (Ver Figura 7).
Con la sntesis de este archivo se pudo generar el archivo .bit,
el cual ser cargado a la Nexys 2.

Figura 7. Referencia de entradas del bloque de Displays 7 segmentos de la


Tarjeta de Desarrollo Nexys 2 [1]. Adaptado.

Por otro lado, se procedi con la simulacin del diseo.


Se grafican las entradas (ent) 1, 3, A, B, D y F; tambin se
graficaron las salidas combl y sal, esta ltima que corresponde
a la combinacin que recibe el display 7 segmentos. Todo esto
se muestra en la Figura 8.

4
en cuestin, pues la capacidad del ojo humano solo le permite
captar hasta 30 imgenes por segundo, es decir que si se
muestra cada nmero distinto, en un display distinto, en un
momento distinto de manera repetitiva, a una frecuencia mayor
a 30 Hz, el ojo humano no ser capaz de reconocer estos pasos
y ver un nmero esttico.
2) Cmo sera el procedimiento para obtener las
unidades, decenas y centenas del formato decimal de un
nmero binario de 8 bits representado en los displays 7
segmentos?

Figura 8. Simulacin para los dos mdulos implementados.

Finalmente, se program la tarjeta de desarrollo creando el


archivo .bit, con lo que se prob el funcionamiento del diseo
bajo diferentes entradas ent y control (Ver figura 9).

Empezar restando el nmero 100 decimal (0110 0100


binario) varias veces, contando el nmero de veces que
puede ser restado sin obtener un nmero negativo, esas son
las centenas. Al ltimo resultado positivo de la operacin
anterior, se le resta el nmero 10 decimal (0000 1010
binario) y se cuenta el nmero de veces que puede realizarse
dicha operacin sin obtener un resultado negativo, este
nmero sera las decenas y el restante las unidades.

V. CONCLUSIONES
En la presente prctica de laboratorio se desarroll un
cdigo que permiti implementar los displays 7 segmentos
de la tarjeta de desarrollo Nexys. De esta manera se logr
hacer uso de una de las partes ms importantes de esta
poderosa herramienta. Conjuntamente, se entendi ms a
fondo el funcionamiento de estos visualizadores siete
segmentos, y de igual manera, se comprendi su
construccin, comportamiento y funcionamiento en la
tarjeta de desarrollo.

Figura 9. Tarjeta de desarrollo programada y probada. Foto: Kelly Santaf

Por otro lado, el desarrollo e implementacin del cdigo en


Verilog permiti un perfeccionamiento en este lenguaje de
descripcin, debido a que se implementaron nuevos
comandos y sentencias. Por ltimo, la realizacin de esta
prctica de laboratorio permiti observar como es el
funcionamiento bsico de aplicaciones ms complejas tales
como los contadores, los cuales sern el tema principal de
futuras prcticas y seguramente estarn presentes en el
desarrollo de nuestro proyecto final

IV. PREGUNTAS SUGERIDAS


1) Cmo es el procedimiento para visualizar al mismo
tiempo 4 nmero diferentes en cada uno de los displays 7
segmentos en la tarjeta de desarrollo?
La construccin de los Displays en la tarjeta de desarrollo
restringe las posibilidades a que solo se puede mostrar un
nico nmero en un solo instante de tiempo, pues se
comparten los segmentos a hasta g.
Existe la capacidad de poder elegir en que display se
muestra dicho nmero, esto hace posible el resolver problema

VI. REFERENCIAS BIBLIOGRFICAS


[1] Digilent, Digilent Nexys2 Board Reference Manual, 2011.

También podría gustarte