ОСНОВЫ ЯЗЫКА VHDL 1
Описание цифровых автоматов 2 Общие сведения об автоматах Устройства, содержащие элементы памяти (ЭП), имеют некоторое внутреннее состояние S, определяемое совокупностью состояний всех ЭП. В зависимости от внутреннего состояния (состояния), автомат с памятью (АП) или, автомат различно реагирует на один и тот же вектор входных сигналов Х. Набор входных сигналов и внутреннее состояние АП определяют новое состояние S i+1 = F1 (S i, X) и вектор выходных переменных Y = F2 (S i, X), где S i+1 и S i - состояния АП до и после подачи входных сигналов. Переходы АП из одного состояния в другое начинаются с некоторого исходного состояния S0, которое также является частью задания автомата Автоматы в каноническом представлении разделяют на две части: память и комбинационные цепи (КЦ). КЦ вырабатывают выходные сигналы и сигналы перевода элементов памяти в новое состояние. Принципиальным является деление АП на асинхронные и синхронные. В асинхронных автоматах роль элементов памяти играют элементы задержки, через которые сигналы состояния передаются на входы КЦ, чтобы совместно с новым набором входных переменных определить следующую пару значений Y и S. В синхронном АП имеются специальные тактирующие сигналы С (Clocks), разрешающие элементам памяти прием данных только в определенные моменты времени. Элементами памяти служат синхронные триггеры. Процесс обработки информации упорядочивается во времени, и в течение одного такта возможно распространение процесса переключения только в строго определенных пределах тракта обработки информации. В теории автоматов проводится их классификация по ряду признаков. У автоматов Мура выходы являются функциями только состояния автомата. Для этих автоматов S i+1 = F1 (S i, X), Y = F2 (S i ). Зависимость выходов и от состояния автомата и от вектора входных переменных свойственна автоматам Мили, для которых S i+1 = F1 (S i, X), Y = F2 (S i, X).
Описание цифровых автоматов 3 Структура автомата Мили Структура автомата Мура
Описание цифровых автоматов 4 Синхронный автомат Мили Таблица переходов Вход Исходное состояние S0S1S2S3 X0S0S1S2S3 Х1S1S2S3S0 X2S3S0S1S2 Таблица выходов Вход Исходное состояние S0S1S2S3 X0Y0 Х1Y0 Y1 X2Y2Y0 Mealey_mach: PROCESS VARIABLE s: state; BEGIN s
Описание цифровых автоматов 5 Синхронный автомат Мура Чтобы корректно представить автомат Мура, целесообразно определение выходов выделить в отдельный процесс, инициатором которого является сигнал, отображающий состояние автомата S. Типовая структура подобной программы имеет вид АRСНIТЕСТURE OF IS TYPE state IS ( ) SIGNAL S: state; BEGIN F2: PROCESS (S) -- комбинационная логика BEGIN Y
Описание цифровых автоматов 6 Синхронный автомат Мура USE work.State_mashine_define.all; ENTITY moor_example IS PORT (clock, reset :IN std_logic; X: IN mash_in; -- допустимые значения X0 и X1 Y: OUT mash_out); -- допустимые значения Y0 и Y1 END moor_example; Вход Состояния / выходы S0/Y0S1/Y1S2/Y0 X0S0S1S0 Х1S1S2S1 ARCHITECTURE abstraction OF moor_example IS SIGNAL moor: state; -- допустимые значения (S0,S1,S2); BEGIN PROCESS (clock, reset) BEGIN IF reset='1' THEN moor
Описание цифровых автоматов 7 Синхронный автомат Мили Таблица переходов Вход Исходное состояние S0S1S2S3 X0S0S1S2S3 Х1S1S2S3S0 X2S3S0S1S2 Таблица выходов Вход Исходное состояние S0S1S2S3 X0Y0 Х1Y0 Y1 X2Y2Y0 Mealey_mach: PROCESS VARIABLE s: state; VARIABLE prom: std_logic_vector (1 DOWNTO 0); BEGIN s
Описание цифровых автоматов 8 Реализация автомата, заданного графом ENTITY direct_inout_asignments IS PORT(clk, reset: IN bit; start, stop: IN bit; work, prepare: INOUT bit); END direct_inout_asignroents; ARCHITECTURE behave OF direct_inout_asignments IS BEGIN PROCESS (clk, reset) VARIABLE state: bit_vector (1 DOWNTO 0); BEGIN state:=work & prepare; IF reset='1' THEN work
Описание цифровых автоматов 9 Автомат Мили с асинхронными выходами АRСНIТЕСТURE OF IS TYPE state IS ( ) SIGNAL S: state; BEGIN F2: PROCESS (X,S) -- комбинационная логика BEGIN Y
СПАСИБО ЗА ВНИМАНИЕ