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 |
---|---|
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";
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