Está en la página 1de 4

Proyecto Final ALU de 4 bits

Sergio Gabriel Pabn Sueldo, Ghilmar Fernando Luque Quena


Universidad Catlica Boliviana San Pablo

La Paz, Bolivia
ghilmar.luque@gmail.com

sepasu.34.sp@gmail.com

Resumen En este proyecto final se embargo, posteriormente se desarrollaron


modelo e implemento un ALU (Unidad las herramientas de sntesis e
Aritmtica Lgica) de 4 bits con el
implementacin en hardware a partir de
lenguaje de programacin VHDL.
Tambin se realizo la simulacin de la los archivos .VHD. Aunque puede ser
misma. usado de forma general para describir
cualquier circuito digital se usa
Palabras clave: ALU, testbench, VHDL
principalmente para programar PLD
I. INTRODUCCIN (Programable Logic Device - Dispositivo
Lgico Programable), FPGA(Field
VHDL es un lenguaje definido por Programmable Gate Array), ASIC y
el IEEE (Institute of Electrical and similares.
Electronics Engineers) (ANSI/IEEE
1076-1993) usado por ingenieros y Otros mtodos para disear circuitos son
cientficos para describir circuitos la captura de esquemas (con
digitales o modelar fenmenos cientficos herramientas CAD) y los diagramas de
respectivamente. VHDL es el acrnimo bloques, pero stos no son prcticos en
que representa la combinacin diseos complejos. Otros lenguajes para
de VHSIC y HDL, donde VHSIC es el el mismo propsito, pero con un nivel de
acrnimo de Very High Speed Integrated abstraccin superior son Verilog y ABEL.
Circuit y HDL es a su vez el acrnimo [1]
de Hardware Description Language. Para
el modelado fsico existe la derivacin del Dentro del VHDL hay varias formas con
lenguaje VHDL-AMS. Originalmente, el las que se puede disear el mismo circuito
lenguaje VHDL fue desarrollado por el y es tarea del diseador elegir la ms
departamento de defensa de los Estados apropiada.
Unidos a inicios de los aos 80's basado
Funcional o Comportamental: Se
en ADA, con el fin de realizar simulacin
de circuitos elctricos digitales; sin describe la forma en que se comporta
el circuito digital, se tiene en cuenta estados, filtros digitales, bancos de
solo las caractersticas del circuito pruebas etc.[2] [3]
respecto al comportamiento de las
entradas y las salidas. Esta es la Primera Parte: Marco Referencial
forma que ms se parece a II. OBJETIVOS DEL
los lenguajes de software ya que la LABORATORIO
descripcin puede ser secuencial, A) Objetivo General
adems de combinar caractersticas
Desarrollar un programa en VHDL que
concurrentes. Estas sentencias
permita realizar diferentes operaciones
secuenciales se encuentran dentro de matemticas y lgicas que son
los llamados procesos en VHDL. Los caractersticas de una ALU (Unidad
procesos son ejecutados en paralelo Aritmtica Lgica)
entre s, y en paralelo con
B) Objetivos Especficos
asignaciones concurrentes de seales
y con las instancias a otros Apropiarse de las tcnicas de
componentes. programacin en lenguajes de
descripcin en hardware para la
Flujo de datos: Se describen definicin de circuitos lgicos
combinatorios.
asignaciones concurrentes (en
Familiarizarse con el manejo de
paralelo) de seales.
las herramientas de desarrollo de
Xilinx.
Estructural: Se describe el circuito
Determinar la tcnica ms
con instancias de componentes. Estas optimizada para implementacin
instancias forman un diseo de de circuitos lgicos
jerarqua superior, al conectar los combinatorios.
puertos de estas instancias con las
seales internas del circuito, o con
puertos del circuito de jerarqua
III. LMITES Y ALCANCES DEL
superior. Es la recomendada cuando
LABORATORIO
el diseo digital se vuelve complejo o
est conformado por mltiples A) Limites
bloques de hardware. Los lmites del laboratorio son de la
implementacin y simulacin utilizando
Mixta: combinacin de todas o nicamente el lenguaje de programacin
algunas de las anteriores. VHDL.
B) Alcances
En VHDL tambin existen formas
metdicas para el diseo de mquinas de Los alcances del presente laboratorio son
de realizar un testbench y una simulacin
para comprobar la buena realizacin del lgica: unidades de procesamiento
ALU grfico como las que estn en las GPU
Segunda Parte: Marco Terico modernas, FPU como el
viejo coprocesador matemtico 80387,
IV. FUNDAMENTO TERICO
y procesadores digitales de seales como
En computacin, la unidad aritmtica los que se encuentran en tarjetas de
lgica o unidad aritmtico-lgica, sonido, lectoras de CD y los televisores
tambin conocida como ALU (siglas en de alta definicin. Todos stos tienen en
ingls de arithmetic logic unit), es su interior varias ALU potentes y
un circuito digital que calcula operaciones complejas.
aritmticas (como suma, resta, V. PROCEDIMIENTO
multiplicacin, etc.) y operaciones lgicas
(si, y, o, no), entre valores (generalmente Para realizar la implementacin de la
ALU propondremos una entidad como la
uno o dos) de los argumentos.
que se muestra a continuacin.
Muchos tipos de circuitos electrnicos Figura 1.
necesitan realizar algn tipo de operacin
aritmtica, as que incluso el circuito
dentro de un reloj digital tendr una ALU
minscula que se mantiene sumando 1 al
tiempo actual, y se mantiene
comprobando si debe activar el sonido de
la alarma, etc.
En la figura 1 se ve la ALU que
implementaremos
Por mucho, los circuitos electrnicos ms
complejos son los que estn construidos Los vectores A y b sern las entradas, S
ser el seleccionador para la operacin
dentro de los chips de microprocesadores
que se desee realizar, el vector Q ser la
modernos. Por lo tanto, estos salida y Aca_Pres, resultado y compara
procesadores tienen dentro de ellos un sern las banderas que indican el
ALU muy complejo y potente. De hecho, resultado de una determinada operacin.
un microprocesador moderno (y
Para llevar a cabo las instrucciones,
los mainframes) puede tener proponemos el siguiente orden en la
mltiples ncleos, cada ncleo con entrada de cuatro bits S:
mltiples unidades de ejecucin, cada una
de ellas con mltiples ALU.

Muchos otros circuitos pueden contener


en el interior una unidad aritmtico
imaginacin para implementar
programas que nos permitan
Tabla 1
realizar operaciones complicadas
o cualquier otra tarea.
- El consumo de recursos en un
programa es muy importante
debido a que si este es muy grande
y la capacidad de la memoria es
reducida, tendremos problemas al
querer quemar el programa. Por
consiguiente nuestro objetivo
como ingenieros es lograr la
mayor eficiencia, consumiendo la
menor cantidad de recursos.
Y es as como queda demostrado la
implementacin de la ALU
VII. RECOMENDACIONES

Despus de corregir el algoritmo,


procedimos a la simulacin, confirmando
En la tabla 1 se ven las operaciones que se de esta forma el buen funcionamiento de
busca realizar.
todas las operaciones de la ALU, as
VI. CONCLUSIONES como el buen funcionamiento de todo el
cdigo.
De acuerdo a los resultados obtenidos en
el presente laboratorio pudimos llegar a VIII. REFERENCIAS
las siguientes conclusiones:
[1]http://www.forosdeelectronica.com/tut
- La elaboracin de la ALU nos oriales/flip-flops.htm
permite realizar operaciones
[2]The Student's Guide to VHDL
aritmticas y lgicas simples de
(Systems on Silicon) by Peter J Ashenden
una forma rpida y confiable, de
.
ah la importancia de saber
programar para un ingeniero. [3]https://es.wikipedia.org/wiki/Unidad_a
- Lenguajes de programacin como ritm%C3%A9tica_l%C3%B3gica
VHDL o cualquier otro nos
ofrecen posibilidades infinitas de
aplicacin, basta con un poco de