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.

• Funkci resize(aČíslo, aNový_počet_bitů) pro znaménkové (2. doplněk) rozšíření typů: 

signed, a neznaménkové rozšíření typů: unsigned.

• Konverzní funkci z typů: signedunsigned na typ: std_logic_vector

std_logic_vector(aČíslo).

• Konverzní funkce z typu: std_logic_vector na typy: signedunsigned

signed(aVektor), unsigned(aVektor).

Grafickou reprezentaci všech možných konverzí naleznete zde.

U

unsigned

I

integer

V

std_logic_vector

to_integer(S)

to_integer(U)

std_logic_vector(S)

std_logic_vector(U)

to_unsigned(I, U'length)

to_signed(I, S'length)

unsigned(V)

signed(V)

Celočíselný typ:

Bitový vektor:

S

signed

Knihovna numeric_std

konverzní funkce

přetypování

Datové typy jazyka VHDL

• Skalární (scalar)

– Výčtové (enumeration)
– Celočíselné (integer)
– S pohyblivou řádovou čárkou (floating point)
– Fyzikální (physical)

• Složené (composite)

– Pole (array)
– Záznam (record)

Fyzikální datový typ

Fyzikální datový typ

• Typ definovaný vztahem k základní jednotce (nejčastěji fyzikální nebo 

např. SI jednotce) kterou může objekt nabývat.

• Hodnota fyzikálního typu je celočíselný násobek základní jednotky fyz. 

typu.

• Základní jednotka definuje rozlišovací schopnost fyz. typu.
• Jakákoliv hodnota menší než základní jednotka je oříznuta na hodnotu 

nula.

• Standard VHDL definuje minimální rozsah pro předefinované fyz. typ 

alespoň 32 bitů.

• Pro fyz. typ jsou definovány stejné operátory jako pro celočíselné typy.

TYPE název_fyz_typu IS RANGE hodnota1 DOWNTO|TO hodnota2
    UNITS      základní_jednotka;
      další_jednotka;
END UNITS;

Fyzikální datový typ

Příklad definice a použití fyzikálního datového typu:

-- definice typu vzdalenost
TYPE Vzdalenost IS RANGE 0 TO 1E18
UNITS nm; -- nanometr
um = 1000 nm; -- mikrometr
mm = 1000 um; -- milimetr
cm = 10 mm; -- centimetr
dm = 10 cm; -- decimetr
m = 10 dm; -- metr
END UNITS;

-- definice signálů
SIGNAL a: Vzdalenost;
SIGNAL b: integer;

-- použití
a <= 3 cm + 2mm - 7 um;   -- 31993 mikrometrů
b <= cm / mm;             -- 10

Předdefinované fyzikální datové typy

Předdefinované typu v knihovně std.standard:

TYPE time IS RANGE -2147483647 TO 2147483647
UNITS fs; -- základ je femtosekunda
ps = 1000 fs; -- piko
ns = 1000 ps; -- nano
us = 1000 ns; -- mikro
ms = 1000 us; -- mili
s  = 1000 ms; -- sekunda
min = 60 s;   -- minuta
hr =  60 min;   -- hodina
END UNITS;

SUBTYPE delay_length IS time RANGE 0 fs TO time'high;

• Typ time a delay_length minimálně 32-bitový, běžně ale bývá 

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