ELECTRÓNICA
DIGITAL.
JESUS IÑAKY NAVA VELAZQUEZ.
MTRO. BENIGNO MUÑOZ BARRÓN
¿QUÉ ES VHDL?
• VHDL es un lenguaje de especificación definido por el IEEE utilizado para
describir circuitos digitales y para la automatización de diseño electrónico.
VHDL es acrónimo proveniente de la combinación de dos acrónimos:
VHSIC y HDL.
• A su vez VHSIC son otras siglas que significan Very High Speed Integrated Circuit. Por tantp
todo junto tendríamos Very High Speed Integrated Circuit Hardware Description Language.
Lenguaje de descripción de hardware para circuitos integrados de muy alta velocidad.
• Esta definición puede ser confusa y poco clara para gente que no este familiarizada con el
diseño electrónico, así que vamos a intentar explicarlo de forma sencilla. Para ello nos
remontaremos al pasado, donde no existía VHDL y la vida de los diseñadores era mucho más
complicada.
HISTORIA DE VHDL
• Antes de aparecer VHDL en 1983, diseñar un circuito
electrónico requería de herramientas de captura de
esquemáticos. Estas herramientas consistían en un
“lienzo” donde los diseñadores pintaban bloques y
establecían las conexiones entre ellos con lineas. En
esos tiempos la informática no estaba tan avanzada
como ahora y diseñar un circuito de esta manera
requería de programas muy caros y sobre todo poco
compatibles entre ellos.
• Aparte de permitir un intercambio eficiente de
componentes, el uso de VHDL ofrece muchas de
ventajas. La mas significativa es que utilizando el
lenguaje es posible tanto describir como simular el
sistema. El propio lenguaje ofrece las herramientas
para escribir módulos que apliquen entradas al
sistema y mediante una herramienta llamada
simulador poder ver las salidas y verificar si son
correctas. Esto permite crear entornos complejos de
verificación para comprobar la corrección del
sistema, algo fundamental en diseños que van a ser
enviados a dispositivos físicos y donde un error en el
diseño puede acarrear unos costes catastróficos para
una empresa.
¿CÓMO PROGRAMAR EN VHDL?
• Lo primero ante esta pregunta es aclarar
una idea. En VHDL no se programa, se
describen circuitos electrónicos. Para
poder comenzar a trabajar tenemos que
tener muy claro que es lo que queremos
describir. En caso contrario acabaremos
con algo grande, lento y lleno de fallos.
UN EJEMPLO EN VHDL
library ieee;
• Una vez que tenemos claro use ieee.std_logic_1164.all;
que queremos, podemos entity add_1 is
ponernos a escribir código. Por port (a, b, c_in: in std_logic; c_mas, s: out std_logic);
end add_1;
ejemplo aqui os dejamos una architecture funcional of add_1 is
descripción VHDL para que begin
s <= ((not a) and (not b) and c_in) or ((not a) and b and (not
podáis ver qué aspecto tiene c_in)) or (a and b and c_in) or (a and (not b) and (not c_in));
un circuito en VHDL. En este c_mas <= (a and b) or (a and c_in) or (b and c_in) ;
end funcional;
caso es un sumador de 1 bit.