ARCHITECTURE a OF Reg_Shift IS
ARCHITECTURE a OF Reg_Shift IS -- architecture " а" of entity Reg_Shift SIGNAL Q_int : std_logic_vector(3 DOWNTO 0); BEGIN base: PROCESS (Clk, Reset, Q_int) BEGIN IF Reset = '1' THEN Q < = " 0000"; ELSIF Clk'eventANDClk = '1' THEN IF En = '1' THEN Q < = Q_int; ELSE Q < = Q; END IF; ELSE Q < = Q; END IF; END PROCESS base;
Q_int < = D_in WHEN Load = '1' ELSE '1' & Q(3 DOWNTO 1) WHEN Right = '1' ELSE Q(2 DOWNTO 0) & '1' WHEN Left= '1' ELSE Q;
END; При описании триггерных устройств можно рекомендовать опираться на стандартизованные трафареты, предлагаемые разработчиками программ синтеза. Использование конструкций, приведенных на листингах 4. 1– 4. 4, в подавляющем числе случаев достаточно.
4. 2. Практикум по теме Задания на работу: 1. Спроектировать регистр сдвига, обеспечивающий следующие функции: Сброс в исходное состояние. Занесение входной информации. Сдвиг циклический влево. Сдвиг циклический вправо.
2. Спроектировать регистр сдвига, обеспечивающий следующие функции: Сброс в исходное состояние. Занесение входной информации. Сдвиг влево с вводом последовательных данных. Сдвиг вправо с вводом последовательных данных.
3. Спроектировать регистр сдвига, обеспечивающий следующие функции: Сброс в исходное состояние. Занесение входной информации. Сдвиг циклический влево на два разряда. Сдвиг циклический вправо на два разряда.
4. Спроектировать счетчик, обеспечивающий следующие функции: Сброс в исходное состояние. Занесение входной информации. Инкрементный счёт. Декрементный счёт.
5. Спроектировать счетчик, обеспечивающий следующие функции: Сброс в исходное состояние. Занесение входной информации. Инкрементный счёт на два разряда.
Декрементный счёт на два разряда.
6. Спроектировать счетчик, обеспечивающий следующие функции: Сброс в исходное состояние. Занесение входной информации. Инкрементный счёт. Декрементный счёт. Формирование выходного сигнала переноса и заёма.
7. Спроектировать регистр, обеспечивающий следующие функции: Сброс в исходное состояние. Занесение входной информации. Инкрементный счёт. Сдвиг влево.
8. Спроектировать регистр, обеспечивающий следующие функции: Сброс в исходное состояние. Занесение входной информации. Декрементный счёт. Сдвиг циклический вправо. Рекомендуется придерживаться следующего порядка работы:
I. Моделирование 1. Создать директорий для работы. 2. Запустить моделирующую программу (QuestaSim или ModelSim). 3. Просмотреть в редакторе текст файлаlab4. vhd. Для данного раздела исходный файл lab1. vhd соответствует программе 1. 1. Source. 4. Выполнить компиляцию проекта. 5. Загрузить скомпилированный проект в систему моделирования, 6. Открыть окна наблюдения Process, Signal, Wave. 7. Запустить процедуру моделирования, вызвав команду системы моделирования simulate. 8. Сформировать тестовую последовательность, используя команду системы моделирования FORCE (в пределах необходимого для полноты проверки числа комбинаций входных данных). 9. Выполнить моделирование в пошаговом режиме. 10. Выполнить моделирование в автоматическом режиме. Просмотреть временную диаграмму в окне Wave и убедиться в правильности вычисления логической функции
II. Синтез и имплементация. 1. Открыть пакет Quartus II (версия задается преподавателем). 2. Создать новый проект – File / New Project Vizard, указав созданный директорий и программу lab1. vhd. 3. Компилировать проект (Processing/Start Compilation), опираясь на данные о ПЛИС, соответствующие используемому учебному стенду (Assigments/Device) 4. Оценить затраты на реализацию проекта Processing / Compilation Report.
5. Просмотреть RTL вид проекта и его топологическую реализацию – Tools / RTL View – Tools / Technology Map View. 6. Задать номера контактов ИС, соответствующие подключению учебной платы DE0. 7. Выполнить компиляцию проекта с назначенными контактами. 8. Загрузить в ИС полученный загрузочный файл проекта и проверить работоспособность разработки.
Отчет по теме должен содержать: - Принципиальную схему устройства в соответствии с индивидуальным заданием. При этом отобразить в рисунках иерархичность фрагментов проекта и реально использованные в тексте имена фрагментов, узлов, цепей и т. д. - Текст программы с его разбиением на разделы и их наименованием. - Последовательность активизации и дезактивизации процессов при пошаговом моделировании. - Временные диаграммы результатов моделирования.
4. 3. Контрольные вопросы: 1. Перечислите наиболее популярные способы синхронизации триггерных устройств и запишите конструкции языка VHDL, интерпретирующие разные способы. 2. В каких случаях возможно и целесообразно использование потенциального управления последовательностной схемой? 5. Описание и синтез автоматов
5. 1. Классические понятия цифровых автоматов
В пределах данного пособия мы ограничимся синхронными цифровыми автоматами, то есть такими, которые могут менять состояние в ответ на фронт или спад синхронизирующего сигнала, сохраняя состояния между этими моментами. В настоящий момент времени существуют различные стили описания поведения автоматов. Каждый из них имеет свои плюсы и минусы. Наибольшее распространение получили два стиля описания. Первый из них будем называть “классическим”, а второй “графическим”. В классическом стиле, получившем наибольшее распространение в технической литературе по теории автоматов, поведение задается таблицей состояний (возможно и таблицей выходов). В инженерной практике, использующей современные САПР, обычно применяется система представления автомата в форме графа переходов. Классический вариант более компактен, но менее нагляден. Интервалы времени между моментами допустимости изменений состояния будем называть тактами работы и нумеровать целыми числами, начиная от нуля. Состояние автомата в любом такте, кроме нулевого, определяется состоянием в предыдущем такте и входными сигналами.
Чтобы задать конечный автомат надо определить шестерку [8]: A={ S, X, Y, F, V, s (0) }, где S – множество допустимых состояний; X – множество возможных входов; Y –множество выходов; F – функция переходов автомата; V – функция выходов автомата; s(0) – начальное состояние. Множества S, X, Y – конечные, причем каждый элемент множества имеет собственное имя. В пределах данного параграфа всем элементам множеств будем присваивать одинаковые имена и индексы, соответствующие порядковому номеру их вхождения во множество, то есть S ={ s0, s1, …. sp, ……. sn}; X ={ x0, x1, …. xr, ……. sm}; Y ={ yo, y1, …. ys, ……. yk}; Запись вида s(n) будет означать состояние автомата в n -ном такте, и при этом s(n) может принимать значение из множества S. Сигналы x(N) и у(N) определены аналогично. Необходимо указать, что в данном контексте вход и выход отражают не состояние отдельных входных и выходных линий, а полные совокупности (коды) информационных сигналов, поступающих на входы и снимаемых с выходов. В списках можно использовать любые слова, кроме ключевых слов языка, но проектировщики обычно используют имена, отражающие смысл функционирования. Функция переходов F определяет состояние автомата в n - ном такте работы в зависимости от состояния автомата и входа в n-1-ом такте: F : S–> S, s(n)= F (s(n-1), y(n-1)). Семантика функции выходов зависит от принимаемой при синтезе модели поведения автомата. В модели Мура (рис. 5. 1) выход определяется состоянием автомата в текущий момент времени и зависит от выходной комбинационной логики V: S –> Y, y(n)= V (s(n)). (1)
Рис. 5. 1. Структурная модель цифрового автомата Мура
Подкласс автоматов Мура, в котором функция выходов определяется только состоянием автомата в текущий момент времени, в современной литературе носит название автомата Медведева [9]. На рис. 5. 2 приведена структурная модель автомата Медведева. Выходные сигналы совпадают с выходными сигналами триггеров регистра состояний.
Рис. 5. 2. Структурная модель цифрового автомата Медведева
Каноническая модель Мили предполагает, что выход определяется состоянием автомата и входными сигналами в текущем такте. На рис. 5. 3 приведена структурная модель автомата Мили. В модели Мили выход определяется не только состоянием автомата в текущий момент времени и выходной комбинационной логикой, но и зависит от сигналов на входных линиях V: S × Y –> Y, y(n) =V (s(n), y(n)), (2) где символ× означает декартово произведение. Во всех структурах автоматов регистры хранения состояния (S) не могут изменять состояние до окончания тактового импульса, ибо одновременно являются приемником новой информации и источником информации о предыдущем состоянии. Это требует использования триггеров с динамическим управлением, хотя реальная синтезированная схема может быть реализована с использованием других принципов.
Рис. 5. 3. Структурная модель цифрового автомата Мили
Во всех вариантах используются регистры с динамическим управлением от сигнала clk. На рисунках вход динамического управления обозначается стрелкой. Данные, представляющие состояния, а также входы и выходы автомата в технической реализации это двоичные коды (если соответствующая информационная единица может принимать только два значения можно использовать единственный бит). Однако на абстрактном уровне для представления данных удобно применять перечислимый тип. Правила изменения состояния и выхода интерпретируются комбинационными логическими схемами в соответствии с запланированной логикой работы автомата, а изменения состояния выходов во времени определяется принятой моделью функционирования как показано в соотношениях (1), (2) и подобных. Классическим описанием автоматов является табличное задание переходов и выходных сигналов. В клетках таблицы переходов записаны состояния, в которые переходит автомат из исходного состояния при соответствующих условиях, а в клетках таблицы выходов – выходные сигналы при тех или иных условиях. Достоинство такого способа определения автоматов – легкость контроля над пропуском неопределенных переходов или условий формирования выходных сигналов. Приведем для примера классическое задание функционирования автомата Мили, функция переходов которого представлена таблицей 5. 1, а функция выходов таблицей 5. 2.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|