- •Синтез комбинационных схем
- •Метод синтеза комбинационных схем
- •Способы задания логических функций
- •Представление и минимизация лф с помощью карт Карно
- •Представление лф в базисе Шеффера с ограничениями на число входов логических элементов
- •Построение кс по логическому выражению
- •Пример синтеза комбинационной схемы
- •2.3. Использование сапр Quartus II для исследования синтезированной в примере кс
- •Риск сбоя в комбинационной схеме
- •Проверка и наладка реализуемой схемы
- •Реализация комбинационной схемы на физической модели
- •Программа работы
- •Контрольные вопросы
- •Варианты заданий по синтезу кс
2.3. Использование сапр Quartus II для исследования синтезированной в примере кс
Используя меню Start или икону на рабочем столе, запустите пакет Quartus II.
Установка проекта
В меню File менеджера пакета, выберите New Project Wizard…. На экране появится окно введения - Introduction (если оно не было отключено). Нажмите кнопку next.
В появившемся окне (Рис.2.5) введите следующие данные:
Рабочая папка создаваемого проекта;
Имя проекта (name of project, например, KC).
Имя файла верхнего уровня в иерархии проекта (top-level design entity), например КС.
Рис.2.5.
Для перехода к следующему окну (New Project Wizard: Add Files [page 2 of 5]) нажмите кнопку Next (Рис.2.6).
Логические файлы, расположенные в рабочей папке проекта не следует добавлять к проекту. Данное окно используется для добавления к проекту логических файлов, находящихся в других папках.
Рис.2.6.
Так как все логические файлы еще не созданы, то нажмите кнопку Next.
В следующем окне New Project Wizard: Family & Device Settings укажите семейство СБИС Cyclone II для реализации проекта и выберите конкретную микросхему (в данной работе EP2C8F256C-8N) (Рис.2.7). Нажмите кнопку Next.
Рис.2.7.
В следующем окне New Project Wizard: EDA Tool Setting (Рис.2.8) могут указываться дополнительные (внешние относительно пакета Quartus II) средства автоматизации проектирования. Вам предстоит работать только в рамках пакета Quartus II. Поэтому нажмите кнопку Next.
Рис.2.8.
В окне New Project Wizard:Summary (Рис.2.9) указаны установки, заданные Вами для создаваемого проекта. Проверьте их. Если все правильно, то нажмите кнопку Finish. В противном случае вернитесь назад, нажав (возможно несколько раз) кнопку Back.
Рис.2.9.
Проект установлен.
Создание проектного файла КС.
Для ввода синтезированной схемы КС выполните следующие действия.
Введите символы элементов.
Выполните команду: меню File->New и выберите Block Diagram/Schematic File.
Выполните команду: меню File->Save As и сохраните файл в проектном директории под именем КС.
Взяв за основу синтезированную схему (Рис.2.4 ) выполните ввод графического файла, используя библиотечные элементы Quartus II.
Дважды щелкните левой клавишей мыши в рабочем поле графического редактора так, чтобы появилось окно ввода символов-Symbol (см. рис.2.10). В разделе Libraries раскройте папку primitives>logic. Выберите элемент nand2. Изображение компонента появится в правой части окна Symbol. Нажмите кнопку OK. Перемещая, мышь в окне графического редактора выберите место для символа и установите его, нажав левую кнопку.
Рис.2.10.
Выделите символ однократным нажатием левой кнопки мыши и, удерживая кнопку Ctrl осуществите копирование символе необходимое количество раз, стараясь размещать символы примерно так же как они изображены на схеме рис.2.4.
Выполните ввод символов других требуемых логических элементов.
Внешние сигналы подаются на схему через элементы типа «вход» (input), а снимаются с элементов «выход» (output). Каждый из них должен иметь соответствующее имя.
Для размещения символа элемента «вывод» (pin), выполните команду - меню Edit > Insert > Symbol, либо дважды щелкните левой клавишей манипулятора в рабочем поле графического редактора так, чтобы появилось окно ввода символов-Symbol.
В разделе Libraries найдите раздел D:\quartus\libraries>primitives>pin в нем расположены примитивы выводов трех типов: вход-input, выход-output, двунаправленный вывод-bidir.
Выберите примитив вход-input (его изображение появится в левой части окна). Если необходимо разместить несколько примитивов вход, то целесообразно указать опцию Repeat Insert Mode и нажать кнопку OK.
Перемещая, мышь в окне графического редактора выберите место для примитива и установите его, нажав левую кнопку.
Повторите пункт 4. для всех входов схемы. Для остановки режима ввода символа нажмите клавишу ESC на клавиатуре компьютера.
Повторите пункты 3.,4. для вывода схемы (примитив «выход»-output).
Чтобы задать имя вывода, дважды щелкните левой кнопкой мыши символ вывода в зоне имени вывода– pin_name и напечатайте имя либо вне зоны имени вывода – pin_name так, чтобы появилось окно задания параметров вывода Pin Properties и напечатайте имя вывода там.
Выполните соединение выводов и компонентов
Все выводы и компоненты в схеме должны быть соединены между собой в соответствии со схемой примера рис.2.11.
Для ввода цепей используйте режим захвата состояния вывода символа, либо выберите на вертикальной панели инструментов графического редактора иконку
(ввод цепи
осуществляется при нажатой левой
клавише мыши).
Для ввода шин выберите на вертикальной панели инструментов графического редактора иконку
(ввод шины
осуществляется при нажатой левой
клавише мыши).Для выхода из режима ввода шины (цепи) нажмите клавишу ESC на клавиатуре компьютера.
Соединение цепей может быть выполнено по именам. Если цепи (цепи и pin) имеют одинаковое имя, то они считаются соединенными. Для задания имени цепи щелкните по ней левой кнопкой и введите имя (щелкните правой кнопкой, откройте закладку Properties и введите имя).
Полученная после ввода схема может выглядеть, как показано на рис.2.11. Инверсные значения аргументов на схеме заданы с помощью шинной организации примитива not. Неиспользуемые инверсные значения будут проигнорированы компилятором.
Рис.2.11.
Сохранение схемы и проверка формальных ошибок
Чтобы сохранить введенную Вами схему левой клавишей мыши щелкните по иконке (Save)
панели инструментов менеджера пакета.
Для проверки правильности (с точки зрения корректности использования символов и выполненных соединений) введенной схемы в окне Processing выберите Compiler Tools. Появится окно, приведенное ниже на рис.2.12.
Рис.2.12.
Запустите процедуру анализа и синтеза (можно выполнить запуск соответствующей кнопкой горизонтальной панели инструментов окна главного менеджера пакета).
В случае успешного завершения процедуры анализа и синтеза проекта появится следующее сообщение
(если компилятор обнаружит ошибки в
схеме, то Вам следует исправить их).
Нажмите кнопку OK.
Компиляция проекта
Нажав кнопку Start в окне Compiler Tool, или щелкнув по кнопке
на горизонтальной панели инструментов
окна главного менеджера пакета, запустите
полную компиляцию.Появятся (см. рис.2.13):
Окно состояния процесса компиляции (Status).
Окно отчета о результатах компиляции (Compilation Report – Flow Summary).
Окно процессора сообщений.
Окно сообщения об окончании компиляции (Quartus II).
Рис.2.13.
Нажмите кнопку OK. Если есть ошибки, исправьте их и повторите компиляцию
Получение информации из отчета о компиляции
По
умолчению Quartus II автоматически открывает
окно с отчетом о результатах компиляции.
Если этого не произошло, то щелкните
иконку
,
расположенную на горизонтальной панели
инструментов менеджера пакета и откройте
отчет о результатах компиляции (Рис.2.14).
Рис.2.14.
В файле отчета откройте окно результатов временного анализа (Timing Analyser>tpd), как показано на рис.2.14. Определите задержку прохождения сигналов в схеме (tpd). Учтите это значение, выбирая масштаб времени при моделировании. По заданию преподавателя проанализируйте аппаратурные затраты реализации КС на заданной в проекте микросхеме.
Моделирование проекта.
Создание файла КС.vwf – файла с тестовыми воздействиями для анализа функциональности реализованной КС.
В меню File выберите New. В окне New выберите закладку Verification/Debugging Files. Укажите Vector Waveform File (см. рис.2.15) и нажмите кнопку Ok.
Рис.2.15.
Появится окно редактора временных диаграмм.
В меню Edit выберите Insert Node or Bus (или дважды щелкните левой кнопкой в свободном поле Name окна редактора). В появившемся окне в разделе Radix установите Unsigned Decimal для отображения значений шин в десятичной системе (см. рис.2.16). Затем нажмите кнопку Node Finder.
Рис.2.16.
В окне Node Finder в разделе Filter установите Pins: all. Нажмите кнопку Start.
Выделите все сигналы. Нажмите кнопку > чтобы скопировать выделенные сигналы в раздел Selected Nodes.
Нажмите кнопку OK. В следующем окне еще раз нажмите кнопку OK.
Введите входные тестовые воздействия (временную диаграмму), приведенную на рис.2.17. Для этого выделяйте сигналы на требуемых временных интервалах и редактируйте их, используя вертикальную панель инструментов или меню окна Edit редактора временных диаграмм (удобно назначить Count Value на всю шину Х[5..1]). Масштаб времени для теста выберите исходя из задержки прохождения сигналов в схеме (tpd) и удобства наблюдения результатов. Интервал времени моделирования задается в окне End Time (Waveform Editor => Edit => End Time).
Р
ис.2.17.
Сохраните файл с введенным тестом под именем КС.vwf. (Команда File> Save As. В появившемся окне введите имя файла КС.vwf).
Запуск моделирования
В меню Processing выберите Simulation Tool. Выполните настройки, как показано ниже на рис.2.18.
Рис.2.18.
Нажмите кнопку Start и запустите моделирование. При появлении сообщения об успешном окончании процесса моделирования нажмите кнопку OK.
Откройте окно KC.vwf, в которое в соответствии с выполненными настройками симулятора перепишутся результаты моделирования, и проанализируйте результаты моделирования. Результаты моделирования также доступны, если нажать иконку
,
находящуюся на
панели инструментов менеджера пакета.
Симулятор в соответствии с
функционально-логическим описанием,
полученным в результате компиляции
введенной схемы, задержками, вычисленными
после размещения и разводки, и заданным
при вводе временной диаграммы тестовым
воздействием на входах, вычисляет
реакцию на выходе Y.
Результаты
моделирования, представленные на
рис.2.19 соответствуют таблице истинности,
для которой синтезировалась схема
примера.
Рис.2.19.
