bpc-los_06 - VHDL-strukturální popis, generic
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
-- Všechny vložené entity half_adder budou stylem Behavioral
FOR ALL: half_adder USE ENTITY work.half_adder(Behavioral);
Strukturální styl popisu úplné sčítačky
1
o
I1
I2
HA sum
a
b
cout
HA sum
a
b
cout
cin
a
b
sum
cout
full_adder
-- Popis architektury full_adder
ARCHITECTURE Structural OF full_adder IS COMPONENT half_adder IS -- Deklarace komponenty half_adder
PORT (a, b: IN std_logic; -- Datové vstupy
sum, cout: OUT std_logic -- Datové výstupy
);
END COMPONENT half_adder;
SIGNAL s: std_logic_vector(2 DOWNTO 0);
BEGIN h1: half_adder PORT MAP(a, b, s(0), s(1));
h2: half_adder PORT MAP(cin, s(0), sum, s(2));
cout <= s(1) OR s(2);
END ARCHITECTURE Structural;
-- Všechny vložené entity half_adder budou stylem Dataflow
FOR ALL: half_adder USE ENTITY work.half_adder(Dataflow);
Strukturální styl popisu úplné sčítačky
1
o
I1
I2
HA sum
a
b
cout
HA sum
a
b
cout
cin
a
b
sum
cout
full_adder
-- Popis architektury full_adder
ARCHITECTURE Structural OF full_adder IS COMPONENT half_adder IS -- Deklarace komponenty half_adder
PORT (a, b: IN std_logic; -- Datové vstupy
sum, cout: OUT std_logic -- Datové výstupy
);
END COMPONENT half_adder;
SIGNAL s: std_logic_vector(2 DOWNTO 0);
BEGIN h1: half_adder PORT MAP(a, b, s(0), s(1));
h2: half_adder PORT MAP(cin, s(0), sum, s(2));
cout <= s(1) OR s(2);
END ARCHITECTURE Structural;
Strukturální styl popisu úplné sčítačky
1
o
I1
I2
HA sum
a
b
cout
HA sum
a
b
cout
cin
a
b
sum
cout
full_adder
-- Popis architektury full_adder
ARCHITECTURE Structural OF full_adder IS COMPONENT half_adder IS -- Deklarace komponenty half_adder
PORT (a, b: IN std_logic; -- Datové vstupy
sum, cout: OUT std_logic -- Datové výstupy
);
END COMPONENT half_adder;
SIGNAL s: std_logic_vector(2 DOWNTO 0);
BEGIN h1: half_adder PORT MAP(a, b, s(0), s(1));
h2: half_adder PORT MAP(cin, s(0), sum, s(2));
cout <= s(1) OR s(2);
END ARCHITECTURE Structural;
Strukturální styl popisu úplné sčítačky
FOR h1: half_adder USE ENTITY work.half_adder(Behavioral);
FOR h2: half_adder USE ENTITY work.half_adder(Dataflow);
-- Behavioral
-- Dataflow
1
o
I1
I2
HA sum
a
b
cout
HA sum
a
b
cout
cin
a
b
sum
cout
full_adder
Parametrizovatelné komponenty,
generické entity
Parametrizovatelné komponenty,
generické entity
• Prostředek pro úsporný zápis VHDL kódu.
• Některé aspekty entity jsou zadány formálním