THE METHODICAL TECHNIQUE OF THE CONDUCTION OF LABORATORIAL CLASSES ON THE SYNTHESIS OF COMBINATIONAL CIRCUITS ON THE "HARD" LOGIC IN THE QUARTUS II

Abstract


Currently, programmable logic (FPGAs) are used extensively in the development of fault-tolerant digital systems. FPGA designers use a highly reliable aircraft control systems, for example, in the Perm company "Star". Modern highly qualified engineer needs the knowledge and skills in the field of synthesis of systems on FPGAs. The article is devoted to the methods of conducting of laboratory lesson on the synthesis of digital automata "hard" logic with computer-aided design system Quartus II from Altera. Laboratory lesson - one of the forms of study, in which the trainees on the instructions and under the supervision of the teacher carry out their own experiments, measurements, basic research on the basis of specially developed tasks in the laboratory. The contents of the laboratory exercises is determined by the list of professional skills in specific academic disciplines (modules), as well as the characteristic of the professional activity of graduates, the requirements for the results of development of the basic professional educational program. Didactic objectives labs are mastering the technique of the experiment; formation of skills to solve practical problems by raising expertise; experimental confirmation of theoretical positions studied, experimental testing of formulas, calculations. As a result of laboratory studies achieved the formation of the following skills: to observe, compare, compare, analyze, draw conclusions and generalizations; conduct independent research; using different measurement techniques, draw up the result in the form of tables, charts, graphs; get professional skills to work with different devices, equipment, installations and other technical means in experiments. The special attention is given to the definition of the algorithm of the experiment.

Full Text

Введение. Существует множество программ-симуляторов, заменяющих реальную радиоэлектронную аппаратуру (РЭА) виртуальными моделями [1, 2]. Такие программы позволяют без проведения сборки реального устройства выполнить отладку работы схемы [3], найти ошибки, допущенные на стадии проектирования, снять требуемые параметры и многое другое [4, 5]. Одной из таких систем схемотехнического моделирования является Quartus II [3, 6-13]. Пользователю доступна обширная библиотека моделей элементов, пополнять которую можно самостоятельно. Естественно, для этого нужно досконально знать работу элемента и уметь программировать. С этой целью и проводятся лабораторные занятия. В структуре проведения лабораторного занятия можно выделить три части. 1. Вводная часть: - сообщение темы, постановка целей; - повторение теоретических знаний, необходимых для работы с оборудованием, осуществления эксперимента или другой практической деятельности; - выдача задания; - определение алгоритма проведения эксперимента или другой практической деятельности; - инструктаж по требованиям безопасности; - ознакомление со способами фиксации полученных результатов; - допуск к выполнению работы. 2. Самостоятельная работа обучающегося: - определение путей решения поставленной задачи; - выработка последовательности выполнения необходимых действий; - проведение эксперимента (выполнение заданий, задач, упражнений); - составление отчета; - обобщение и систематизация полученных результатов (таблицы, графики, схемы и т.п.). 3. Заключительная часть: - подведение итогов занятия: анализ хода выполнения и результатов работы обучающихся, выявление возможных ошибок и определение причин их возникновения; - защита выполненной работы. 1. Постановка задачи. Задание: построить схему реализации заданной функции трех переменных в базисе И-НЕ по вариантам. Варианты заданий соответствуют номеру по списку группы. Пример. Пусть необходимо синтезировать схему реализации переключательной функции (ПФ) трех переменных №132. Построим таблицу истинности ПФ №13210 (таблица). Переменные ВС f(abc) а b с 0 0 0 0 0 20 0 0 1 1 0 21 0 1 0 2 0 22 0 1 1 3 1 23 1 0 0 4 0 24 1 0 1 5 1 25 1 1 0 6 1 26 1 1 1 7 1 27 После минимизации заданной функции №13210, например, по кубу соседних чисел, получаем покрытие (3Ú7) Ú (5Ú7) Ú (6Ú7) и функцию в дизъюнктивной нормальной форме (ДНФ): . Представим функцию в базисе И-НЕ: . Схема в международном стандарте имеет вид (рис. 1). а b c f Рис. 1. Схема реализации функции №13210 Построим эту схему в системе Quartus II [3]. 2. Проведение эксперимента Рис. 2. Ярлык приложения Quartus II 2.1. Создание папки проекта. Запустить приложение Quartus II (ярлык показан на рис. 2). Создадим новый проект. Для этого в меню «File» необходимо выбрать пункт «New project wizard». В появившемся окне «New Project Wizard: Directory, Name, and Top-Level Entity…» («Мастер Создания Проекта: Папка, Имя и Модуль Верхнего Уровня…») щелкнуть по кнопке с тремя точками у верхнего поля ввода. В открывшемся новом окне «Select Directory» («Выбрать Папку») создать новую папку Lab1 для нового проекта устройства (папка необходима, поскольку проект содержит порядка пятидесяти файлов), и открыть ее (рис. 3). Рис. 3. Создание папки проекта После возвращения в окно «New Project Wizard: Directory, Name, and Top-Level Entity…» нужно убедиться в том, что в верхнем поле ввода занесен полный маршрут ко вновь созданной папке, во второе поле занести имя проекта Lab1, совпадающее с именем папки, и в третье (нижнее) поле - имя модуля верхнего уровня Lab1, также совпадающее с именем папки. Щелкнуть по кнопке «Finish» («Завершение»). В начале каждого последующего сеанса работы с созданным проектом необходимо выбрать в строке меню «File\Open Project...». В появившемся окне «Open Project» найти папку проекта и, выделив файл проекта, щелкнуть по кнопке «Открыть». 2.2. Создание конструкторского файла схемы. Выбрать в строке меню «File\New...» («Файл\Новый»). В появившемся окне «New» на закладке «Design Files» («Конструкторские файлы») выбрать строку «Block Diagram/Schematic File» («Файл Блок-схемы/Схемный файл»). Щелкнуть по кнопке «ОК» в нижней части окна. На рабочем поле приложения появится окно созданного файла с именем Blockl.bdf. Его расширение означает, что это «Block Design File», т.е. файл с графическим представлением проекта в виде схемы (рис. 4). Рис. 4. Выбор файла схемы в окне «New» Присвоим имя Lab1 этому файлу. Выбрать в строке меню «File\Save As...» («Файл\Сохранить как...»). В появившемся диалоговом окне «Сохранить как» будет предложено сохранить файл с именем нашего проекта и расширением bdf. Следует принять предложение и щелкнуть по кнопке «Сохранить». Получим файл схемы Lab1. bdf. 2.3. Набор схемы. Щелкнуть правой кнопкой мыши по рабочему полю файла *.bdf. В появившемся контекстном меню выбрать строку «Insert» («Вставить») и далее «Symbol...» («Символ...»). После выполнения команды контекстного меню «Insert\Symbol...» на экране появится окно «Symbol». В поле «Libraries:» («Библиотеки:») этого окна необходимо щелкнуть по кнопке со знаком «плюс» в строке с маршрутом к папке библиотек пакета. После появления списка библиотек выбрать «primitives». Появится список библиотеки «primitives» («примитивы»). В списке примитивов выбираем раздел «logic» («логические элементы»). Выбираем требуемые элементы и помещаем их на наборное поле. Нажимаем ОК и помещаем элемент на наборное поле. Скопируем элемент и поместим две копии на наборное поле. Выберем из библиотеки трехвходовой элемент 3 И - НЕ (NAND3) и поместим его на наборное поле. Теперь создадим входы-выходы схемы (pin). Зададим входы (input) a,b,с. Щелкнуть правой кнопкой по символу входного вывода на рабочем поле. В появившемся контекстном меню выбрать строку «Properties...» («Свойства...»). Входным выводам может быть присвоено значение по умолчанию «GND» или «VCC». Это значение будет использовано пакетом в случае, если данный модуль («entity») не является модулем верхнего уровня иерархии, входит в проект как компонент, и в конструкторском файле верхнего уровня этот вывод оказался неподключенным. Выводы в модуле верхнего уровня являются выводами микросхемы, выводы в модуле нижнего уровня являются точками соединения с другими модулями внутри проекта в целом. Создадим выход input z и поместим выход на наборное поле. Создадим соединения элементов. Нажать кнопку «Orthogonal Node Tool» («Ввод ортогональных проводников») на вертикальной панели инструментов. Ввести требуемые соединения элементов в соответствии с заданной схемой, нажимая левую кнопку мыши в начальной точке и отпуская ее в конечной точке вводимого проводника. В результате получим схему (рис. 5). Рис. 5. Схема заданной функции 2.4. Задание ПЛИС. После того, как все проводники будут установлены, проект готов к компиляции - преобразованию введенной схемы в схему из реальных аппаратных блоков какой-либо конкретной микросхемы ПЛИС фирмы Altera. Записать подготовленную схему в файл проекта, выбрав в главном меню строку «Save» («Сохранить с имеющимся именем»). Выбрать в строке меню «Assignments\Device...» («Назначения\Микросхема...»). В открывшемся окне «Device» в списке «Family:» («Семейство:») выбрать семейство микросхем Cyclone II. В расположенном ниже списке «Available devices:» («Доступные микросхемы:») выбрать микросхему EP2C5F256C7. 2.5. Компиляция проекта. Выбрать в строке меню «Processing\Start Compilation» («Процессы\3апуск компиляции»). Обращаем внимание, что на схеме не должно быть одинаковых имен элементов и контактов, иначе при компиляции будет зафиксирована ошибка. В процессе компиляции на экране присутствуют следующие окна: - окно иерархии проекта (состав и подчиненность модулей) - было на экране до компиляции; - окно конструкторского файла («Block Design File») - было до компиляции; - окно состояния процесса («Status window») - было до компиляции незаполненным; в ходе компиляции отражает текущий объем выполнения отдельных этапов в процентах и фиксирует время, затраченное на каждый этап и на весь процесс; - окно отчета о компиляции («Compilation Report») - появилось в процессе компиляции; отражает статистическую информацию о проекте; - окно сообщений («Message Window») - было незаполненным до компиляции; выводит информационные сообщения на различных этапах обработки данных проекта, а также предупреждения (warnings) и сообщения об ошибках (error messages), если они имеются; - информационное окно («Quartus II») - появляется по окончании процесса компиляции; сообщает о его успешном или неудачном завершении. Наибольший интерес представляют последние два окна. Информационное окно не позволит продолжать работу, пока вы не щелкните по кнопке «ОК» на его поле (предполагается по умолчанию, что разработчик прочтет выведенное в окне сообщение). В окне сообщений, в случае аварийного завершения процесса компиляции, будут представлены сообщения об ошибках. Щелчок по сообщению об ошибке в логике проекта вызывает выделение на схеме элемента, к которому относится ошибка. (Эту ситуацию легко можно смоделировать, удалив, например, какой-либо необходимый проводник на схеме и запустив провокационный проект на компиляцию.) 3. Систематизация полученных результатов 3.1. Временное моделирование. После успешного завершения компиляции следует убедиться в правильном функционировании разработанного устройства, а также установить его основные временные параметры. Это можно осуществить, используя систему моделирования пакета - симулятор («Simulator»). Моделирование («Simulation») состоит в том, что на входные выводы спроектированного устройства подаются сигналы, представляющие последовательно, в различные промежутки времени, все возможные комбинации аргументов. Эти сигналы задаются с помощью так называемых временных диаграмм («Waveform»), составляемых разработчиком в редакторе временных диаграмм («Waveform Editor») и записываемых в файл *.vwf («Vector Waveform File»). В процессе моделирования симулятор определяет, какие сигналы и с какой задержкой разработанное устройство сформирует на выходных выводах, и представляет результаты также в виде временных диаграмм. Выбрать в строке меню «Processing\Simulator Tool». В появившемся окне «Simulator Tool» в списке «Simulation mode:» («Режим моделирования:») выбрать строку «Timing» («Временной»). При установке режима «Functional» («Функциональный») в результате моделирования будут получены идеальные временные диаграммы сигналов выходных узлов без учета реальных аппаратных задержек, что может быть полезно на предварительных этапах проектирования. В режиме «Временной» будут получены диаграммы с задержками сигналов, определяемыми числом элементов на пути распространения сигнала и выбранным типом микросхемы. Кроме того, в режиме «Временной» симулятором обнаруживаются так называемые «Glitches» («Выбросы», «Иголки») - не обусловленные логикой проекта двукратные и более перепады логического уровня за короткие промежутки времени. Эти паразитные импульсы могут отрицательно повлиять на работоспособность устройства. Щелкнуть по кнопке с тремя точками справа от поля «Simulation input:» («Входные данные для моделирования»). Убедиться в том, что в поле занесено имя подготовленного файла временных диаграмм *.vwf. На панели «Simulation period» («Период моделирования») включить кнопку «Run simulation until all vector stimuli are used» («Моделировать, пока все входные сигналы не будут использованы»). На панели «Simulation options» («Параметры моделирования») установить «галочку» в строке «Automatically add pins to simulation outputs waveforms» («Автоматически включать выходные узлы в результирующие временные диаграммы»). Установка указанного выше свойства обеспечит автоматическое добавление во временные диаграммы, получаемые в результате моделирования, всех существующих выходных узлов с их диаграммами. Это свойство следует выключать, если вы хотите наблюдать диаграммы только части выходных узлов. В этом случае их необходимо ввести вручную. Остальные свойства на панели «Simulation options» обеспечивают следующее: - «Check outputs» («Контроль выходных диаграмм») - побуждает симулятор сравнивать сформированные проектировщиком в файле *.vwf ожидаемые диаграммы выходных сигналов с реально получаемыми в результате моделирования диаграммами этих сигналов; - «Setup and hold time violation detection» («Обнаружение нарушений времени предустановки и времени удержания») - контролирует процесс моделирования на наличие нарушений параметров «время предустановки» и «время удержания» и сообщает о них в окне сообщений; - «Glitch detection» («Обнаружение выбросов») - контролирует процесс временного моделирования на наличие выбросов и сообщает о них в окне сообщений; - «Overwrite simulation input file with simulation results» («Обновление входного файла моделирования *.vwf с добавлением результатов моделирования») - включает режим обновления файла временных диаграмм. Закрыть окно «Simulator Tool». Выбрать в строке меню «Processing\Start Simulation» («Процессы\Запуск моделирования»)). По умолчанию на экране появится окно «Simulation Report» («Отчет о моделировании»), а в окне состояния процесса начнет отражаться объем выполнения процесса моделирования. После завершения моделирования на экране появится информационное окно с сообщением о завершении процесса. Его следует закрыть, щелкнув по кнопке «ОК». (Процесс моделирования можно было бы запустить и непосредственно из окна «Simulator Tool», щелкнув по кнопке «Start». Однако в этом случае оказывается несколько более длинным процесс вывода результатов моделирования на экран.) Если моделирование завершилось успешно, то на экране останется окно «Simulation Report», представленное на рис. 6. Сравниваем с таблицей истинности - все верно, только имеется определенное запаздывание формирования выходного сигнала. Так и должно быть. Определим временную задержку схемы. 3.2. Определение временной задержки схемы. Установить «Master Time Bar» (Главный маркер) на требуемый логический фронт входных сигналов, соответствующий моменту времени, например, на фронт набора 011, на котором формируется первая единица. Рис. 6. Результаты моделирования При однократном щелчке по кнопке перемещения Маркер переходит в указанном на кнопке направлении к положению следующего по времени логического фронта на выделенных диаграммах. Если ни одна диаграмма не выделена, учитываются все диаграммы, расположенные на рабочем поле. Теперь надо установить другой маркер - он называется «штриховой» на требуемый выходной сигнал - первую единицу. Щелкнуть правой кнопкой мыши по движку Главного маркера. В контекстном меню выбрать строку «Insert Time Bar...» («Установить маркер...», далее - Штриховой маркер). В появившемся окне «Insert Time Bar», не меняя параметров, щелкнуть по кнопке «ОК». В месте установки Главного маркера появится Штриховой маркер (они будут наложены друг на друга). Однократно щелкнуть по кнопке перемещения Главного маркера вправо. Он перейдет на следующий по времени логический фронт, т.е. фронт изменения функции z. У движка Штрихового маркера, оставшегося на старом месте, появится число, обозначающее его смещение по времени относительно Главного маркера. Выводы. Таким образом, описанные приёмы обеспечивают качественное проведение лабораторного занятия по синтезу комбинационной схемы в системе Quartus II. При этом педагогические усилия должны быть направлены: на четкую постановку познавательной задачи; подробный инструктаж к работе (осмысление обучаемыми сущности задания, последовательности его выполнения); проверку теоретической и практической готовности обучаемых к занятию; выделение возможных затруднений в процессе работы. Также необходимы установка на самоконтроль и наблюдение за действиями обучаемых, регулирование темпа работы, помощь (при необходимости) и коррекция действий, проверка промежуточных результатов.

About the authors

A. V Grekov

Perm Military Institute of the National Guard Forces of the Russian Federation

Email: grekartemvl@mail.ru

S. F Tyurin

Perm National Research Polytechnic University

Email: tyurinsergfeo@yandex.ru

References

  1. Угрюмов Е.П. Цифровая схемотехника: учеб. пособие для вузов. - 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2007. - 800 с.
  2. Потемкин И.С. Функциональные узлы цифровой автоматики. - М.: Энергоатомиздат, 1988. - 320 с.
  3. Реализация цифровых автоматов в системе Quartus фирмы Altera: лаб. практикум / сост. С.Ф. Тюрин, А.В. Греков, О.А. Громов - Пермь: Изд-во Перм. нац. исслед. политехн. ун-та, 2011. - 134 с.
  4. Инженерия прикладного программного обеспечения: монография / А.Р. Яматов, А.О. Суворов, А.А. Петренко, А.В. Греков; Пермский ВИ ВВ МВД России. - Пермь, 2016. - 89 с.
  5. Греков А.В. Современные семейства программируемых логических интегральных схем FPGA фирмы Altera // Инновационные технологии: теория, инструменты, практика (Innotech 2013): матер. V Междунар. интернет-конф. молодых ученых, аспирантов и студентов. - Пермь: Изд-во Перм. нац. исслед. политехн. ун-та, 2014. - С. 414-420.
  6. Греков А.В., Успаленко В.Б. Перспективные программируемые логические интегральные схемы FPGA фирмы Altera // В мире научных открытий. Естественные и технические науки / Научно-инновационный центр. - Красноярск, 2014. - № 6.1(54). - С. 518-534. doi: 10.12731/wsd-2014-6.1-13
  7. Греков А.В., Тюрин С.Ф. Функционально-полный толерантный логический элемент относительно комбинированной модели отказов // В мире научных открытий. Естественные и технические науки. - Красноярск, 2015. - № 12-3(72). - С. 724-741. doi: 10.12731/wsd-2015-12.3-5
  8. Тюрин С.Ф., Греков А.В., Коржев В.С. Скользящее резервирование с восстановлением на основе элементов с избыточным базисом // Научно-технические ведомости СПбГПУ. Информатика. Телекоммуникации. Управление. - СПб: Изд-во Санкт-Петербург. гос. политехн. ун-та, 2012. - № 5(157). - С. 38-44.
  9. Tyurin S.F., Grekov A.V. Functionally Complete Tolerant Elements // International Journal of Applied Engineering Research. - 2015. - Vol. 10. - № 14. - Р. 34433-34442.
  10. Tyurin S.F., Grekov A.V. The Checked Logic Element ChLUT FPGA // Scientific Journal «In the World of Scientific Discoveries. Natural & Technical Sciences». - Krasnoyarsk: Publishing House Science and Innovation Center, 2014. - № 10(58). - P. 223-231. doi: 10.12731/wsd-2014-10-17
  11. Presentation on ALTERA'S FPGA Technology [Электронный ресурс]. - URL: http://www.authorstream.com/Presentation/hsrathore158-1410279-fpga/ (дата обращения: 20.10.2016).
  12. Logic Array Blocks and Adaptive Logic Modules in Stratix III Devices [Электронный ресурс]. - URL: https://www.altera.com.cn/content/ dam/altera-www/global/zh_CN/pdfs/literature/hb/stx3/stx3_siii51002.pdf (дата обращения: 20.10.2016).
  13. Hierarchical Design [Электронный ресурс]. - URL: http://www.labcenter.com/products/pcb/schematic_hierarchy.cfm (дата обращения: 20.10.2016).

Statistics

Views

Abstract - 53

PDF (Russian) - 28

Refbacks

  • There are currently no refbacks.

Copyright (c) 2016 Grekov A.V., Tyurin S.F.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies