Автор работы: Пользователь скрыл имя, 26 Декабря 2012 в 21:34, курсовая работа
Используя символьный/схемный редактор САПР ПЛИС QuartusII разработать иерархическую электрическую схему по заданному граф-автомату цифрового устройства с кодированием по методу OHE.
2. Используя символьный/схемный редактор САПР ПЛИС QuartusII разработать тестовую электрическую схему цифрового автомата на языке VHDL.
3. Проверить правильность функционирования разрабатываемой схемы цифрового автомата нс помощью временного моделирования в САПР ПЛИС QuartusII.
Задание на курсовой проект 2
Замечание руководителя 3
Введение 5
1 Теоретическая часть 6
2 Практическая часть 8
2.1 Формирование состояний автомата 8
2.2 Формирование автомата на языке VHDL 18
Заключение 25
Список литературы 26
Состояние 5 управляет Состоянием 6 с условием A+D (рис.6). Конечный автомат ждет в Состоянии 6, пока переменная Е не переключится в низкий уровень, прежде чем перейти в Состояние 7 (рисунок 7, а). В Состоянии 7 конечный автомат опять-таки ждет переключения переменной Е в истинное значение, после чего переходит в Состояние 1 (рисунок 7, б).
После описания всей логики переходов из состояния в состояние следующим этапом является описание выходной логики. В примере используются три выходных сигнала - Multi, Contig и Single, - каждый из которых относится к одной из трех основных категорий выходных сигналов:
1. Выходные сигналы, формируемые в одном состоянии. Примером может служить выходной сигнал Single, формируемый только в Состоянии 6, т.е. выходным сигналом является выход триггера.
2. Выходные сигналы, формируемые во многих смежных состояниях. В качестве примера можно привести выходной сигнал Contig. Он формируется в Состояниях 2, 4-7, хотя имеется ветвь для Состояния 3.
3. Выходные сигналы,
формируемые по многим
а)
б)
Рисунок 5- Блок схема для Состояния 2 (а) и Состояния 3 (б)
Рисунок 6- Блок схема для Состояния 5
а)
б)
Рисунок 7- Блок схема для Состояния 6 (а) и Состояния 7 (б)
Для формирования логики выходного сигнала Multi используется декодирование Состояний 2 и 4 припомощи 2-входового логического вентиля ИЛИ. Каждый раз, когда конечный автомат окажется в одном из этих состояний, будет сформирован активный сигнал Multi. Для декодирования выходных сигналов для смежных состояний используется синхронныйRS-триггер. RS-триггер устанавливается привходе в смежное состояние и сбрасывается при выходе (рисунок 2).
Временная диаграмма проектируемого автомата представлена на рис.8. На диаграмме показано формирование выходных сигналов Contig и Multi при переходе из Состояния 1 в Состояние 4 по условию по первому такту синхроимпульса CLK. Далее осуществляется переход по Состояниям 4-7 при соответствующих путей-условиях. На рис.9 показаны переходы по Состояниям 1-6.
Для размещения автомата выберем ПЛИС по архитектуре ППВМStraticsIII (EP3SL50F484C2). После компиляции проекта оказалось задействовано 16 логических элементов, 7 триггеров. Моделирование проводилось без учета реальных задержек распространения сигналов в ПЛИС. С учетом реальных задержек период тактового сигнала CLK для стабильной работы автомата должен быть не менее 15 нс. Каждый раз, когда конечный автомат окажется в одном из этих состояний, будет сформирован сигнал Conting. В этом случае и сокращается число логических элементов. Максимальная тактовая частота в обоих схемных решениях составляет МГц.
Рисунок 8- Результаты моделирования работы конечного автомата
Показаны переходы по Состояниям 1,2, 4, 5, 6 и 7. По первому такту синхроимпульса и по условию, автомат переходит в Состояние 2. В Состоянии формируются выходные сигналы Contig. По второму такту синхроимпульса и по условиюD, автомат переходит в Состояние 4, с формированием на выходе сигнала Contigи Multi. По третьему такту синхроимпульса и по условий переходит в Состояние 5 с формированием выходных сигналов Contig иMulti.По четвертому такту синхроимпульса и по условий переходит в Состояние 6 с формированием выходных сигналов Contig иSingle. По пятому такту синхроимпульса и по условий переходит в Состояние 7 с формированием выходных сигналов Contig.
Опишем функционирование данного автомата на языке описания аппаратурных средств VHDL. Описание проектируемого конечного автомата с использованием двух процессного шаблона и перечисляемого типа данных (Enumeratedtype) на языке VHDL приведено ниже. Перечисляемый тип – это такой тип данных, при котором количество всех возможных состояний конечно. Такой тип наиболее часто используется для обозначений состояний конечных автоматов. Любой перечисляемый тип имеет внутреннюю нумерацию: первый элемент всегда имеет номер 0, второй - 1 и т.д.
Для этой модели триггеры синтезируются только для сигнала state, что получает избежать лишних триггеров в схеме. Для обеспечения стабильной и безотказной работы используется сброс автомата в начальное состояние (активный высокий уровень сигнала TRST). Таким образом, всегда обеспечивается инициализация автомата в начальное состояние.
В данном примере стиль кодирования (например, метод двоичного кодирования или кодирование по методу OHE) не определен в коде языка VHDL. Xilinx рекомендуется использовать кодирование цифровых автоматов с использованием перечисляемого типа, т.к. в этом случае имеется возможность предоставить САПР использовать модуль логического синтеза и в зависимости от архитектуры ПЛИС самостоятельно выбирать метод кодирования.
ДляПЛИС, по архитектуре ППВМ САПР ПЛИС MAX+PLUSII выбираем TextEditor, затем в Templatesвыбираем вкладку VHDLTemplates, в раскрывшемся окне выбираем StateMachinewithoutAsynch. Reset. Создаем описание автомата на языке VHDL.
Проект автоматически был размещен в ПЛИСEP3SL50F484C2. Задействовано 16 логических элементов, 7 триггеров. Максимальная тактовая частота составляет МГц. Описание проектируемого устройства на языке VHDL приведено ниже.
LIBRARY ieee;
use ieee.std_logic_1164.all;
useieee.std_logic_unsigned.
entityavtOHE IS
port(
A, B, C, D, E, TRST, TCK :IN STD_LOGIC;
Multi, Contig, Single :OUT STD_LOGIC;
STATE1_7:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END avtOHE;
architecture a of avtOHE is
typestate_values is (Stage1, Stage2, Stage3, Stage4, Stage5, Stage6,Stage7);
signal state, next_state: state_values;
begin
--блокрегистроов
statereg: process(TCK, TRST)
begin
if(TRST='1') then state<=Stage1;
elsif(TCK'event and TCK='1') then state<=next_state;
end if;
end process statereg;
--комбинаторный блок (логика переходов)
process (state, A, B, C, D, E)
BEGIN
case state is
when Stage1=>
STATE1_7<="0001";
if (A='1' or D='0') then next_state<=Stage2;
elsif (A='0' and B='1' and C='1') then next_state<=Stage4;
elsenext_state<=Stage1; end if;
when Stage2=>
STATE1_7<="0010";
if (A='1' and B='1' and C='1') then next_state<=Stage3;
elsif (D='1') then next_state<=Stage4;
end if;
when Stage3=>
STATE1_7<="0011";
if (A='1' and B='1' and C='0') then next_state<=Stage4;
elsif (A='1' and B='0' and C='1') then next_state<=Stage5;
elsenext_state<=Stage3; end if;
when Stage4=>
STATE1_7<="0100";
if (A='1' and B='1' and C='0') then next_state<=Stage5;
elsenext_state<=Stage4; end if;
when Stage5=>
STATE1_7<="0101";
if (A='1' or D='1') then next_state<=Stage6;end if;
when Stage6=>
STATE1_7<="0110";
if (E='0') then next_state<=Stage7;
elsenext_state<=Stage6; end if;
when Stage7=>
STATE1_7<="0111";
if (A='1' or D='1') then next_state<=Stage1;
elsenext_state<=Stage7; end if;
end case;
end process;
--логикаформированиявыхода
process (state)
begin
case state is
when Stage1=>
Multi<='0';
Contig<='0';
Single<='0';
when Stage2=>
Multi<='0';
Contig<='1';
Single<='0';
when Stage3=>
Multi<='1';
Contig<='0';
Single<='0';
when Stage4=>
Multi<='1';
Contig<='1';
Single<='0';
when Stage5=>
Multi<='1';
Contig<='1';
Single<='0';
when Stage6=>
Multi<='0';
Contig<='1';
Single<='1';
when Stage7=>
Multi<='0';
Contig<='1';
Single<='0';
end case;
endprocess;
end a;
По описанию проектируемого устройства на языке VHDL создадим тестовую схему конечного автомата.
Рисунок 9- Блок-схема конечного автомата
Проект автоматически был размещен в ПЛИС EP3SL50F484C2. Задействовано 19 логических элементов, 7 триггера. Максимальная тактовая частота составляет МГц. Таким образом, число триггеров уменьшилось на четыре, за счет иного способа кодирования, но значительно увеличилось число логических элементов и несколько снизилась тактовая частота.Таким образом, метод ОНЕ применительно к ПЛИС по архитектуре ППВМ, дает возможность строить конечные автоматы, которые в общем случае требуют меньших ресурсов и отличаются более высокими скоростными показателями, чем аналогичные конечные автоматы с двоичным кодированием состояний.
Так конечный автомат на 7 состояний при построении по методу ОНЕ требует 7 триггеров; для построения такого же конечного автомата с высокой степенью кодирования нужно всего три триггера, но число используемых логических элементов возрастает с 16 до 19. Сравнительные результаты представлены в таблице.
Таблица 1-Сравнительные результаты методов OHE и двоичного кодирования
Метод |
Число логических элементов |
Число триггеров |
Максимальная тактовая частота, , МГц |
Ручной способ кодирования по методу OHE без RS-триггера |
13 |
7 |
290.02 |
OHE |
16 |
7 |
290.02 |
Двоичное кодирование |
19 |
3 |
262.81 |
Повышенное быстродействие по методу ОНЕ обеспечивается меньшим числом уровней логики между рабочими фронтами синхросигналов, чем в случае двоичного кодирования. Логические схемы при этом также упрощаются, поскольку метод ОНЕ практически не требует логики декодирования состояний.
В методе ОНЕ достаточно только одного входного сигнала для декодирования конкретного состояния, что делает логику определения следующего состояния более простой. Получающийся в результате построения конечного автомата набор триггеров похож на структуру типа сдвигового регистра.
Быстродействие конечного автом
При проектировании
цифровых автоматов на языках описания
аппаратурных средств возможно появление
недопустимых состояний. В этом случае
необходимо доопределять состояния
автомата, которые в свою очередь
могут снижать его
Заключение
Большие интегральные схемы (БИС) широко применяют при построении микропроцессоров (МП) - программно-управляемых устройств для обработки цифровой информации. Совокупность МП и других интегральных микросхем, совместимых по конструктивно-технологическому исполнению и предназначенных для совместного применения, образует микропроцессорный комплект. К классу МП-систем относят микроЭВМ, состоящие из микропроцессора, запоминающих устройств на полупроводниковых элементах и устройств связи с периферийной аппаратурой.
Списоклитературы
1. Actel Digital Library.Q3 2001.Designing State Machines for FPGAs. September 1997. 97s05d18.pdf.
2. Стешенко В. Примеры проектирования цифровых устройств с использованием языков описания аппаратуры // www.platan.ru. Схемотехника, 2001, N 7-9.
3. Steven K. Knapp. Accelerate FPGA macros with one-hot approach // ED, 1990, N17, pp. 65-71.
4. СтешенкоВ.Б.
ПЛИСфирмы «Altera»: элементнаябаза, системапроектированияиязыкиопи
5. Строгонов А. В. Методические указания к курсовому проектированию по дисциплине «Проектирование БИС» для студентов специальности 200100 «Микроэлектроника и твердотельная электроника» очной формы обучения /Воронеж, гос. техн. ун-т: Сост. А. В. Строгонов – Воронеж, 2010.
Информация о работе Проектирование цифрового автомата в САПР ПЛИС Quartus II