Задание № 3. Моделирование цифровых схем с использованием параметрических элементов
Цель работы:
Приобретение навыков использования параметрических элементов (LPM function) в Quartus II, экспериментальное исследование счетчиков и регистров, построенных на их основе.
Основные теоретические сведения:
Счетчики и регистры Регистры и счетчики относятся к разряду цифровых устройств и являются одним из наиболее распространенных элементов вычислительной техники. Они широко используются для построения устройств ввода, вывода и хранения информации, а также для выполнения некоторых арифметических и логических операций.
Для построения счетчиков и регистров используются синхронные триггеры, переключение которых происходит только при наличии синхронизирующего сигнала (синхроимпульса) на входе С. Наиболее часто для построения регистров и счетчиков используется D-триггер, имеющий специальный информационный вход D, и динамический вход С (рис. 1.1).
Рис. 1.1 D - триггер
Устройство, называемое счетчиком, предназначено для подсчета числа поступающих на вход сигналов (импульсов) в произвольной системе счисления. Двоичные счетчики строятся на основе триггеров, работающих в счетном режиме (Т - триггер или счетный триггер).
Счетный триггер может быть получен из универсального D - триггера путем соединения его инверсного выхода Q со входом D.
Счетный триггер и эпюры сигналов, поясняющие его работу, представлены на рис. 1.2.
Рис. 1.2 Счетный триггер и его работа
У счетного триггера состояние выхода изменяется на противоположное при поступлении на вход С каждого очередного счетного импульса.
Функциональная схема и условное графическое обозначение двоичного счетчика с коэффициентом пересчета 23 представлена на рис. 1.3.
Рис. 1.3 Двоичный счетчик
Рис. 1.4 Диаграммы работы двоичного счетчика
Каждый поступающий на вход счетчика импульс перебрасывает первый триггер в противоположное состояние (рис. 1.4). Сигнал с инверсного выхода предыдущего триггера является входным сигналом для последующего и, таким образом, комбинация сигналов на выходах Q1, Q2, Q3 будет соответствовать числу поступивших на вход счетчика импульсов, представленному в двоичном коде. Счетчик данного типа называется асинхронным счетчиком.
Если на счетный вход каждого последующего триггера счетчика подавать сигнал с прямого выхода предыдущего триггера, то счетчик будет производить операцию вычитания. Счетчики, способные выполнять функции сложения и вычитания, называются реверсивными.
Для построения счетчика с требуемым коэффициентом пересчета Кс, отличным от величины 2N (N - число двоичных разрядов счетчика), используется принудительный сброс счетчика в исходное состояние при достижении счетчиком числа Кс.
Устройство, называемое регистром, служит в основном для хранения чисел в двоичном коде при выполнении над ними различных арифметических и логических операций. С помощью регистров выполняются такие действия над числами, как передача их из одного устройства в другое, арифметический и логический сдвиг в сторону младших или старших разрядов, преобразование кода из последовательного в параллельный и наоборот и т.д.
Рис. 1.5 Регистр сдвига
Функциональная схема и условно-графическое обозначение регистра сдвига представлены на рис. 1.5.
Последовательный информационный код поступит на вход D регистра. Импульс команды сдвига С подается одновременно на синхронизирующие входы всех триггеров регистра и переводит каждый триггер в состояние, в котором находился триггер предыдущего разряда. Таким образом, каждый импульс команды сдвига "продвигает" записываемое число на один разряд вправо.
При введении обратной связи в регистр сдвига, последний превращается в замкнутое кольцо, в котором под воздействием тактовых импульсов циркулирует введенная в регистр информация. Такие регистры называют кольцевыми счетчиками. Кодовая единица, введенная в первый триггер, циркулирует в течении всего времени существования тактовых импульсов, подаваемых на входы С всех триггеров счетчика. Приходящий тактовый импульс перебрасывает триггер, который был в состоянии 1, в состояние 0. Поскольку выход Q этого триггера связан с входом D следующего триггера, то последний устанавливается в состояние 1 и т.д. Количество состояний такого счетчика равно числу триггеров.
Реализация проекта на параметрических элементах
Применение параметрических элементов Quartus II в разработке проектов цифровых схем рассмотрим на примере реализации дешифратора на 3 входа.
Шаг 1.
Создаем проект как в Задании №1, выбирая при этом другое имя проекта, например: lab3. qpf. Чтобы создать новый файл, принадлежащий проекту, выбираем пункт меню FileNew.
Шаг 2.
Нужно создать файл, описывающий устройство. Это Design File. Выбираем создание схемы Block DiagramSchematic File.
Шаг 3.
Сохраняем наш новый файл под именем lab3. bdf.
Шаг 4.
В поле графического редактора схем нажимаем правую кнопку мыши и в выпадающем меню выбираем пункты InsertSymbol - вставить элемент. Или на панели инструментов выбираем кнопку Symbol Tool.
Шаг 5.
Из библиотек Quartus II выбираем нужный параметрический элемент megafunctionsgateslpm_decode (дешифратор). Нажимаем "ОК".
Шаг 6.
Далее появится окно менеджера, нажимаем кнопку "Next".
Шаг 7.
На этом шаге надо выбрать количество входов и выходов. Выбираем 3 входа, при этом автоматически высвечиваются выходы. Добавляем их все, нажимая кнопку Add all. Так как в задании дополнительных параметров задавать не надо, то нажимаем Finish.
Шаг 8.
Параметрический элемент - дешифратор на 3 входа готов. Осталось вывести входы и выходы.
Шаг 9.
Выбираем нужные нам входы и выходы primitivespininput и primitivespinoutput.
Шаг 10.
Выбирая на панели инструментов Orthogonal Node Tool, соединяем элементы между собой. Назовем входы и выходы - клик правой кнопки мыши на элементе и выбираем пункт меню свойства Properties.
Шаг 11.
Прежде чем делать симуляцию нужно откомпилировать проект. Выбираем пункты меню ProcessingStart Compilation (или выбрать на панели инструментов кнопку Start Compilation).
Шаг 12.
Создадим файл для симуляции. В нем можно будет описывать входные сигналы и задавать выходные сигналы. Выбираем пункт меню FileNew и затем в появившемся диалоге VerificationDebugging Files University Program VWF (Vector Waveform File).
Шаг 13.
Надо выбрать элементы, которые будем смотреть и которые будем определять. Клик правой клавиши мыши на левой панели Names и в выпадающем меню выбираем пукнт InsertInsert Node or Bus.
Шаг 14.
Появилось диалоговое окно. В нем можно набрать имя выхода какого-нибудь сигнала или элемента. Полное имя сигнала может быть очень длинным и не всегда понятным. Поэтому лучше воспользоваться поиском сигнала в проекте. Нажимаем кнопку Node Finder.
Шаг 15.
Появляется диалоговое окно для поиска сигналов в проекте Node Finder. В поле Look указано имя нашего проекта - в нем будет поиск сигнала. Здесь ничего менять не нужно. В поле Named можно задать часть имени сигнала или провода. Например, надо найти выход модуля с именем data, но в проекте несколько модулей с выходами/входами с таким именем. Тогда для поиска в этом поле Named нужно указать *data*. Потом нажать кнопку List (произвести поиск) и в таблице Nodes Found будет показан список всех модулей содержащих такой сигнал. Если указать просто *, то это значит, что будут отображены вообще все сигналы, не зависимо от имени. Еще важное поле - Filter. Здесь из списка можно выбрать тип сигналов для поиска. Выбираем сейчас Pins: All - то есть физические входы и выходы микросхемы. Нажимаем кнопку List и видим список входов и выходов.
Шаг 16.
Выбираем все нужные сигналы слева в таблице найденных сигналов Nodes Found и переносим их вправо в таблицу выбранных сигналов Selected Nodes. В данном задании достаточно добавить шину входящих сигналов, то есть Input Group, и все выходы. Нажимаем кнопку "OK".
Шаг 17.
Запускаем симулятор из пункта меню ProcessingRun Functional Simulation (или на панели инструментов выбрать кнопку Run Functional Simulation).
Шаг 18.
Результат моделирования работы схемы в сигнальном редакторе.
- Введение
- Задание № 1. Графический ввод схемы и симуляция в Quartus II
- Алгебра логики и основные логические элементы
- Задание № 2. Описание логических схем при помощи языка AHDL
- Элементы языка AHDL. Зарезервированные ключевые слова
- Символы
- Имена в кавычках и без кавычек
- Числа в языке AHDL
- Логические операторы
- Задание № 3. Моделирование цифровых схем с использованием параметрических элементов
- Задание № 4
- Вывод
- Настройка Quartus II и создание папки нового проекта
- II.1 Графический редактор
- 2.1. Типовая последовательность выполнения работы.
- 2.2. Процесс моделирования работы узлов средствами пакета Quartus II
- 3.3.1. Графический ввод проекта
- Графические редакторы
- Практическая работа . Графические редакторы Графические редакторы
- Графические редакторы
- 6 Компиляция и верификация проекта в среде Quartus II