Язык AHDL


Объявление конечных автоматов


Конечный автомат создается определением его имени, состояний и в необязательном порядке его битами в разделе описания переменных.

Следующий пример демонстрирует описание конечного автомата:

VARIABLE

            ss :       MACHINE

                                    OF BITS (q1, q2, q3)

                                    WITH STATES (

                                                s1 = B"000",

                                                s2 = B"010",

                                                s3 = B"111");

Имя конечного автомата в данном примере ss. Биты состояний q1, q2 и q3 являются выходами регистров данного автомата. Состояниями данного конечного автомата являются s1, s2 и s3, каждому из которых  присвоено числовое значение представленное битами q1, q2 и q3.

Процедура объявления конечного автомата имеет следующие характеристики:

¨    Конечный автомат имеет символическое имя. В примере, показанном выше, именем конечного автомата является ss.

¨    За именем конечного автомата следует двоеточие и далее ключевое слово MACHINE.

¨    Определение конечного автомата должно включать список состояний, а также может включать имена битов состояний.

¨    Необязательное указание имен битов состояний производится с использованием ключевого слова OF BITS, за которым следует список имен битов, отделенных друг от друга запятыми ;список должен быть заключен в круглые скобки. В примере, показанном выше, определены имена битов состояний q1, q2 и q3.

¨    Состояния определяются ключевыми словами WITH STATES, за которым следует список имен состояний отделенных друг от друга запятыми ;этот список также должен быть заключен в круглые скобки. В примере,  показанном выше определены имена состояний s1, s2 и s3.

¨    Первое состояние указанное в списке состояний за ключевыми словами WITH STATES является состоянием Reset для конечного автомата.

¨    В необязательном порядке именам состояний могут быть присвоены числовые значения, следующие за знаком (=) после соответствующего имени состояния. В примере, показанном выше, состоянию с именем s1 присвоено числовое значение B”000”, состоянию с именем s2 присвоено числовое значение B”001” и s3 присвоено значение B”010”.

¨    Предусмотрена возможность определения псевдонима имени конечного автомата, объявленного в данном текстовом файле проекта или импортируемого из другого файла.

¨    Символ (;) заканчивает конструкцию определения конечного автомата.

Þ   Каждое состояние конечного автомата представляется уникальным набором значений на выходах триггеров,  хранящих состояния конечного автомата. Количество состояний связано с количеством битов состояний конечного автомата следующим образом:

<количество состояний> = 2^<количество битов состояний>



Содержание раздела