- •Программируемая логика
- •Упрощенная структура микросхем fpga
- •Упрощенная структура секции клб
- •Автоматы с памятью
- •Задание абстрактного автомата
- •Способы задание абстрактного автомата
- •Элементарные автоматы с памятью
- •Счетчики
- •Блочная память (BlockRam)
- •Структурный анализ цифровых автоматов
- •Канонический метод структурного синтеза цифрового автомата
- •Программируемая логика
Структурный анализ цифровых автоматов
Понятие структурного автомата.
Цель структурного синтеза
Структурный автомат имеет множество каналов (линий), на которые подаются сигналы (рисунок 5).
Рисунок 5 – Структурный автомат
x1, x2, …, xl, …, xL – входные сигналы.
y1, y2, …, yn, …, yN – выходные сигналы.
,
где L – число входов, F – число входных букв.
Аналогично,
,
где N – число выходов, G – число выходных букв.
Вид структурного автомата
На этапе структурного синтеза автомат представляют из двух частей:
1) комбинационная схема;
2) память.
Функционирование структурного автомата описывается как:
– слово
функции выходов;
– слово
функции переходов;
– слово
функции возбуждения.
Представление автомата как комбинационной схемы и памяти позволяет свести задачу синтеза структурного автомата при заданных триггерах к синтезу комбинационных схем, которые описываются следующей системой переключательных функций.
– функция
выходов, где n
[1; N].
– функция
возбуждения, где n
[1; R].
Всего (N+R) функций.
Канонический метод структурного синтеза цифрового автомата
Канонический метод включает в себя 8 этапов.
1. Определение типа элементарного автомата. Обычно тип элементарного автомата задан в техническом задании. Если нет серьезных ограничений в применении элементарного автомата, то можно использовать любой триггер.
2. Определение количества триггеров:
,
где M – число состояний автомата.
3. Кодируются входные и выходные сигналы абстрактного автомата с помощью двоичных векторов (x1, …, xl, …, xL) и (y1, …, yn, …, yN) соответственно. Аналогично кодируются состояния am – (q1, …, qr, …, qR). Число разрядов в каждом из векторов определяется формулами:
;
;
.
4. Строится структура цифрового автомата для конкретных сигналов.
5. Производится составление кодированной совмещенной таблицы переходов, выходов и функций возбуждения.
6. Формируются функции возбуждения.
7. Производится минимизация функций возбуждения, выходов и их запись в МДНФ или МКНФ в виде функций.
8. Далее синтезируется комбинационная схема, реализующая эту систему на конкретной элементной базе.
Счетчики
Счетчики делятся на:
1) параллельные,
2) последовательные:
а – с последовательным переносом,
б – с параллельным переносом.
Реализация D-триггера со сбросом и установкой на языке VHDL:
process (c)
begin
if (c = ‘1’ and c’event) then
if (R = ‘1’) then
Q <= ‘0’;
else if (S = ‘1’) then
Q <= ‘1’;
else Q <= D;
end if;
end if;
end if;
end process;
Последовательный счетчик с последовательным переносом строится на основе каскадирования T-триггеров.
Недостатки:
1) на вход синхронизации T-триггеров поступают сигналы не с кварцевого генератора, а с выхода логического элемента, что недопустимо;
2) схему сложно перестроить для реализации двоично-кодированного счетчика.
Блочная память (BlockRam)
Блочная память предназначена для хранения данных внутри микросхемы. Стандартный размер блока 2k×18.
Главной особенностью является то, что это память синхронная, двухпортовая.
Работа защелки:
Совмещение одновременно операций чтения и записи в один порт может осуществляться в трех режимах:
1. WRITE_FIRST (вначале запись).
2. READ_FIRST (вначале чтение).
3. NO_CHANGE (выходная шина данных отображает результат последней операции чтения, идущей до записи.).
Операция записи требует одного перепада тактового импульса, как и операция чтения.
1. Режим WRITE_FIRST.
В этом режиме на выходной шине данных считываются те значения, которые только что были записаны в память.
Задача: записать по адресам назначенные данные, приведенные в таблице.
-
Adr
Data
13
2
15
3
17
4
25
5
2. Режим READ_FIRST.
В этом режиме на выходной шине данных в последний раз отображаются данные, которые хранились в этой ячейке до момента перезаписи новыми данными, которые выставлены на входной шине данных.
-
Adr
Memory Data
New data
13
2
3
15
3
4
17
2
4
25
4
5
3. Режим NO_CHANGE
В этом режиме при наличии записи на выходной шине отображаются данные, прочитанные в последней операции чтения перед записью, т.е. при наличии записи выходная шина данных не меняется.
-
Adr
Memory Data
New data
13
2
3
15
3
4
17
2
4
25
4
5
12
3
–
