Проектирование цифрового автомата в САПР ПЛИС Quartus II

Автор работы: Пользователь скрыл имя, 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

Вложенные файлы: 1 файл

бис.docx

— 870.50 Кб (Скачать файл)

Состояние 5 управляет  Состоянием 6 с условием A+D (рис.6). Конечный автомат ждет в Состоянии 6, пока переменная Е не переключится в низкий уровень, прежде чем перейти в Состояние 7 (рисунок 7, а). В Состоянии 7 конечный автомат опять-таки ждет переключения переменной Е в истинное значение, после чего переходит в Состояние 1 (рисунок 7, б).

После описания всей логики переходов из состояния в состояние  следующим этапом является описание выходной логики. В примере используются три выходных сигнала - Multi, Contig и Single, - каждый из которых относится к одной из трех основных категорий выходных сигналов:

1. Выходные сигналы,  формируемые в одном состоянии. Примером может служить выходной сигнал Single, формируемый только в Состоянии 6, т.е. выходным сигналом является выход триггера.

2. Выходные сигналы,  формируемые во многих смежных состояниях. В качестве примера можно привести выходной сигнал Contig. Он формируется в Состояниях 2, 4-7, хотя имеется ветвь для Состояния 3.

3. Выходные сигналы,  формируемые по многим несмежным состояниям. Здесь обычно оптимальное решение - это простое декодирование активных состояний. Например, сигнал Multi, который формируется для Состояний 3,4 и 5.


 

 

 

 

 

 

 

 

 

 

 

 

 

а)

 


 

 

 

 

 

 

 

 

 

б)

 

Рисунок 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.

 

 

 

 

 

    1. Формирование автомата на языке VHDL

 

Опишем  функционирование данного автомата на языке описания аппаратурных средств  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.all;

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»: элементнаябаза, системапроектированияиязыкиописанияаппаратуры. – М.: Издательскийдом “Додэка-XXI”, 2002. – 567 c.

5. Строгонов А. В. Методические указания к курсовому проектированию по дисциплине «Проектирование БИС» для студентов специальности 200100 «Микроэлектроника и твердотельная электроника» очной формы обучения /Воронеж, гос. техн. ун-т: Сост. А. В. Строгонов – Воронеж, 2010.

 

 


Информация о работе Проектирование цифрового автомата в САПР ПЛИС Quartus II