МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Иркутский государственный технический университет
Факультет кибернетики
Кафедра вычислительной техники
Технология внутрисхеммного
программирования
Методические указания по выполнению контрольной работы
Укрупненная группа направлений и специальностей | 230000 «Информатика и вычислительная техника» |
Направление подготовки: | 230100 «Информатика и вычислительная техника» |
Специальность: | 230101.65 «Вычислительные машины, комплексы, системы и сети» |
Иркутск 2010
Оглавление
Введение……………..……………………………………………………. 1. САПР Quartus II фирмы Altera………………..…………..………..…. 1.1. Открытие проекта……………………………………….……. 1.2. Создание схемного конструкторского файла……………….. 1.3. Формирование функционально-логического описания проекта……………………………………………………………...1.4. Выбор микросхемы и компиляция проекта…………………. 1.5. Создание файла временных диаграмм ………………………1.6. Моделирование проектируемого устройства…….…………. 1.7. Измерение временных задержек …………………………….1.8. Извлечение информации о назначении выводов…………… 2. Язык AHDL……………………………………………………………. 2.1. Структура текстового описания устройства………………... 2.2. Алфавит……………………………………………………….. 2.3. Ключевые слова………………………………………………. 2.4. Имена………………………………………………………….. 2.5. Комментарии………………………………………………….. 2.6. Константы……………………………………………………... 2.6.1. Литеральные константы……………………………... 2.6.2. Именованные константы……………………………. 2.6.3. Параметры……………………………………………. 2.7. Переменные…………………………………………………… 2.7.1. Простые типы переменных………………………….. 2.7.2. Сложные типы переменных…………………………. 2.8. Логические уравнения………………………………………... 2.9. Логические выражения……………………………………….. 2.9.1. Логические операции ……………………………….. 2.9.2. Арифметические операции в логических выражениях…………………………………………………. 2.9.3. Операции сравнения в логических выражениях…… 2.10. Арифметические выражения……………………………….. 2.11. Логические операторы………………………………………. 2.11.1. Условный оператор if then…………………………. 2.11.2. Оператор варианта case…………………………….. 2.11.3. Оператор truth table…………………………………. 2.11.4. Значения по умолчанию для переменных (оператор defaults)…………………………………………... 2.11.5. Оператор for generate……………………………….. 2.11.6. Оператор if generate………………………………… 2.12. Служебные операторы……………………………………… 3. Описание некоторых параметризированных модулей библиотеки фирмы Altera……………………………………………………………… 3.1. Универсальный регистр (lpm_ff)…………………………….. 3.2. Регистр-защелка (lpm_latch)…………………………………. 3.3. Двунаправленный буфер с тремя состояниями (lpm_bustri)…………………………………………………………. 3.4. Цифровой компаратор (lpm_compare)………………………. 3.5. Двоичный дешифратор (lpm_decode)……………………….. 4. Контрольная работа………………………………………...…………. 4.1. Общая схема вычислительной системы…………………….. 4.2. Задание на контрольную работу ……………………………. 4.3. Варианты индивидуальных заданий……………………….. Библиографический список……………………………………………... | 4 5 5 7 7 11 13 18 20 21 23 23 25 26 27 28 29 29 30 31 32 32 39 49 50 52 53 54 55 57 57 58 59 60 62 63 64 67 68 70 71 73 75 77 77 78 79 79 |
Введение
Современные интегральные схемы, применяемые для реализации основных функций цифровых устройств вычислительной техники, можно условно разделить на три класса [1].
1. Заказные СБИС (ASIC –Application Specific Integrated Circuit). К этому классу относятся приборы, которые выпускаются предприятием-производителем как законченные изделия, не требующие применения дополнительных технологических процессов или этапов разработки для своего использования. Примерами таких изделий можно считать микропроцессоры для персональных компьютеров, чипсеты, микросхемы сетевых карт и модемов и т. п.
2. Микроконтроллеры и сигнальные процессоры. Этот класс интегральных схем по технологическому признаку фактически также является представителем заказных СБИС. Однако для использования этих изделий в цифровых устройствах необходимо разработать, отладить и загрузить в энергонезависимую память прибора программу, ориентированную на выполнение конкретной задачи. Аппаратная же часть приборов остается неизменной.
3. Программируемые логические интегральные схемы (ПЛИС). Эти электронные приборы в части полупроводниковой технологии также выпускаются в завершенном виде. Однако затем, на этапе настройки на решение конкретной задачи, они позволяют загружать в энергонезависимую или инициализируемую при включении память аппаратную конфигурацию (схему) цифрового устройства. Последние достижения в области развития этого класса приборов позволяют объединять в одном изделии свойства всех перечисленных выше СБИС.
В настоящее время десятки ведущих мировых производителей интегральных схем выпускают широкую номенклатуру ПЛИС. Наиболее известными из них являются фирмы Altera и Xilinx.
Технология внутрисхемного программирования (ТВП) объединяет совокупность средств и методов по разработке, отладке и реализации проектов цифровых устройств на ПЛИС.
В контрольной работе по дисциплине «Технология внутрисхемного программирования» студентам предлагается разработать на ПЛИС схемотехническое устройство для обработки информации.
Для разработки и отладки схемотехнического устройства студентам рекомендуется использовать в качестве ПЛИС интегральную схему EP2C8Q208N фирмы ALTERA (http://www. ); пакет автоматизированной разработки и отладки проекта (САПР) – Quartus II Web Edition Software (http://www. /products/software/quartus-ii/web-edition); инструмент разработки устройства – язык описания аппаратуры AHDL.
1. САПР Quartus II фирмы Altera
Пакет САПР Quartus II [3] предназначен для создания цифровых устройств на базе ПЛИС фирмы Altera. Пакет обеспечивает полный цикл проектирования до получения готового прибора. Цикл включает в себя следующие основные этапы:
· создание конструкторского файла с функционально-логическим представлением проекта;
· указание выбранной микросхемы одного из семейств и требуемых номеров выводов, при необходимости;
· компиляцию проекта;
· функциональное и временное моделирование устройства;
· коррекцию проекта;
· аппаратное конфигурирование микросхемы одним из возможных способов, например с помощью подключаемого к порту LPT1 загрузочного кабеля ByteBlaster MV.
Пакет Quartus II позволяет вводить данные проекта одним из следующих способов:
· в виде схемного представления в графическом конструкторском файле (*.bdf);
· в виде текстового представления на языке описания аппаратуры AHDL (конструкторский файл *.tdf);
· в виде текстового файла на языке VHDL (конструкторский файл *.vhd);
· в виде текстового файла на языке Verilog (конструкторский файл *.v);
· в виде файла списка цепей стандартного формата EDIF (*.edf).
В настоящем пособии рассматриваются первый и второй способы ввода функционально-логического описания проекта.
Далее в описании управляющих действий слова "щелкнуть по кнопке "Ok" будут означать: навести курсор мыши на кнопку "Ok" и однократно нажать и отпустить левую кнопку мыши. Если необходимо щелкнуть правой кнопкой, то это будет указываться явно: "щелкнуть правой кнопкой мыши…"
1.1. Открытие проекта
1. Включить приложение Quartus II.
2. Выбрать в главном меню "File\New Project Wizard…" ("Файл\Мастер создания проекта…"). В появившемся окне "New Project Wizard: Introduction" ("Мастер создания проекта: введение") можно поставить "галочку" у надписи "Don't show me this introduction again" ("Не показывать мне это вводное окно снова"), если хочется, чтобы это нефункциональное окно в будущем не появлялось, и щелкнуть по кнопке"Next" ("Следующий шаг").
3.
![]() |
В появившемся окне "New Project Wizard: Directory, Name, and Top-Level Entity [page 1 of 6]" ("Мастер создания проекта: папка, имя и модуль верхнего уровня [страница 1 из 6]") щелкнуть по кнопке с тремя точками у верхнего поля ввода (рис. 1) и в новом окне "Select Directory" ("Выбрать папку"), переместившись в желаемое место на диске, создать новую папку для начинаемого проекта устройства (папка необходима, поскольку минимальный проект содержит около пятидесяти файлов) и "зайти" в нее. После этого щелкнуть по кнопке "Открыть" окна "Select Directory".
4. После возвращения в окно "New Project Wizard: Directory, Name, and Top-Level Entity [page 1 of 6]", убедиться в том, что в верхнем поле ввода занесен полный маршрут ко вновь созданной папке, во втором поле – имя проекта, совпадающее с именем папки, и в третьем (нижнем) поле – имя модуля верхнего уровня, также совпадающее с именем папки. Щелкнуть по кнопке "Finish" ("Завершение").
На первых порах при создании несложных устройств, функционально-логическое описание которых содержится в одном конструкторском файле ("Device Design File"), следует давать папке проекта, проекту и модулю верхнего уровня одно и то же имя.
В начале каждого последующего сеанса работы с этим же проектом необходимо выбрать в главном меню "File\Open Project…". В появившемся окне "Open Project" найти папку проекта и, выделив файл проекта, щелкнуть по кнопке "Открыть".
1.2. Создание схемного конструкторского файла
5. Выбрать в главном меню "File\New…" ("Файл\Новый"). В появившемся окне "New" на закладке "Device Design Files" ("Конструкторские файлы устройств") выбрать строку "Block Diagram/Schematic File" ("Файл блок-схемы/Схемный файл"). Щелкнуть по кнопке "OK" в нижней части окна. На рабочем поле приложения появится окно созданного файла с именем Block1.bdf. Его расширение означает, что это "Block Design File", т. е. файл с графическим представлением проекта в виде схемы.
Конструкторский файл устройства – это главный файл проекта, он содержат функционально-логическое описание устройства. Пакет Quartus II поддерживает ввод описания проекта на основе пяти типов конструкторских файлов:
· AHDL File – файл на языке описания аппаратуры фирмы Altera (AHDL – Altera Hardware Description Language);
· Block Diagram/Schematic File – файл в виде графического представления схемы или блок-схемы проекта;
· EDIF File – файл в формате обмена электронными проектами (Electronic Design Interchange Format);
· Verilog HDL File - файл на универсальном языке описания аппаратуры Verilog;
· VHDL File - файл на универсальном языке описания аппаратуры VHDL (Very High Speed Integrated Circuit Hardware Description Language).
6. Выбрать в главном меню "File\Save As…" ("Файл\Сохранить с новым именем…"). В появившемся диалоговом окне "Сохранить как" будет предложено сохранить файл с именем проекта и расширением "bdf". Следует принять предложение и щелкнуть по кнопке "Сохранить".
1.3. Формирование функционально-логического описания
проекта
7. Щелкнуть правой кнопкой мыши по рабочему полю файла *.bdf. В появившемся контекстном меню выбрать строку "Insert" ("Вставить") и далее "Symbol…" ("Символ…").
Символы в схемном файле представляют собой простые логические элементы, входные, выходные или двунаправленные выводы, а также более сложные схемные элементы.
8.
![]() |
После выполнения команды контекстного меню "Insert\Symbol…" на экране появится окно "Symbol" (рис. 2). В поле "Libraries:" ("Библиотеки:") этого окна необходимо щелкнуть по кнопке со знаком "плюс" в строке с маршрутом к папке библиотек пакета, указываемой на рис. 2 верхней белой стрелкой. После появления списка библиотек щелкнуть по кнопке, указываемой второй сверху белой стрелкой. Появится список библиотеки "primitives" ("примитивы"). В нем следует щелкнуть по кнопке раздела "logic" ("логические элементы"), указываемой третьей белой стрелкой.
В появившемся списке логических элементов выбрать, например, элемент "and2". Его изображение будет выведено в правом демонстрационном поле. Щелкнуть по кнопке "OK" в нижней части окна. Окно "Libraries:" исчезнет, а на рабочем поле конструкторского файла проекта появится символ "and2". Поместить его в удобное место и щелкнуть левой кнопкой мыши. Элемент будет установлен на рабочем поле. Он будет выделен.
Установленными на рабочем поле элементами можно управлять. Для этого необходимо выделить элемент, щелкнув по его изображению. При этом должна быть включена кнопка "Selection and Smart Drawing Tool" ("Выделение и оперативный ввод"). Эта кнопка расположена на вертикальной панели инструментов и снабжена изображением наклонной стрелки, указывающей в верхний левый угол (типовой курсор мыши). Выделенный элемент обрамляется синим прямоугольником с квадратами по периметру. Установив на него курсор мыши и нажав левую кнопку, можно переместить элемент в новое место, где он останется после освобождения левой кнопки мыши.
Щелчок правой кнопкой по элементу вызывает контекстное меню, в котором имеются стандартные команды "Copy" ("Копировать"), "Cut" ("Вырезать"), "Delete" ("Удалить"). Если к какому-либо элементу были применены команды "Copy" или "Cut", то щелчок правой кнопкой в свободном месте рабочего поля вызовет контекстное меню с активной командой "Paste" ("Вставить"). Выбор этой команды сопровождается появлением копии элемента в указанном курсором мыши месте.
9. Таким же образом, как и элемент "and2", вывести на рабочее поле конструкторского файла другие требуемые логические элементы.
10. Повторить действия, необходимые для вывода символа логического элемента, но на стадии выбора раздела библиотеки "primitives" вместо раздела "logic" открыть расположенный ниже в том же списке раздел "pin" ("вывод"). Выделить символ вывода "input" ("вход") и щелкнуть по кнопке "OK". Установить появившийся на рабочем поле символ входного вывода в левом верхнем углу.
Следует отметить, что в редакторе схемных конструкторских файлов исходное положение рабочего поля не соответствует привычному левому верхнему углу листа. Рабочее поле можно расширять в любом направлении от исходной точки, несмотря на положение движков на полосах прокрутки. Это может привести к случайной "потере" введенных элементов схемы. "Найти" их на рабочем листе можно, пользуясь кнопкой "Zoom Tool" ("Масштабирование") с изображением лупы на вертикальной панели инструментов. (Названия кнопок на панелях инструментов появляются в подсказках после установки на них курсора мыши и в более полном варианте - в строке статуса). При активизированной ("нажатой") кнопке "Zoom Tool" щелчок левой кнопкой по рабочему полю вызывает увеличение изображения, правой кнопкой (также левой кнопкой с нажатой клавишей "Shift") – уменьшение. Место курсора мыши на экране в момент щелчка определяет центр будущего положения рабочего поля.
11. Щелкнуть правой кнопкой по символу входного вывода на рабочем поле. В появившемся контекстном меню выбрать строку "Properties…" ("Свойства…").
12. В появившемся окне "Pin Properties" ("Свойства вывода") в верхнем поле ввода "Pin Name(s):" ("Имя вывода(ов)") ввести с клавиатуры имя входного вывода, например "x1". В расположенном ниже списке "Default value:" ("Значение по умолчанию:"), нажав на кнопку вызова списка, выбрать значение "GND". Щелкнуть по кнопке "OK".

Входным выводам может быть присвоено значение по умолчанию "gnd" (низкий логический уровень или 0) или "vcc" (высокий логический уровень или 1). Это значение будет использовано компилятором в случае, если данный модуль ("entity") не является модулем верхнего уровня иерархии, входит в проект как компонент, и в конструкторском файле верхнего уровня этот вывод оказался неподключенным. Выводы в модуле верхнего уровня являются выводами микросхемы, выводы в модуле нижнего уровня являются точками соединения с другими модулями внутри проекта в целом.
13. Пользуясь стандартными средствами контекстного меню или главного меню "Edit" ("Редактирование"), сделать необходимые копии первого входного вывода, расположив их ниже. Обратить внимание на то, что при копировании редактор автоматически присваивает новому выводу имя со следующим по порядку номером ("x2", "x3" и т. д.). Это свойство удобно при тиражировании выводов шины. Если же новые выводы не являются элементами шины, дать копиям требуемые имена.
14. Таким же образом, как первый вывод "input", вывести на рабочее поле справа от логических элементов вывод "output" (это другой тип вывода). Дать ему имя, например "y".
15. Так же, как в пункте 13, сделать требуемое количество копий выходного вывода.
16. Нажать кнопку "Orthogonal Node Tool" ("Ввод ортогональных проводников") на вертикальной панели инструментов (показана на рис. 3 нижней белой стрелкой). Ввести требуемые соединения элементов в соответствии с проектируемой схемой, нажимая левую кнопку мыши в начальной точке и отпуская ее в конечной точке вводимого проводника (рис. 3).
Если требуется сделать поворот проводника в желаемой точке, то необходимо в этой точке отпустить и снова нажать левую кнопку мыши, после чего двигаться в новом (перпендикулярном) направлении. Если в процессе работы какой-либо проводник или его фрагмент оказались введенными ошибочно, их можно удалить. Для этого необходимо активизировать кнопку "Selection and Smart Drawing Tool" ("Выделение и оперативный ввод"), указываемую верхней белой стрелкой на рис. 3. Далее выделить требуемый проводник или его фрагмент:
· и нажать клавишу "Delete" на клавиатуре;
· или, вызвав щелчком правой кнопки мыши контекстное меню, выбрать в нем строку "Delete";
· или выбрать в главном меню "Edit\Delete".
Если к одному и тому же входному или выходному выводу подключается много проводников схемы, то, дав проводникам вблизи их начала имя подсоединяемого вывода (с помощью команды "Properties\General\Name" контекстного меню), можно не прокладывать их по схеме. Одноименные проводники и выводы будут соединены компилятором автоматически.
После того как все проводники будут установлены, проект готов к компиляции – преобразованию введенной схемы в схему из аппаратных логических ячеек какой-либо конкретной микросхемы ПЛИС фирмы Altera.
17. Записать подготовленную схему в файл проекта, выбрав в главном меню строку "Save" ("Сохранить с имеющимся именем").
Если в редактируемую схему внесены какие-либо изменения и они еще не записаны в файл на диске, в заголовке редактируемого файла после расширения устанавливается знак "*", как это изображено на рис. 3. После операции записи знак исчезает.
1.4. Выбор микросхемы и компиляция проекта
18. Выбрать в главном меню "Assignments\Device…" ("Назначения\Микросхема…"). В открывшемся окне "Device" в списке "Family:" ("Семейство:") выбрать семейство микросхем, например MAX3000A. В расположенном ниже списке "Available devices:" ("Доступные микросхемы:") выбрать микросхему, например EPM3032ALC44-10.
19. Выбрать в главном меню "Processing\Start Compilation" ("Процессы\Запуск компиляции").
В процессе компиляции на экране будут присутствовать следующие окна (рис. 4):
· окно иерархии проекта (состав и подчиненность модулей) – было на экране до компиляции;
· окно конструкторского файла ("Block Design File") – было до компиляции;
·
![]() |
окно состояния процесса ("Status window") – было до компиляции незаполненным; в ходе компиляции отражает текущий объем выполнения отдельных этапов в процентах и фиксирует время, затраченное на каждый этап и на весь процесс;
· окно отчета о компиляции ("Compilation Report") – появилось в процессе компиляции;
· окно сообщений ("Message Window") – было незаполненным до компиляции; отражает статистическую информацию о проекте, а также предупреждения (warnings) и сообщения об ошибках (error messages), если они имеются;
· информационное окно ("Quartus II") – появляется по окончании процесса компиляции; сообщает о его успешном или неудачном завершении.
Наибольший интерес представляют последние два окна. Информационное окно не позволит продолжать работу, пока вы не щелкнете по кнопке "OK" на его поле.
В окне сообщений, в случае аварийного завершения процесса компиляции, будут представлены сообщения об ошибках. Щелчок по сообщению об ошибке вызывает выделение на схеме элемента, к которому относится ошибка. (Эту ситуацию легко можно смоделировать, удалив, например, какой-либо необходимый проводник на схеме и запустив провокационный проект на компиляцию.)
В случае появления сообщения об ошибках, установив местоположение ошибок, устранить их. После этого повторить компиляцию проекта.
1.5. Создание файла временных диаграмм
Моделирование проекта ("Simulation") состоит в том, что на входные выводы спроектированного устройства подаются сигналы, представляющие последовательно, в различные промежутки времени, все возможные комбинации аргументов. Эти сигналы задаются с помощью так называемых временных диаграмм ("Waveform"), составляемых разработчиком в редакторе временных диаграмм ("Waveform Editor") и записываемых в файл *.vwf ("Vector Waveform File"). В процессе моделирования симулятор определяет, какие сигналы и с какой задержкой разработанное устройство сформирует на выходных выводах, и представляет результаты также в виде временных диаграмм.
20. Выбрать в главном меню "Processing\Generate Functional Simulation Netlist" ("Процессы\Создание списка цепей для функционального моделирования"). На этом этапе из конструкторского файла извлекается список цепей для функционального моделирования.
21. Выбрать в главном меню "File\New", в появившемся окне "New" активизировать закладку "Other Files" ("Прочие файлы") и в списке файлов на этой закладке выбрать строку "Vector Waveform File". Щелкнуть по кнопке "OK" окна "New". На рабочем поле приложения поверх других окон появится окно редактора временных диаграмм с пустым файлом, именуемым "Waveform1.vwf".
22. Выбрать в главном меню "File\Save As…" и в появившемся окне "Сохранить как", где файлу будет дано по умолчанию имя проекта, нажать кнопку "Сохранить".
23. Щелкнуть правой копкой в поле имен узлов и шин редактора временных диаграмм (см. рис. 5). Выбрать в появившемся контекстном меню строку "Insert Node or Bus…" ("Ввести узел или шину…"). На экране появится окно "Insert Node or Bus". Это окно позволяет ввести в файл временных диаграмм отдельный узел или шину, набрав вручную имя в верхнем поле "Name:" окна. Для входного узла остальные параметры можно оставить без изменения и щелкнуть по кнопке "OK". Однако существует более удобная возможность автоматического ввода узлов и шин из числа существующих в конструкторском файле.
24.
![]() |
Для осуществления этой возможности необходимо, не меняя параметров окна "Insert Node or Bus", щелкнуть по кнопке "Node Finder…" ("Регистратор узлов…"). На экране появится окно "Node Finder".
25. В окне "Node Finder" (рис. 6) в поле ввода "Named:" ("Из имен:") оставить символ шаблона для всех возможных имен – "*". В списке "Filter:" ("Фильтр:") выбрать строку "input" для "фильтрации" в список только входных выводов проекта ("output" – только выходных; "all" – всех и т. п.). Щелкнуть по кнопке "List" ("Извлечь список"). В списке "Nodes Found:" ("Найденные узлы:") появится список всех входных узлов проекта.
Если выделить в списке "Nodes Found:" один или несколько узлов и щелкнуть по кнопке ">", указываемой на рис. 6 верхней белой стрелкой, то только выделенные узлы будут занесены в список "Selected Nodes:" ("Выбранные узлы:"). Если, не выделяя узлов, щелкнуть по кнопке ">>", указываемой нижней белой стрелкой, то все узлы из списка "Nodes Found:" будут занесены в список "Selected Nodes:". (Для выделения группы следующих друг за другом узлов необходимо щелкнуть по первому и затем щелкнуть с нажатой клавишей "Shift" по последнему из выделяемых узлов.)
![]() |
Ошибочно внесенные узлы можно удалить из списка "Selected Nodes:". Щелчок по кнопке "<" удалит только выделенные в этом списке узлы; щелчок по кнопке "<<" – все внесенные узлы.
26. Не выделяя узлов, щелкнуть по кнопке ">>". Все входные узлы будут занесены в список "Selected Nodes:", где их имена предваряются именем модуля в вертикальных скобках. Щелкнуть по кнопке "OK" окна "Node Finder" и затем по кнопке "OK" окна "Insert Node or Bus". В поле "Name" редактируемого файла временных диаграмм появится список имен входных узлов, в поле "Value" появятся значения "B 0" ("Binary 0" – Двоичный 0), а в поле временных диаграмм – соответствующие логическому значению 0 диаграммы во всем временном диапазоне.
По умолчанию по оси времени установлен диапазон 0 – 1 us (0 – 1 микросекунда). Конечное значение можно изменить, выбрав в главном меню "Edit\End Time…" ("Редактирование\Конечное время") и установив в появившемся окне "End Time" в поле ввода "Time:" требуемое значение верхнего предела времени, а в расположенном справа списке – нужные единицы измерения: s – секунды; ms – миллисекунды; us – микросекунды; ns – наносекунды; ps – пикосекунды. Начальное значение временного диапазона всегда равно нулю.
27. Выбрать в главном меню "Edit\Grid Size…" ("Редактирование\Параметры сетки…"). В появившемся окне "Grid Size", не меняя других параметров, в поле ввода "Period:" ("Период:") установить число, например 100, а в следующем справа от него списке единиц – "ns" (наносекунды). Щелкнуть по кнопке "OK".
Установленная таким образом невидимая на экране сетка времени позволит точно совмещать фронты логических уровней на диаграммах разных входных узлов в точках, кратных шагу сетки.
28. Выбрать в главном меню "View\Fit in Window" ("Вид\По размерам окна"). При этом установленный временной диапазон целиком расположится в пределах рабочего поля временных диаграмм.
![]() |
Для функционального моделирования необходимо сформировать диаграммы всех входных сигналов, например "x1", "x2" и т. д., так, чтобы они воспроизводили все возможные комбинации значений аргументов из таблицы истинности разрабатываемого устройства.
29. Выделить узел "x1" в редакторе временных диаграмм. Для этого щелкнуть по изображению вывода, указываемого на рис. 7 вертикальной белой стрелкой, или по имени "x1" в поле имен, или по полю значений напротив имени "x1". Выделенный узел вместе со своей диаграммой будет помечен так, как это показано на рис. 7.
30. Щелкнуть по кнопке "Count Value" ("Расчетное значение"), указываемой горизонтальной белой стрелкой на рис. 7 на вертикальной панели инструментов. (Краткие названия кнопок появляются в подсказках при наведении на кнопку курсора мыши. Одновременно более полные описания появляются в строке статуса.) На экране появится окно "Count Value" (рис. 8). В этом окне активизировать закладку "Timing" ("Хронометраж"). Включить радио-кнопку "At absolute times:" ("По абсолютным отсчетам:"), указанную на рис. 8 белой стрелкой. В поле ввода "Count every:" ("Рассчитывать каждые:") ввести, например, число 100, а в находящемся справа от него списке единиц выбрать "ns". В поле "Multiplied by:" ("Умножать на:") ввести 1. Щелкнуть по кнопке "OK". Временная диаграмма для узла "x1" примет вид, представленный на рис. 9. Полученный на входном узле "x1" сигнал представляет собой меандр с длительностью импульса, установленной в поле "Count every:".
31.
![]() |
Таким же образом сформировать временные диаграммы для других узлов.
Если требуется диаграмма, аналогичная сигналу "x1", но с большей длительностью импульса, необходимо повторить все действия пункта 30, а в поле "Multiplied by:" ("Умножить на:") ввести значение 2 или более (см. рис. 9, сигналы "x2" и "x3"). Если требуется в каком-либо временном интервале установить известное логическое значение сигнала, то необходимо выделить мышью этот временной интервал на диаграмме данного сигнала, а затем воспользоваться одной из основных кнопок на вертикальной панели инструментов:
· "Forcing Unknowm (X)" – установка неопределенного уровня;
· "Forcing Low (0)" – установка низкого (0) логического уровня;
· "Forcing High (1)" – установка высокого (1) логического уровня;
· "High Impedance (Z)" – установка третьего состояния (Z);
· "Invert" – инвертирование имеющегося сигнала;
· "Count Value" – см. пункт 30;
· "Arbitrary Value" – установка значения в виде числ; удобно использовать для задания уровней группе сигналов одновременно (в двоичной или шестнадцатеричной форме).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 |









