Vous êtes sur la page 1sur 10

INSTITUTO POLITÉCNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENERÍA HIDALGO

INGENIERÍA MECATRÓNICA

CIRCUITOS LÓGICOS

Prácticas de laboratorio, mediante el software vivado.

Presentan:

FLORES RESENDIZ GERARDO ERNESTO


AMADOR LUNA FERNANDO

1 DE MARZO DE 2018
Introducción
Para el desarrollo de la práctica es necesario conocer a fondo el manejo del código
binario, para ello en esta primera parte se menciona su definición a fondo, las
características que cumple dicho código, además de la implementación del mismo
en software vivado, con el fin de generar un programa capaz de hacer conversiones
binarias a gray y BCD, a su vez, cargarlo a la placa de desarrollo Nexys4 DDR.
El Código BCD (Binary-Coded Decimal (BCD) o Decimal codificado). Binario es un
estándar para representar números decimales en el sistema binario, en donde cada
dígito decimal es codificado con una secuencia de 4 bits. Con esta codificación
especial de los dígitos decimales en el sistema binario, se pueden realizar
operaciones aritméticas como suma, resta, multiplicación y división de números en
representación decimal, sin perder en los cálculos la precisión ni tener las
inexactitudes en que normalmente se incurren con las conversiones de decimal a
binario puro y de binario puro a decimal. La conversión de los números decimales a
BCD y viceversa es muy sencilla, pero los cálculos en BCD se llevan más tiempo y
son algo más complicados que con números binarios puros.
Fundamentos
En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con
su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el
número de bits necesario para representar el nueve, el número más alto que se
puede representar en BCD).
Características
Ponderación
La mayoría de los sistemas de numeración actuales son ponderados, es decir, cada
posición de una secuencia de dígitos tiene asociado un peso. El sistema binario es,
de hecho, un sistema de numeración posicional ponderado. Sin embargo, algunos
códigos binarios, como el código Gray, no son ponderados, es decir, no tienen un
peso asociado a cada posición. Otros, como el mismo código binario natural o el
BCD natural sí lo son.
Distancia
Es una característica sólo aplicable a las combinaciones binarias. La distancia entre
dos combinaciones es el número de bits que cambian de una a otra. Por ejemplo,
si se tienen las combinaciones de cuatro bits 0010 y 0111, correspondientes al 2 y
al 7 en binario natural, se dirá que la distancia entre ellas es igual a dos ya que de
una a otra cambian dos bits.
Además, con el concepto de distancia se puede definir la distancia mínima de un
código. Ésta no es más que la distancia menor que haya entre dos de las
combinaciones de ese código.
Continuidad
Es una característica de los códigos binarios que cumplen que todas las posibles
combinaciones del código son adyacentes, es decir, que de cualquier combinación
del código a la siguiente cambia un sólo bit. En este caso se dice que el código es
continuo. Cuando la última combinación del código es, a su vez, adyacente a la
primera, se trata de un código cíclico.
Autocomplementariedad
El código binario es autocomplementario cuando el complemento a nueve del
equivalente decimal de cualquier combinación del código puede hallarse invirtiendo
los valores de cada uno de los bits (operación lógica unaria de negación) y el
resultado sigue siendo una combinación válida en ese código. Esta característica
se observa en algunos códigos BCD, como el código Aiken o el código BCD exceso
3. Los códigos autocomplementarios facilitan las operaciones aritméticas.
Aplicación

Electrónica
El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor
numérico, especialmente en los sistemas digitales no programados (sin
microprocesador o microcontrolador). Utilizando el código BCD, se simplifica la
manipulación de los datos numéricos que deben ser mostrados por ejemplo en un
visualizador de siete segmentos. Esto lleva a su vez una simplificación en el diseño
físico del circuito (hardware).
Si la cantidad numérica fuera almacenada y manipulada en binario natural, el
circuito sería mucho más complejo que si se utiliza el BCD. Hay un programa que
se llama b1411 que sirve para dividir al sistema binario en dos combinaciones. Una
por ejemplo es la de sistemas digitales.

Representación
Cada dígito decimal tiene una representación binaria codificada con 4 bits:
Decimal: 0 1 2 3 4 5 6 7 8 9
BCD: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Los números decimales, se codifican en BCD con los de bits que representan sus
dígitos.

1) Abrir el SOFTWARE
vivado, y crear
proyecto

2) Seleccionar
ubicación para
guardar el proyecto

3) Seleccionar tipo de
proyecto, en este
caso, RTL project.

4) No agregar las fuentes, se


agregaran posteriormente

5) No agregar contrains

6) Seleccionar tarjeta, en
nuestro caso la
NEXYS4-DDR

7) Terminar de crear el
proyecto

8) Inicio del proyecto

9) En esta parte se
agregan las fuentes a
utilizar

10) Crear files, en nuestro


caso será tipo VHDL, y se
selecciona el destino de
guardado.

11) Una vez creado el archivo fuente, se puede localizar en la pesaña de “Design Sources”,
con el nombre que se determinó al principio.

12) Para iniciar con la estructura del


programa, se llaman las librerías a
utilizar, del tipo IEEE:

a) IEEE.STD_LOGIC_ARITH.ALL;

Se encargará de las operaciones que realizará el


programa para poder hacer las conversiones del
código bcd al código gray.

b) IEEE.STD_LOGIC_UNSIGNED.ALL;

Se encargará que el programa no asigne signo alguno a los bits que se estén manejando.

Nota. Ambas librerías fueron utilizadas en ambas prácticas, ya que el programa debía de recibir
bits y realizar operaciones entre ellos para lograr las conversiones.

13) Dentro del código se declara “a”


como una variable con puerto de
entrada y a “b” como la variable
con puerto de salida, se toman
dos casos distintos, para una
práctica y otra:
a) Para la primera:

Para (a) se asigna como entrada, bus y


de 0 a 3 bits, entre bit menos significativo
y el bit más significativo, cuyo objetivo era
introducir un código binario de 4 bits.

Para (b) se asigna como salida, bus y de 0 a 3 bits, entre bit menos significativo y el bit más
significativo, cuyo objetivo era convertir a un código gray de 4 bits.

b) Para la segunda:

Para (a) se asigna como entrada, bus y de 0 a 2 bits, entre bit menos significativo y el bit más
significativo, cuyo objetivo era introducir un código bcd de 3 bits.

Para (b) se asigna como salida, bus y de 0 a 11 bits, entre bit menos significativo y el bit más
significativo, cuyo objetivo era convertir a un código a 12 bits.
14) Se asignan los números en binario a
convertir.

15) En esta parte se usa la estructura del


código y se apoya con el programa Nexys-
4DDR-Master.XDC, con el fin de llamar las
variables “a” y “b”, y asignarle los puertos
de entrada y salida dela tarjeta de
desarrollo “Nexys4-DDR”, asignando a los
switches como las entradas de “a” y a los
leds, como salidas de “b”, finalmente, en
estos últimos se veras las conversiones de
código binario a código gray, al efectuarse
el encendido simultaneo de leds, una vez
que son accionados los switches.

16) Se ejecuta “Run Synthesis” y “Run


Implementation”, respectivamente, para
compilar y ejecutar el programa, a su vez
verifica si hay errores.

17) Se conecta la tarjeta de desarrollo Nexys4DDR y se carga el programa.

Conclusion:

El objetivo de esta practica era reconocer el sotfware para programar la tarjeta(NEXYS 4 DDRII) el
cual se describio paso a paso como llevar a cabo un programa desde cero y orientar para hacer
mas facil y menos compleja la programacion de un FPGA .

Vous aimerez peut-être aussi