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_05 - VHDL

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

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 TOOTHERS 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í.

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