ЛР7 > Исследование многофункциональных устройств

Комбинационные устройства

Тема: Разработка многофункциональных цифровых устройств на Verilog – мультиплексор, дешифратор семисегментного индикатора, буферный элемент с тремя состояниями, триггер, счетчик, АЛУ 

 Структура курса лабораторных работ: Основы Verilog 

 1. Знакомство со средой моделирования ModelSim
 2. Исследование комбинационных устройств
 3. Комбинационные устройства
 4. Исследование последовательностных логических устройств 
 5. Исследование арифметических устройств
 6. Исследование конечных автоматов
 7. Исследование многофункциональных устройств
 8. Простой процессорный модуль

1. Теоретические сведения

Примеры реализации некоторых устройств на языке Verilog

 

Комбинационные схемы:


 

Дешифратор семисегментного индикатора:

 


Три способа описания мультиплексора:

 


 

Выходной буферный элемент с тремя состояниями:

 


 

Различные варианты реализации D-триггера:

 


 

Восьмиразрядный счетчик:

 


 

Пример реализации конечного автомата и его диаграмма состояний:

 


 



 

АЛУ, выполняющее операции сложения, вычитания, конъюнкции и дизъюнкции, с выходным регистром сдвига:

 


 

Пример вызова ранее созданных блоков в файле верхнего уровня иерархии:

 


 


 

2. Самостоятельная работа

 

Целью данной лабораторной работы является разработка универсального вычислительного устройства. Устройство должно состоять из двух основных блоков – арифметического устройства (АУ) и математического сопроцессора. АУ предназначено для выполнения арифметических и операций сдвига. Математический сопроцессор – для выполнения операций умножения и деления. Входными данными для устройства являются четыре 16-разрядных числа. Устройство должно работать в двух режимах – простая математика (одновременная работа с двумя парами чисел), и комплексная математика – работа с двумя комплексными числами (действительная и мнимая части числа – 16-разрядные).

Напомним правила работы с комплексными числами.

1. Операция сложения (С = А + В):


2. Операция вычитания (С = А – В):


3. Операция умножения комплексных чисел (С = А * В):



4. Операция деления комплексных чисел (С = А / В):



 

Самостоятельно определить все необходимые для работы устройства дополнительные блоки. Проверку работы устройства выполните с помощью тестового файла.