Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




bpc-los_06 - VHDL-strukturální popis, generic

PDF
Stáhnout kompletní materiál zdarma (284.4 kB)

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.

parametrem, jehož číselnou hodnotu zvolíme až při 
vkládání instance komponenty.

• Formální parametry entity je možné definovat pomocí 

klíčového slova GENERIC.

• Při vložení komponenty jsou skutečné hodnoty 

parametrů zadány pomocí GENERIC MAP.

• Pokud je u formální parametru při deklaraci entity 

zvolena implicitní hodnota. Nemusí být mechanismus 
přiřazení skutečného parametru při vložení komponenty 
(tj. GENERIC MAP) vůbec uveden.

Parametrizovatelná vícebitová sčítačka

half_adder_generic.vhdl:

Parametrizovatelná vícebitová sčítačka

LIBRARY ieee;                   -- Knihovna IEEE
USE ieee.std_logic_1164.ALL;    -- Knihovní balík std_logic_1164
USE ieee.numeric_std.ALL;       -- Knihovní balík numeric_std

half_adder_generic.vhdl:

Parametrizovatelná vícebitová sčítačka

-- Deklarace entity half_adder_g
ENTITY half_adder_g IS
GENERIC
(Bits: natural := 4     -- Implicitní hodnota
        );
PORT (a, b: IN  std_logic_vector(Bits - 1 DOWNTO 0);
sum:  OUT std_logic_vector(Bits - 1 DOWNTO 0);
      cout: OUT std_logic
);
END ENTITY half_adder_g;

LIBRARY ieee;                   -- Knihovna IEEE
USE ieee.std_logic_1164.ALL;    -- Knihovní balík std_logic_1164
USE ieee.numeric_std.ALL;       -- Knihovní balík numeric_std

half_adder_generic.vhdl:

-- Popis architektury half_adder_g
ARCHITECTURE Behavioral OF half_adder_g IS
 SIGNAL
s: std_logic_vector(Bits DOWNTO 0);
BEGIN s <= std_logic_vector(unsigned'('0' & a) + unsigned'('0' & b));            
sum  <= s(Bits - 1 DOWNTO 0);
 cout <= s(Bits);
END ARCHITECTURE Behavioral;

Parametrizovatelná vícebitová sčítačka

-- Deklarace entity half_adder_g
ENTITY half_adder_g IS
GENERIC
(Bits: natural := 4     -- Implicitní hodnota
        );
PORT (a, b: IN  std_logic_vector(Bits - 1 DOWNTO 0);
sum:  OUT std_logic_vector(Bits - 1 DOWNTO 0);
      cout: OUT std_logic
);
END ENTITY half_adder_g;

LIBRARY ieee;                   -- Knihovna IEEE
USE ieee.std_logic_1164.ALL;    -- Knihovní balík std_logic_1164
USE ieee.numeric_std.ALL;       -- Knihovní balík numeric_std

half_adder_generic.vhdl:

Vložení parametrizovatelné komponenty

top_level.vhdl:

 SIGNAL x, y, r: std_logic
 SIGNAL c: std_logic;

BEGIN

END ARCHITECTURE Behavioral;

Vložení parametrizovatelné komponenty

-- Popis architektury top_level
ARCHITECTURE Structural OF top_level IS

 -- Deklarace componenty half_adder_g
 COMPONENT half_adder_g IS  GENERIC (Bits: natural := 4     -- Implicitní hodnota
          );
  PORT (a, b: IN  std_logic_vector(Bits - 1 DOWNTO 0);
   sum:  OUT std_logic_vector(Bits - 1 DOWNTO 0);
        cout: OUT std_logic
   );
 END COMPONENT half_adder_g;

Témata, do kterých materiál patří