Você está na página 1de 6

INGENIERIA

ELECTRONICA
LABORATORIO DE
ELECTRONICA INTEGRADA REGISTRO CALIFICADO
SNIES 4950

LABORATORIO DE ELECTRONICA INTEGRADA


IMPLEMENTACION DE UNA ALU DE 8 BITS
Aldo Vergara Romero
e-mail: aldovergarar@outlook.com
Rooldy Machado Ferrer
e-mail: Rooldy92@hotmail.com
Luis Moreno Rosario
e-mail: Lucho_1494@hotmail.com
Claudia Almanza Jimnez
e-mail: clau_paj@hotmail.com
RESUMEN: En el siguiente artculo se
pretende
explicar
el
modo
de
funcionamiento de una ALU de 8 bits
implementada en la FPGA, y su
utilizacin para visualizar diferentes
operaciones logicas. En este caso, la
idea principal es la creacin de un
programa bajo lenguaje VHDL en ISE
Design, que permita mediante el manejo
de Dipswitchs y pulsadores, visualizar
en el/los display/s de 7 segmentos, y los
leds asociados, los resultados de las
operaciones lgicas establecidas en el
programa. Copyright 2014 UPB
ABSTRACT: The following article aims
to explain the mode of operation of an 8bit ALU implemented in the FPGA, and
its use to visualize different logical
operations. In this case, the main idea is
to create a low ISE VHDL Design
program that allows management
through dipswitches and buttons, display
the / the display / s 7-segment LEDs and
partners, the results of logical operations

defined in the program.Copyright 2014


UPB
KEYWORDS: Display, Hexadecimal,
FPGA, VHDL.
OBJETIVOS:
GENERAL:
Crear un programa en VHDL que
sea
capaz
de
desarrollar
operaciones lgicas especificas.
ESPECIFICOS:
Simular el respectivo programa y
visualizarlo en el ISim simulator,
forzando constantes binarias, y
verificando efectivamente que se
haga la operacin establecida.

Seleccionar adecuadamente los


pines y puertos de la fpga de
manera tal que las entradas del
dipswitch,
tengan
conexin
1

INGENIERIA
ELECTRONICA
LABORATORIO DE
ELECTRONICA INTEGRADA REGISTRO CALIFICADO
SNIES 4950
directa a la lgica TTL que
comunica
a los switchs y
displays.

Comprender las nuevas ventanas


de visualizacin creadas en este
programa mas complejo, tales
como; .ucf y .bit.

Cargar el archivo .bit a la FPGA,


mediante el software incorporado
al ISE, conocido como ADEPT, y
familiarizarse con este.
1. INTRODUCCIN

Una
FPGA
(del
ingls
Field
Programmable Gate Array) es un
dispositivo semiconductor que contiene
bloques de lgica cuya interconexin y
funcionalidad puede ser configurada 'in
situ'
mediante
un
lenguaje
de
descripcin especializado. La lgica
programable puede reproducir desde
funciones tan sencillas como las
llevadas a cabo por una puerta lgica o
un
sistema
combinacional
hasta
complejos sistemas en un chip.
2. TEORA RELACIONADA
En la FPGA no se realiza programacin
tal cual como se realiza en otros
dispositivos como DSP, CPLD o
microcontroladores. La FPGA tiene
celdas que se configuran con una
funcin especfica ya sea como
memoria (FLIP-FLOP tipo D), como

multiplexor o con una funcin lgica tipo


AND, OR, XOR. La labor del
"programador" es describir el hardware
que tendr la FPGA. Por consiguiente,
la tarea del "programador" es definir la
funcin lgica que realizar cada uno de
los CLB, seleccionar el modo de trabajo
de cada IOB e interconectarlos.
El diseador cuenta con la ayuda de
entornos de desarrollo especializados
en
el
diseo
de
sistemas
a
implementarse en un FPGA. Un diseo
puede ser capturado ya sea como
esquemtico, o haciendo uso de un
lenguaje de programacin especial.
Estos lenguajes de programacin
especiales son conocidos como HDL o
Hardware
Description
Language
(lenguajes de descripcin de hardware).
Los HDLs ms utilizados son:
VHDL
Verilog
1

Para este programa se dispone del uso


de los pulsadores y dipswitchs
integrados en la FPGA basys2,
mediante
la
seleccin
de
las
operaciones establecidas y segn el
requerimento, se visualizar en un
patrn de leds y visualizacin de
patrones integrados tambin en el
display de 7 segmentos, del cual la fpga
cuenta con 4.
1 Clive Max Maxfield, FPGA Instant
Access.
2

INGENIERIA
ELECTRONICA
LABORATORIO DE
ELECTRONICA INTEGRADA REGISTRO CALIFICADO
SNIES 4950
Una cosa a tener en cuenta es que
tanto el switch, los botones y los leds
del FPGA estn en lgica negativa,
normalmente, el 1 simboliza encendido
y el 0 apagado, con esta lgica el 1 es
apagado y el 0 encendido. Una vez se
codifique el nmero que se quiere
mostrar, mediante VHDL se leern esos
4 bits para despus, codificar la salida
de 8 bits para que el display muestre el
nmero correspondiente (o letra, si el
valor numrico supera el 9 decimal, es
decir; 10, 11, 12, 13, 14, 15).2
Antes de empezar, se intentar
comprender un poco mejor como
funciona un display de 7 segmentos,
este dispositivo es una
forma de representar nmeros est
compuesto de siete segmentos que se
pueden encender o apagar, de tal
manera que encendiendo determinados
segmentos, se representar un nmero
u otro.
Hay dos tipos de display, los de nodo
comn y los de ctodo comn, todos los
leds estn conectados a un terminal
comn, la diferencia entre ambos,
radica en que en el nodo comn estos
leds estn conectados a potencial
positivo (1) y en los de ctodo comn
estn conectados a potencial negativo
(0). Esto implica que cuando se elabora
el circuito, si por ejemplo, es de nodo
comn slo uno de los terminales (el
terminal con nombre comn) deber ir
al polo positivo ya que en realidad se

trata del mismo terminal, aunque tenga


dos conexiones distintas.
Como se puede apreciar en la figura 1,
un display tiene 8 entradas, 7 para los
segmentos que representarn los
nmeros y la octava que representa un
punto. Por tanto, por un lado se tiene 4
bits del switch para representar de
forma binaria 16 nmeros (de 0 a F) y
por el otro se tiene 8 bits de salida para
iluminar los leds que se necesitan en
cada caso, as por ejemplo, si los 4 bits
del switch son 1011 (4 en lgica
negativa) para la salida, tomando como
ejemplo la imagen superior y cogiendo
como bit ms significativo el led 8, ser
10110100 (en lgica negativa). Con esta
salida, se iluminarn los leds 7, 4, 2 y 1,
el punto del display se utilizar para
distinguir entre las letras y los nmeros,
por ejemplo, para diferenciar el 8 de la
B.

2 Tomado de Fundamentos de sistemas


digitales.
3

INGENIERIA
ELECTRONICA
LABORATORIO DE
ELECTRONICA INTEGRADA REGISTRO CALIFICADO
SNIES 4950

1 PROGRAMA
A continuacin, se procedi a la
elaboracin del programa, mediante
VHDL, luego de realizar los pasos
establecidos en la gua de trabajo.
Para este programa en especifico, se
diseo una unidad aritmtico lgica,
capaz de realizar operaciones bsicas
como suma, resta, multiplicacin, y
negacin.
Fue sencillo a la hora de implementar
puesto que solo fue necesario definir las
entradas,
salidas,
y
respectivas
selectoras, al numero de bits necesario.

Lo demas, simplemente un sencillo


codigo en C.

compilacin
VHDL
del
mismo.
Primero se realiza un chequeo del
cdigo escrito, y si el chequeo es
pasado con xito, lo mismo suceder a
la hora de compilar. La simulacin
muestra que el resultado fue el
esperado puesto que, la compilacin fue
exitosa.
El programa funciona de manera
adecuada, asi que se procede a la parte
de la simulacion, en la cual, se forza
una constante en binario, y se verifica la
salida y efectivamente se comprueba
que el programa est haciendo la
funcion para la cual habia sido
diseado. En este caso, la pantalla de
simulacion se obvia puesto que es un
programa mucho mas complejo, y al
cumplir la funcion requerida, se decidi
su implementacion en la FPGA para
probarlo no virtualmente, sino de forma
real.
Para esto, fue necesario hacer la
escritura de archivo .ucf en el cual se
definen los puertos, entradas, salidas, y
componentes en la FPGA que sern
usados para comprobar que realmente
la Alu esta haciendo la funcion para la
cual fue creada.

Fig1. Programa implementado.


4. SIMULACION
Luego de estar listo el programa, se
procede a realizar la respectiva
4

INGENIERIA
ELECTRONICA
LABORATORIO DE
ELECTRONICA INTEGRADA REGISTRO CALIFICADO
SNIES 4950

Fig3. Seleccin de pines y puertos.


Finalmente, en el PlanAhead, se
procede a seleccionar en el diagrama
esquematico virtual de la FPGA, las
diferentes conexiones necesarias para
verificar
el
funcionamiento
del
programa.

Fig2. Configuracion de los displays, y


dipswitchs en la FPGA.
Basandose en este esquema, solo
queda definir los puertos y pines, en el
mismo programa, en la parte de .ucf. de
la siguiente manera.

Fig4. PlanAhead.
Ahora el objetivo es enviar el archivo a
la FPGA, para esto se debe usar el
software Adept 2.6.1 System de
Digilent. Para ello, se debe conectar la
5

INGENIERIA
ELECTRONICA
LABORATORIO DE
ELECTRONICA INTEGRADA REGISTRO CALIFICADO
SNIES 4950
tarjeta Basys2 a un puerto USB
disponible
de
una
computadora,
Windows reconocer que se ha
conectado un nuevo dispositivo y
proceder
a
asociarlo
con
el
controlador, se abre el software y se
comprueba que la tarjeta est bien
conectada.
Se hace clic en el botn Browse a la
derecha de donde aparece el dispositivo
FPGA, se abre un dilogo de Windows
en el que se debe indicar el archivo de
configuracin con extensin .bit que se
gener antes en Project Navigator.
Por ltimo se hace clic en el botn
Program a la derecha del botn Browse
y esto inicia el proceso de carga del
archivo de configuracin a la FPGA.
Durante la programacin, un led rojo,
que se encuentra a un lado de los pines
de alimentacin externa de la tarjeta se
enciende, una vez terminado el proceso
se indica si ha sido exitoso en la
ventana de mensajes de Adept, si no ha
habido problemas, el FPGA ha sido
configurado y se puede probar el
funcionamiento.3

Fig6. FPGA Funcionando.


5. CONCLUSION
Despus de realizada la prctica se
concluye que con la ayuda del software
Xilinx Ise Design Suite, se puede
disear y simular el funcionamiento de
diferentes diseos electronicos, como
objeto de desarrollo para esta actividad
de laboratorio, el desarrollo del
programa que permitiera comprobar el
funcionamiento de una ALU completa
de 8 bits, mediante el uso de los
componentes incluidos en la FPGA.
6. BIBLIOGRAFIA
[1]http://www.xilinx.com/support/downlo
ad/index.html/content/xilinx/en/download
Nav/design-tools.html
[2] Clive Max Maxfield, FPGA Instant
Access. SCIENCE DIRECT MAGAZINE.

3 Informacin adquirida del Ingeniero a


cargo del curso; Oscar Fuentes Amin.
6

Você também pode gostar