Lab6_2 (774794), страница 2
Текст из файла (страница 2)
Для того, чтобы отредактировать временную диаграмму входа C выполните следующие действия:
-
Чтобы выбрать и выделить полный временной интервал диаграммы входа C, щелкните левой кнопкой мыши на маркере C, расположенном на левом краю окна (рис. 59).
Маркер
Рис 59
-
В меню Value (величина) выберите Clock (тактовый сигнал).
-
Под надписью Base waveform on (основывать временную диаграмму на...) выберите Clock Settings (установки тактовогосигнала) и выберите из списка С.
-
Нажмите кнопку ОК - будет создана временная диаграмма С с использованием параметров тактового сигнала С.
Чтобы отредактировать временную диаграмму входной шины S, выполните следующие действия:
-
Установить начальные значения Si равные 1 на всем диапазоне.
-
С помощью указателя выбора (Selection Tool) выделите на временной диаграмме входа Si интервал 0-30 нc (частота тактового импульса 0), для чего поместите указатель в позицию 0 ns, нажмите левую кнопку мыши и, удерживая ее, переместите указатель в позицию 20 ns.
-
На выделенном интервале нажмите правую кнопку мыши и во всплывающем меню выберите Value > Forcing Low (низкий логический уровень).
Для шины R установим высокий логический уровень.
Сохраните файл, выбрав в меню File (операции с файлами) команду Save (сохранить).
В результате получим следующую диаграмму (Рис 60).
Рис 60
6.2 Определение параметров моделирования
Параметры моделирования автоматически назначаются системой Quartus при создании нового проекта, кроме того, вы можете самостоятельно определять группы параметров моделирования.
-
В меню Assignments выберите Simulation Settings Wizard (установки подсистемы моделирования) автоматически откроется вкладка General (основные, общие). На вкладке Entity&Settings Name устанавливается имя файла моделирования (рис 61).
Рис. 61.
-
Значения параметров на страницах 2 и 3 остаются без изменений.
-
На странице 4 задается продолжительность моделирования. (рис 62)
Рис 62
-
Остальные страницы также остаются без изменения.
5.3 Выполнение моделирования
Чтобы запустить моделирование выполните следующие действия:
В меню Processing (обработка) выберите команду Run Simulation (запуск моделирования).
После этого начинается моделирование объекта верхнего уровня иерархии проекта, а также всех вложенных объектов проекта, с использованием заданных для проекта параметров и векторного файла входных воздействий *.vwf. При моделировании проекта автоматически открывается окно Status (состояние), в котором показывается ход моделирования. Кроме того, результаты моделирования показываются в окне Simulation Report (отчет о компиляции, .содержимое которого изменяется в соответствии с текущим состоянием моделирования.
После успешного завершения моделирования на экран будет выведено соответствующее сообщение. После этого нажмите кнопку ОК.
5.4 Результаты моделирования
Результаты можно посмотреть, выбрав отчет Simulation Waveform (рис 63).
Рис 63
В редакторе Waveform Editor (редактор временных диаграмм) можно выполнять следующие действия с отображаемыми данными:
-
можно выбирать систему счисления, используемую для отображения значений групп (шин). Для этого выделите нужную группу, нажмите правую кнопку мыши и во всплывающем меню выберите Properties (свойства), а затем в списке Radix (основание системы счисления) выберите нужную систему счисления;
-
вы можете перемещать по событиям на временной оси опорный временной маркер, нажимая на стрелки перемещения. Кроме того, вы можете также перетаскивать временной маркер на нужное место непосредственно мышью за специальную кнопку на самом маркере;
-
вы можете изменять масштаб отображения с помощью кнопки Zoom Mode Tool панели инструментов редактора Waveform Editor (редактор временных диаграмм), а также с помощью команд Zoom In (увеличить), Zoom Out (уменьшить), Fit In Window (вписать в окно) и команды Zoom (увеличение) в меню View;
-
вы можете создавать дополнительные временные маркеры и использовать их для измерения временных интервалов.
Варианты задания
Проектируемое устройство и максимальное значение периода синхронизации для цепи С задано в Вашем варианте из лабораторной работы 4. Для вариантов 1-12 используйте ПЛИС семейства Flex6000, 13-15 и 29-33 – ApexII, 16-28 – MAX3000A. Выполните привязку цепи C к выводу с номером, равным номеру варианта для вариантов: 1,2,8-11,16,18-21. Для остальных вариантов номер вывода задан в таблице:
| N варианта | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | 17 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| N вывода | 14 | 15 | 31 | 32 | 33 | 17 | A21 | D24 | C1 | 40 | 41 | 34 | 39 | 4 | 5 | 6 | 12 |
| N варианта | 29 | 30 | 31 | 32 | 33 |
| N вывода | D1 | C24 | D4 | D27 | C25 |
Порядок выполнения работы
-
В САПР Quartus II создать новый проект.
-
Подготовить описание проектируемого устройства, заданного в Вашем варианте, в схемотехнической форме в САПР Quartus II
-
Выполнить синтез устройства на ПЛИС заданного в Вашем варианте семейства и добавить топологические ограничения.
-
Произвести компиляцию проекта
-
Выполнить временное моделирование.
-
Проанализировать полученные результаты.
Пример выполнения лабораторной работы
Выполним синтез устройства на базе ПЛИС фирмы Altera согласно заданию варианта 13.
На базе ПЛИС семейства APEX II построим схему распределителя сигналов, выдающую сигналы «y» в последовательности: 2,2,1,1,2,3,2,1,…Создадим файл схемотехнического описания в соответствии с вариантом и введем ограничения (привязка цепи С к контакту A21, максимальное значение периода синхронизации для цепи С – 30ns). Выполним компиляцию проекта и проанализируем полученные отчеты.
Распределитель сигналов – это устройство, которое при поступлении на его вход переключающих сигналов формирует управляющий сигнал в одном из выходных сигналов. Распределитель сигналов реализуется на базе счетчика, построенного на трех D-триггерах. В данном проекте для реализации распределителя достаточно трех триггеров типа D. Таблица переходов для триггеров (Q3 соответствует старшему разряду, Q1 - младшему):
| Q3(t) | Q2(t) | Q1(t) | Q3(t+1) | Q2(t+1) | Q1(t+1) | D3 | D2 | D1 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Карта Карно для данной таблицы переходов выглядит следующим образом:
Для D3:
| Q3 | ||||
| Q2 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | |
| Q1 | ||||
Для D2:
| Q3 | ||||
| Q2 | 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 | |
| Q1 | ||||
Для D1:
| Q3 | ||||
| Q2 | 1 | 0 | 0 | 1 |
| 1 | 0 | 0 | 1 | |
| Q1 | ||||
После минимизации получаем следующие функции возбуждения:
где
- входы соответствующих триггеров,
- выходы соответствующих триггеров.
Примечание: для получения входа D2 удобно воспользоваться логической функцией XOR – исключающее «ИЛИ».
Поэтому схема счетчика, построенного на трех D-триггерах, имеет вид:
Для построения счетчика используем D триггер dff, который находится в функциональной группе storage.
Таблица переходов для распределителя сигналов:
| Q3(t) | Q2(t) | Q1(t) | Y | Y1 | Y2 | Y3 |
| 0 | 0 | 0 | 2 | 0 | 1 | 0 |
| 0 | 0 | 1 | 2 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 2 | 0 | 1 | 0 |
| 1 | 0 | 1 | 3 | 0 | 0 | 1 |
| 1 | 1 | 0 | 2 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 |
Карта Карно:
| Q3 | ||||
| Q2 | 2 | 1 | 1 | 1 |
| 2 | 3 | 2 | 2 | |
| Q1 | ||||
Для выходных сигналов «y» после минимизации получаем:















