Práctica No.
03: Sistemas de Numeración
Carlos Montealegre Palacio
Enrique Montes Clavijo
Tecnología en Telecomunicaciones
Facultad de Ingenierías
Instituto Tecnológico Metropolitano
Resumen – Para esta práctica de laboratorio de electrónica digital sobre sistemas de numeración en un
circuito lógico integrado y procesamiento de datos, se diseñaron tres circuitos VHDL para ser
implementados en una tarjeta FPGA. El primero de ellos fue un sistema lógico que convierte un numero
binario de 4 bits a su equivalente en BCD, el cual permite representar números del 0 al 15, visualizando los
dígitos en un display de 7 segmentos y de ser el caso ayudados con un led, todo esto mediante la creación
de tres archivos (codificador de prioridad, convertidor de código BCD y decodificador). El segundo circuito
fue un convertidor de código BCD de 5 bits, conocido como 2 out-of 5. Por último, también se diseñó un
determinado circuito de un sumador de 4 bits con acarreo anticipado, creado a partir de una ecuación lógica
determinada.
1. Introducción característico, su función operacional se basa
en la introducción a sus entradas de un número
Los circuitos integrados digitales o también en código binario correspondiente a su
conocidos como circuitos lógicos son la base equivalente en decimal para mostrar en los
fundamental de la electrónica moderna, pueden siete pines de salida establecidos para el
estar compuestos por elementos digitales integrado. El elemento alfanumérico que se
básicos como compuertas lógicas (AND, OR, conecta a las siete salidas del decodificador
NOT), hasta llegar a ser circuitos o sistemas también está diseñado para trabajar con
más complejos, siendo combinaciones de estados lógicos, es un dispositivo
circuitos más simples o de los ya mencionados. elaborado con un arreglo de LED de tal manera
Estas combinaciones dan lugar a otros tipos de que muestre los números decimales desde el
elementos digitales como lo pueden ser: cero hasta el nueve dependiendo del dato
compuertas NAND, NOR, XOR, multiplexores recibido desde el decodificador, a este
decodificadores, codificadores, flip-flops, micro elemento se le conoce con el nombre de display
procesadores o micro controladores. ó dispositivo alfanumérico de 7 segmentos.
A simple vista todo esto puede parecer Sumador de arrastre anticipado: Para reducir
relativamente sencillo, pero los circuitos el tiempo de cálculo, fueron creados los
electrónicos llegan a ser bastantes complejos llamados sumadores con anticipación de
ya que su estructura está compuesta por un acarreo. Funcionan creando dos señales (P y
número muy grande de circuitos simples, donde G) para cada posición de bit, basándose en si
deben funcionar de manera correcta y así lograr un acarreo se propaga a través de una posición
el resultado esperado y la información correcta. de bit menos significativa (al menos una entrada
Marco teórico: es un 1), generada en esa posición de bit
(ambas entradas son 1) o es nulo en esa
Codificador BCD a 7 segmentos: Es un posición de bit (ambas entradas son 0). En la
elemento digital que funciona a base de estados mayoría de los casos, P es simplemente la
lógicos, con los cuales indica una salida suma de salida de un semisumador y G es la
determinada basándose en un dato de entrada salida de acarreo de éste.
Después de que se generen P y G, se crean los
acarreos para cada posición de bit.
A continuación, se podrá observar el diseño
para tres circuitos lógicos digitales y sus
posibles resultados en una implementación en
una tarjeta FPGA.
2. Materiales y Métodos
Para el diseño y simulación de los dos circuitos
combinacionales asignados se utilizó el
programa Vivado 2019.2 para ser
implementado en la tarjeta FPGA Nexys 4 Artix-
7 del ‘package’ csg324.
Figura 1. Variables y código VHDL que pasa el numero
Primer circuito. binario a su equivalente en BCD.
En primer lugar, se diseñó un primer circuito el
cual tenía la función de convertir un numero de
4 bits en su equivalencia en BCD. Los números
que se representaron fueron decimales del 0 al
15, en donde se debería mostrar en un display
de 7 segmentos el digito de la unidad (menos
significativo) mientras que el digito de las
decenas (más significativo) se representó
encendiendo un led si es ‘1’ y apagado si es ‘0’.
Se crearon tres archivos, el primero de ellos era
pasar el número binario de 4 bits (su
equivalente de los decimales mencionados), a
su representación en BCD (Decimal codificado
en binario). Cabe mencionar que los binarios de
4 bits fueron las entradas de todo el sistema, es
decir 4 interruptores de la tarjeta FPGA. El
código VHDL que se realizó para este circuito Figura 2. Variables y código VHDL para el archivo que
se puede observar en la figura 1. convierte el código BCD en las salidas que encenderán los
segmentos determinados del display.
El segundo de ellos se diseñó para coger el Para comprender mejor de mejor forma el
número BCD generado en el archivo anterior y funcionamiento del segundo archivo, en donde
convertirlo en un código de salida que
los primeros 7 dígitos de izquierda a derecha de
encendería o no un determinado segmento del
cada salida llamada ‘Disp’ representan los 7
display de la tarjeta y así visualizar el número
decimal cada código BCD y si es necesario que segmentos del display (cátodos), cuando es ‘0’
se encienda un led para cuando el decimal es este segmento encenderá y ‘1’ permanecerá
de dos dígitos. El código VHDL que utilizó se apagado, su representación se observa en la
observa en la figura 2. figura 3.
Por otro lado, el siguiente digito en orden determinado led. En consecuencia, por cada
representará el punto y el ultimo digito se asignó entrada solo se podrían encender dos leds. El
al led. código VHDL utilizado para este circuito lo
podemos observar en la figura 5.
Figura 3. Representación y ejemplo del funcionamiento del
segundo archivo.
El ultimo archivo es prácticamente el sistema
compuesto por los dos archivos anteriores, en
donde se unieron para que su funcionamiento
Figura 5. Variables y código VHDL para el circuito de BCD
sea correcto, su código VHDL se puede a 2 out-of 5.
observar en la figura 4.
Tercer circuito.
Por último, se creó un sumador de 4 bits con
arrastre anticipado, en primer lugar, diseñando
en VHDL el circuito para cada sumador básico,
es decir de 1 bit, para luego a partir de éste
componer el circuito general de 4 bits. El código
VHDL que se utilizó para el diseño del sumador
de arrastre de 1 bit se observa en la figura 6.
Figura 4. Variables y código VHDL del archivo general del
circuito, donde se unen los otros dos archivos para su buen
funcionamiento.
Segundo circuito.
El segundo circuito que se diseñó en esta
práctica, consistía en convertir el número BCD
(en 4 bits) equivalente a los números decimales Figura 6. Código VHDL para crear el circuito sumador de
arrastre anticipado de 1 bit.
del 0 al 9, a un código de binario de 5 bits en
donde solo dos de sus dígitos eran ‘1’ (código 2 A partir del código del archivo anterior se creó
out-of 5). el circuito integrado de 4 bits, ya que cada
Las entradas de este circuito fueron los cuatro sumador básico tuvo el mismo diseño, además
dígitos del número binario que se asignaron a se declararon las señales que unen los
cuatro interruptores de la tarjeta, mientras que sumadores y también las ecuaciones lógicas
las salidas fueron entonces los cinco dígitos del que representan cada arrastre para el buen
código 2 out-of 5 y asignados a cinco leds, en funcionamiento del circuito.
donde los dígitos en ‘1’ encenderían un
El código utilizado con todos sus componentes equivalente al decimal 12, como salida se
y variables se observa en la figura 7. obtiene el 2 en el display y se enciende el led.
Figura 9. Simulación en el Vivado para el primer circuito,
ingresando el equivalente al número 5, obteniendo el
Figura 7. Variables, componentes y diseño general del
respectivo código.
código VHDL para el sumador de arrastre de 4 bits.
3. Resultados
Primer circuito.
El esquemático RTL que generó el Vivado para
el circuito que convierte las entradas de
números binarios de 4 bits en su equivalencia
de BCD para obtener de salida el numero
decimal visualizado en un display, se puede
observar en la figura 8.
Figura 8. Esquemático RTL para el primer circuito
realizado en la práctica en donde se observan los archivos
realizados y unidos. Figura 10. Simulación en el Vivado para el primer circuito,
ingresando el equivalente al número 12, obteniendo el
Para comprobar el posible buen funcionamiento respectivo código.
de este primer circuito, se simuló obteniendo los
resultados esperados. En la figura 9 se puede
Segundo circuito.
observar la simulación cuando se ingresa el
número binario equivalente al 5 decimal, Para el segundo circuito realizado el cual se
obteniendo de salida el código que haría debe ingresar por medio de cuatro interruptores
visualizar este número en el display de 7 el equivalente binario de un numero decimal (0
segmentos y el led apagado. Así mismo, en la a 9) para obtener en la salida la representación
figura 10 se observa la simulación ingresando el
de un código de 5 bits que encendió
determinados leds.
Se observa en la figura 11 un esquemático
postsintesis de este circuito, de cómo sería su
funcionamiento.
Figura 13. Simulación de entradas y salidas para el
equivalente del decimal 4, en donde se encienden el 2 y el
cuarto led.
Tercer circuito.
Por último, para el tercer circuito sumador de 4
Figura 11. Esquemático postsientesis para el circuito 2 out- bits con arrastre anticipado, se obtuvo al
of 5.
momento de simulación en el Vivado, el
También se pudo obtener la simulación para esquemático RTL equivalente al circuito básico,
observar su funcionamiento y posible resultado es decir al sumador de 1 bit, como se observa
al ser implementado en la tarjeta FPGA. en la figura 14. Igualmente, en la figura 15 se
Primero se simuló para obtener en la salida el puede ver el determinado esquemático
código equivalente al 9 decimal, como se postsintesis que representa este circuito.
observa en la figura 12, mientras que en la
figura 13 la simulación de acuerdo al ingresar el
equivalente al 4 decimal.
Figura 14. Esquemático RTL del circuito sumado de
arrastre anticipado de 1 bit.
Figura 12. Simulación de entradas y salidas, para el
equivalente del 9 decimal en donde se encienden los dos
primeros leds.
Figura 15. Esquemático postsintesis del circuito sumador
de arrastre anticipado de 4 bits.
También se realizó su respectiva simulación al 4. Conclusiones
ingresar en ‘X’ el equivalente en binario del 6 y
en ‘Y’ el de 2, con el arrastre en 1, como lo Al concluir esta práctica, se pudo observar
vemos en la figura 16. Mientras que en la figura claramente la posible composición y
17 se observa la simulación para ‘X’ igual al funcionamiento para circuitos integrados
equivalente binario de 10 y ‘Y’ de 5. digitales más complejos que los anteriormente
vistos, ya que algunos de los realizados en
estas prácticas son circuitos compuestos y
unidos por uno o varios circuitos básicos, e
incluso sin necesidad de utilizar las compuertas
lógicas ya utilizadas.
Gracias a todo lo visto y realizado en esta
práctica nos podemos empezar a dar una idea
de como podemos diseñar circuitos aun mas
complejos como multiplexores, micro
controladores o micro procesadores y también
la gran variedad de usos que podemos obtener
de una tarjeta FPGA.
Los principales usos que encontramos al
realizar los circuitos de esta práctica, lo
encontramos al momento que deseamos
corregir errores, acelerar procesos y tener la
Figura 16. Simulación del circuito sumador de 4 bits con idea clara de la variedad de sistemas numéricos
arrastre anticipado para determinados valores de entrada.
que podemos utilizar al diseñar.
Bibliografía
Wilaeba Electrónica. Decodificador BCD de 7
Segmentos. Blogspot. Recuperado de
[Link]
2017/01/decodificador-bcd-a-7-
[Link].
Floyd, T., L. (2016). Fundamentos Sistemas
Digitales. Pearson Educación. España.
Enciclopedia Universal. (2020). Código 2 entre
5. Esacademic. Recuperado de
[Link]
[Link]/24203/C%C3%B3digo_2_entr
Figura 16. Simulación del circuito sumador de 4 bits con e_5
arrastre anticipado para determinados valores de entrada.
Tocci, R, J., & Widmer, N. S. (2003). Sistemas
digitales: principios y aplicaciones.
Pearson Educación.
Brown, S., & Vranesic, Z. (2007). Fundamentos
de lógica digital con diseño VHDL.
México.