Deklarácia premenných

Deklarácia premenných

Definovanie všetkých použitých premenných v predpise je potrebné uviesť v úvode predpisu pred použitím prvej operácie. Systém v súčasnosti pozná nasledovné typy premenných:

Typ

Popis

Typ

Popis

BOOL

Typ reprezentujúci logickú premennú. Nadobúda hodnoty 0 a 1.

INT

Typ reprezentujúci celočíselnú hodnotu. Rozsah hodnôt je <-253 .. 253>.

REAL

Typ reprezentujúci reálnu premennú implementovaný pomocou 64-bitového formátu IEEE 754. 

TIME

Typ reprezentujúci univerzálnu časovú značku.

TEXT

Typ reprezentujúci textovú premennú.

VECTOR

Typ reprezentujúci vektor (časový rad/pole hodnôt). Používa sa aj na deklaráciu použitého EDA vektora v EDA-L predpise. 

VECTORS

Typ predstavujúci pole vektorov.

GROUP

Typ predstavujúci pole vektorov. Používa sa na deklaráciu použitej skupiny EDA vektorov v EDA-L predpise.

SCENARIO

Typ predstavujúci pole vektorov. Používa sa na deklaráciu použitého scenára EDA vektorov v EDA-L predpise.

Všetky lokálne premenné musia začítať znakom "_" (podčiarkovník). Je možné deklarovať aj viacero premenných toho istého typu naraz. Samotná deklarácia má tvar: <typ> <názov>[, <názov_2>[, ...]]

Identifikátory bez podčiarkovníka sú považované za uložené EDA vektory, skupiny alebo scenáre. Aj pre tieto entity je odporúčané ich použitie vopred deklarovať, nakoľko sa tým zabraňuje možným nejasnostiam pri ich použití.

Inicializácia premenných

Premenné je možné voliteľne inicializovať priradením hodnoty alebo výrazu priamo pri ich definícii. Vo výraze, ktorého výsledok sa má priradiť premennej je možné použiť všetky dovtedy definované premenné a funkcie.

Modifikátor NOINVALID

Premenné typu BOOL, INT, REAL a TIME je možné rozšíriť voliteľným modifikátorom NOINVALID. Tento modifikátor hovorí, že premenná nemôže nadobudnúť neplatnú hodnotu. Takáto premenná musí byť pri definícii inicializovaná na platnú hodnotu a pri každom priradení do nej sa robí kontrola platnosti hodnoty. V prípade, že by mala premenná nadobudnúť po priradení neplatnú hodnotu, je generovaná výnimka. Premenné typu TEXT nikdy nenadobúdajú neplatnú hodnotu.

Deklarácia parametrov

Parametre vektora sa deklarujú podobne ako premenné a práca s nimi je rovnaká ako s premennými. Ich predvolená hodnota je však určená hodnotou, ktorá bola danému parametru odovzdaná pri načítaní vektora.

V prípade, že parametru nebola odovzdaná hodnota, obsahuje hodnotu danú počas inicializácie, resp. rovnakú hodnotu ako neinicializovaná premenná (neplatnú hodnotu, resp. prázdny vektor/pole vektorov, prázdny text). Parameter je taktiež možné rozšíriť modifikátorom NOINVALID, z čoho vyplývajú rovnaké dôsledky ako v prípade premennej.

Parametru je možné definovať aj popis. Slúži na to kľúčové slovo COMMENT, zadané za inicializačnou časťou parametra, za ktorým sa definuje textový popis parametra.

Deklarácia parametrov vektora má nasledovný tvar: PARAM <názov_parametra> := <inicializačná_hodnota> COMMENT "popis parametra";

Príklady deklarácie
PARAM BOOL _b; -- Parameter typu logická hodnota PARAM INT _i := 0; -- Inicializovaný celočíselný parameter PARAM NOINVALID REAL _r := 0.0 COMMENT "reálne číslo"; -- Inicializovaný reálny parameter, ktorý nesmie nadobudnúť neplatnú hodnotu. Doplnený o komentár. PARAM VECTOR _v; -- Vektor odovzdaný ako parameter PARAM VECTORS _w COMMENT "zoznam vektorov"; -- Zoznam vektorov odovzdaný ako parameter doplnený o komentár INT _j := 1; -- Inicializovaná celočíselná premenná TIME _from, _to; -- Dve časové značky VECTOR _tmp; -- Časový rad hodnôt GROUP Group.1; -- Deklarácia použitej skupiny EDA vektorov VECTOR Vector.Test.1; -- Deklarácia použitého EDA vektora REAL _x := 10.1, _y := 2 * _x; -- Reálna premenná inicializovaná výrazom