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_08 - Metastabilita, VHDL-popis sekv. obvodů

PDF
Stáhnout kompletní materiál zdarma (495.58 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.

END FUNCTION hex_to_7seg;

 Příklad definice funkce v jazyce VHDL

FUNCTION hex_to_7seg(SIGNAL hex: IN std_logic_vector(3 DOWNTO 0))
 RETURN std_logic_vector IS

 VARIABLE symbol: std_logic_vector(7 DOWNTO 0);

BEGIN

CASE hex IS  WHEN X"0" => symbol  := "00000000";
WHEN X"1" => symbol  := "00000010";
-- Doplnit ostatní řádky

WHEN OTHERS => symbol := "10000110";
END CASE;
RETURN symbol;

END FUNCTION hex_to_7seg;

Uživatelské knihovny a knihovní 

balíky - definice v jazyce VHDL

Definice uživ. balíku v jazyce VHDL

• Knihovní balík lze definovat pomocí klíč. slov PACKAGE a PACKAGE 

BODY.

• V bloku PACKAGE deklarujeme: datové typy, názvy funkcí a 

komponent v knihovního balíku.

• V bloku PACKAGE BODY definujeme: datové typy, těla funkcí, 

procedur a entit v knihovním balíku.

• Jméno knihovního balíku uvedené v sekcích PACKAGE a 


PACKAGE BODY musí shodné a stejně by se měl jmenovat i soubor ve 
kterém je zdrojový text knihovního balíku uložen.

• V dalších zdrojových souborech se na knihovní balík odkazujeme 

pomocí příkazu:

USE work.název_balíku.ALL;

 Příklad definice funkce v knihovní balíku

 Příklad definice funkce v knihovní balíku

limit.vhdl:

 Příklad definice funkce v knihovní balíku

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

PACKAGE limit IS  FUNCTION val_in_limit(val: INTEGER; low: INTEGER; high: INTEGER)
   RETURN boolean;
END PACKAGE limit;

PACKAGE BODY limit IS  FUNCTION val_in_limit(val: INTEGER; low: INTEGER; high: INTEGER)
   RETURN boolean IS  BEGIN
  IF (val >= low AND val <= high) THEN RETURN true;
    ELSE RETURN false;
 END IF;
  END FUNCTION val_in_limit;
END PACKAGE BODY limit;

limit.vhdl:

 Příklad definice funkce v knihovní balíku

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

PACKAGE limit IS  FUNCTION val_in_limit(val: INTEGER; low: INTEGER; high: INTEGER)
   RETURN boolean;
END PACKAGE limit;

PACKAGE BODY limit IS  FUNCTION val_in_limit(val: INTEGER; low: INTEGER; high: INTEGER)
   RETURN boolean IS  BEGIN
  IF (val >= low AND val <= high) THEN RETURN true;
    ELSE RETURN false;
 END IF;
  END FUNCTION val_in_limit;
END PACKAGE BODY limit;

limit.vhdl:

 Příklad definice funkce v knihovní balíku

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

PACKAGE limit IS  FUNCTION val_in_limit(val: INTEGER; low: INTEGER; high: INTEGER)
   RETURN boolean;
END PACKAGE limit;

PACKAGE BODY limit IS  FUNCTION val_in_limit(val: INTEGER; low: INTEGER; high: INTEGER)
   RETURN boolean IS  BEGIN
  IF (val >= low AND val <= high) THEN RETURN true;
    ELSE RETURN false;
 END IF;
  END FUNCTION val_in_limit;
END PACKAGE BODY limit;

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