Variable Section (розділ змінних) дозволяє задавати внутрішні змінні модуля, призначені для використання в розділі опису логіки (Logic Section).
Змінна - це символічне ім'я:
- лінії зв'язку;
- лінії зв'язку із трьома станами;
- модуля, використовуваного в текстовому описі як компонент (примітива, скінченого автомата).
Приклад:
INCLUDE halfadd. inc";
VARIABLE
a, b, c : NODE; -- a,b,c - іменовані лінії зв'язку
add : halfadd;
-- halfadd - модуль, використовуваний у даному текстовому описі -- як компонент, add - ім'я компонента.
ts_node : TRI_STATE_NODE; -- ts_node - лінія зв'язку зі Z станом
ff[3..0] : DFF; -- ff[3], ff[2], ff[1] - група змінних, що позначає тригери
АА : MACHINE OF BITS (Q1, Q2, Q3)
WITH STATES (A0=B"000",
A1=B"001", A2=B"011"); -- АА - скінчений автомат
Правила використання розділу:
§ Розділ починається із ключового слова VARIABLE. Далі вказується: символічне ім'я змінної, символ двокрапка, тип змінної, крапка з комою. Імена однотипних змінних можуть бути перераховані через кому.
§ Припустимі типи змінних: NODE - лінія зв'язку; TRI_STATE_NODE - лінія зв'язку із трьома станами; модуль більш низького рівня ієрархії; примітив; скінчений автомат; псевдонім скінченого автомата.
§ Розділ змінних може також містити оператор IF GENERATE, що дозволяє, залежно від значення оцінюваного в операторі арифметичного виразу, управляти заданням змінних.
§ У файлі з текстовим описом даний розділ може використовуватися тільки один раз.