bpc-los_05 - VHDL
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.
implementován jako 64-bitový.
• Existuje knihovní funkce now(), která vrací hodnotu simulačního
času (typ delay_length).
Složený datový typ záznam
Složený datový typ záznam
• Na rozdíl od typu pole může obsahovat prvky různých datových
typů.
• Přistupovat je možné buď samostatně k jednotlivým prvkům
nebo k celému záznamu.
TYPE Datum IS RECORD -- definice typu Datum
den: integer RANGE 1 TO 31;
mesic: integer RANGE 1 TO 12;
rok: integer RANGE 0 TO integer'high;
END RECORD;
-- definice signálů
SIGNAL date1: Datum := (den => 31, mesic => 12, 2019);
SIGNAL date2, date3: Datum;
-- použití záznamu datum
date1.den <= 11;
date1.mesic <= 7;
date1.rok <= 2019;
date2.rok <= date1.rok;
date3 <= date2;
Příkazy jazyka VHDL
-- mem_addr = B"1111_1100_1111_0100_0001_UUUUUUUUUUUU"
Příkaz alias
• Nevytváří nový datový objekt (signál ani proměnnou).
• Vytváří pouze alternativní identifikátor na již existující objekt
nebo jeho část.
• Zpřehledňuje příp. zjednodušuje zápis ve zdrojového kódu.
-- definice
SIGNAL mem_addr: std_logic_vector(31 DOWNTO 0);
ALIAS mem_top_addr:
std_logic_vector( 3 DOWNTO 0) IS mem_addr(31 DOWNTO 28);
ALIAS mem_bank: std_logic_vector( 3 DOWNTO 0) IS mem_addr(27 DOWNTO 24);
ALIAS mem_row: std_logic_vector(11 DOWNTO 0) IS mem_addr(23 DOWNTO 12);
-- využití
mem_top_addr <= X"F";
mem_bank <= X"C";
mem_row <= B"1111_0100_0001";
Příkaz výběrového přiřazení
Souběžné příkazy (concurent statements)•
Podmíněné přiřazovací příkazy s klíčovými slovy WHEN - ELSE.
•
Výběrové přiřazovací příkazy s klíčovými slovy WITH - SELECT - WHEN.
WITH výběrový_výraz SELECT
jméno_signálu <= Hodnota_1 WHEN výběrová_hodnota,
Hodnota_2 WHEN výběrová_hodnota,
...
...
Hodnota_x WHEN OTHERS;
•
V tomto příkazu musí být uvedeny
vždy všechny hodnoty výběrového výrazu.
•
Jelikož musí být uvedeny všechny možnosti, výsledek syntézy
nezávisí na
pořadí řádků s výběrovými hodnotami uvedenými ve zdrojovém textu.
•
Zápis lze zestručnit využitím klíčových slov TO, OTHERS a operátoru | (nebo).
•
Klíčové slovo OTHERS následně zastupuje všechny neuvedené hodnoty
výběrového signálu, těch je např.
pro typ std_logic pravděpodobně mnoho.
•
Není vhodné využívat zápisu výběrové hodnoty ve více úrovňové logice např.
"1----" některé syntezátory nezvládají.