Sei sulla pagina 1di 3

CIRCUITOS DIGITALES AVANZADOS (S I) G 1

Practica N 4
Contador BCD de 00 a 99 en VHDL
Fabin Ugarte, Sebastin Torres
mugarte@est.ups.edu.ec, ctorresri@est.ups.edu.ec
Universidad Politcnica Salesiana

ResumenEsta practica se diseo un codigo en VHDL para


el control de un circuito contador bcd que va desde el 00 al 99
con el uso de la frecuencia interna del modulo CPLD.
Index TermsQuartus, compuertas, lgicas.

I.

I NTRODUCCIN

El mdulo CIC 560 FPGA/CPLD est equipado con un


mdulo ADC / DAC , teclado , pantalla LCDM , PS2, VGA,
UART, interfaz SCI , display de 8 dgitos 7 segmentos, motor
de corriente continua , circuitos de mando de motor a pasos,
y est disponible para procesar seales complejas y de control
digitalizado . Adecuado para la formacin curricular en la electrnica, la ingeniera elctrica, la informtica, comunicacin y
el campo de la automatizacin; ideal para los diseadores profesionales, ingenieros de pregrado y estudiantes de postgrado
para aprender diseo de circuitos integrados y desarrollo de
software.
II.
II-A.

M ARCO T ERICO

Elementos Bsicos de VHDL

Un sistema digital est descrito por sus entradas y sus


salidas y la relacin que existe entre ellas.
En el caso de VHDL por un lado se describir el aspecto
exterior del circuito: entradas y salidas; y por otro la forma
de relacionar las entradas con las salidas. El aspecto exterior,
cuntos puertos de entrada y salida tenemos, es lo que denominaremos entity. Y la descripcin del comportamiento del
circuito architecture, toda architecture tiene que estar asociada
a una entity.
Adems, aunque no es estrictamente necesario, podemos
definir tambin las bibliotecas y paquetes que vamos a utilizar,
lo que nos indicar que tipos de puertos y operadores podemos
utilizar. Siempre ha de aparece la definicin de las bibliotecas
y paquetes antes de la definicin de la entity.

Figura 1. Librerias IEEE

II-A1. Entity : Una entidad es la abstraccin de un circuito, ya sea desde un complejo sistema electrnico o una simple
puerta lgica. La entidad nicamente describe la forma externa
del circuito, en ella se enumeran las entradas y las salidas del
diseo. Una entidad es anloga a un smbolo esquemtico en
los diagramas electrnicos, el cual describe las conexiones del
dispositivo hacia el resto del diseo.
Define externamente al circuito o subcircuito.
Nombre y nmero de puertos, tipos de datos de entrada
y salida.
Tienes toda la informacin necesaria para conectar tu
circuito a otros circuitos.

Los puertos pueden ser de entrada in, salida out, entradasalida inout o buffer. Los puertos de entrada slo se pueden
leer y no se puede modificar su valor internamente en la
descripcin del comportamiento del circuito (architecture),
sobre los puertos de salida slo se puede escribir pero nunca
tomar decisiones dependiendo de su valor (esto implica una
lectura). Si es estrictamente necesario escribir sobre un puerto
a la vez que se tiene que tener en cuenta su valor el tipo sera
inout o buffer.
Adems, en la entity se pueden definir unos valores genricos (generic) que se utilizarn para declarar propiedades
y constantes del circuito, independientemente de cual sea la
arquitectura. A nivel de simulacin utilizaremos generic para
definir retardos de seales y ciclos de reloj, estas definiciones
no sern tenidas en cuenta a nivel de sntesis.
Tambin se puede utilizar generic para introducir una constante que ser utilizada posteriormente en la architecture,
utilizaremos esa constante para hacer nuestro circuito ms
general. Por ejemplo, podemos definir el comportamiento de
un banco de registros teniendo en cuenta que puede tener
cualquier nmero de registros, fijando el nmero de registros
particular que queremos simular e implementar a travs de una
constante del
generic. Esto implica que en toda la parte de nuestro cdigo
(el que vamos a escribir dentro de architecture) dnde haga
falta el nmero de registros utilizaremos el nombre de la
constante definida en generic, de manera anloga a como se

CIRCUITOS DIGITALES AVANZADOS (S I) G 1

hara en cualquier lenguaje de programacin convencional. La


sentencia generic no es necesaria, en caso de que no vayamos
a utilizarla puede desaparecer de la entity.
A continuacin se presenta un ejemplo de descripcin
externa del circuito (entity). Para el ejemplo sabemos que el
circuito presentar dos entradas de tamao N bits y una salida
de tamao un bit, particularizamos la entidad para N igual a
8. Como hemos advertido anteriormente, aunque la funcin de
generic es permitirnos generar un cdigo ms general, una vez
que definimos el circuito, tenemos que particularizarlo, por lo
que
siempre debe darse un valor a las constantes del campo
generic.

1. Se declararon las libreras IEEE on las cuales mi programa de VHDL funciona.


2. Declaramos las variables de entrada y salida
3. Realizamos la declaracin de los procesos necesarios
a seguir para poder completar el funcionamiento del
contador de 00 a 99.

II-A2. Architecture : Los pares de entidades y arquitecturas se utilizan para representar la descripcin completa de
un diseo. Una arquitectura describe el funcionamiento de la
entidad a la que hace referencia, es decir, dentro de architecture
tendremos que describir el funcionamiento de la entidad a
la que est asociada utilizando las sentencias y expresiones
propias de VHDL.
Define internamente el circuito.
Seales internas, funciones, procedimientos, constantes
...
La descripcin de la arquitectura puede ser estructural o
por comportamiento.

III.
III-A.

D ESARROLLO

Contador de 0-99

III-A1.

Realizacin del cdigo del proyecto.:

Figura 2. Cdigo de Contador de 0-99

CIRCUITOS DIGITALES AVANZADOS (S I) G 1

III-A2. Asignacin de pines en el mdulo CIC 560 FPGA/CPLD: Compilado el proyecto y sin ningn errror procedemos a asignar los las variables a los pines del mdulo, a
continuacin se muestran las varibles asignadas.

Figura 3. Asignacin de pines

III-A3. Conexin con el mdulo.:


1. Realizamos la conexin con el mdulo, seleccionamos
en la barra de herramientas Programmer.
2. En el cuadro que se abre seleccionamos Hardware Setup
- Seleccionamos USB Blaster.
3. Click en Start.
IV.

C ONCLUSIONES

Se pudo determinar que la programacin es mucho mas


certera y menos tediosa que estar haciendo circuitos grficos
ya que estos son mucho mas largos, pero por medio de la
programacin VHDL es mucho mas rapido. Pero hay que
saber exactamente lo que se necesita para poder realizar una
programacin excelente.

Potrebbero piacerti anche