close

Вход

Забыли?

вход по аккаунту

?

Лаб2 Quartus

код для вставкиСкачать
Лабораторная работа 2
Освоение моделирования работы цифровых схем в среде Quartus II.
Цель: Знакомство с особенностями работы приложения Quartus II в процессе моделирования функционирования цифровых устройств на программируемых логических интегральных схемах (ПЛИС).
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Создание файла временных диаграмм Моделирование проекта ("Simulation") состоит в том, что на входные выводы спроектированного устройства подаются сигналы, представляющие собой импульсные процессы требуемой формы. Эти сигналы задаются с помощью так называемых временных диаграмм ("Waveform"), составляемых разработчиком в редакторе временных диаграмм ("Waveform Editor") и записываемых в файл *.vwf ("Vector Waveform File"). В процессе моделирования симулятор определяет, какие сигналы разработанное устройство сформирует на выходных выводах, и представляет результаты также в виде временных диаграмм. Для запуска процесса моделирования необходимо в главном меню выбрать Processing → Generate Functional Simulation Netlist ("Процессы→Создание списка цепей для функционального моделирования"). Выводится окно Quartus II, в котором отражается информация об успешном создании списка. На этом этапе из конструкторского файла извлекается список цепей для функционального моделирования. Далее следует выбрать в главном меню File→New, в появившемся окне New активизировать закладку Verification Debuger Files и в списке файлов на этой закладке выбрать строку Vector Waveform File. Щелкнуть по кнопке OK окна New. На рабочем поле приложения поверх других окон появится окно редактора временных диаграмм с пустым файлом, имеющим имя Waveform1.vwf. Для дальнейшей работы с данным окном его необходимо сохранить с именем проекта. Необходимо выбрать в главном меню File→Save As... и в появившемся окне Сохранить как нажать кнопку Сохранить. В результате файлу будет дано по умолчанию имя проекта. То есть название Waveform1.vwf будет заменено на название проекта с расширением .vwf (рис. 8). Для запуска процесса моделирования в форму временных диаграмм необходимо ввести имена переменных проекта. Необходимо щелкнуть правой копкой в поле имен узлов и шин редактора временных диаграмм. В появившемся контекстном меню выбрать строку Insert→Insert Node or Bus... ("Ввести узел или шину..."). На экране появится окно Insert Node or Bus (рис. 9). Это окно позволяет ввести в файл временных диаграмм отдельный узел или шину, набрав вручную имя в верхнем поле Name: окна. Для входного узла остальные параметры можно оставить без изменения и щелкнуть по кнопке OK. Однако существует более удобная возможность автоматического ввода узлов и шин из числа существующих в конструкторском файле. Для осуществления этой возможности необходимо, не меняя параметров окна Insert Node or Bus щелкнуть по кнопке Node Finder... ("Регистратор узлов..."). На экране появится окно Node Finder (рис. 10). В окне Node Finder в поле ввода Named: ("Из имен:") оставить символ шаблона для всех возможных имен - "*". В списке Filter: ("Фильтр:") выбрать строку "input" для "фильтрации" в список только входных выводов проекта ("output" - только выходных; "all" - всех и т. п.). Щелкнуть по кнопке List ("Извлечь список"). В списке Nodes Found: ("Найденные узлы:") появится список всех входных узлов проекта. Рисунок 8 - Окно редактора временных диаграмм
Рисунок 9 - Окно ввода узлов и шин
Рисунок 10 - Окно ввода переменных временной диаграммы
Если выделить в списке Nodes Found: один или несколько узлов и щелкнуть по кнопке ">", то только выделенные узлы будут занесены в список Selected Nodes: ("Выбранные узлы:"). Если, не выделяя узлов, щелкнуть по кнопке ">>", указываемой нижней белой стрелкой, то все узлы из списка Nodes Found: будут занесены в список Selected Nodes:. (Для выделения группы следующих друг за другом узлов необходимо щелкнуть по первому и затем щелкнуть с нажатой клавишей Shift по последнему из выделяемых узлов.) Ошибочно внесенные узлы можно удалить из списка "Selected Nodes:". Щелчок по кнопке "<" удалит только выделенные в этом списке узлы; щелчок по кнопке "<<" - все внесенные узлы. Не выделяя узлов, щелкнуть по кнопке ">>". Все входные узлы будут занесены в список Selected Nodes:, где их имена предваряются именем модуля в вертикальных скобках. Щелкнуть по кнопке "OK" окна Node Finder, и затем по кнопке "OK" окна Insert Node or Bus. В поле Name редактируемого файла временных диаграмм появится список имен входных узлов, в поле Value появятся значения "B 0" ("Binary 0" - Двоичный 0), а в поле временных диаграмм - соответствующие логическому значению 0 диаграммы во всем временном диапазоне. По умолчанию по оси времени установлен диапазон 0 - 1us (0 - 1 микросекунда). Конечное значение времени моделирования можно изменить, выбрав в главном меню Edit→End Time... ("Редактирование→Конечное время") и установив в появившемся окне End Time в поле ввода Time: требуемое значение верхнего предела времени, а в расположенном справа списке - нужные единицы измерения: s - секунды, ms - миллисекунды, us - микросекунды, ns - наносекунды, ps - пикосекунды. Начальное значение временного диапазона всегда равно нулю. Также можно задать отсчеты времени временных диаграмм. Для этого следует в главном меню выбрать Edit→Grid Size... ("Редактирование→ Параметры сетки..."). В появившемся окне Grid Size, не меняя других параметров, в поле ввода Period: ("Период:") установить число, например 10, а в следующем справа от него списке единиц - "ns" (наносекунды). Щелкнуть по кнопке "OK". Установленная таким образом сетка времени позволит точно совмещать фронты логических уровней на диаграммах разных входных узлов в точках, кратных шагу сетки. Для функционального моделирования проекта необходимо сформировать диаграммы всех входных сигналов, так, чтобы они воспроизводили все возможные комбинации значений аргументов из таблицы истинности разрабатываемого устройства. Выделим узел "а" в редакторе временных диаграмм. Для этого щелкнем по имени "а" в поле имен, или по полю значений напротив имени "а" (рис. 11).
Рисунок 11 - Окно редактора временных диаграмм с введенными переменными
Выделенный узел вместе со своей диаграммой будет помечен так, как это показано на рис. 11. Для задания уровня сигнала определенной длительности необходимо сначала в поле инструментов кликнуть на кнопке "Selection Tool" (объемная стрелка), после, нажав левую кнопку мыши, отметить интервал в поле временных диаграмм. Если требуется в каком-либо временном интервале установить известное логическое значение сигнала, то необходимо выделить мышью этот временной интервал на диаграмме данного сигнала, а затем воспользоваться одной из основных кнопок на вертикальной панели инструментов: • "Forcing Unknowm (X)" - установка неопределенного уровня; • "Forcing Low (0)" - установка низкого (0) логического уровня; • "Forcing High (1)" - установка высокого (1) логического уровня; • "High Impedance (Z)" - установка третьего состояния (Z); • "Invert" - инвертирование имеющегося сигнала;
• "Arbitrary Value" - установка значения в виде числ; удобно использовать для задания уровней группе сигналов одновременно (в двоичной или шестнадцатеричной форме). Для установки переменного колебания необходимо щелкнуть по кнопке "Count Value" ("Расчетное значение"). Краткие названия кнопок появляются в подсказках при наведении на кнопку курсора мыши. На экране появится окно "Count Value" (рис. 12). В этом окне активизировать закладку "Timing" ("Хронометраж"). Включить радио-кнопку "At absolute times:" ("По абсолютным отсчетам:"). В поле ввода "Count every:" ("Рассчитывать каждые:") ввести, например число 10, а в находящемся справа от него списке единиц выбрать "ns". В поле "Multiplied by:" ("Умножать на:") ввести 1. Щелкнуть по кнопке "OK". Временная диаграмма для узла "а" примет вид, представленный на рис.13. Полученный на входном узле "а" сигнал представляет собой меандр с длительностью импульса, установленной
Рисунок 12 - Окно установки параметров колебания
в поле "Count every:". Таким же образом сформировать временные диаграммы для других узлов. Если требуется диаграмма, аналогичная сигналу "а", но с большей длительностью импульса, необходимо повторить все перечисленные действия, а в поле "Multiplied by:" ввести значение 2 или более.
Если необходимо, чтобы выделяемые временные интервалы на диаграммах своими границами точно устанавливались на деления сетки времени следует предварительно нажать кнопку "Snap to Grid" на вертикальной панели инструментов. Моделирование проектируемого устройства Для осуществления моделирования процессов в проектируемом устройстве, необходимо выбрать в главном меню "Processing\Simulator Tool" ("Процессы\Параметры симулятора"). В появившемся окне "Simulator Tool" (рис. 14) в списке "Simulation mode:" ("Режим моделирования:") выбрать строку "Timing" ("Временной"). Рисунок 14 Задание параметров симулятора
При установке режима "Functional" ("Функциональный") в результате моделирования будут получены идеальные временные диаграммы сигналов выходных узлов без учета реальных аппаратных задержек, что может быть полезно на предварительных этапах проектирования. В режиме "Временной" будут получены диаграммы с задержками сигналов, определяемыми числом элементов на пути распространения сигнала и выбранным типом микросхемы. Кроме того, в режиме "Временной" симулятором обнаруживаются так называемые "Glitches" ("Выбросы") - не обусловленные логикой проекта двукратные и более перепады логического уровня за короткие промежутки времени. Для запуска процесса моделирования необходимо щелкнуть по кнопке с тремя точками справа от поля "Simulation input:" ("Входные данные для моделирования:") и убедиться в том, что в поле занесено имя подготовленного файла временных диаграмм "*.vwf". На панели "Simulation period" ("Период моделирования") включить радио-кнопку "Run simulation until all vector stimuli are used" На панели "Simulation options" ("Параметры моделирования") установить "галочку" в строке "Automatically add pins to simulation outputs waveforms" ("Автоматически включать выходные узлы в результирующие временные диаграммы"), указываемую нижней горизонтальной стрелкой. Установка указанного выше свойства обеспечит автоматическое добавление в исходный файл "*.wvf" всех существующих выходных узлов с их диаграммами. Это свойство не следует включать, если требуется наблюдать диаграммы только части выходных узлов. В этом случае их необходимо ввести вручную. Остальные свойства на панели "Simulation options" обеспечивают следующее: • "Check outputs" ("Контроль выходных диаграмм") - побуждает симулятор сравнивать сформированные разработчиком ожидаемые диаграммы выходных сигналов с диаграммами, получаемыми в результате моделирования; • "Setup and hold time violation detection" ("Обнаружение нарушений времени предустановки и времени удержания") - контролирует процесс моделирования на наличие нарушений параметров "время предустановки" и "время удержания" и сообщает о них в окне сообщений; • "Glitch detection" ("Обнаружение выбросов") - контролирует процесс временного моделирования на наличие выбросов и сообщает о них в окне сообщений; • "Overwrite simulation input file with simulation results" ("Обновление входного файла "*.vwf" c добавлением результатов моделирования") - включает режим обновления файла временных диаграмм. Старт симуляции можно выполнить как из данного окна, так и из главного меню, кликнув "Processing\Start Simulation" ("Процессы\Запуск моделирования"). На экране появится окно "Simulation Report" ("Отчет о моделировании"), а в окне состояния процесса начнет отражаться объем выполнения процесса моделирования. После завершения моделирования на экране появится информационное окно с сообщением о завершении процесса. Его следует закрыть, щелкнув по кнопке "OK". Если моделирование завершилось успешно, то на экране останется окно "Simulation Report", представленное на рис. 15. Рисунок 15 Окно отчета о моделировании с разделом временных диаграмм
Для отображения окна отчета по временным диаграммам необходимо в секции отчета кликнуть на "Simulator\Simulation Waveforms" ("Симулятор\Диаграммы моделирования"). ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Задание на выполнение лабораторной работы
1. Вызвать созданный в первой лабораторной работе файл.
2. Осуществить компиляцию файла.
3. Просмотреть и зафиксировать назначения аппаратной реализации проекта, сделанные по умолчанию системой Quartus II. Определить тип микросхемы, загрузку ее макроячеек, использование ее ресурсов, требуемое количество ресурсов и топологию размещения входных и выходных шин.
4. Подключить сигнальный редактор Waveform Editor. Сделать назначения анализируемых сигналов индивидуально для каждого входа i0 - 100nc, i1 - 200 nc, i2 - 300nc, i3 - 400nc. Проанализировать результаты работы симулятора и зафиксировать их.
5. Изменить время анализа с 1мкс на 5мкс.
6. В окне редактора Waveform Editor представить входные сигналы в составе группы. Используя назначения счетчика генератора входных сигналов установить шаг изменения инкремента сначала 1, а затем 2 и временные интервалы 100мкс и 400мкс соответственно. Результаты симуляции зафиксировать и проанализировать. 7. Для аппаратной реализации проекта выбрать микросхему EPF10K10LI84-4 серии FLEX10K. Установить назначение выводов микросхемы для входных и выходных шин последовательно с ножки 1 микросхемы. 
Документ
Категория
Рефераты
Просмотров
739
Размер файла
186 Кб
Теги
quartus, лаб2
1/--страниц
Пожаловаться на содержимое документа