contenido

  1. ...


Fuente http://es.wikipedia.org/wiki/VHDL

VHDL es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) usado por Ingenieros para describir circuitos digitales. VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language.

Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lóico Programable), FPGA (Field Programmable Gate Array), ASIC y similares.

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 en diseños complejos. Otros lenguajes para el mismo propóito son Verilog y ABEL.


--Biblioteca

--Entidad: Define el puerto, esto es, una caja vacía con entradas y salidas.

--Arquitectura: Define el circuito que llenará la caja.



Se cuenta con la biblioteca estándar diseñada por la IEEE.


LIBRARY IEEE
USE IEEE.std_logic_1164.all;



Otras bibliotecas son:

library IEEE;

 use IEEE.std_logic_1164.all;
 use IEEE.std_logic_textio.all;
 use IEEE.std_logic_arith.all;
 use IEEE.numeric_bit.all;
 use IEEE.numeric_std.all;
 use IEEE.std_logic_signed.all;
 use IEEE.std_logic_unsigned.all;
 use IEEE.math_real.all;
 use IEEE.math_complex.all;



La entidad define un puerto con entradas y salidas.

Se debe tener especial cuidado al nombrar la entidad ya que también debe ser el nombre del proyecto.



ENTITY nombre_entidad IS PORT (

	ent1 : IN STD_LOGIC;
	ent2 : IN STD_LOGIC_VECTOR (0 TO 3);
	ent3 : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
 
	sal1 : OUT STD_LOGIC;
	sal2 : OUT STD_LOGIC_VECTOR (0 TO 3);
	sal3 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) --Note que no hay punto y coma
 )
END ENTITY nombre_proyecto;



Define el contenido de la caja "puerto"


ARCHITECTURE nombre_arquitectura OF nombre_entidad IS

	-- Declaraciones

BEGIN

	--Declaraciones concurrentes para construir hardware

END ARCHITECTURE nombre_arquitectura;