Моделирование цифровых устройств

Автор: Пользователь скрыл имя, 10 Декабря 2011 в 11:55, курсовая работа

Описание работы

Анализ и модифицирование определённого массива данных. При этом задачей студента является создание собственного управляющего автомата и арифметико - логического устройства, которое надо будет подключить к схеме, описанной в методических указаниях к курсовому проекту.

Содержание

Введение
1. Структура цифрового устройства обработки данных
2. Архитектура операционного устройства
3. Алгоритм решения задачи
4. Функциональная схема операционного устройства
5. Синтез управляющего автомата
6. Разработка цифрового устройства в графическом редакторе. Разработка и моделирование УА
7. Разработка и моделирование АЛУ
Заключение
Список использованной литературы

Работа содержит 1 файл

ПЗ.doc

— 765.00 Кб (Скачать)

     Содержание

     Введение

   Целью данного курсового проекта является освоение ПЛИС Verilog. Схема, данная для описания и моделирования предназначена для анализа и модифицирования определённого массива данных. При этом задачей студента является создание собственного управляющего автомата и Арифметико-Логического Устройства, которое надо будет подключить к схеме, описанной в методических указаниях к курсовому проекту.

 

Задание

   Разработать цифровое устройство, выполняющее заданную обработку данных. В памяти, начиная с адреса 00, записан массив из 16 однобайтовых чисел со знаком, представленных в дополнительном коде. Подсчитать количество чисел, удовлетворяющих условию х1, результат записать в память по адресу 1016. Числа, удовлетворяющие условию х2, модифицировать и записать в память по исходному адресу. 

Таблица 1 

Бригада 1
x1 0
x2 1
Модиф. 0
 
 
 
 
 
 
 
  1. Условие x1=1 для следующих чисел:

число >0 

  1. Условие x2=1 для следующих чисел:

число кратно 4 

  1. Модификация данных:

представить число в обратном коде

 

Структура цифрового устройства обработки данных

 
 

Цифровое  устройство обработки данных (процессор) можно представить в виде системы, состоящей из операционного устройства (ОУ) и управляющего устройства (УУ) (Рис.1). Операционное устройство принимает входные данные, выполняет их обработку в соответствии с кодом операции (КОП) и формирует выходные данные. Оно содержит функциональные блоки, выполняющие обработку входных данных, предусмотренную заданным алгоритмом, и выдачу выходных данных. Управляющее устройство генерирует последовательность управляющих сигналов Y на основе анализа состояния устройства и признаков результатов X, поступающих из ОУ. Моменты выдачи управляющих сигналов определяют импульсы частоты синхронизации C.

Любая операция, выполняемая в ОУ, описывается  микропрограммой, реализуемой одной, или несколькими микрокомандами. Интервал времени, отводимый на выполнение микрокоманды, равный периоду частоты C, называется тактом. Его длительность выбирается по самой продолжительной микрокоманде.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    Архитектура операционного устройства 

Архитектура, или регистровая модель операционного устройства отображает устройства, способные воспринимать, хранить и выдавать слово информации. Такими элементами являются регистры и память. Связи между элементами и комбинационные схемы, выполняющие логические операции, в архитектуре не изображаются. Они учитываются при составлении функциональной схемы.

Рассмотрим  обобщенную архитектуру применительно  к заданиям проекта.

Память. Для хранения массива исходных данных необходимо оперативное запоминающее устройство ОЗУ, с разрядностью – 8 бит, емкостью – не менее 17 ячеек. Емкость может быть увеличена с учетом потребностей устройств, работающих в системе совместно с разрабатываемым устройством.

Счетчик адреса. Для адресации ячеек памяти необходим счетчик адреса разрядности К, соответствующей равенству 2К=N, где N – емкость памяти. При N=256 получим К=8.

Счетчик чисел. По условию задачи в ОА необходимо выполнить подсчет количества чисел, удовлетворяющих заданному условию, при этом максимальное число равно 16. Учитывая, что результат подсчета будет записываться в память с байтовой организацией, выбираем счетчик с разрядностью 8 бит. На счетчик чисел необходимо подать сигналы, обеспечивающие режимы сброса и инкремента.

 

    Алгоритм решения задачи

Обобщенная  схема алгоритма для задач  проекта приведена на рис. 3. Каждой операторной вершине алгоритма при выполнении будет соответствовать один такт, в котором выдается управляющий сигнал (команда). Начальной вершине q0 соответствует сигнал начального сброса Y0. Микрооперации начального сброса регистра адреса и счетчика чисел объединены в одну микрокоманду, так как эти действия выполняются разными устройствами и могут быть выполнены одновременно.

По команде  Y1 выполняется чтение кода числа из памяти в регистр данных, в котором этот код будет сохраняться при выполнении его обработки. Если устройство памяти имеет асинхронный вывод и буферный регистр на выходе, то сигнал Y1 на устройство памяти не подается, но такт чтения числа необходим.

ТактY2 предусмотрен для задержки выполнения алгоритма на 1 такт, что является гарантией готовности данных, прочитанных из памяти.

Проверка  условия Х1 определяет необходимость инкремента счетчика чисел, если условие выполняется.

При Х1=0 инкремент счетчика не выполняется, соответствующая команда Y3 не выдается и такт попускается.

Условие X2 определяет необходимость выполнения модификации числа и записи его в память по исходному адресу по команде Y4.

Такт Y4 необходим для записи числа в память, а для выполнения модификации, которую выполняет простейшее АЛУ комбинационного типа с высоким быстродействием, дополнительный такт не нужен.

В такте  Y5 содержимое счетчика адреса увеличивается на 1. выполняется подготовка к циклической обработке следующего числа. Команда Y6 - пропуск одного такта для формирования признака Х3.

Условие выхода из цикла обработки чисел Х3 принимает значение 1, когда адрес, полученный после инкремента, выходит за диапазон адресов, в которых хранятся числа массива.

В такте  Y7 выполняется запись кода, полученного в счетчике чисел, в память. Работа алгоритма заканчивается.

 

    Функциональная  схема операционного  устройства

 

   Функциональная  схема (рис.4.) отображает набор функциональных устройств, связи и управляющие сигналы. Набор функциональных узлов ОУ производится в соответствии с заданием и архитектурой.

Память  имеет два режима работы: чтение и запись. Выбор режима выполняет управляющий сигнал WE (Write Enable), равный «0» для режима чтения и «1» – для записи. ОЗУ имеет 8-разрядные шины данных - данных записи- DI (Data Input) и данных чтения- DO (Data Output). Шина  адреса A имеет 9 разрядов, что обеспечивает адресное пространство ОЗУ, равное 512 байт.

Счетчик адреса 8-разрядный, должен обеспечивать режимы начального сброса  

сигналом  Y0 и инкремента адреса (+1) сигналом Y5. Код адреса подается также на комбинационную схему формирования  признака конца массива Х3. В общем случае необходим режим параллельной загрузки в счетчик фиксированного адреса, по которому следует записать код из счетчика чисел. В задании на проектирование предусмотрен упрощенный вариант, когда запись кода производится в ячейку, адрес которой на 1 больше последнего адреса массива.

     Счетчик чисел. Разрядность – 8, хотя максимальное количество чисел 16. Выбор разрядности  счетчика обусловлен байтовой организацией памяти. На счетчик чисел поданы сигналы, обеспечивающие режимы сброса Y0 и инкремента Y3.

     Мультиплексор – комбинационная схема, управляемая  сигналом Y4. При Y4=0 (по умолчанию) в качестве данных записи подключается выход АЛУ, а при Y4=1 – код счетчика чисел N.

АЛУ –  комбинационная схема, выполняющая модификацию данных, поступающих по шине DO и выдачу результата на шину D. В блоке АЛУ также содержится формирователь признаков числа Х1 и Х2, входами которого являются биты шины DO.

Преобразование  данных в АЛУ выполняется постоянно  и безусловно. На шине D всегда присутствуют данные, полученные путем модификации сигналов с шины DO. Модифицированные данные при Х2=1 записываются в память, а при Х2=0 - не используются. 
 
 

 

    Синтез  управляющего автомата

 

 Цифровой  автомат – это устройство, которое  содержит элементы памяти и  имеет некоторое конечное число  внутренних состояний Q (Рис.5). Под воздействием тактовых импульсов C и входных сигналов X цифровой автомат переходит из одного состояния в другое и выдает выходные сигналы Y.

В проекте  будет использован автомат Мура. В автомате Мура за состояния принимают исполняемые операторы графа, выходные сигналы при этом получаются  как функции состояний. В автомате Мура каждому состоянию графа qJ соответствует команда yJ. Представим микропрограмму разрабатываемого устройства в виде графа. Каждой микрокоманде ставится в соответствие состояние автомата, отображаемое вершиной графа.

Начало  и конец микропрограммы отображаются начальным состоянием q0. В результате  получим циклический автомат, допускающий повторение рабочего цикла. Условия перехода из одного состояния в другое записываются на дугах графа в виде конъюнкций входных сигналов, принимающих единичное значение, когда данный переход происходит. При безусловном переходе дуга графа отмечается константой 1.

Схема управляющего автомата должна содержать N триггеров, при этом 2 N ≥ n, где n – количество состояний автомата. Для рассматриваемого                        примера N=3. При построении схем на ПЛИС в качестве элемента памяти автомата предпочтение отдают D-триггеру.

Функция переходов для D-триггера имеет вид: Q(t+1)=D(t). Состояние, в которое переходит триггер в (t+1)-м такте определяется входным сигналом в предыдущем (t) такте.

По графу  составим описание микропрограммы в форме таблицы, где:    Q(t) – исходное состояние автомата;   Q(t+1) – следующее состояние автомата;    X– условия перехода;    D2 D1 D0 – двоичный код, подаваемый на входы триггеров, равный коду состояния Q(t+1), в которое должен перейти автомат в следующем такте. Таблица 1 упорядочена по значениям Q(t+1).

     Таблица переходов

С целью  упрощения настройки схемы использован  двухступенчатый дешифратор функций  возбуждения триггеров (см. рис. 6). Первая ступень  формирует функций выходов  Y по кодам Q. Вторая ступень - формирование функций возбуждения D, при этом в качестве входных сигналов используются сигналы Y, представленные кодом «1 из N».

Каждому состоянию QJ, отображенному 3-разрядным двоичным кодом, однозначно соответствует сигнал YJ, представленный в виде 8-разрядного единичного кода. При формировании функций возбуждения, подаваемых на входы D, целесообразно использовать сигналы Y.

Анализируя  столбцы таблицы для d0, d1, d2, составим функции возбуждения триггеров.

По приведенным  выражениям составляется схема второй ступени дешифратора функций возбуждения.

 

Кроме сигналов Y управляющий автомат должен выдать сигнал управления записью в память WE. В соответствии с алгоритмом этот сигнал соответствует дизъюнкции:

 

Разработка  цифрового устройства в графическом  редакторе

Разработка  и моделирование  УА

Рисунок 7 -  Схема  управляющего автомата

    Тестирование  управляющего автомата

 

     Для тестирования управляющего автомата необходимо по графу составить таблицу изменений состояний автомата при всех возможных комбинациях управляющих сигналов. Подчеркнуты состояния, повторяющиеся циклически. Последовательность состояний, формируемая при х1=1, х2=1 и х3=0 (строка выделена) соответствует основному циклу алгоритма, и будет использоваться при отладке операционного устройства. 
 
 
 
 
 
 

Информация о работе Моделирование цифровых устройств