Codigo de sumador paralelo de 4 bits, y conversion de bcd a decimal con display de 7 segmentos

Solo disponible en BuenasTareas
  • Páginas : 7 (1521 palabras )
  • Descarga(s) : 0
  • Publicado : 7 de mayo de 2011
Leer documento completo
Vista previa del texto
SUMADOR EN VHDL
OBJETIVO:
Mediante la teoría vista en clase; crear un código para hacer sumador en el lenguaje de VHDL y con visualización de displays. Conocer los comandos básicos de VHDL para saber programar y realizar operaciones sencillas en este lenguaje.
BASES TEORICAS:
VHDL
VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very HighSpeed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language.
Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) usado por ingenieros para describir circuitos digitales. Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero éstos no son prácticos endiseños complejos. Otros lenguajes para el mismo propósito son Verilog y ABEL.
Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field Programmable Gate Array), ASIC y similares.
VHDL fue diseñado en base a los principios de la programación estructurada. La idea esdefinir la interfaz de un modulo de hardware mientras deja invisible sus detalles internos. La entidad (ENTITY) en VHDL es simplemente la declaración de las entradas y salidas de un modulo mientras que la arquitectura (ARCHITECTURE) es la descripción detallada de la estructura interna del modulo o de su comportamiento.
Además de darle nombre a la entidad el propósito de la declaración es definirsus señales (o ports) de interfaz externa en su declaración de ports. Además de las palabras reservadas o claves ENTITY, IS, PORT and END, una ENTITY tiene los siguientes elementos.
* Nombre_entidad; es un identificador seleccionado por el usuario para seleccionar la entidad.
* Nombre de señal; es una lista de uno o más identificadores separados por una coma y seleccionados por el usuariopara identificar las señales externas de la interfaz.
* MODO es una de las 4 siguientes palabras reservadas para indicar la dirección de la señal:
Asignaciones condicionales en VHDL.
En VHDL hay varias asignaciones que se realizan en forma condicionada.
* WITH ...... SELECT
* WHEN ..... OTHERS
* WHEN ..... ELSE
Modo | Descripción |
IN | En este modo las señales solo entranen la entidad |
OUT | Las señales salen de la entidad |
BUFFER | Este modo se utiliza para las señales que además de salir de la entidad pueden usarse como entradas realimentadas |
INOUT | Este modo se utiliza para señales bidireccionales. Se emplea en salida con tres estados. Se puede asignar como sustituto de los tres modos anteriores, pero no se aconseja pues dificulta la comprensión delprograma. |
Cuando se omite el modo de una señal en la declaración de la entidad se sobreentiende que es de entrada.
* Tipo de señal; en VHDL, hay varios tipos de señales predefinidas por el lenguaje, tales como:
TIPO | Características |
BIT | En este tipo las señales solo toman los valores de "1" y "0" |
Booleana | En este tipo las señales solo toman los valores de True y False |Std_logic | En este tipo las señales toman 9 valores, entre ellos tenemos: "1", "0", "Z" (para el 3er estado), "-" (para los opcionales). |
Integer | En este tipo las señales toman valores enteros. Los 1 y los 0 se escriben sin “ |
Bit_Vector | En este tipo los valores de las señales son una cadena de unos y ceros. Ejemplo: “1000” |
Std_Logic_Vector | En este tipo los valores de las señalesson una cadena de los nueve valores permisibles para el tipo std_logic. |
Operadores en VHDL
En VHDL existen diferentes operadores entre los que tenemos:
* Operadores Definidos en VHDL para los tipos: Lógicos AND, OR, XOR, NOT, NAND, NOR, XNOR Bit y Booleanos
* De relación =, /=, <, >, >=, <=
* Integer, Bit y Bit_Vector Concatenación & Bit,
* Bit_Vector y para...
tracking img