VHDL akronimoa VHSIC eta HDL siglak juntatzetik dator. VHSICk Very High Speed Integrated Circuit esan nahi du eta HDLk Hardware Description Language. Hau da, Oso Abiadura Handiko Zirkuitu Integratuen Hardware Deskribapen Lengoaia litzateke euskaraz.

IEEEk araututako (ANSI/IEEE 1076-1993) ingeniariek erabiltzen duten lengoaia estandarizatua da. Zirkuitu digitalen diseinu automatizatu elektronikoa egiteko balio duen lengoaia. Momentuz, VHDL zirkuitu digitalak deskribatzeko baino ez du balio, beraz ez du zirkuitu analogikoetarako balio.

Historia aldatu

Hasieran, Ameriketako Estatu Batuetako Defentsa Sailaren barruan garatu zen ASIC zirkuituen funtzionamenduari buruzko informazioa biltzeko asmoarekin eta Modu horretan, gidaliburu korapilatsu eta luzeak alde batera uzten saiatzeko.

VHDLk Ada programazio lengoaiaren kontzeptuak eta sintaxia maileguz hartzen du.

VHDLren lehendabiziko bertsioak, IEEE standard 1076-1987 bezala araututakoa, data mota asko zekarren. Apaitzearren: zenbakizkoak (osoak eta errealak), logikoak (bit eta boolearrak), karaktereak eta denbora, "bit_vector" izeneko bitez osaturiko bektoreak eta karaktere-kateak.

1993an IEEE 1076 araua eguneratu zuten. Eguneraketa honetan, sintaxia sendoagotu, izendatzerakoan malgutasuna handitu, ISO-8859-1 karaktere inprimagarriak onartu, xnor (ez-edo esklusiboa) eragilea gehitu, eta beste hainbat aukera gehitu zituzten.

Zirkuituak deskribatzeko erak aldatu

Lau era daude zirkuitu bat deskribatzeko VHDL lengoaian:

  • Funtzionala: esleipen sekuentzialen bidez (seriean).
  • Datu-fluxua: esleipen konkurrenteen bidez (paraleloan).
  • Egituratua edo estrukturala: hierarkikoa.
  • Mistoa: aurreko hiru erak hartzen dituena.

Kodea aldatu

VHDL lengoaian idatzitako lerroek, gutxienez entitate (entity) bat dute non interfazea deskribatzen den eta arkitektura (architecture) bat, non inplementazioari dagokion kodea idazten den.

Bi sarrerako ETA ate logiko baten inplementazioa honako itxura izango luke VHDL lengoaian:

-- (hau VHDLko iruzkin bat da)

-- std_logic inportatu IEEE liburutegitik
-- kodea hemen hasten da

library IEEE;
use IEEE.std_logic_1164.all;

-- hau entitatea da

entity ANDGATE is
   port ( 
         IN1 : in std_logic;
         IN2 : in std_logic;
         OUT1: out std_logic);
end ANDGATE;

-- hau arkitektura da

architecture RTL of ANDGATE is
begin

  OUT1 <= IN1 and IN2;

end RTL;

Ikus, gainera aldatu

Kanpo estekak aldatu