De VHDL code van elk bouwblok bevat een
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity and_or_poort is
port(
A: IN STD_LOGIC;
B: IN STD_LOGIC;
D: IN STD_LOGIC;
E: OUT STD_LOGIC
);
end entity and_or_poort;
architecture Behavioural of and_gate is
signal c: STD_LOGIC;
begin
c <= a and b;
e <= c or d;
end Behavioural;
De entity bevat de beschrijving van de interface.
entity and_or_poort is
port( a, b, d: in STD_LOGIC;
e: out STD_LOGIC);
end and_or_poort;
Elke poort heeft:
Namen voldoen aan de volgende eisen:
Namen zijn niet case sensitive.
Belangrijkste modes, of richtingen:
entity and_or_poort is
port( a, b, d: in STD_LOGIC;
c: buffer STD_LOGIC;
e: out STD_LOGIC);
end and_or_poort;
architecture arch of and_or_poort is
begin
c <= a and b;
e <= c or d;
end arch;
Het gebruik van de mode buffer kan vermeden worden door een intern signaal aan te maken en dit te verbinden met de uitgang.
Volgende twee codes zijn identiek:
entity and_or_poort is
port( a, b, d: in STD_LOGIC;
c: buffer STD_LOGIC;
e: out STD_LOGIC);
end and_or_poort;
architecture arch of and_or_poort is
begin
c <= a and b;
e <= c or d;
end arch;
entity and_or_poort is
port( a, b, d: in STD_LOGIC;
c, e: out STD_LOGIC);
end and_or_poort;
architecture arch of and_or_poort is
signal c_intern: STD_LOGIC;
begin
c_intern <= a and b;
e <= c_intern or d;
c <= c_intern;
end arch;
architecture arch of and_or_poort is
signal c: STD_LOGIC;
begin
c <= a and b;
e <= c or d;
end arch;
architecture arch of and_or_poort is
signal c: STD_LOGIC;
begin
c <= a and b;
e <= c or d;
end arch;
Je kan iets in commentaar zetten door er 2 keer een - voor te zetten.
-- dit is een regel commentaar
z <= a -- dit kan ook op het einde van de regel