Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MINATITLN
Materia:
DISEO DIGITAL CON VHDL
Catedrtico:
Dionisio Ted Echeverria
Integrantes de equipo:
Galmich Limon Leonel
Tiburcio Padua Maricela
DISEO DIGITAL
CON VHDL
UNIDAD #1
QU SIGNIFICA VHDL?
Es un lenguaje de descripcin de circuitos electrnicos digitales que
utiliza distintos niveles de abstraccin.
El significado de las siglas VHDL es VHSIC (Very High Speed
Integrated Circuits) Hardware Description Language. Esto significa
que VHDL permite acelerar el proceso de diseo.
VHDL no es un lenguaje de programacin, por ello conocer su
sintaxis no implica necesariamente saber disear con l.
El subtipo std_logic proviene del std_ulogic y la lista de valores es la misma, pero este subtipo tiene
una funcin de resolucin (concepto en el que no entraremos). En la prctica, nosotros usaremos
muy a menudo el tipo std_logic para sntesis. Es ms amplio que el tipo bit, al incluir los estados de
alta impedancia y de no importa. Para usar el subtipo std_logic hay que incluir el paquete
std_logic_1164 de la librera ieee.
Atributos .
Los elementos en VHDL pueden tener informacin adicional basada en atributos. Estos
atributos estn asociados a ciertos elementos del lenguaje y se manejan mediante la
comilla simple '.
Por ejemplo, si t es una seal de un tipo enumerado, entero, flotante o fsico, se tienen
los siguientes atributos:
t'left lmite izquierdo del tipo left t'right
t'low menor de los valores en t t'high t'length da el nmero de elementos de t.
Un atributo importante es 'event. Da un valor booleano verdadero si acaba de ocurrir
un cambio en la seal. Se usa especialmente con seales que sean de reloj: clk'event
Otro atributo que aparece con frecuencia es 'range. Da el rango de un objeto limitado.
Por ejemplo, si definimos signal word: std_logic_vector(15 downto 0); entonces
word'range es 15 downto 0
En ciertos programas informticos, hay tambin atributos que permiten agregar
informacin adicional a los objetos que se estn definiendo en VHDL. Estas
informaciones adicionales sirven para pasar informacin a las herramientas de diseo
que se estn utilizando en VHDL, por ejemplo si queremos que ciertas seales estn en
determinados pines de una PLD. En MaxPlusII se realiza de forma grfica.
Seales.
La seal no es un objeto del lenguaje que guarda un valor, sino que lo que hace es guardar
un valor y hacerlo visible en el momento adecuado. Esto es, se puede decir que la seal tiene
dos partes, una donde ese escribe y que almacena el valor, y otra que se lee y que no tiene
por qu coincidir con lo que se acaba de escribir.
Entidades y arquitecturas .
La descripcin de un circuito en VHDL consta al menos de dos elementos: la entidad y la
arquitectura. En la entidad se definen las seales de entrada y salida. En la arquitectura, se
define lo que hace el circuito. Previamente a la definicin de ambas, se pueden incluir las
libreras y los paquetes necesarios en el programa. Veamos un ejemplo.
library ieee; use ieee.std_logic_1164.all;
entity MUX2to1_a is port(
A, B: in std_logic; Sel: in std_logic;
Y: out std_logic); end MUX2to1_a;
architecture behavior of MUX2to1_a is begin
Y<= ( B and Sel ) or ( A and not( Sel) ); end behavior;
Las dos primeras lneas del programa contienen las libreras (ieee) y los paquetes
(std_logic_1164.all) que sern utilizados en el programa. Los tipos ms habituales estn
declarados en esta librera, por lo que su uso es casi imprescindible. Como en el programa se
usa el tipo std_logic, es necesario incluir este paquete.
1.4- DECLARACIONES
CONCURRENTES
Se ejecutan a la vez
Se pueden poner en cualquier orden
El simulador detecta los cambios en los valores de los objetos y determina cuando
tiene que actualizarlos
Todas las sentencias dentro de una arquitectura son concurrentes
DECLARACIONES
CONCURRENTES
Dos ejemplos
equivalentes
PROCESOS
Sirve para describir el hardware mediante sentencias secuenciales
Contienen
Declaraciones
Sentencias secuenciales
El proceso debe de tener una lista de sensibilidad explcita o al
menos una sentencia WAIT
Los procesos se ejecutan cuando
EJEMPLO