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_04 - VHDL-dat. typy, operátory, soub. příkazy, podm. přiřaz.

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

TYPE des_cislo IS RANGE -1.0E38 TO 1.0E38;

• Existuje předdefinovaný celočíselný typ: real

SIGNAL a: des_cislo;
SIGNAL b: real := -42.6;

Předdefinovaný datový typ s plovoucí 

desetinnou čárkou

• Předdefinovaný celočíselný typ: real

Datový typ

Minimum

Maximum

real

−1.0E38

1.0E38

TYPE real IS RANGE -1.0E38 TO 1.0E38;

• Implementace typu definována normou IEEE754 


(tj. obsahuje mantisu a exponent).

• Skutečný rozsah typu implementačně závislý. 
• Nejčastěji odpovídá IEEE754 - Binary64 (dříve označován 

jako Double precision).

Složené datové typy

Datový typ pole

Typ pole - objekt je složen z více prvků téhož typu

TYPE word IS ARRAY (15 DOWNTO 0) OF bit;
TYPE ram1024x16 IS ARRAY (0 TO 1024) OF word;
TYPE mujvektor IS ARRAY (natural RANGE <>) OF bit;

Zápis natural v závorce definuje datový typ indexu pole.

Zápis RANGE <> znamená, že jde o neomezené (unconstrained) 
pole, jehož rozsah musí být při deklaraci signálu definován pomocí 
klíčových slov: TODOWNTO.

Lze tvořit i vícerozměrné pole.

SIGNAL a: word;
SIGNAL ram: ram1024x16;
SIGNAL vektor: mujvektor(7 DOWNTO 0) := B"0000_0000";
-- Použití hodnot
a <= 42;
ram(1) <= a;
vektor <= B"1111_1111";

Předdefinované datové typy pole

Předdefinované typy pole: bit_vector, string

TYPE bit_vector IS ARRAY (natural RANGE <>) OF bit;
TYPE string IS ARRAY (positive RANGE <>) OF character;

• Příklad využití předdefinovaných typů pole:

SIGNAL vektor: bit_vector(7 DOWNTO 0) := B"0000_0000"; 
SIGNAL retezec: string(1 TO 12);

-- Použití hodnot
vektor(0) <= '1';
retezec <= "Hello world";

Datové typy v std_logic_1164

TYPE std_ulogic IS
(’U’,’X’,’0’,’1’,’Z’,’W’,’L’,’H’,’-’);

• Standard pro std_logic_1164 definuje výčtové typy: 

std_ulogic, std_logic.

• Literály: (’U’,’X’,’Z’,’W’,’L’,’H’) musí být psány 

VELKÝMI písmeny.

• Před deklarací entity musíme uvést následující odkazy:

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

Datové typy v std_logic_1164

Datové typy v std_logic_1164

Typ std_logic obsahuje stejnou sadu hodnot jako std_ulogic, 
ale navíc je mu přiřazena rozlišovací funkce (resolution function) 
nazvaná resolved pro řešení situací v rámci simulace, kdy je 
možné spojit několik výstupů.

'U' 'X' '0' '1' 'Z' 'W' 'L' 'H' '-'

'U' U

U

U

U

U

U

U

U

U

'X' U

X

X

X

X

X

X

X

X

'0' U

X

0

X

0

0

0

0

X

'1' U

X

X

1

1

1

1

1

X

'Z' U

X

0

1

Z

W

L

H

X

'W' U

X

0

1

W

W

W

W

X

'L' U

X

0

1

L

W

L

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