Číselná standardní - Numeric std
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
numeric_std je balíček knihovny definovaný pro VHDL. Poskytuje aritmetické funkce pro vektory. Přepisy std_logic_vector jsou definovány pro podepsanou a nepodepsanou aritmetiku. Definuje číselné typy a aritmetické funkce pro použití s nástroji pro syntézu. Jsou definovány dva číselné typy: UNSIGNED (představuje nepodepsané číslo ve vektorové formě) a SIGNED (představuje PODPÍSANÉ číslo ve vektorové podobě). Typ základního prvku je typ STD_LOGIC. Bit nejvíce vlevo je považován za nejvýznamnější bit. Podepsané vektory jsou reprezentovány ve formě komplementu dvou. Tento balíček obsahuje přetížené aritmetické operátory typů SIGNED a UNSIGNED. Balíček také obsahuje užitečné funkce převodu typů.
Obvykle je zahrnuta v horní části designové jednotky:
knihovna tj; použití tjee.std_logic_1164.Všechno; - standardní nevyřešená logika UX01ZWLH- použití tjee.numeric_std.Všechno; - pro podepsané, nepodepsané typy a aritmetické operace
Alternativní numerický balíček ieee.std_logic_arith by neměl být použit pro nové designy.[Citace je zapotřebí ] Tento balíček neposkytuje přepsání pro míchání podepsaných a nepodepsaných funkcí. Tento balíček obsahuje definice následujících položek (ne všechny jsou syntetizovatelné):[1]
operátory měnící znak
- břišní svaly
- -
aritmetické operátory
- +
- -
- *
- /
- rem
- mod
Poznámka: druhý argument /, rem nebo mod musí být nenulový.
operátory porovnání
- >
- <
- <=
- >=
- =
- /=
funkce posunu a otáčení
- SHIFT_LEFT
- SHIFT_RIGHT
- ROTATE_LEFT
- ROTATE_RIGHT
- sll
- srl
- rol
- ror
funkce změny velikosti
- ZMĚNIT VELIKOST (v, n)
Poznámka: při zvětšování velikosti podepsaného vektoru jsou bity zcela vlevo vyplněny bitem znaménka, zatímco zkrácení zachovává bit bitu znaménka spolu s bity (n-1) zcela vpravo. U nepodepsaného vektoru zvětšení velikosti vyplní bity nejvíce vlevo nulou, zatímco zkrácení zachovává n bitů nejvíce vpravo.
konverzní funkce
- TO_INTEGER
- TO_UNSIGNED
- TO_SIGNED
Poznámka: Každá z posledních dvou funkcí vyžaduje druhý argument určující délku výsledného vektoru.
logické operátory
- ne
- a
- nebo
- nand
- ani
- xor
- xnor
funkce shody
- STD_MATCH
Poznámka: Porovnává argumentové vektory prvek po prvku, ale zachází s jakýmkoli bitem s hodnotou '-' jako s jakoukoli jinou hodnotou STD_ULOGIC. Vrátí hodnotu false, pokud je bit libovolného argumentu „U“, „X“, „W“ nebo „Z“.
speciální funkce překladu
- TO_01
Poznámka: 'H' je přeloženo do '1' a 'L' je přeloženo do '0'; tato funkce přebírá volitelný druhý argument XMAP, kterým může být libovolná z hodnot std_logic, ale výchozí hodnota je „0“. Jakákoli hodnota kromě 01LH ve vstupním argumentu způsobí, že všechny bity budou nastaveny na XMAP s vydaným varováním.
Reference
- ^ 1076.3 IEEE standardní balíčky pro syntézu VHDL