Текст
                    Д- Л. Комолов, Р.А.Мяльк, А.А.Зобенко, А.С. Филиппов
Си стемы автоматизированного проектирования
фирмы Altera
Краткое описание и самоучитель

Д. А. Комолов, Р. А. Мяльк, А. А. Зобенко, А. С. Филиппо Системы автоматизированного проектирования фирмы Altera MAX+plus II и Quartus II Краткое описание и самоучитель ИЗДАТЕЛЬСКОЕ ПРЕДПРИЯТИЕ РадиоСофт МОСКВА 2002
УДК 681.3 ББК 32.973-01 К63 Комолов Д. А., Мяльк Р. А., Зобенко А. А., Филиппов А. С. К63 Системы автоматизированного проектирования фирмы Altera MAX+plus II и Quartus II. Краткое описание и самоучитель. — М.: ИП РадиоСофт, 2002 —352 с.: ил. ISBN 5-93037-098-2 В книге рассматриваются средства проектирования специализированных цифровых устройств на базе программируемых логических интегральных схем (ПЛИС) фирмы Altera. Даются основные сведения о пакете MAX+plus II и раскрываются возможности его основных модулей, обеспечивающих полный цикл проектирования специализированной микросхемы. Сквозные конкретные примеры проектирования, рассматриваемые в книге, помогут начинающим разработчикам быстро освоить процедуру проектирования с использова- нием САПР MAX+plus II и Quartus II и получить навыки работы с ними, а опытные разработчики смогут открыть для себя новые функциональные возможности этих САПР для построения надежных и эффективных цифровых систем. Приведенный словарь терминов помогает быстрее освоиться с англоязычными наименованиями и обозна- чениями, используемыми в рассматриваемых САПРах. Книга предназначена для инженерно-технических специалистов, занимающихся проектированием специализированных цифровых аппаратных средств, а также для сту- дентов соответствующих специальностей. УДК 681.3 ББК 32.973-01 © Комолов Д. А., Мяльк Р А., Зобенко А. А., Филиппов А. С., 2002 ISBN 5-93037-098-2 © Оформление. ИП РадиоСофт, 2002
Содержание Предисловие ..................................................11 Инсталляция пакета MAX+PLUSII BASELINE........................15 Инсталляция пакета..........................................15 Установка лицензионного файла ..............................16 Установка лицензии в Windows NT.............................17 Установка лицензии в Windows 2000 ..........................17 Установка лицензии в Windows 98.............................18 Часть 1. Обзор САПР MAX+plus II...............................19 1.1. Проектирование с помощью MAX+plus II...................19 1.2. Процедура проектирования...............................22 1.3. Запуск MAX+plus II ....................................23 1.4. Окно MAX+plus II Manager...............................24 1.5. Составные части (программные модули) MAX+plus II ......25 1.6. Файлы проекта, вспомогательные файлы и проекты.........27 1.6.1. Файлы проектов.....................................27 1.6.2. Вспомогательные файлы..............................28 1.6.3. Проекты............................................28 1.7. Справочная система MAX+plus II.........................28 1.7.1. Меню Help..........................................29 1.7.2. С чего начать знакомство со справочной системой?...32 1.7.3. Как сделать запрос справочной системе по конкретной теме? 33 1.8. Ввод проекта...........................................34 1.8.1. Основные возможности ввода проекта верхнего уровня MAX+plus II .............................................36 Device, resource, and probe assignments (назначения микросхемы, ресурсов и синонима имени цепи) 37 Back-annotation (копирование результатов кохмпиляции).39 Global project device options (параметры микросхемы для текущего проекта)..........39 Global project parameters (назначение параметров для текущего проекта).........39 Global project timing requirements (требуемые характеристики быстродействия для текущегопроекта).................................40 Global project logic synthesis (параметры логического синтеза для текущего проекта)..40 1.8.2. Общие функции редакторов...........................40 Symbol & Include File Generation (создание символа и соответствующего ему файла включения)..............40 Node Location (определение места расположения цепи) ..41 Hierarchy Traversal (прохождение по дереву иерархии проекта)....................................41
4 Содержание Context-Sensitive Menu Commands (команды контекстно-зависимого меню).........................41 Timing Analysis (анализ временных параметров).......42 Find & Replace Text (найти и заменить текст) .......42 Undo, Cut, Copy, Paste & Delete (отменить, вырезать, копировать, вставить и удалить)...........42 Print (печать).................................... 42 1.8.3. Графический редактор MAX+plus II..................42 1.8.4. Редактор символов MAX+plus II................... 44 1.8.5. Текстовый редактор MAX+plus II....................46 1.8.6. Редактор временных диаграмм MAX+plus II...........48 1.8.7. Редактор физического размещения MAX+plus II.......51 1.8.8. Язык описания аппаратных средств фирмы Altera.....53 1.8.9. VHDL..............................................55 1.8.10. Verilog HDL......................................57 1.8.11. Primitives (базовые элементы), мегафункции и макрофункции...........................................58 Базовые элементы ..................................58 Мегафункции...................................... 59 Макрофункции микросхем серий 74ХХХХ................59 1.9. Иерархия проекта.....................................60 1.10. Обработка проекта ..................................62 1.10.1. Компилятор MAX+plus II...........................62 Входные файлы компилятора..........................63 Процесс компиляции............................... 65 Выполнение компиляции..............................65 1.10.2. Модули компилятора и выходные файлы..............66 Compiler Netlist Extractor (экстрактор списка соединений компилятора, включая встроенные модули ввода списков соединений EDIF, VHDL, Verilog и XNF)..............66 Database Builder (построитель базы данных).........67 Logic Synthesizer (логический синтезатор) .........68 Partitioner (разделитель проекта на части).........68 Fitter (разводчик).................................68 Functional SNF Extractor (функциональный SNF экстрактор) ............... 69 Timing SNF Extractor (временной SNF экстрактор)........69 Linked SNF Extractor (объединенный SNF экстрактор)..70 EDIF Netlist Writer (генератор EDIF списка соединений).70 Verilog Netlist Writer (генератор Verilog списка соединений) .70 VHDL Netlist Writer (генератор VHDL списка соединений) 71 Assembler (сборщик файла программирования).............71 Design Doctor Utility (утилита анализатора соответствия проекта правилам синтеза)..........................72
Содержание 5 1.11. Обнаружение ошибок и определение их местонахождения.................. 1.12. Проверка проекта................................. 74 1.12.1. Симулятор MAX+plus II..........................74 Функциональное моделирование......................76 Временное моделирование......................... 76 Объединенное моделирование........................77 Основные особенности симулятора...................77 1.12.2. Редактор временных диаграмм MAX+plus II........78 1.12.3. Временной анализатор MAX+plus II...............79 1.13. Программирование микросхемы........................81 1.13.1. Программатор MAX+plus II.......................83 1.14. Режим командной строки MAX+plus II.................86 Часть 2. Самоучитель САПР MAX+plus II......................88 2.1. Описание проекта....................................89 2.1.1. Ввод и компиляция проекта.......................89 2.1.2. Проверка проекта и программирование микросхемы..90 2.2. Обзор самоучителя ..................................91 2.2.1. Файлы самоучителя.............................„..92 2.2.2. Команды быстрого вызова.........................92 2.3. Получение справки................................. 94 2.3.1. Контекстно-зависимая справка....................94 2.3.2. Поиск по индексу................................94 2.4. Ввод проекта........................................96 Занятие 1. Запуск MAX+plus II..........................96 Занятие 2. Создание графического файла проекта.........98 1. Создание нового файла.............................98 2. Назначение имени проекта........................... 3. Выбор инструментов графического редактора 4. Ввод символов функциональных модулей............. 5. Использование линий разметки..................... 6. Перемещение символа.............................. 7. Ввод входных и выходных контактов..................... 8. Назначение имен контактов 100 101 102 104 105 105 106 9. Соединение символов................................107 10. Соединение цепей и шин посредством имен............110 11. Сохранение и проверка файла на основные ошибки......111 12. Создание символа для текущего файла.............. 112 13. Закрытие файла............................ ...........112 Занятие 3. Создание двух текстовых файлов проектов......112 1. Создание нового файла и назначение имени проекта....113 2. Включение синтаксической раскраски................ ИЗ 3. Ввод имени проекта и имен вводов и выводов.........114 4. Создание регистра ..................................116
6 Содержание 5. Ввод булевых уравнений ............................117 6. Ввод оператора If Then (если..,то).................118 7. Проверка на синтаксические ошибки и создание символа текущего файла........................................119 8. Копирование automax.tdf и создание его символа.....120 Занятие 4. Создание файла проекта, описанного временными диаграммами.......................122 1. Создание нового файла и назначение имени проекта...122 2. Создание входных, выходных и внутренних цепей .....123 3. Задание временной сетки............................125 4. Редактирование временной диаграммы конечного автомата .. 126 5. Редактирование временных диаграмм входных и выходных цепей .............................128 6. Проверка временных диаграмм........................132 7. Проверка на основные ошибки и создание символа.....132 Занятие 5. Создание графического файла проекта верхнего уровня.........................................133 2.5. Обработка проекта................................. 138 Занятие 6. Компиляция проекта...........................138 1. Открытие окна компилятора .........................138 2. Выбор семейства микросхем..........................139 3. Использование команды Smart Recompile (ускоренная перекомпиляция)...........................140 4. Использование утилиты Design Doctor (анализатор соответствия проекта правилам синтеза)....140 5. Использование бита защиты..........................141 6. Выбор Global project logic synthesis style (параметров логического синтеза)......................142 7. Использование Timing SNF Extractor (экстрактора временного SNF файла)....................143 8. Выбор разделов Report File (файла отчета)..........143 9. Запуск компилятора.................................144 10. Нахождение источника сообщения.....................146 11. Получение справки о сообщении .....................147 12. Просмотр Report File (файла отчета)................148 Занятие 7. Просмотр проекта с помощью дисплея иерархии проекта........................................149 1. Открытие окна дисплея иерархии проекта.............149 2. Просмотр файла chiptrip.gdf........................149 3. Закрытие всех файлов...............................150 Занятие 8. Просмотр размещения с использованием Floorplan Editor.......................150 1. Открытие окна Floorplan Editor (редактора физического размещения)...................151
7 Содержание 2. Back-annotate (копирование результатов компиляции проекта) и редактирование размещения ......152 3. Перекомпиляция проекта.............................155 4. Просмотр связей логических элементов в окне редактора физического размещения...............156 5. Просмотр уравнений и связей логических элементов при помощи Report File Equation Viewer (окна для просмотра уравнений файла отчета).............................158 2.6. Обзор моделирования...................................160 2.6.1. Что такое моделирование? ........................160 2.6.2. Моделирование проекта chiptrip...................161 Управление вашим транспортным средством.............161 Дороги..............................................162 2.6.3. Цели моделирования...............................162 Занятие 9. Создание Simulator Channel File (файла временных диаграмм)...............................163 1. Создание Simulator Channel File (файла временных диаграмм) ...........................164 2. Добавление Nodes (цепей) или Groups (групп) в SCF файл ....167 3. Изменение порядка отображения Nodes (цепей) и Groups (групп)....................................168 4. Редактирование временных диаграмм для входных цепей.169 5. Сохранение и закрытие файла........................170 Занятие 10. Моделирование проекта.......................171 1. Открытие окна симулятора...........................171 2. Задание генерации дополнительных выходных файлов...171 3. Включение проверки setup and hold times (времен предустановки и удержания сигналов)...........173 4. Запуск симулятора...................................173 5. Создание Table File (табличного файла)..............174 Занятие 11. Анализ результатов моделирования.............175 1. Просмотр Simulator Channel File (файла временных диаграмм).............................175 2. Просмотр History, Log и Table Files (файлов истории, регистрации и табличного файла).......177 3. Повторное редактирование вашего SCF, если это необходимо....................................178 4. Создание, моделирование и анализ finish.scf........178 Занятие 12. Анализ временных параметров проекта..........179 1. Открытие окна Timing Analyzer (анализатора временных параметров)....................179 2. Запуск Timing Analyzer (анализатора временных параметров)....................181 3. Получение списка задержек распространения сигнала..182
8 Содержание 4. Отображение пути распространения сигнала в Floorplan Editor (редакторе физического размещения).183 5. Отображение пути распространения сигнала в Design files (проектных файлах)....................184 6. Определение других временных параметров...........185 2.7. Программирование микросхемы............................185 Занятие 13. Программирование микросхемы фирмы Altera......185 1. Открытие окна Programmer (программатора)..........186 2. Создание выходного файла Programmer Log File (файл регистрации программатора).....................186 3. Программирование микросхемы.......................187 2.8. Дополнительная практика.............................188 Часть 3. Самоучитель САПР Quartus II.......................189 3.1. Обзор учебного пособия..............................189 3.1.1. Файлы учебного пособия..........................190 3.1.2. Сокращения команд..............................191 3.1.3. Вызов справки..................................191 1. Контекстная справка...............................191 2. Поиск тематической информации по ключевым словам......192 3. Содержание справки.................................192 4. Поиск справочной информации во всем тексте справки.193 3.2. Ввод описания проекта...............................194 Урок 1. Запуск пакета Quartus.........................195 Урок 2. Определение имени проекта и его основных параметров .. 196 Урок 3. Создание блок-схемы...............................199 1. Создание файла блок-схемы проекта (Block Design File).200 2. Создание функционального блока........................200 3. Создание графических обозначений примитива и мегафункции .......................................205 4. Настройка и изменение свойств экрана..............208 5. Создание обозначений входных/выходных выводов.....210 6. Присвоение имен выводам блоков....................211 7. Соединение функциональных элементов и блоков......213 8. Разводка сигналов между блоками...................218 Урок 4. Создание описания на языке Verilog HDL........224 1. Создание описания блока hvalues на языке Verilog HDL..225 2. Копирование файлов текстового описания (Verilog Design File) других блоков......................................227 Урок 5. Создание функционального блока при помощи мастера мегафункций MegaWizard............................227 1. Создание текстового Verilog HDL-описания блока на основе мегафункции....................................228 2. Подключение к проекту файлов, созданных мастером MegaWizard .....................229
Содержание 9 3.3. Компиляция проекта.................................230 Урок 6. Настройка компилятора..........................231 1. Просмотр и настройка основных свойств компилятора.231 2. Выбор семейства и типа микросхемы.................232 3. Выбор режима компиляции...........................233 4. Определение параметров логического синтеза и компоновки проекта.............................................234 5. Определение параметров верификации................235 Урок 7. Компиляция проекта.............................236 1. Запуск компилятора................................237 2. Локализация источников сообщений..................237 3. Просмотр отчета о компиляции......................238 Урок 8. Просмотр текущей компоновки проекта, созданной компилятором................................240 1. Открытие текущей топологии проекта, созданной последней компиляцией.....................240 2. Отображение информации о разводке связей проекта..241 3. Информация, отображаемая в окне Equations.........242 4. Отображение блоков MegaLAB........................243 Урок 9. Реализация логических функций в блоках ESB.....244 1. Сохранение назначений ресурсов, выполненных компилятором.............................244 2. Проверка сохранения назначений ресурсов.................245 3. Назначения реализации логических функций в блоках встроенной памяти..........................246 4. Перекомпиляция проекта............................247 5. Просмотр текущей компоновки проекта, созданной компилятором..............................247 3.4. Анализ временных характеристик проекта.............248 Урок 10. Просмотр результатов анализа временных характеристик...............................250 1. Просмотр максимальной частоты внутренних переключений ............................250 2. Просмотр списка временных путей ..................251 3. Локализация временных путей /П1ах в редакторе топологии.252 4. Просмотр отчета о временах установки сигналов.....253 Урок 11. Задание требуемых временных характеристик...........254 1. Задание требуемой /П1ах...........................254 2. Исключение временных путей из анализа.............255 Урок 12. Анализ временных характеристик проектов с многотактовой синхронизацией..................256 1. Задание параметров тактового сигнала....................256 2. Привязка параметров тактового сигнала к выводам ПЛИС ....258 3 Повторный запуск анализа временных характеристик........261
10 Содержание 4. Просмотр раздела требований к тактовом сигналам....262 Урок 13. Определение путей Multicycle многотактовой синхронизации ...........................................263 1. Задание назначений многотактовой синхронизации......264 2. Повторный запуск анализа временных характеристик....265 3. Просмотр результатов анализа временных характеристик: требования к тактовому сигналу.........................265 3.5. Моделирование проекта.................................266 Урок 14. Создание временных диаграмм сигналов для моделирования........................................267 1. Создание временных диаграмм.........................267 2. Добавление входов и выходов к временным диаграммам .268 3. Редактирование временных диаграмм входных сигналов.269 Урок 15. Определение параметров моделирования...........272 1. Просмотр основных параметров моделирования..........273 2. Задание интервала моделирования и параметров входных векторов..........................274 3. Задание режима моделирования........................275 4. Установка дополнительных параметров моделирования..276 Урок 16. Выполнение моделирования........................277 Урок 17. Анализ результатов моделирования ...............278 1. Просмотр временных диаграмм моделирования ..........278 2. Создание временных маркеров и измерение интервалов.280 3.6. Программирование и конфигурирование ПЛИС..............281 Урок 18. Программирование микросхем фирмы Альтера.......282 1. Открытие подсистемы программирования (Programmer) ..282 2. Установка последовательной пассивной схемы конфигурирования.................................283 3. Выполнение конфигурирования микросхем...............284 4. Изменение режимов программирования..................285 5. Включение микросхемы в цепочку конфигурирования.....285 Часть 4. Словарь терминов....................................287
Предисловие Проектные и производственные технологии, а также информационные технологии относятся к пяти важнейшим, которые по' оценке, содер- жащейся в докладе Совета по конкурентоспособности (США), будут "служить локомотивом экономического роста, роста производительности труда и повышения конкурентоспособности продукции". В России эти технологии отнесены к важнейшим технологиям федерального значения. Использование новейших средств проектирования и элементной базы фирмы Altera отвечает всем потребностям, возникающим при разработке цифровых систем по новым технологиям. При разработке специализированных цифровых устройств в России уже давно используют высокотехнологичную элементную базу — про- граммируемые логические интегральные схемы (ПЛИС) или СБИС ПЛ (programmable logic device — PLD), которые, удачно дополняя и заменяя микропроцессорные средства стали широко использоваться в различных областях для создания специализированных контроллеров, в системах телекоммуникаций, цифровой обработки сигналов и т. д. СБИС ПЛ оказываются вне конкуренции в областях, где требуется создание вы- сокопроизводительных специализированных устройств, ориентирован- ных на аппаратную реализацию. Аппаратное решение задач обеспечивает распараллеливание процесса обработки и увеличивает производитель- ность в десятки раз по сравнению с программным решением, а исполь- зование СБИС ПЛ обеспечивает такую же гибкость реализации, как у любых программных решений. Развитие элементной базы СБИС ПЛ позволило создавать на кристалле стандартные процессорные ядра и ре- шать практически любые задачи по построению программно-аппаратных систем на одной микросхеме с использованием единых средств про- ектирования и отладки.
12 Предисловие СБИС ПЛ представляют собой полузаказную СБИС и включают реализованные на кристалле универсальные настраиваемые пользова- телем функциональные преобразователи и программируемые связи между этими преобразователями. Сложные микросхемы большой логической емкости фирмы Altera, кроме универсальных функциональных преобразователей, включают сложные настраиваемые модули, такие как блоки памяти, блоки циф- ровой обработки, встроенные процессорные ядра с периферией, скоростные каналы ввода/вывода. По сравнению с базовыми матрич- ными кристаллами (БМК) использование СБИС ПЛ обеспечивает существенно более короткий цикл разработки, экономический выигрыш при мелкосерийном (до нескольких тысяч изделий) производстве и возможность внесения изменений в проект на любом этапе разработки. Это позволяет эффективно использовать СБИС ПЛ также и в системах прототипах. Разработчик специализированного цифрового устройства, используя средства САПР СБИС ПЛ, в привычной ему форме (схемы, текстовое описание) задает требуемое устройство и получает программирующий СБИС ПЛ файл, который используется при программировании на программаторе или непосредственно на плате. Программирование за- ключается в задании нужных свойств функциональным преобразова- телям и установлении необходимых связей между ними. Такой цикл проектирования/изготовления занимает незначительное время, измене- ния могут вноситься на любой стадии разработки за считанные минуты, а внедрение новых средств проектирования на начальном этапе прак- тически не требует материальных затрат благодаря низкой стоимости микросхем и наличию бесплатных полнофункциональных версий САПР. Фирма Altera производит СБИС ПЛ нескольких принципиально различающихся семейств: МАХ3000А, МАХ7000, МАХ9000, FLEX10K, АСЕХ1К, АРЕХ20К, Stratix, а также ряд других семейств. СБИС ПЛ, входящие в эти семейства отличаются: степенью интеграции (логической емкостью); архитектурой функционального преобразователя; организацией внутренней структуры СБИС и структуры матрицы соединений функциональных преобразователей; типом используемого программируемого элемента; наличием внутренней оперативной памяти; наличием специализированных встроенных модулей. Современная элементная база предполагает использование новых технологий проектирования и современных средств проектирования. Altera corp, предлагает разработчикам две системы автоматизированного проектирования цифровых устройств на базе микросхем программируе- мой логики:
Предисловие 13 MAX+plus II — САПР, поддерживающий работу с относительно простыми семействами СБИС ПЛ; Quartus II — САПР, поддерживающий работу со всеми новыми семействами СБИС ПЛ, обеспечивающий доступ ко всем развитым ресурсам микросхем, позволяющий вести проектирование про- граммно-аппаратных систем. Книга содержит переработанные материалы фирмы Altera, изложен- ные в специализированной литературе и технических сведениях, доступных в САПР MAX+plus II и Quartus. Исходные материалы дос- тупны на: http://www.altera.com/literature/. CD Altera Digital Library, в справочной информации САПР MAX+plus II и Quartus. Эта спра- вочная информация доступна при инсталляции пакетов Quartus II Web Edition и MAX+plus II BASELINE c CD Altera Digital Library. Книга состоит из трех основных частей и словаря терминов. Две первые части книги посвящены знакомству с пакетом MAX+plus II. В первой части дается назначение и описание основных модулей пакета. Существенное внимание уделяется работе со встроенной спра- вочной системой. Во второй части приводится сквозной пример процедуры проектирования абстрактного цифрового устройства. Выбор примера обусловлен тем, что проектные файлы для него записываются в каталоге .../max2work/chiptrip при инсталляции пакета. Детальное описание каждого шага процедуры проектирования для данного примера позволяет даже разработчику, имеющему опыт работы с MAX+plus II, получить полезные сведения о возможностях пакета. Следует отметить, что приведенные в иллюстрациях копии окон экрана могут несколько отличаться для различных операционных систем, установленных на компьютере, а конкретные результаты компиляции зависят от версии установленного пакета MAX+plus И. Третья часть — самоучитель САПР Quartus II. В ней на примере проектирования цифрового фильтра демонстрируются возможности ос- новных функций основных модулей Quartus II, позволяя разработчику освоить принципы и технологию работы с пакетом. Проектные файлы примера записываются в каталоге .../qdesigns/tutorial при инсталляции пакета. Словарь терминов помогает читателю лучше сориентироваться в ан- глоязычных первоисточниках информации по средствам проектирования и СБИС ПЛ фирмы Altera. Установить бесплатные полнофункциональные версии Quartus II Web Edition и MAX+plus II BASELINE вы можете с CD Altera Digital Library (процедура установки и системные требования приведены в разделе инсталляция MAX+plus II и Quartus II данной книги), а сам лазерный диск Altera Digital Library можно получить в фирме "ЭФО".
14 Предисловие Полезную информацию (в том числе и русскоязычную) по средствам проектирования и СБИС ПЛ фирмы Altera и технологиям проектиро- вания с их использованием вы можете почерпнуть на сайте фирмы "ЭФО" www.efo.ru. Авторы книги выражают глубокую признательность Юлии Короле- вой, взявшей на себя основное бремя перевода и литературной обработки изложенных в книге материалов.
Инсталляция пакета MAX+PLUS II BASELINE Для полной установки пакета MAX+PLUS ® II BASELINE на ваш компьютер необходимо иметь: — инсталляционный файл baselinelO_l.exe; — лицензионный файл Iicense.dat. Если отсутствует baseIinelO_l.exe, загрузите его с сервера www.Altera.com,www.Altera.ru или с CD Altera Digital Library. Если отсутствует файл Iicense.dat, можно начинать установку, и получить его после инсталляции MAX+PLUS II BASELINE. Инсталляция пакета Если вы имеете достаточный опыт в установке программного обес- печения фирмы Altera, сразу начинайте знакомиться с разделом "Установка лицензионного файла" на следующей странице. Пакет MAX+PLUS II BASELINE поддерживается операционными системами Windows 98, Windows 2000 и Windows NT 4.0 и теребует примерно 200 МВ дискового пространства. Для инсталляции пакета MAX+PLUS II BASELINE выполните сле- дующие действия: 1. Начните инсталляцию с запуска файла baselinel0_l.exe дважды щелкнув на его имени в Windows Explorer (Windows 98/2000) или Windows NT Explorer (Windows NT 4.0).
16 Инсталляция пакета MAX+PLUS II BASELINE МН» - !> I RWiH, HI ,,, 4| , .. , .. Д 1Щ, * . . «I I . —и , „ I I II 2. Программа инсталляции MAX+PLUS II произведет распаковку и запустит диалог установки. В окошке Welcome щелкните Next. 3. Прочтите лицензионное соглашение и щелкните Yes. 4. После прочтения сообщений в окошеке Information, щелкните Next; 5. В окне User Information введите ваше имя и имя вашей органи- зации и щелкните Next. 6. В окне Select Components выберите компоненты, которые вы хотите установить. По умолчанию устанавливаются MAX+PLUS II BASELINE, on-line help и файл readme, содержащий детальную информацию об устанавливаемой версии MAX+PLUS II. 7. Пакет MAX+PLUS II BASELINE размещается в двух каталогах: .../maxplus2 и .../max2work. По умолчанию инсталляция происходит в каталоги c:/maxplus2 и c:/max2work. Если у вас установлена предыдущая версия MAX+PLUS II, то Altera рекомендует производить установку в другие каталоги. Вы можете щелкнуть по кнопке Browse и создать новый (например, D:\Altera\MaxPIus\maxplus2) или выбрать существующую дирек- торию (щелкните ОК для сохранения вашего выбора). Щелкните Next, когда вы закончите. 8. Повторите ваши действия для выбора директории, в которую будет устанавливаться MaxPlus II Tutorial. 9. Выберите папку, в которую программа инсталляции занесет значок программы. По умолчанию это MAX+PLUS II 10.1 Baseline. Щелк- ните Next и за несколько минут инсталляция будет выполнена. Когда инсталляция закончится, вернитесь на рабочий стол вашего компьютера. Вы можете посмотреть файл MAX+PLUS II 10.1 ReadMe, выбрав его, например, в меню MAX+PLUS II 10.1 Baseline в Start меню. Продолжите инсталляцию установкой лицензионного файла. Уста- новив лицензионный файл вы получите доступ ко всем модулям пакета MAX+PLUS 11 BASELINE версии 10.1. ЛЬ Установка лицензионного файла Лицензионные файлы нужны для полноценной работы бесплатного программного обеспечения, которое доступно на www.Altera.com: — Quartus ® II Web Edition; - MAX+PLUS II BASELINE; - Е+МАХ ТМ; — LeonardoSpectrum ТМ. Для получения лицензии на главной странице www.Altera.com вы- берите раздел Licensing и следуйте предлагаемым вам инструкциям для лицензирования вашего программного пакета Привязка лицензии
Инсталляция пакета MAX+PLUS II BASELINE на MAX+PLUS II BASELINE версии 10.1 производится к номеру се- тевой карты (NIC) либо к номеру системного жесткого диска. Эти данные могут быть получены, например, в окне Options>License Setup>System Info... окна главного менеджера, открывающегося при запуске MAX+PLUS II. Кроме того, вы должны сообщить некоторые данные о себе и указать адрес электронной почты, на который через несколько минут лицензионный центр фирмы Altera пошлет лицензи- онный файл и инстукцню по его установке. Получив ваш лицензионный файл, установите его, как описано в полученной инструкции по установке, и выполните следующие действия. Установка лицензии в Windows NT Для установки лицензионного файла в Windows NT Control Panel выполните следующие шаги: 1. Выберите Settings > Control Panel from the Windows Start menu 2. Дважды щелкните на строке System окна Control Panel. 3. Щелкните на заставке Environment в диалоговом окне System Properties. 4. Щелкните и подсветите строку System Variable и в строке Variable введите информацию о вашем лицензионном файле (LM_LICENSE_FILE). 5. Наберите <patti to license Ше Alicense.dat в строке Value, на- пример, D:\Altera\MaxPlus\license.dat. 6. Щелкните SET и затем щелкните ОК. Теперь вы можете запустить MAX+PLUS II 10.1 Baseline и исполь- зовать все его программные модули. Установка лицензии в Windows 2000 1. Выберите Settings > Control Panel from the Windows Start menu. 2. Дважды щелкните на иконке System окна Control Panel 3. Щелкните на заставке Advanced в диалоговом окне System Properties. 4. Щелкните кнопку Environment Variables. 5, В окне System Variable щелкните кнопку New. 6. В строке VariableName введите информацию о вашем лицензи- онном файле (LM_LTCENSE FILE). 7. В строке Variable Value наберите <patn to license fiJe>\license. dat, например, D:' \ltera\MaxPlus\license.dat. 8. Щелкните OK.
18 Инсталляция пакета MAX+PLUS II BASELINE Теперь вы можете запустить MAX+PLUS II 10.1 Baseline и исполь- зовать все его программные модули. Установка лицензии в Windows 98 1. С помощью текстового редактора откройте файл autoexec.bat ва- шего PC. 2. Наберите в отдельной строке следующие переменные окружения: autoexec.bat file: set LM_LICENSE_FILE=<pat/i to licensefile>\license.dat. Пример: set LM_LICENSE_FILE=D:\Altera\MaxPlus\license.dat. 3. Сохраните файл autoexec.bat. 4. Перезапустите ваш компьютер. Теперь вы можете запустить MAX+PLUS II 10.1 Baseline и исполь- зовать все его программные модули. Процедура инсталляции пакета Quartus II похожа на приведенную процедуру для MAX+PLUS II Отдельные детали могут быть уточнены в файле ReadMe пакета Quartus II.
Часть 1 Обзор САПР MAX+plus II В данной главе приводится обзор САПР MAX+plus П и описание его составных частей Для получения полной и обновленной информации по MAX+plus II пользуйтесь справочной системой (Help) САПР MAX+plus II. 1.1. Проектирование с помощью MAX+plus II САПР MAX+plus II {Multiple Array Matrix Programmable Logic User) представляет собой архитектурно-независимую среду проектирования, которая легко приспосабливается к конкретным проектным требованиям и может работать на различных компьютерных платформах. MAX+plus II предоставляет различные способы ввода проекта, быструю компиляцию и непосредственное программирование микросхем. Система проектирования MAX+plus II, как показано на рисунке 1.1, является функционально полным САПР для реализации проектов на микросхемах программируемой логики фирмы Altera семейств Classic, МАХ 3000, МАХ 5000, МАХ 7000, МАХ 9000, FLEX 6000, FLEX 8000. FLEX ЮК, АСЕХ1К. Для получения информации о поддерживаемых семействах мик- росхем см. файл MAX+plus II read.me.
20 Часть I MAX+plus II предоставляет полный спектр возможностей для про- ектирования цифрового устройства: различные способы ввода проекта, логический синтез, компиляцию с заданными временными ограниче- ниями, функциональное и временное моделирование, разделение проекта на части и моделирование проекта, выполненного на нескольких мик- росхемах, временной анализ, автоматическое определение ошибок, программирование и верификацию микросхем. САПР MAX+plus II по- зволяет вводить и сохранять проекты в виде файлов AHDL (язык описания аппаратуры фирмы Altera), EDIF, Verilog HDL, VHDL, OrCAD. MAX+plus II может использовать netlist файлы фирмы Xilinx для ввода проекта, может создавать выходные SDF {Standard Delay Format) файлы для обеспечения удобного интерфейса с другими САПР промышленного стандарта САЕ. Ввод проекта Графический редактор MAX+plus II Редактор символов MAX+plus II Текстовый редактор MAX+plus II Редактор временных ш диаграмм с MAX+plus II Редактор физического размещения MAX+plus II Язык AHDL Язык VHDL Язык Verilog HDL Другие средства для ввода ерификация проекта Симулятор MAX+plus II Редактор временных диаграмм MAX+plus II Временной анализатор MAX+plus II Другие средства верификации проекта промышленного стандарта САЕ проекта промышленного стандарта САЕ Программирование микросхем Средства программирования фирмы Altera Программатор фирмы Data I/O Другие промышленные программаторы Рис. 1.1 MAX+plus II имеет удобный графический интерфейс и простую в ис- пользовании справочную систему, содержащую всю необходимую разра- ботчику информацию. MAX+plus И состоит из И полностью интегри- рованных программных модулей, которыми вы пользуетесь при создании своего проекта (рис. 1.2). Задание многих параметров и выполнение команд, например, откры- тие файлов, выбор микросхемы, назначение контактов и логических ячеек, компиляция текущего проекта, происходит во многих или во всех программных модулях САПР MAX+plus II одинаково. Если вы освоили работу с одним модулем, то это послужит основой при ис- пользовании остальных. Редакторы проекта (графический, текстовый, временных диаграмм) и вспомогательные редакторы (редактор физиче- ского размещения и редактор символов) также имеют много общих параметров и команд. Каждый редактор проекта позволяет вам выпол- нять поиск сигнала или символа, причем во всех редакторах это делается
Обзор САПР MAX+plus II одинаково. Вы можете в одном иерархическом проекте сочетать раз- личные типы файлов ввода проекта, выбирая такой способ ввода, который больше всего подходит для каждого функционального блока. Обширная библиотека разработанных компанией Altera мега- и макро- функций, включая операционные устройства из библиотеки параметри- зованных модулей (Library of Parameterized Modules), обеспечивает ши- рокий спектр возможностей для ввода проекта. Ввод проекта Компиляция проекта MAX+plus II Текстовый редактор MAX+plus II Графический редактор Компилятор MAX+plus II Экстрактор списка соединений компилятора строитель базы данных Логический синтезатор MAX+plus II Редактор временных диаграмм MAX+plus II Редактор символов Экстракторы списка соеди- нений модели- ровщика Разде- литель проекта на части Разводчик р. MAX+plus II Редактор физического размещения MAX+plus II Редактор временных диаграмм «- . -..... [> MAX+plus II Симулятор р •' £ Генератор EDIF, VHDL, II JJ Verilog списков ^хсоединений MAX+plus II Процессор сообщений и Дисплей иерархии < проекта Анализатор соответствия проекта прави- лам синтеза Сборщик файла программи- рования Программирование микросхем MAX+plus II Программатор |MAX+plus II В Временной I I анализатор I 3 Рис. 1.2 Вы можете работать с несколькими программными модулями MAX+plus II одновременно. Например, во время компиляции или мо- делирования одного проекта вы можете вводить другие проекты, используя различные редакторы. Можно просматривать всю иерархию проекта и спокойно перемещаться от одного уровня иерархии к другому, a MAX+plus II будет автоматически запускать соответствующий редак- тор проекта для каждого файла. Компилятор является сердцем системы MAX+plus II и обеспечивает эффективную обработку проекта. Вы можете задавать параметры ком- пилятору для достижения наилучшей реализации вашего проекта в выбранной микросхеме. Автоматическое определение местоположения ошибок и обширная документация по ошибкам и предупреждающим
22 Часть I сообщениям делают формальную отладку проектов легкой и быстрой. Вы можете создавать различные выходные файлы для функционального и временного моделирования, моделирования проекта, реализованного на нескольких микросхемах, временного анализа, программирования микросхемы. На каждом этапе процесса проектирования MAX+plus II помогает вам сконцентрироваться на проекте, а не на особенностях пользования программного обеспечения. Великолепная интеграция программных модулей MAX+plus II позво- ляет вам максимально повысить эффективность и производительность, предоставляя полный контроль над средой проектирования. 1.2. Процедура проектирования Упрощенно процесс создания нового проекта от концепции до за- вершения можно описать следующим образом: 1. Создайте файл нового проекта или иерархический проект из любой комбинации файлов, полученных с помощью различных редакторов проекта САПР MAX+plus II, например, графического, текстового и редактора временных диаграмм. 2. Укажите имя файла высшего уровня в иерархии. Оно будет именем проекта. 3. Назначьте семейство микросхем для проекта. Вы можете либо позволить компилятору выбрать конкретную микросхему для ва- шего проекта, либо указать тип микросхемы вручную. 4. Откройте окно компилятора (Compiler) и нажмите кнопку Start для компиляции проекта. Если вы хотите, то можете включить временной экстрактор списка соединений симулятора (Timing SNF Extractor), чтобы создать файл со списком соединений ДЛЯ вре- менного моделирования и анализа. 5. Если проект скомпилирован успешно, вы можете по выбору вы- полнить моделирование и временной анализ: Для запуска временного анализа откройте окно временного анализатора (Timing Analyzer), выберите один из режимов ана- лиза и нажмите кнопку Start. Для запуска моделирования вы должны сначала создать тести- рующие векторы входных переменных. Это можно сделать либо с использованием графического редактора временных диаграмм (Waveform Editor), либо с помощью текстового редактора (Text Editor). В первом случае результат будет записан в файл вре- менных диаграмм (Simulator Channel File) с расширением .scf. во втором — в векторный файл (Vector File) с расширением .vec. После этого откройте окно Simulator (симулятор) и на- жмите кнопку Start.
Обзор САПР MAX+plus II 23 6. Откройте окно Programmer (программатор) и вставьте микросхему в адаптер на базовом модуле программатора (MPU), либо подклю- чите загрузочные устройства MasterBlaster или ByteBlaster MV к технологическому разъему на плате, где распаяна микросхема. 7. Нажмите кнопку Program для программирования микросхем, вы- полненных по технологии EEPROM, или нажмите кнопку Configure для конфигурирования микросхем, выполненных по технологии SRAM. 1.3. Запуск MAX+plus II MAX+plus II можно запустить одним из следующих способов: / Щелкните дважды кнопку 1 (левую кнопку мыши) на иконке MAX+plus II. На компьютере с операционной сис- темой Windows эта иконка появляется в группе программ MAX+plus II. или J Введите maxplus2 ч-« в комадной строке. Откроется окно менеджера MAX+plus II (рис. 1.3). Панель инструментов Иконка Приложения Меню менеджера MAX+plus II Имя директории проекта Имя проекта Кнопка увеличения размера окна MAX+plus И Mana jer-d:\niiax2woric\tutoriaHchiptrip MAX+plusИ File As sign Options Help MAX+plusll Рис. 1.3
24 Часть Если вы не установили лицензионный файл, то диалоговое окно License Setup (меню Options) появляется автоматически. Для получения информации о том, как установить лицензионный файл для MAX+plus II, см. раздел "Установка лицензионного фай- ла" на стр. 16. 1.4. Окно MAX+plus II Manager Окно MAX+plus II Manager открывается автоматически при запуске MAX+plus II. Вы можете открыть все остальные, про- граммные модули MAX+plus II из меню MAX+plus II, как показано на рис. 1.4. MAX+plus Н Manager - d:\max2work\tutoriafichiptrip MAX। plus II | Hierarchy Display file Assign Options Help graphic Editor Symbol Editor Text Editor yVeveform Editor Floorplan Editor Compiler Simulator Timing Analyzer Programmer Message Processor ПОЕЖЭВШЮЕЖ На панели инструментов представлены пиктограммы для быстрого выполнения часто используемых команх В строке текущего состояния представлено краткое описание каждой команды меню и каждой кнопки на панели инструментов Opens the Hierarchy Display window or brings t to the fore ground Рис. 1.4 Команды, доступные из меню MAX+plus II Manager, также доступны из любого другого программного модуля MAX+plus II. Они позволяют вам открыть файл, компилировать и моделировать текущий проект или переключиться на другой проект. Вы можете определить библиотеки ваших символов и проектов, архивировать резервные копии всех файлов текущего проекта в отдельной директории, подобрать комбинацию взаи- модополняющих цветов для элементов экрана и ввести новый лицен- зионный файл. Вы также можете показать или скрыть панель инстру- ментов и строку состояния и открыть справочную систему MAX+plus II из меню Help.
Обзор САПР MAX+plus II 25 Кроме того, вы можете вводить, редактировать и удалять ресурсы, устройства и назначения параметров, управляющих компиляцией про- екта, включая синтез логических схем, разделение проекта на части и разводку. Эти функции доступны независимо от того, открыт ли какой- либо файл проекта или окно приложения. За более подробной инфор- мацией об этих функциях обратитесь к разделу "Основные возможности ввода проекта верхнего уровня MAX+plus IIя на стр. 36. Для получения полной и обновленной информации по MAX+plus II Manager обратитесь к справочной системе MAX+plus II (Help). 1.5. Составные части (программные модули) MAX+plus II Программное обеспечение MAX+plus II состоит из 11 программных модулей и MAX+plus II Manager. Одновременно могут быть активизи- рованы несколько приложений ввода проекта, что позволяет вам переключаться между ними посредством щелчка мыши или выбора команды из меню. Также вы можете запустить один из программных модулей в фоновом режиме. Команды, совместно используемые раз- личными программными модулями, работают одинаково, что облегчает вашу задачу проектирования на логическом уровне. Вы легко можете свернуть окно приложения в иконку, не закрывая приложения, и позже восстановить его. Эта функция позволяет вам не загромождать экран и при этом не снижать эффективность работы. В таблице 1.1 приведено описание программных модулей MAX+plus II и соответствующие им иконки. Табли цо 1.1 Программные модули MAX+plus II Иконка Программные модули Hierarchy Display (дисплей иерархии проекта) — вывод на экран текущей иерархии файлов в виде иерархического дерева, ветвями которого являются подпроекты. Вы можете на взгляд определить является ли дан- ный файл проекта графическим или текстовым или это проект, введенный с помощью редактора временных диаграмм, какие файлы открыты в дан- ный момент, какие вспомогательные файлы, редактируемые пользовате- лем, доступны для проекта. Вы также можете открыть или закрыть один или несколько айлов прямо в иерархическом дереве и ввести для них назначения ресурсов. Graphic Editor (графический редактор) — позволяет вам выполнить схем- ный ввод проекта. Наряду с предоставляемыми фирмой Altera базовыми элементами (primitives), мегафункциями и макрофункциями, используе- мыми для построения стандартных блоков, вы также можете использовать созданные вами символы функциональных узлов.
26 Часть! Окончание табл. 1.1 Иконка Программные модули Symbol Editor (редактор символов) — позволяет вам редактировать суще- ствующие и создавать новые символы. Text Editor (текстовый редактор) — текстовый редактор позволяет вам соз- давать и редактировать текстовые файлы проекта на уровне функцио- нально-логического описания на языке AHDL и VHDL. С помощью текстового редактора вы также можете создавать, просматривать и ре- дактировать другие ASCII файлы, используемые различными модулями MAX+plusIL Создание AHDL и VHDL файлов посредством текстового редактора MAX+plusll по сравнению с другими текстовыми редакторами имеет ряд преимуществ: контекстно-зависимая справочная система, син- таксическая раскраска, шаблоны AHDL и VHDL. Waveform Editor (редактор временных диаграмм) — выступает в двух ролях: как инструмент ввода проекта и как инструмент для введения тесто- вых векторов и просмотра результатов моделирования. Floorplan Editor (редактор физического размещения) — позволяет вам назначать размещение физических контактов микросхем и ресурсов логических ячеек, используя графическую среду. Вы можете ♦ редактировать как расположение контактов, так и назначать расположение отдельных логических ячеек (LC) в логических блоках (LAB). Вы также можете просматривать результаты размещения, выполненного при послед- ней компиляции. Compiler (компилятор) — производит логическую обработку проектов и размещение их на микросхемах семейств Altera Classic, MAX 5000, MAX 3000, MAX 7000, MAX 9000, FLEX 8000, FLEX ЮК, ACEX1K. Большин- ство задач он выполняет автоматически. Тем не менее, вы можете зада- вать все или часть параметров, управляющих процессом компиляции. Simulator (симулятор) — позволяет вам тестировать логику работы и временные характеристики вашего цифрового устройства. Возможно функциональное моделирование, моделирование с учетбм временных соотношений и моделирование проекта, выполненного на нескольких микросхемах. Timing Analyzer (временной анализатор) — анализирует временные характеристики вашего цифрового устройства после того, как оно син- тезировано и оптимизировано компилятором. Programmer (программатор) — позволяет вам программировать микросхемы Altera и тестировать созданные устройства. Message Processor (процессор сообщений) — выводит на экран сообще- ния об ошибках, предупреждающие и информирующие сообщения о сос- тоянии вашего проекта и позволяет автоматически определять местополо- жение источника сообщения в исходных файлах проекта, во вспомогатель- ных файлах и в назначениях физического уровня размещения. На рцс. 1.5 показан вывод на экран нескольких окон: Hierarchy Display и Waveform Editor, а также раздел описания справочной системы MAX+plus И.
Обзор САПР MAX+plus II 27 MAX* phis II - d:Vnax?wnrk№tnriali|chiptrip MAX*plus li File h View Mode Assign Utilities Options Window Help TflBglal fxjjglK 37) (*? КЮЖ5Ж?®WW H Hierarchy Disj _________________MAX*plus H Help tile tdit BookffiBrk Options Help tdf -t ick_.cn t: ЮР 1 gdf frack Align to Grid Command (Edit Menu) Glossary ai_. „ip 1ХХЧ, |IHV R'et ir fl td -j " I.NPJT INPUT IMPJT 'MACHHmF ticket tar .’гл wdf Wavefo Tun? a i Ur ieg^l 0 VlVfrtOFPr Erhwr Shortcut Makes I'arsiKcns cn ore or mete selected wto e neds о ij'Otp wa*efcttrs or s&/$fcm;jrttejvais align ’o ’he current qric The curert ctic is erred wih Grid Size and к displace with Shew Grid (Ootiors menu). Align to Grid rnutffev vsistii u luyij-..v./et tra’isiliors y_ thitjh^'. й-сиглиудт eg; гпёс. Farg> jtrbe rl the j'jCcR’- 600 Cm-$ ПТТп r-wiriq /I” el У* * i о c 0 G 0 Pnc. 1.5 1.6. Файлы проекта, вспомогательные файлы и проекты До начала работы г MAX+plus 11 следует хорошо уяснить разницу между файлами проекта, вспомогательными файлами и проектами. 1.6.1. Файлы проектов Файл проекта — это файл, содержащий функционально-логическое описание проекта для MAX+plus II н служащий исходным описанием для компилятора. Файл проекта может быть графическим, текстовым или файлом в виде временной диаграммы, созданным соответствующим редактором MAX+plus II пли каким-либо другим стандартным графиче- ским или текстовым редактором или генератором EDIE VHDL файлов. Компилятор может автоматически обрабатывать следующие файлы проекта: графические файлы проекта (.gdf); текстовые файлы проекта (.tdf); файлы проекта временных диаграмм (.wdf); VHDL файлы проекта (.vhd); Verilog файлы проекта (.v): графические файлы OrCAD (.sch); входные файлы EDIF (.edf); файлы формата списка соединений Xilinx (.xnf);
28 Часть файлы проекта Altera (.adf); файлы конечного автомата (.smf). 1.6.2. Вспомогательные файлы Вспомогательные файлы — это файлы, связанные с проектом MAX+plus II, но не являющиеся частью иерархического дерева проекта. Большинство вспомогательных файлов не содержат описаний логики проекта. Некоторые из этих файлов автоматически создаются прило- жением MAX+plus II, некоторые вводятся пользователем. Примерами вспомогательных файлов являются файлы назначения и конфигурации (.act), символьные файлы (.sym), файлы сообщений (.rpt) и векторные файлы (.vec). 1.6.3. Проекты Проект состоит из всех файлов в иерархии проекта, включая вспо- могательные входные и выходные файлы. Проект называется так же, как и файл проекта на самом высоком уровне иерархического дерева, но без расширения имени файла. MAX+plus II осуществляет компиля- цию, моделирование, временной анализ и программирование в данный момент времени только одного проекта, хотя вы всегда можете редак- тировать файлы, относящиеся к другому проекту. Например, по мере того, как вы компилируете projectl, вы можете редактировать TDF файл, который является частью project2, и сохранить его, однако, если вы хотите его компилировать, то сначала должны определить projects в качестве имени текущего проекта. Каждый проект целесообразно помещать в отдельный подкаталог. 1.7. Справочная система MAX+plus II Справочная система MAX+plus II обеспечивает полную, обнов- ленную документацию программного обеспечения MAX+plus II. Справочная система научит вас всему, что необходимо знать об основных инструментах программных модулей MAX+plus II, о командах, процедурах, сокращениях, золотых правилах, со- общениях, базовых элементах, мегафункциях, макрофункциях, AHDL и VHDL. Справочная система также предоставляет информацию обо всех микросхемах фирмы Altera и адаптерах, что позволяет вам выбрать подходящую микросхему до начала функционально-логического проектирования. Для получения полезной дополнительной информации справочная система ука- жет вам другую техническую документацию Altera и даст
Обзор САПР MAX+plus II 29 советы по наиболее эффективному проектированию с помощью инструментов MAX+plus II. Каждый раздел справочной системы содержит одно или несколько выделенных слов, называемых переходами, которые позволяют перейти к другим темам раздела или к дополнительной информации ио текущей теме. По умолчанию переходы показаны зеленым цветом. Для просмотра темы вам нужно поместить указатель мыши на переход и щелкнуть кнопку 1 (левая кнопка мыши). Переход, подчеркнутый сплошной ли- нией, сообщает о том, что это новая тема справочной системы. Переход, подчеркнутый пунктирной линией, сообщает о том, что это элемент словаря. Голубой переход сообщает о примере, списке горячих клавиш и иконок или иллюстрации на самом высоком уровне данной темы справочной системы. Когда вы снова щелкните кнопку 1 мыши, поя- вившаяся тема закроется. Для получения информации о механизме использования справоч- ной системы (например, копировании или печати тем справочной системы) щелкните на How to Use Help (меню Help). 1.7.1. Меню Help Строка меню каждого программного модуля MAX+plus II обеспечи- вает доступ к меню Help (меню справочной системы), как показано на рис. 1.6. MAX+plus II Маг>у ~ d:\rnax2work\tutorial\chiptrip ^*1 MAX+plus It file ftssipn Option в Help Search hr Help an МОД+plus II Table ot Contents MAX+plus II Manager Help AHD.L VHDL Verilog HDL Mcgatpnctions/LPM Old-Style Macrolunctions primitives Devices ft Adapters Messages , glossary fiEAD.ME Hew Features in This Release i How to Use MAX+plus II Help I How to Use Help J About MAX+plus II... Opens a dipleg boxdhat allows you te loo’< up Help information by ustrg keywords P1IC. 1.6
30 Часть В табл. 1.2 приведено описание всех пунктов меню справочной сис- темы (Help) и. где они есть, показаны соответствующие им иконки. Таблица Пункты меню справочной системы MAX+plus II Пункт меню Search for Help on (поиск по справочной системе) — открывает диа- логовое окно, названное Search (поиск), которое позволяет быстро отыскать нужную информацию по обширному индексу справочной системы. Вы можете выбрать слово или фразу, которую вы хотите найти. Как только вы начнете набирать буквы, окно списка авто- матически прокрутит слова или фразы, наиболее близкие к тем, которые вы набираете. Далее вы можете составить список подходя- щих вам тем справочной системы и перейти к теме, которую вы хотите просмотреть. MAX+plus II Table of Contents (таблица содержания MAX+plus II) — полная таблица содержания, в которой перечислены все главные темы, представленные в справочной системе MAX+plus II. К ней также можно получить доступ через кнопку Contents (содержание) на панели кнопок в верхней части окна справочной системы. Application name>Help (справочная система по <Имя программного модуля>) — открывает подменю по темам справочной системы для текущего программного модуля MAX+plus II: Table of Contents (таблица содержания) — таблица содержания для текущего программного модуля Introduction (введение) — краткий обзор текущего программного модуля, включая иллюстрации и информацию о том, как начать работу с использованием этого модуля. Basic Tools (основные инструменты) — подробное описание элементов, находящихся в окне программного модуля, а также входных и выходных файлов, сопровождаемое иллюстрациями и примерами. В категории основных инструментов в справочной системе также представлена информация о базовых элементах и макрофункциях, о кнопках, полях, и конках и т. д. Commands (команды) — описание каждой из команд текущего программного модуля, сопровождаемое иллюстрациями и примерами. Иллюстрации диалоговых окон команд включают появляющиеся объяснения для каждой опции и кнопки диалого- вого окна. Иконка В табл. 1.1 показаны иконки всех приложений Procedures (процедуры) — пошаговые инструкции, сопровождае- мые иллюстрациями и примерами решения специфических задач в текущем программном модуле. Golden Rules (золотые правила) — подборка важнейших советов и правил по использованию текущего программного модуля.
Обзор САПР MAX+plus II 31 Продолжение табл. 1.2 Пункт меню Иконка Shortcuts (горячие клавиши и иконки) — последовательность нажатия клавиш клавиатуры или мыши, иконок панели инструмен- тов для быстрого выполнения команд и процедур текущего программного модуля. AHDL — справочная система по AHDL, включающая подробные инструкции по разработке проекта, описанию основных элементов структуры проекта, синтаксиса AHDL и руководство по стилю проектирования. VHDL — справочная система по VHDL, включающая инструкции по разработке проекта с помощью MAX+plus II VHDL, описания поддерживаемых конструкций языка VHDL, синтаксиса VHDL и руко- водство по стилю проектирования. Verilog HDL — справочная система по Verilog HDL, включающая инструкции по разработке проекта с помощью MAX+plus 11 Verilog HDL, описания поддерживаемых конструкций языка Verilog HDL, син- таксиса и руководство по стилю проектирования. Megafunctions/LPM (мегафункции/БПМ) — список мегафункций, из Библиотеки Параметризованных Модулей (LPM) и функции Altera MegaCore/OpenCore. Если вы выбираете конкретную мегафункцию, то выводятся на экран ее описание, правила обращения, AHDL Func- tion Prototype (AHDL прототип функции), VHDL Component Declaration (средства включения в описания на языке VHDL) и информация о необходимых для этой мегафункции ресурсах микросхемы. Old-Style Macrofunctions (макрофункции микросхем серии 74ХХХХ) — перечень операционных узлов - функциональных анало- гов микросхем серии 74ХХХХ. Вы можете выбрать один из перечисленных узлов для вывода на экран всех названий макрофунк- ций, которые его реализуют . Если вы выбираете конкретную макрофункцию, то будут выведены на экран ее описание и логические уровни сигналов по умолчанию. Primitives (базовые элементы) — алфавитный список базовых элементов. Если вы выберете конкретный базовый элемент, то будут выведены на экран его описание и функциональная таблица. Devices & Adapters (микросхемы и адаптеры) — список всех теку- щих микросхем фирмы Altera, поддерживаемых MAX+plus II, и адап- теров для их программирования. Также включены руководства по выбору микросхем для каждого семейства фирмы Altera. Вы можете выбрать одну из микросхем, перечисленных в списке, для вывода на экран ее характеристик, информации о расположении логических ячеек и назначении контактов для каждого типа корпуса. Messages (сообщения) — алфавитный список всех сообщений MAX+plus II: информационных, сообщений-предупреждений и сооб- щений об ошибках. Все сообщения сопровождаются подробными объ- яснениями возможных причин их появления и рекомендуемыми действиями. В объяснениях сообщений также предусмотрены переходы к дополнительной полезной информации. *!>»! Mill
32 Часть I Окончание табл. 1.2 Пункт меню Иконка Glossary (словарь) — полных список терминов MAX+plus II и их определений. READ.ME (прочти) — копия файла read.me, предоставляемого с MAX+plus II. В ней находится информация о системных требованиях, известных проблемах и способах их решения. New Features in This Release (новые возможности данной версии) — описание всех новых возможностей в текущей версии MAX+plus II, включая поддержку новых микросхем и интерфейсы с другими средствами проектирования стандарта САЕ. How to Use Help (как пользоваться справочной системой) — информация о механизмах использования приложений справочной системы Windows. < How to Use MAX+plus II Help (как пользоваться справочной системой MAX+plus II) — подробная информация о том, как пользоваться справочной системой MAX+plus II, включая описание пунктов меню справочной системы и документацию по условным обозначениям. About MAX+plus II (о MAX+plus II) — отображает номер версии MAX+plus II, номер версии текущего приложения, информацию об авторских правах. Таблица 1.3 Кнопочная панель окна справочной системы Название Функция Contents (содержание) Index (индекс) Back (вернуться) Print (печать) Glossary (словарь) Показывает таблицу содержания справочной системы MAX+plus II. Открывает диалоговое окно Help Topics (темы справочной системы), Возвращает ранее просмотренную информацию, т.е. вы вос- станавливаете ваш путь по темам, которые вы уже видели. Кнопка серая, если предыдущей темы нет. Выводит на печать одну или несколько копий текущей темы справочной системы. Показывает список терминов MAX+plus II и их определения. Вы можете напечатать любой элемент словаря, который вы откроете в этом списке. 1.7.2. С чего начать знакомство со справочной системой? Справочная система универсальна. Это позволяет вам решить, каким способом вы хотите изучать MAX+plus II. Однако, если вы начинающий пользователь, то для вас самым эффективным может оказаться следую- щий подход:
ОбЗор САПР MAX+plus II 33 Шаг 1: Выберите команду MAX+plus II Table of Contents (таблица содержания MAX+plus II) из меню Help (справочная система) любого программного модуля. Это окно показывает все программные модули и другие темы, включая представляю- щие их иконки, о которых доступна информация в справочной системе. Шаг2: Шаг 3: Шаг 4: Шаг 5: Выберите Introduction to MAX+plus II (введение в MAX+plus II) из темы MAX+plus II Table of Contents. Этот обзор суммирует возможности MAX+plus II и подсказывает отправные пункты Where to Start? (с чего начать?) для знакомящихся с MAX+plus II. Из Introduction to MAX+plus II (введение в MAX+plus II) вы можете выбрать How to Use MAX+plus II Help для получения исходной информации о том, как организована справочная система и какие в ней используются условные обозначения. Из меню Help (справочной системы) в любом программном модуле выберите Application пате> Help Procedures для просмотра списка всех пошаговых процедур, которые вы можете использовать в текущем программном модуле. Из меню Help (справочной системы) в любом программном модуле выберите Application пате> Help Golden Rules для того, чтобы узнать самые важные советы и руководящие ука- зания для текущего программного модуля. Золотые правила позволяют вам максимально использовать преимущества MAX+plus II при создании цифровых устройств с его помощью, предоставляя в сжатом виде самую важную информацию, дос- тупную в остальных темах справочной системы. Каждый программный модуль MAX+plus II имеет свое введение и золотые правила. 1.7.3. Как сделать запрос справочной системе по конкретной теме? MAX+plus II предоставляет справку как на основе меню, так и контекстно-зависимую справку. Вы можете запросить справку с помо- щью мыши или с клавиатуры различными способами: В каждом программном модуле MAX+plus II есть меню справоч- ной системы, которое направляет вас к информации о MAX+plus II в общем или к информации, связанной с конкретным программ- ным модулем. Например: — для того чтобы открыть индекс MAX+plus II: выберите Search for Help on (поиск по справочной системе) из меню Help. В открывшемся диалоговом окне выберите с помощью прокрутки или наберите нужное ключевое слово, дважды щелкните кнопку 1
34 Часть I на нем для вывода списка всех связанных с ним тем справочной системы, затем дважды щелкните кнопку 1 на заголовке темы для открытия справки по данной теме. Вам не нужно набирать целые слова, поскольку те буквы, которые вы набираете сопос- тавляются с перечисленными ключевыми словами; Эля того чтобы узнать комбинацию клавиш для быстрого вызова команды’, перейдите к теме справочной системы, описывающей эту команду, используя Search for Help on (поиск по справочной системе) и щелкните кнопку 1 па голубом переходе Shortcuts на заголовке этой темы или перейдите к меню справочной системы и выберите Shortcuts из подменю <Application Name>}fe\p для вывода на экран таблицы всех горячих клавиш п иконок для текущего программного модуля. Когда вы выбираете контекстно-зависимую кнопку справочной системы (|)^?|) на панели инструментов или нажимаете Shift+Fl, указатель превращается в вопросительный знак. После этого вы можете щелкнуть кнопку 1 на любом элементе окна пли на любой команде меню. Если для данного элемента есть контекстно-зави- симая справка, то на экран будет выведена соответствующая информация. Иначе, справочная система покажет список всех элементов, для которых есть контекстно-зависимая справка. Когда выделена команда меню или же па экране отображается диалоговое окно команды или сообщение, то нажмите F1 для получения справки по данной теме. Например: — для получения мгновенной информации о команде’, выделите команду в меню и нажмите F1; — для того чтобы увидеть все элементы, для которых есть кон- текстно-зависимые справки в программном модуле’, нажмите F1. Справочная система MAX+plus II покажет список всех элемен- тов данного программного модуля, для которых есть контекстно зависимая справка. Щелкните кнопку 1 на нужном элементе. 1.8. Ввод проекта Л Все инструменты, необходимые для создания проекта, доступны в MAX+plus II. MAX+plus II ускоряет ввод вашего проекта с помощью набора стандартных логических функций, включая базовые элементы, мегафункций, LPM функций и макрофункций микросхем серин 74ХХХХ. САПР MAX+plus II также обеспечивает множество основных и дополнительных возможностей, которые облегчают ввод и отладку проекта. В САПР MAX+plus II представлены три редактора ввода про- екта — Graphic Editor (графический редактор), Text Editor (текстовый
Обзор САПР MAX+plus II 35 редактор) и Waveform Editor (редактор временных диаграмм). Также представлены два вспомогательных редактора Floorplan Editor (редактор физического размещения) и Symbol Editor (редактор символов), облег- чающие ввод проекта. MAX+plus II поддерживает различные способы ввода проекта: схемные проекты вводятся с помощью MAX+plus II Graphic Editor (графического редактора MAX+plus II). Вы также можете открыть, редактировать и сохранить схемы, созданные с помощью редактора схем OrCAD Draft; проекты на языке описания аппаратных средств AHDL, VHDL и Verilog HDL вводятся с помощью MAX+plus II Text Editor (текстового редактора MAX+plus II) или других стандартных тек- совых редакторов; проекты, представленные временными диаграммами, вводятся с помощью MAX+plus II Waveform Editor (редактора временных диаграмм MAX+plus II); EDIF netlist и Xilinx netlist файлы, сформированные другими САП Рами промышленного стандарта EDA, могут быть импорти- рованы в среду MAX+plus II; схемные и текстовые файлы проектов, созданные с помощью предыдущих версий САПР фирмы Altera, также могут быть ин- тегрированы в среду MAX+plus II; физические ресурсы микросхемы (внешние контакты, ячейки вво- да-вывода, внутренние ячейки) для всех типов проектных файлов в текущем проекте могут быть заданы в графическом виде с помощью Floorplan Editor (редактор физического размещения). Редактор физического размещения сохраняет назначения для про- екта в файле с расширением .act, наряду с параметрами настройки для Compiler (компилятора), Simulator (симулятора) и Timing Analyzer (временного анализатора); графические символы, представляющие любой тип проектных файлов, могут быть сформированы автоматически в любом из редакторов проекта MAX+plus И. Вы можете редактировать имею- щиеся или создавать свои собственные символы с помощью Symbol Editor (редактора символов) и использовать их в любом схемном проектном файле. В иерархическом проекте вы можете на любом уровне иерархии легко смешивать Grafic Disign Files (графические файлы проекта) с расшире- нием (.gdf), Text Design Files, (текстовые файлы проекта) с расширением (.tdf), VHDL Design Files (VHDL файлы проекта) с расширением (.vhd), Verilog Design Files (Verilog файлы проекта) с расширением (.v), EDIF Input Files (входные файлы EDIF) с расширением (.edf) и OrCAD Schematic Files (схемные файлы OrCAD) с расширением (.sch). Однако
36 Часть Waveform Design Files (файлы проектов, описанных временными диа- граммами) с расширением (.wdf), Xilinx Netlist файлы с расширением (.xnf), Altera Design файлы с расширением (.adf) и State Machine Files (файлы конечных автоматов) с расширением (.smf) не могут быть файлом высшего уровня проекта. См. "Иерархия проекта" на стр. 60. Способы ввода проектов в MAX+plus II показаны на рис 1.7. Графический редактор MAX+plus II Текстовый редактор MAX+plus II ъ Редактор временных диаграмм MAX+plus II Редактор символов MAX+plus II Редактор физического размещения MAX+plus II Файл высшего уровня Файл высшего уровня иерархии может быть .gdf, .schK.Mft .yhd .v или .edf иерархии .... • " ' У- Графи- Графи- Файл Тексто-Тексто? Тексто- Тексто- Тексто- Тексте- Тексто- ческий ческий временных вый вый вый вый вый вый вый файл >файл ; диаграмм файл . файл ‘и файл файл файл « файл файл Файлы других САПРов Промышленного Стандарта EDA Файлы A+pius или SAM+plus Рис. 1.7 1.8.1. Основные возможности ввода проекта верхнего уровня MAX+plus II Во всех программных модулях MAX+plus II вы можете задавать ресурсы, микросхемы и настройки параметров, которые управляют про- цессом компиляции, включая функционально-логический синтез, раз- деление проекта на части и сборку, пользуясь командами меню Assign (назначение). На рис. 1.8 показано меню Assign (назначение). Вы можете ввести назначения для текущего проекта независимо от того, открыт ли какой- либо файл проекта или окно программного модуля. MAX+plus II со- хранит информацию для проекта в файле Assignment & Configuration (назначения и конфигурация) с расширением .acf. Назначения, сделан- ные в окне Floorplan Editor (редактора физического размещения) также
Обзор САПР MAX+plus II 37 сохранятся в .acf файле. Кроме того, вы можете редактировать .acf файл проекта вручную с помощью Text Editor (текстового редактора). MAX* plus 11 Eire Mwvfrphjs II Manager-d.~Vnax2workVutorial\chiptrip I Assign s £>evicc... Options Help Pln/Location/Chlp... pining Requirements... Clique... Logic Options... Probe- Connected Pins... Local Routing... Global Project Device Options... Global Project Parameters... Global Project Timing Bequiremeiits... Global Project I. ngic Synthesis... Ignore Project Assignments... Clear Project Assignments... Back-AnnotatE Project... Convert Obsolete Assignment format Assigns logictr the current projects cne orrrore dev-cas Рис. 1.8 Ниже приведены функции, которые являются общими для всех программных модулей MAX+plus II: Device, resource, and probe assignments (назначения микросхемы, ресурсов и синонима- имени цепи); Back-annotation (копирование результатов компиляции); Global project device options (параметры микросхемы для текущего проекта); Global project parameters (назначение параметров для текущего проекта); Global project timing requirements (требуемые характеристики бы- стродействия для текущего проекта); Global project logic synthesis (параметры логического синтеза для текущего проекта). Device, resource, and probe assignments (назначения микросхемы, ресурсов и синонима имени цепи) Управляемыми ресурсами микросхемы фирмы Altera являются выводы СБИС и логические ячейки, которые выполняют определенные пользо- вателем задачи. Вы можете сами назначить различные режимы работы ресурсам микросхемы, и компилятор MAX+plus II реализует именно тот режим, который вам нужен. Возможны следующие назначения:
38 Часть I Clique assignment (назначение группы) — устанавливает, какие функциональные модули должны оставаться вместе в процессе синтеза, разводки и других операций, выполняемых компилято- ром. Объединение функциональных модулей в группу гаранти- рует, что они будут размещены в одном Logic Array Block (LAB) (логическом блоке), Embedded Array Block (EAB) (встроенном блоке), в одной и той же строке LAB; Chip assignment (назначение кристалла) — устанавливает, какие функциональные модули должны выполняться в каких микро- схемах, когда проект разделен на несколько микросхем; Pin assignment (назначение выводов СБИС) — указывает разме- щение входов или выходов на конкретном контакте микросхемы; Location assignment (назначение местоположения) — назначает размещение отдельных элементов проекта, например, базового элемента или мегафункции в конкретном месте внутри кристалла, например, в определенных логических ячейках, I/O ячейках (ячей- ках ввода-вывода), во встроенных ячейках, в LAB, ЕАВ, в определенной строке или колонке; Probe assignment (назначение синонима имени цепи) — назначает легкое для запоминания, уникальное имя для внутреннего сигнала проекта; Connected pin assignment (назначение соединенных контактов) — определяет, каким образом два или более контактов соединяются внешне на вашей монтажной плате. Эта информация также по- лезна для временного моделирования и моделирования множества взаимосвязанных проектов; Local routing assignment (размещение в смежных логических бло- ках) — назначает соединение указанных пользователем цепей через локальные шины соединений (действует только для FLEX6000); Device assignment (назначение микросхемы) — назначает микро- схему для реализации проекта. Вы можете назначить конкретную микросхему с требуемым типом корпуса, быстродействием и ра- бочим диапазоном температур. Вы также можете, установив "AUTO" режим, дать возможность компилятору выбрать микро- схему из указанного вами семейства микросхем; Logic option assignment (назначение параметров логического син- теза) — управляет логическим синтезом отдельных частей проекта во время компиляции. Задается конкретный тип логического синтеза и/или отдельные установки. Altera предоставляет большое число логических опций, а также тройку "готовых" типов синтеза, каждый их которых представляет собой набор заданных параметров логического синтеза, объеди- ненных своим названием. Вы можете использовать эти типы
Обзор САПР MAX+plus II 39 синтеза пли создавать свои собственные под конкретную задачу. Это позволяет вам разрабатывать ваши типы синтеза для кон- кретного семейства микросхем, чтобы воспользоваться особен- ностями их архитектуры; Timing assignment (временное назначение) — управляет функцио- нально-логическим синтезом и размещением отдельных функцио- нальных модулей проекта для достижения желаемой задержки распространения сигнала от входа до выхода tp^, задержки на выходе по отношению к синхронизирующему сигналу tco, времени предустановки дня синхронизируемого сигнала tSu и частоты синхронизирующего сигнала /мдх- л За полной информацией по всем микросхемам обратитесь к спецификациям для отдельных микросхем на текущем CD Altera Digital Library. * Обратитесь к разделу Devices & Adapters в справочной системе MAX+plus II по вопросам о расположении контактов для всех имею- щихся в настоящее время корпусов микросхем фирмы Altera. Back-annotation (копирование результатов компиляции) После того, как вы ввели ваш проект в целом, вы можете его компилировать с помощью MAX+plus II, затем сохранить, т. е. обратно аннотировать назначения ресурсов, которые компилятор сделал во время самой последней компиляции для того, чтобы вы могли получить такую же разводку при последующих компиляциях проекта. Global project device options (параметры микросхемы для текущего проекта) Вы можете задать общие функции микросхемы, которые компилятор будет учитывать при обработке проекта. Вы можете зарезервировать часть пользовательских выводов и логических ячеек для дальнейшего расширения проекта, задать настройки для функций микросхемы и для контактов двойного назначения. Например, вы можете задать установку Security Bit (бита защиты), который защищает микросхемы, выполнен- ные по EPROM или EEPROM технологии от считывания. Global project parameters (назначение параметров для текущего проекта) Вы можете задать имена и значения параметров во всех параметри- зованных функциях вашего проекта для использования их компи- лятором.
40 Часть I Global project timing requirements (требуемые характеристики быстродействия для текущего проекта) Вы можете ввести общие временные требования для всего проекта, такие как задержка распространения сигнала от входа до выхода fPD, задержка сигнала на выходе относительно синхронизирующего сигнала tco, время предустановки относительно синхронизирующего сигнала tslj и частота синхронизирующего сигнала /мдх- ®ы также можете задать условия подсчета этих временных характеристик. Global project logic synthesis (параметры логического синтеза для текущего проекта) Вы можете выбрать общие для всех блоков проекта настройки логического синтеза, управляющие компиляцией проекта. Вы можете задать один из стандартных типов синтеза, оптимизировать проект по скорости или аппаратным затратам, разрешить компилятору автомати- ческое назначение таких сигналов, как Clock, Clear, Preset, Output. Вы также можете задать компилятору стандартный или многоуровневый синтез, указать варианты автоматического кодирования состояний ко- нечного автомата, разрешить раздельное использование логической и регистровой частей логической ячейки (LC) (функция Register Packing). Кроме того, вы можете установить быстродействие логических ячеек и I/O ячеек (ячеек ввода/вывода), задать размещение операционных узлов во встроенных блоках памяти (ЕАВ). 1.8.2. Общие функции редакторов Многие функции используются совместно всеми пятью редакторами MAX+plus II или тремя редакторами ввода проекта (графическим, тек- стовым и редактором временных диаграмм), облегчая вам работу по проектированию логики. Например, стандартные функции, такие как сохранение и открытие файла, возможны во всех редакторах проек- тирования. Кроме того, общими для программных модулей редакторов MAX+plus II являются приведенные ниже функции. Symbol & Include File Generation (создание символа и соответствующего ему файла включения) Вы можете автоматически создать и обновить символ для любого типа проектного файла, поддерживаемого MAX+plus II, с помощью команды Create Default Symbol (создать символ по умолчанию) из меню File (файл). Symbol File (файл символа) носит такое же имя,
Обзор САПР MAX+plus II 41 что и файл проекта, и имеет расширение .sym. Он может быть включен в состав любого GDF или OrCAD Schematic File (схемного файла) с расширением .sch, который находится выше в иерархии проекта. Вы также можете модифицировать созданный символ. Аналогично созданию символа вы можете автоматически создавать и обновлять Include File (файл включения), содержащий AHDL Function Prototype (AHDL прототип функции), для любого .tdf файла проекта MAX+plus II. Команда Create Default Include File (создать файл вклю- чения) из меню File создает Include File (файл включения) с тем же именем, что и имя файла проекта, но с расширением .inc. Вы можете использовать AHDL Include Statement для связывания Include File (файла включения) и его Function Prototype (прототип функции) в TDF иерархического проекта. Компилятор MAX+plus II также исполь- зует информацию в Include File для обработки их копий в Verilog Design Files (Verilog файлах проекта) с расширением (,v). Node Location (определение места расположения цепи) Вы можете выбрать цепь во вспомогательном файле или в текущем физическом размещении и определить место ее описания в исходный файл проекта с помощью команды Find Node in Design File (найти цепь в файле проекта) из меню Utilities. Аналогично вы можете выбрать цепь или группу в файле проекта или во вспомогательном файле и определить место ее расположения в окне редактора физического раз- мещения с помощью команд из меню Utilities Find Node in Floorplan (найти цепь в топологической структуре) или Find Clique in Floorplan (найти группу в топологической структуре). Команды Find Node in Floorplan (найти цепь в топологической структуре) и Find selected macrofuncshion in Floorplan (найти группу в топологической структуре) также доступны в Hierarchy Display (дисплее иерархии проекта). Hierarchy Traversal (прохождение по дереву иерархии проекта) Вы можете перемещаться вниз или вверх в текущей иерархии. MAX+plus II открывает выбранные файлы и автоматически запускает соответствующий редактор. Context-Sensitive Menu Commands (команды контекстно-зависимого меню) Команды контекстно-зависимого меню доступны на появляющихся меню во всех редакторах и в Hierarchy Display (дисплее иерархии проекта). Эти меню появляются автоматически, когда вы щелкаете кнопку 2 (правую кнопку мыши) на выбранном с помощью курсора
42 Часть I объекте. Меню будет содержать команды, относящиеся к выбранному объекту или объектам. Timing Analysis (анализ временных параметров) Вы можете пометить источники и приемники сигналов и определить задержки их прохождения, времена предустановки и удержания, мак- симальную тактовую частоту для каждого синхросигнала в проекте. Вы также можете выделять по одному сигналу для детального анализа пути его прохождения. Find & Replace Text (найти и заменить текст) Вы можете найти и заменить текст, включая имена цепей и их синонимов, в любом файле проекта текущей иерархии. Undo, Cut, Copy, Paste & Delete (отменить, вырезать, копировать, вставить и удалить) Вы можете отменить последний шаг редактирования и отменить отмену. Вы можете также копировать, вырезать, вставлять и удалять одну или несколько выделенных позиций в другие программные модули MAX+plus II или приложения Windows. Print (печать) Вы можете напечатать текущий файл частично или целиком, выбрать принтер или плоттер и определить их конфигурацию. 1.8.3. Графический редактор MAX+plus II Графический редактор MAX+plus II (Graphic Editor), пока- занный на рис. 1.9, предоставляет среду проектирования: что видишь на экране, то и получишь в проекте. Открыть окно графического редактора вы можете путем выбора Graphic Editor (графический редактор) из меню MAX+plus И. Команда New (новое) из меню File (файл) открывает новое, без на- звания, окно графического редактора. Графический редактор представляет собой программу ввода схемы, позволяющую вам быстро и легко вводить даже сложные проекты. Обширная библиотека базовых элементов, мегафункций и макрофунк- ций, включая Library of Parameterized Modules (LPM) (библиотеку пара- метризованных модулей), предоставляет основные функциональные бло- ки для реализации проекта. Создавая символы, вы можете строить ваши собственные библиотеки специальных функций.
Обзор САПР MAX+plus II 43 Кнопка Рабочее Графический файл проекта (.gdf) или схемный файл OrCAD (.sch), создание с помощью графического редактора, могут включать любую комбинацию символов базовых элементов, мегафункций и макрофунк- ций, символов ваших собственных библиотек. Символы могут пред- ставлять любой тип проектного файла, включая другие GDF и OrCAD схемные файлы, AHDL текстовые файлы проектов (.tdf), VHDL файлы проектов (.vhd), Verilog файлы проектов (.v), файлы проектов времен- ных диаграмм (.wdf), EDIF входные файлы (.edf), файлы формата списка соединений Xilinx (.xnf), файлы проектов Altera (.adf) и файлы конечных автоматов (.smf) Графический редактор имеет следующие особенности: кнопка выделения, показанная па рис. 1.9, облегчает ввод проекта. Она позволяет вам перемещать и копировать элементы, вводить новые символы. Если вы поместили курсор на основание контакта или конец линии, автоматически включается режим рисования ортогональных линий. Когда вы щелкаете на текст, например, название контакта пли цепи, автоматически включается режим ввода текста; символы соединяются друг с другом тонкими линиями, называе- мыми цепями, или толстыми линиями, называемыми шипы. Шины представляют собой совокупность цепей. Присвоив имя цепи, вы
44 Часть! тем самым соединяете ее с другими цепями или символами, имею- щими такое же имя. Шины соединяются с помощью имен. Их графическое соединение является вспомогательным; если это необходимо в вашем проекте, вы можете проинвертиро- вать любой бит порта символа мегафункции или макрофункции. "Кружок NOT" (символ операции НЕ) появляется автоматически для индикации инвертированного порта; вы можете выбрать и редактировать множество объектов в вы- деленной вами прямоугольной области. Когда вы перемещаете выбранные элементы при включенной функции Rubberbanding (неразрывность цепей) сигнальные связи сохраняются; для каждого символа вы можете просмотреть все назначения и параметры. Для облегчения моделирования вы также можете на- значить группы контактов, соединенных внешне на плате; базовые элементы, мегафункции и макрофункции, предоставляемые фирмой Altera, уменьшают время ввода проекта. Вы также можете создать свои собственные библиотеки специальных функций. После редактирования символов вы можете автоматически обновить вы- бранный символ или все символы в файле графического редактора. Графический редактор MAX+plus II предоставляет множество других возможностей. Например, вы можете увеличивать или уменьшать мас- штаб изображения на экране таким образом, чтобы на экран помещался весь файл проекта или же только его часть. Вы также можете выбрать различные шрифты для текста, размеры шрифтов, типы линий и рас- стояние между линиями разметки. Вы можете копировать, вырезать, вставлять и удалять один или несколько выбранных элементов, изменять их расположение зеркально относительно горизонтали или вертикали, поворачивать их на 90, 180 или 270 градусов, задавать размер и ориентацию листа чертежа. " * « За полной информацией о функциях и возможностях графического редактора MAX+plus II обратитесь к справочной системе MAX+plus II. 1.8.4. Редактор символов MAX+plus II отображает цифровое устройство. Открыть Редактор символов MAX+plus II, показанный на рис. 1.10, дает вам возможность просматривать, создавать и редактировать символ, который окно редактора символов вы можете путем выбора Symbol Editor (редактор символов) из меню MAX+plus II. Команда New (новое) из меню File (файл) открывает новое, без на- звания, окно редактора символов.
Обзор САПР MAX+plus II 45 ~~_________MAX+plus И - d:\max2work\tutorial\chiptrip - [Symbol Editor-chi ptrip, s утл]_ _M^4₽2U?JJ__file Edit View Element Utilities Assign options Window Help ES@®) lx Й1е.| H ® ИЖЖ5 й i A Altera Имена контактов за самкой границы Имя контакта внутри границы сим- символа показывают, какое имя вола может оыть отредактировано имеет контакт Рис. 1.10 Файл символа называется так же, как и файл проекта, который он представляет, но с расширением .sym. команда Create Default Symbol (создать символ по умолчанию), доступная из меню File (файл) графического, текстового и редактора временных диаграмм, создает символ для любого проектного файла. Основные возможности символьного редактора MAX+plus II: вы можете настроить символ, представляющий файл проекта. Вы можете вводить и задавать параметры контактов и их имена. Вы можете выбрать для отображения полное имя контакта в символе или изменить его, сделав более компактным или инфор- мативным. Полное название контакта и название, отображаемое в файле графического редактора, могут различаться; имена контактов автоматически копируются за границей символа для того, чтобы у вас была видимая ссылка на название, которое соответствует данному контакту. Если вы передвигаете название контакта внутри символа, идентичное название за символом, ко- торое не может быть передвинуто относительно контакта, помогает вам отслеживать соответствие контакта и его названия; вы можете задать параметры и их значения по умолчанию; линии разметки помогают вам расположить объекты точно по сетке; вы можете вставлять комментарии или полезные замечания в символ. Они также будут появляться при вводе символа в файл графического редактора.
46 Часть I За полной информацией о функциях и возможностях символьного редактора MAX+plus II обратитесь к справочной системе MAX+plus II. 1.8.5. Текстовый редактор MAX+plus II abcde ab( | abcM Текстовый редактор MAX+plus II, показанный на рис. 1.11, является гибким инструментом для создания текстовых фай- лов проекта (.tdf) на языке AHDL (язык описания аппаратных среств фирмы Altera), VHDL файлов проектов (.vhd) на языке VHDL (язык описания аппаратных средств сверхбы- стродействующих интегральных схем) и Verilog файлы проектов (.v) на языке Verilog HDL (языке описания аппа- ратных средств Verilog). С помощью текстового редактора MAX+plus II вы также можете просматривать, вводить и ре- дактироваь любые другие ASCII файлы. Открыть окно текстового редактора вы можете путем выбора Text Editor (текстовый редактор) из меню MAX+plus II. Команда New (новое) из меню File (файл) открывает новое, без названия, окно текстового редактора. _____________MAX+plus II - dflmax2woric|(hitarial\time_cDt - [Text Editor - time_cnt.tdf| MAX+plus II file Edit Templates Assign Utilities Options Window Help SUBDESIGN time cut t enable, elk time[7..O] 1 VARIABLE count[7..0) BEGIN : INPUT; : OUTPUT; : DFF; count [] .elk - elk; tlme[] » count []; IF enable TI count [1 .d - count [] .q * 1; ELSE count IJ .d = count [] .q; END IF; END; Line 6 Col 1 |INS| + | Сшн Рис. 1.11 Хотя для создания AHDL, VHDL и Verilog HDL проектных файлов вы можете использовать любой текстовый ASCII редактор, использо-
Обзор САПР MAX+plus II 47 вание текстового редактора MAX+plus II дает вам возможность вводить проект, компилировать и отлаживать его с помощью одного САПР MAX+plus II . Основные возможности текстового редактора MAX+plus II: языки AHDL, VHDL, Verilog HDL и текстовый редактор полностью интегрированны в систему MAX+plus II. Вы можете обрабатывать проекты, описанные с помощью языков AHDL, VHDL или Verilog HDL, компилятором, и процессор сообщений автоматически определит местонахождение любых синтаксических ошибок в текстовом редакторе. Текстовый редактор также предоставляет шаблоны для конструкций языков AHDL, VHDL и Verilog HDL. (См. "Язык описания аппаратных средств фирмы Alera” на стр. 53, "VHDL" на стр. 55 и "Verilog HDL" на стр. 57); вы можете включить синтаксическую функцию раскрашивания текста для того, чтобы ясно видеть структуру AHDL, VHDL, Verilog HDL файлов и других вспомогательных текстовых файлов; вы можете автоматически найти определенную секцию или ком- ментарий, используя выбранный разграничитель. Это позволяет вам легко передвигаться по файлу проекта; вы можете использовать возможность редактирования "перетащить и оставить" для перемещения выбранного текста на новое место внутри файла; вы можете вручную редактировать Assignment & Configuration Files (файлы назначений и конфигурации) с расширением (.acf), которые задают синонимы имен цепей, ресурсы и назначения микросхем, а также параметры для компилятора, симулятора, анализатора временных параметров и программатора; вы можете создавать векторные файлы с расширением (.vec), ко- торые используются в качестве входных файлов для моделирования, функционального тестирования или ввода проекта с помощью вре- менных диаграмм. Вы также можете создать Command Files (командные файлы) с расширением (.and) для использования их симулятором MAX+plus И, командные файлы EDIF с расширением (.edc) и Library Mapping Files (файлы карты библиотек) с расши- рением (.Imf) для использования их компилятором MAX+plusII. Вы также можете редактировать любые другие ASCII файлы; при запуске компиляции или моделирования процессор сообще- ний MAX+plus II автоматически определяет местоположение лю- бой синтаксической ошибки в текстовых файлах; с помощью контекстно-зависимой справки вы можете получить справку по элементам синтаксиса AHDL, ключевым словам и опе- раторам. Вы также можете получить справку по всем предостав- ляемым фирмой Altera базовым элементам, мегафункциям и макро- функциям, которые встречаются в AHDL, VHDL и Verilog HDL
48 Часть I файлах проектов. Кроме того, вы можете получить контекстно- зависимую справку по ключевым словам и элементам синтаксиса в других текстовых файлах, таких как Assignment & Configuration Files (файлы назначений и конфигурации), Vector Files (векторные файлы), Command Files (командные файлы) и EDIF Command Files (командныые файлы EDIF); текстовый редактор MAX+plus II предоставляет также и другие возможности. Например, вы можете найти, вырезать, копировать, вставить и удалить текст, выбирать различные шрифты текста и их размер, устанавливать количество пробелов при табуляции, использовать автоматический отступ. За полной информацией о функциях и возможностях текстового редактора MAX+plus II обратитесь к справочной системе MAX+plus II. 1.8.6. Редактор временных диаграмм MAX+plus II Редактор временных диаграмм MAX+plus II, показанный на рис. 1.12, выступает в двух ролях: как инструмент ввода про- екта и как инструмент для задания тестовых векторов и просмотра результатов моделирования. Вы можете создавать Waveform Design Files (файлы проектов, описанных времен- ными диаграммами) с расширением (.wdf), которые содержат логическое описание проекта, и Simulator Channel Files (файлы временных диаграмм) с расширением (.scf), которые содержат входные векторы для моделирования и функционального тес- тирования. Открыть окно редактора временных диаграмм вы можете путем выбора Waveform Editor (редактор временных диаграмм) из меню MAX+plus И. Команда New (новое) из меню File (файл) открывает новое, без названия, окно редак- тора временных диаграмм. Ввод проекта с помощью временной диаграммы является альтерна- тивой для графического и текстового ввода проекта. Вы создаете проект с помощью комбинации логических уровней на входе и желаемых уровней на выходе в виде графической временной диаграммы. WDF может содержать логические входы, входы конечного автомата, а также комбинаторные и регистровые выходы, и выходы конечного автомата. Также могут использоваться внутренние сигналы для того, чтобы оп- ределить интересующие выходы. Ввод проекта в виде временных диаграмм является подходящим для схем с хорошо определенной последовательностью входов и выходов, таких как конечные автоматы, счетчики и регистры. WDF удобны для
Обзор САПР MAX+plus II 49 описания комбинаторных схем, декодеров, циклограмм ц других перио- дических устройств. MAX+plus II - d:Vnax2wofk\tii ftteme dl tpeed Неопределенное значение логического уровня сигнала Поле времени опорного временного маркера 90С 0ns --.U. 600 С ns Сигнал - логический ноль (0) Сигнал - логическая единица (1) 1 — —jJJJ-'k-_ut" UtLUH Ref '6c0 0ns _________MAX+plus II - d:\max2work\tn orial\speed_ch fWaveform Editor - spei MAXiplusH f lc fdit View c Assign L>t lilies Options Yflndo ch-wdf] Help Irterva! 0 Ons ее: ons ' о Опорный временной Сетка маркер Pnc. 1.12 ’ INPUT INPUT INPUT MACHINE REC inqnl IJ~L ix о 1 0 r Редактор временных диаграмм предоставляет множество возможно- стей. Вы легко можете трансформировать временную диаграмму пол- ностью пли частично, создавать и редактировать цепи и группы. С по- мощью небольшого набора простых команд вы можете создавать ASCII Table File (табличный файл ASCII) с расширением (.tbl) пли импор- тировать ASCII Vector File (векторный файл ASCII) с расширением (.vec) для создания SCF или WDF файлов. Вы также можете сохранять WDF как SCF с целью моделирования или конвертировать SCF в WDF для использования его в качестве файла проекта. Основные возможности редактора временных диаграмм MAX+plus II: вы можете создавать или редактировать цепь (узел), которая может представляться как входной контакт, выходной контакт или внутренний сигнал устройства; при создании WDF файла вы можете задать тип логики, соот- ветствующей каждой цепи (узлу). Она может быть следующих типов: входной контакт, регистровая, комбинаторная пли конечный автомат;
50 Часть I вы можете задать высокий (1), низкий (0), неопределенный или высокоимпедансный (Z) логический уровень сигнала по умолча- нию в логической цепи (узле), пли любое исходное состояние по умолчанию в цепи (узле) типа конечного автомата; для упрощения создания тестового вектора вы можете добавить какой-либо один или все цепи (узлы) нз Simulation Netlist File (файл со списком соединений для симулятора) с расширением (.snf) для полностью откомпилированного проекта, к SCF; вы можете объединять от 2 до 256 цепей в группу (шину) или отменить такое объединение, чтобы видеть каждую цепь, входящую в группу. Группы также могут быть объединены в другие группы. Значение сигнала в группе (шине) может отображаться в двоич- ной, десятичной, шестнадцатиричной или восьмеричной системе счисления с возможностью преобразования в код Грея; вы можете копировать, вставлять, перемещать или удалять вы- бранный фрагмент временной диаграммы, целую временную диаграмму для цепи (узла) пли для всей группы (шину), то есть имя группы (шины) или цепи (узла) и ее временную диаграмму. С помощью одной операции вы можете редактировать множество интервалов или всю временную диаграмму. Вы также можете инвертировать, вставить, переписать, повторить, растянуть или сжать участок временной диаграммы любой длины с различными логическими уровнями, счетными последовательностями, именами состояний автоматов; вы можете определить и по желанию вывести на экран сетку для выравнивания фронтов логических сигналов до или после того, как они созданы; вы можете вставлять комментарии между временными диаграм- мами в любом месте внутри файла; вы можете изменять масштаб по любой шкале; для того, чтобы показать разницу в результатах моделирования, вы можете наложить второй файл временной диаграммы и осу- ществить сравнение с результатами, которые представлены в текущем файле. Второй файл может быть получен при тестиро- вании реальной микросхемы. За дополнительной информацией по редактированию временных диаграмм обратитесь к подразделу "Редактор временных диа- грамм MAX+plusИ" в разделе "Проверка проекта” на стр. 78. За полной информацией о функциях и возможностях редактора временных диаграмм MAX+plus II обратитесь к справочной сис- теме MAX+plus II.
Обзор САПР MAX+plus II 51 1.8.7. Редактор физического размещения MAX+plusII Вы можете использовать редактор физического размещения, показанный на рис. 1.13, для назначения физических ресурсов микросхемы и просмотра размещения и соединения логиче- ских ячеек, выполненного компилятором. Открыть окно редактора физического размещения вы можете путем выбора Floorplan Editor (редактор физического размещения) из меню MAX+plus IL Кнопка укрупнения изображения ____ Кнопка отображения в — окне всего листа Легенда показывает цвета, обозначающие размещен- ные, неразмещенные цепи и использование внутренних ресурсов различных семейств микросхем В данный момент на экране LAB View (вид логических блоков) Вы можете переместить название цепи или контакта на изображение микросхемы, чтобы назначить их внешнему контакту микросхемы, логической ячейке, логическим блокам, ячейке ввода/вывода, ячейке встроенной памяти, строке, колонке или чипу, в зависимости от выбранного представления Выделенные общие контакты для некоторых микросхем показываются отдельно от LAB Рис. 1.13 Редактор физического размещения предоставляет удобные средства для ввода и редактирования назначений физических ресурсов микро- схемы вашего проекта. Возможны два варианта изображения микросхемы: Device View (вид микросхемы), показывающий все контакты на корпусе микросхемы и их функции; LAB View (вид логических блоков), показывающий внутреннее содержание микросхемы, включая все LAB (логические блоки)
52 Часть I и отдельные LC (логические ячейки) внутри каждого LAB. В микросхемах, которые включают Embedded Array Blocks (EAB) (блоки встроенной памяти), вы можете просмотреть отдельную ячейку внутри каждого ЕАВ. Для микросхем МАХ 9000, FLEX 6000, FLEX 8000,FLEX ЮК и АСЕХ 1К отображается местоположение I/O cell (ячейки ввода вывода). Также отображаются внешние контакты микросхемы по периметру кристалла. Редактор физического размещения показывает список имен неназна- ченных цепей и контактов вашего проекта в поле Unassigned Nodes & Pins. Каждое имя имеет значок, который вы можете переместить на изображение внешнего контакта микросхемы, логической ячейки, ячейки ввода/вывода или ячейки встроенной памяти при отображении на экране Device View (вида микросхемы) или LAB View (вида логических блоков). Вы также можете переместить цепь или контакт, имеющие назначения, обратно в список неназначенных цепей и контактов или в другое место на кристалле. Вы также можете сделать более общее назначение для всего LAB, ЕАВ или микросхемы и затем дать возможность компилятору выбрать наиболее подходящее местоположение внутри LAB, ЕАВ или микро- схемы. В микросхемах семейств МАХ 9000, FLEX 6000, FLEX 8000, FLEX ЮК и АСЕХ 1К вы также можете назначать цепи и контакты для строк или колонок. При этом внутри bin (кармана) соответствую- щего LAB, ЕАВ, микросхеме, строке или колонке выводится число, показывающее количество назначенных ему цепей или контактов. Основные возможности редактора физического размещения MAX+plus II: вы вводите назначения физических ресурсов в графической среде drag-and-drop (перетащить и оставить). Назначения компилятора также могут быть скопированы и отредактированы; цветная легенда обозначает размещенные и неразмещенные цепи, использование внутренних ресурсов различных семейств микро- схем, контакты VCC, GND и зарезервированные контакты; вы можете просматривать и редактировать ваши текущие назна- чения для проекта, которые сохраняются в файле Assignment & Configuration с расширением (.act). Вы также можете вывести на экран нередактируемое (только для просмотра) размещение вашего проекта при последней компиляции, которое хранятся в Fit File (файле размещения) с расширением (.fit), независимо от того, было ли это размещение успешным. Любой из неразмещенных элементов выделяется цветом в списке названий неразмещенных цепей и контактов. Узлы, которые уже размещены, но не соеди- нены, указываются красным цветом;
Обзор САПР MAX+plus II 53 вы можете вывести на экран входные и выходные связи для любого выбранного элемента (элементов) или связи между эле- ментами в выбранной группе. Вы также можете просмотреть подробную статистику об использовании линий соединений для выбранного элемента (элементов); Report File Equation Viewer (окно для просмотра уравнений из файла отчета) показывает вам для выбранного элемента или элементов логическое уравнение и имена всех цепей и контактов, которые являются входными или выходными переменными в этом уравнении. Вы можете выбрать входные или выходные переменные и посмотреть их логические уравнения. Таким образом, вы можете проследить распространение сигнала через весь кристалл от вход- ных контактов до выходных или наоборот; имя логической функции, назначенной контакту или логической ячейке, автоматически выводится на экран в белом прямоуголь- нике, когда на нем (ней) установлен курсор; если множество элементов размещены в одну и ту же область, то вы можете просмотреть список всех элементов и выбрать один из них для редактирования; вы можете назначить одно и то же имя для выходного контакта одной микросхемы и для входного другой, чтобы управлять раз- делением проекта на части в проекте, реализованном на нескольких микросхемах; функция компилятора smart recompile (интеллектуальная переком- пиляция) позволяет вам быстро перекомпилировать ваш проект после размещения, сделанного в редакторе физического размещения. Редактор физического размещения MAX+plus II предоставляет мно- жество других функций. Например, вы можете увеличивать или уменьшать изображение на экране, чтобы видеть всю микросхему или ее часть. Вы также можете копировать, вырезать, вставлять или удалять одно или несколько выбранных размещений и проводить поиск по имени группы, имени цепи или по номерам контактов, логических ячеек, ячеек ввода/вывода, ячеек встроенной памяти. 1.8.8. Язык описания аппаратных средств фирмы Altera Язык описания аппаратных средств фирмы Altera (AHDL) является высокоуровневым модульным языком, который пол- ностью интегрируется в систему. Вы можете использовать текстовый редактор MAX+plus II или другой текстовый ре- дактор для создания AHDL Text Design Files (текстовых файлов проекта AHDL) с расширением (.tdf), которые вы компилируете и моделируете в MAX+plus II (рис. 1.14).
54 Часть _____________MAX*plus li - d:Vnax2workyutoriaiV:hiptap - [Text Editor - auto_«nax.tdf] MAX» plus II file Edit Templates fissign Utilities Options Window Help Название проекта - Конечный автомат - ONSTANT NORTH CNSTAIJT ONSTANT CONSTANT 5UBZ)E2IGN but: EAST VEST SOUTH = В"GO"; - - £i”10"; mx % Create descriptive name for numbers % for use dlr[i..O], accsi, cix, reset speed too fast, at altera, cret ticket VARIABLE street_nap : MACHINE OF BITS tq£,ql, qCh -------------------- WITH STATES ( yc, rrpld, epld, gdt, rut. rpt.. epru. e_sevhere in INPUT; OUTPUT; file % Fi-kB inputs 4 File outputs Create state mchrns vitli bits qE qi & qC- as outruts of reqister Yzur czKipany H&rigold Earn Lane Drive East Pacific Lane Drive Great Delta Freeway Capitol North First R-gal Fork Terrace East Pacific Haiti tine Col ! INS* % * * * I 1 । I I I i Phc. 1.14 Вы можете использовать любой текстовый редактор ASCII для соз- дания TDF. Однако когда вы вводите файлы AHDL с помощью текстового редактора MAX+plus II. вы можете использовать преимуще- ства ввода проекта, компиляции и отладки, которые есть в САПР MAX+plus II. Например, вы можете воспользоваться преимуществами шаблонов AHDL, использовать синтаксическую раскраску для облег- чения просмотра различных разделов файла, получить контекстно- зависимую справку о синтаксических элементах AHDL, ключевых сло- вах и предложениях, а также о базовых элементах, мегафункниях и макрофункциях. Вы можете произвести назначения ресурсов и пара- метров, использовать возможность автоматического определения местоположения ошибок во время и после компиляции. AHDL состоит нз различных элементов и операторов, которые опи- сывают логику. Ниже выделены основные возможности AHDL, которые делают его идеальным инструментом для описания конечных автоматов, таблиц истинности, булевых уравнений. логики и групповых операторов: вы можете использовать функции из библиотеки параметризо- ванных модулей (LPM) для реализации логики. LPM предо- ставляет комбинационные схемы, арифметические модули, эле- менты памяти для реализации цифровых устройств; В в качестве альтернативы использования LPM функций, вы можете описывать цифровые устройства с помощью булевых выражений и уравнений, макрофункций и таблиц истинности.
Обзор САПР MAX+plus II 55 вы можете создать свои собственные параметризованные проекты в AHDL, используя операторы языка; вы можете сохранять часто используемые константы, оценочные функции, параметры и прототипы функций в Include Files (файлах включения) с расширением (.inc) и вставлять их в любой TDF; AHDL удобен для проектирования конечных автоматов. Вы мо- жете сами определить способ кодирования состояний или позволить сделать это компилятору. Вы также можете импорти- ровать и экспортировать AHDL конечные автоматы между TDF и другими файлами проектов в иерархии; в процессе компиляции MAX+plus II может генерировать AHDL Text Design Export Files (экспортные файлы проекта на языке AHDL) с расширением (.tdx) и Text Design Output Files (выходные текстовые файлы проекта) с расширением (,tdo). Независимо от вашего первоначального метода ввода проекта, вы можете пере- именовать этот файл в TDF и использовать его вместо перво- начального файла (или файлов) проекта. Обратитесь к справочной системе MAX+plus II или к справочнику MAX+plus II AHDL для получения полной информации по AHDL. 1.8.9. VHDL а Язык описания аппаратуры скоростных ИС (VHDL) пред- I ставляет собой высокоуровневый модульный язык, полностью ИНг интегрированный в САПР MAX+plus II. VHDL является язы- ком описания аппаратуры промышленного стандарта, описывающим входы, выходы, поведение и назначение схем. Этот язык определяется Стандартами IEEE 1076-1987 и 1076- 1993. Вы можете использовать текстовый редактор MAX+plus II или другой текстовый редактор для создания VHDL файлов проектов (.vhd) в синтаксических элементах VHDL 1987 или 1993, которые вы компилируете и модели- руете в MAX+plus II (рис. 1.15). Вы можете использовать любой текстовый редактор ASCII для соз- дания VHDL файла проекта (.vhd). Однако, когда вы вводите VHDL файл проекта посредством текстового редактора MAX+plus II, вы можете воспользоваться возможностями ввода проекта, компиляции и отладки, которые доступны только в редакторах MAX+plus II. Например, вы можете воспользоваться шаблонами VHDL, использовать контекстно- зависимую справку MAX+plus II для получения информации о базовых элементах, мегафункциях и макрофункциях фирмы Altera, использовать синтаксическую раскраску для облегчения просмотра различных уча- стков файла, произвести назначения ресурсов и параметров микросхемы
56 Часть 1 и использовать возможность автоматического поиска местоположения ошибок во время и после компиляции МДХ+plus II - drVnaxPworlfltutoriallchipIrip - [Text Editor - counters vhd] - MAX* plus II file Edit lemplates Assign _ Utilities Qptions Window Help — An up/down counter PROCESS iclki VARIABLE VARIABLE СГЛ : INTEGER RANGE О TO 255; direction ; INTEGER; BEGIN IF (up—doun up-doun « 1') THEN direction : 1; M * * ELSE direction :• -1; END IF- IF (elk’EVENT AND elk- ’I'J THEN ent s- ent + direction; END IF; qd <>= ent: END PROCESS; Line 99 [Col 5 [ INS |«T | Рис. 1.15 VHDL файлы проектов могут содержать любую комбинацию кон- струкций, поддерживаемых MAX+plus II. Они также могут содержать базовые элементы, мегафункции и макрофункции фирмы Altera, т.е. файлы проектов нижнего уровня иерархии, а также мега и макрофунк- ции, определяемые пользователем. Компилятор MAX+plus II может создавать выходные файлы VHDL (.vho), содержащие информацию о функциональных и временных пара- метрах проекта после синтеза. Эти файлы могут быть импортированы в симуляторы промышленного стандарта. Информация о временных пара- метрах также может быть записана в Standard Delay Format Output Files (выходные файлы в формате стандартной задержки) с расширением .sdo. Для получения полной и обновленной информации о поддержке VHDL САПР MAX+plus пользуйтесь справочной системой САПР MAX+plus И (Help) или руководством MAX+plus II VHDL.
Обзор САПР MAX+plus II 57 1.8.10. Verilog HDL Язык описания аппаратуры Verilog является высокоуровневым модульным языком, полностью интегрированным в САПР MAX+plus II. Verilog HDL является языком описания аппа- ратуры промышленного стандарта, описывающим входы и выходы, поведение и назначение схем. Этот язык определяется стандартом IEEE Std 1364. Вы можете использовать текстовый редактор MAX+plus II или другой текстовый редактор для создания Verilog файлов проектов (.v), которые вы компили- руете и моделируете в MAX+plus II (рис. 1.16). зг _____________MAX+plus II - cAmax2v/oriAverilog\counters - [Text Editor - counters.v] MAX+plus II file Edit Templates Assign Utilities Options Window Help // MAX+plus 11 Verilog Example // Efficient Counter Inference zz Copyright (c) 1997 Altera Corporation module counters (d, elk, clear. Id. enable, up_down qa. qb, qe, qd, qe, qf, qg, qh, qi, qj qk. ql. qm. qn). input input output output integer Line [7:0] d; elk, clear. Id, enable, up_dowr>. [7:0] [7:0] qa, qb. qc, cid, qe, qf qg. [7:0] [7:0] direct ion zz An enable counter always #(posedge elk) begin if (enable) end qj. qk, ql. qm zz Д synchronous Load counter always 0(posedge elk) begin if (lid) nh a ri 1 [Col I INS |*| qg qn, Рис. 1.16 Вы можете использовать любой текстовый редактор ASCII для соз- дания Verilog файла проекта (.v). Однако, когда вы вводите Verilog файл проекта с помощью текстового редактора MAX+plus II, вы можете воспользоваться уникальными возможностями ввода проекта, компиля- ции и отладки, которые доступны только в редакторах MAX+plus II. Например, вы можете воспользоваться шаблонами Verilog HDL, ис- пользовать контекстно-зависимую справку MAX+plus II для получения информации о базовых элементах, мегафункциях и макрофункциях фирмы Altera, использовать синтаксическую раскраску для облегчения просмотра различных участков файла, произвести назначения ресурсов и параметров микросхемы и использовать возможность автоматического поиска местоположения ошибок во время и после компиляции.
58 Чость I Verilog HDL файлы проектов могут содержать любую комбинацию конструкций, поддерживаемых MAX+plus II. Они также могут содержать базовые элементы, мегафункции и макрофункции фирмы Altera, а также функциональные модули, определяемые пользователем. Компилятор MAX+plus II может создавать выходные файлы Verilog (.vo), содержащие информацию о функциональных и временных пара- метрах проекта после синтеза. Эти файлы могут быть импортированы в симуляторы промышленного стандарта для моделирования вашего проекта. Информация о временных параметрах также может быть записала в Standard Delay Format Output Files (выходные файлы в формате стандартной задержки) с расширением .sdo. Для получения полной и обновленной информации о поддержке Verilog HDL САПР MAX+plus II пользуйтесь справочной системой САПР MAX+plus II (Help) или руководством MAX+plus II Verilog HDL. 1.8.11. Primitives (базовые элементы), мегафункции и макрофункции Altera предоставляет библиотеки функциональных модулей — базовые элементы, мегафункции и макрофункции микросхем серий 74ХХХХ — включая модули, оптимизированные для архитектуры отдельных се- мейств микросхем. Во время инсталляции все функциональные модули копируются в подкаталоги \maxplus2\max21ib и \maxplus2\vhdlnn, где пп это "87" пли "93". (На рабочих станциях UNIX директория maxplus2 является подкаталогом директории /usr.) САПР MAX+plus II содержит информацию обо всех функциональных модулях, включая входные логические уровни по умолчанию, AHDL прототипы функций, VHDL объявления компонентов и функциональ- ные таблицы модулей. Вы просто выбираете кнопку контекстно- зависимой справки на панели инструментов или нажимаете клавиши Shift+Fl в графическом или текстовом редакторе, затем щелкаете кнопку 1 на символе функционального элемента или его имени для открытия соответствующей темы справочной системы. Базовые элементы Базовые элементы, а именно буфер, триггер, триггер-защелка, вход/ выход и логические вентили, являются простейшими функциональными блоками, используемыми для проектирования цифровых схем с помо- щью САПР MAX+plus II. Они могут использоваться в GDF, AHDL, VHDL и Verilog HDL файлах проектов.
Обзор САПР MAX+plus II 59 Базовые элементы в файлах проектов HDL являются подмножеством символов базовых элементов, используемых в GDF файлах. Остальные базовые элементы могут быть описаны различными операторами и средствами языков описания аппаратуры. Базовые элементы являются элементами языка AHDL. VHDL объ- явления компонентов для базовых элементов содержатся в файле maxplus2.vhd в подкаталоге \maxplus2\vhdl/in\altera, где пп это "87” или "93”. В графическом редакторе при рисовании схемы вы можете соединить базовый элемент с шиной. Компилятор автоматически преобразует такое соединение в массив базовых элементов. Количество базовых элементов в нем будет соответствовать числу проводников в шине. Массивы базо- вых элементов являются альтернативой использования параметризован- ных функций. Мегафункции Мегафункции представляют собой сложные или высокоуровневые блоки, которые могут быть использованы вместе с базовыми элементами и другими мега- и макрофункциями для создания проекта. Многие мегафункции, включая функции из библиотеки параметри- зованных модулей (LPM), являются параметризованными по своей сути. В них можно задать разрядность, необходимые управляющие сигналы и другие параметры, которые влияют на поведение и реали- зацию мегафункции. Возможность задавать параметры может сильно упростить ввод проекта. Мегафункции могут свободно использоваться в GDF и во всех файлах проектов HDL. Когда компилятор анализирует все цифровое устройство, он автоматически использует логику, специа- лизированную для выбранного семейства микросхем и удаляет все неиспользуемые элементы для обеспечения оптимального использования ресурсов при реализации данного проекта. Макрофункции микросхем серий 74ХХХХ Макрофункции микросхем серий 74ХХХХ представляют собой слож- ные или высокоуровневые блоки, которые могут быть использованы вместе с базовыми элементами и другими мега- и макрофункциями для создания проекта. Они могут использоваться в GDF и во всех файлах проектов HDL. Когда компилятор анализирует цифровое уст- ройство, он автоматически использует мегафункции, специализирован- ные для выбранного семейства микросхем, и удаляет все неиспользуемые вентили и триггеры для обеспечения оптимального использования ре- сурсов при реализации данного проекта. Все входы макрофункций имеют заданные по умолчанию уровни входных сигналов, и неисполь- зуемые контакты могут оставаться несоединенными.
60 Часть! Многие макрофункции имеют шинные эквиваленты, которые функ- ционально идентичны, но имеют сигнальные линии, сгруппированные в шины. Макрофункции микросхем 74ХХХХ не являются параметризован- ными. Однако некоторые параметры, специфичные для микросхем фирмы Altera, могут применяться к макрофункциям для определения способа их реализации. Altera рекомендует использовать мегафункции LPM вместо эк- вивалентных макрофункции микросхем 74ХХХХ. LPM и другие параметризованные функции легче в использовании, они масшта- бируются и более эффективно реализуются в микросхеме. 1.9. Иерархия проекта Дисплей иерархии проекта MAX+plus II показывает иерархи- ческий проект в виде дерева иерархии, где файлы проектов более низкого уровня представлены в виде ветвей (рис. 1.17). В одном проекте могут использоваться различные способы ввода проектов. Файл проекта верхнего Подсвеченный прямоугольник над символом уровня в иерархии показывает, что файл в данный момент открыт Hierarchy Display chiptripS ©—>autojnex:l@ Соединительная стрелка Кнопка ветвления Иерархическая ветвь Вспомогательные файлы, доступные для редактирования пользователем Рис. 1.17 Когда вы открываете дисплей иерархии проекта, то он показывает полную иерархию файлов проектов, называемую ’’иерархическим дере- вом” текущего проекта. Если один или несколько файлов в иерархии открыты, то верхняя часть символа этого файла отображается в виде подсвеченного прямоугольника. Если проект скомпилирован, то дисплей иерархии проекта показывает всю иерархию файлов проектов и все вспомогательные файлы для файла проекта верхнего уровня.
Обзор САПР MAX+plus II 61 Из окна дисплея иерархии проекта вы можете открыть любой файл, который в нем указан. При этом автоматически будут открываться со- ответствующие редакторы. Вы также можете увеличить или уменьшить масштаб изображения на экране для того, чтобы увидеть всю иерархию или ее часть. Дисплей иерархии проекта предоставляет следующие возможности: вы легко можете открыть любой файл проекта или вспомогатель- ный файл в текущей иерархии из окна дисплея иерархии проекта; кнопки ветвления на пересечениях ветвей иерархического дерева позволяют вам скрывать или отображать ветви более низкого уровня; все имена файлов сопровождаются значками соответствующих редакторов MAX+plus II и расширениями имен; если файл открыт, то над значком файла отображается подсве- ченный прямоугольник. При закрытии файла прямоугольник исчезает; вы можете выбрать файл проекта и просмотреть его физическую реализацию в окне LAB View редактора физического размещения; вы можете выбрать файл проекта и назначить ресурсы для него. Такое действие аналогично назначению ресурсов для символа в графическом редакторе; вы можете отобразить на экране любую из множества открытых иерархий; вы можете отобразить иерархию в горизонтальном или верти- кальном представлении; вы можете вывести на печать текущее иерархическое дерево или любую комбинацию файлов проекта и вспомогательных файлов. л Для получения полной информации обо всех функциях и возмож- ностях дисплея иерархии проекта MAX+plus II пользуйтесь справочной системой САПР MAX+plus II (Help).
62 Часть I 1.10. Обработка проекта САПР MAX+plus II обрабатывает проекты для микросхем Altera Classic, MAX 3000, MAX 5000, MAX 7000, MAX 9000, FLEX 6000, FLEX 8000, FLEX10K и ACEX1K. САПР MAX+plus II компилирует проекты автоматически, но вы можете задать подробную спецификацию процесса компиляции. На рис. 1.18 показано, как САПР MAX+plus II компилирует проекты. Компилятор САПР MAX+plus II База данных Экстрактор списка соеди- нений компи- лятора (вклю- чая модули ввода различ- ных списков соединений) По- строи- тель базы данных Логичес- кий синте- затор Анализа- тор соот- ветствия проекта правилам синтеза Раздели- тель проекта на части Развод- чик Функцио- нальный, временной или связ- ной SNF экстрактор Генера- VHDL и Verilog списков соедине- ний Сборщик файла програм- мирования .snf -fit .rpt .сот ,ndb Процессор сообщений MAX+plus II пех К другим симуляторам промышленного стандарта .рот .sof .tdo .асо Отчет о разводке .mmf Отчет об ошибках К симулятору и временному анализатору MAX+plus II .edo .vho .vo .sdo К программирующим аппаратным средствам MAX+plus II или другим программирующим аппаратным средствам промышленного стандарта Рис. 1.18 1.10.1. Компилятор MAX+plus II Компилятор MAX+plus II состоит из ряда модулей и утилит, проверяющих проект на ошибки, синтезирующих логику, под- бирающих одну или несколько подходящих микросхем фирмы Altera и генерирующих выходные файлы для моделирования, временного анализа и программирования микросхем. Компи- лятор связывает программные модули ввода проекта
Обзор САПР MAX+plus II 63 (графический редактор, текстовый редактор, редактор времен- ных диаграмм, редактор символов и редактор физического размещения) с программными модулями последующей обра- ботки (временной анализатор, симулятор и программатор). На рис. 1.19 показано окно компилятора MAX+plus И. МАХ»plus II - dAinax2work\tutoriahchiptrip МАХ»plus II file Processing Interfaces Assign Options yyindow Help Compiler Builder Fitter Compiler Netlist Extractor Timing SNF Extractor , ........... *1 . . 'Г ' i j « Assembler I Database , Logic ; 1 Synthesizer I Partitinner ! 1 ! WO I I Start 50 1 I i Индикатор выполнения показывает процент выполненной обработки проекта Включена утилита анализатора со- ответствия проекта правилам синтеза Включен модуль временного SNF экстрактора - Песочные часы переворачиваются, когда компилятор обрабатывает проект Рис. 1.19 Входные файлы компилятора Компилятор MAX+plus II использует следующие файлы: графические файлы проекта (.gdf), созданные с помощью графи- ческого редактора MAX+plus II; текстовые файлы проекта (.tdf), созданные на языке описания аппаратных средств фирмы Altera (AHDL); VHDL файлы проекта (.vhd), созданные в синтаксисе VHDL 1987 или 1993; Verilog файлы проекта (.v), созданные в синтаксисе Verilog HDL; входные файлы EDIF версии 200 или 300 (.edf), созданные любым стандартным генератором EDIF netlist файлов; файлы проектов временных диаграмм (.wdf), созданные с помо- щью редактора временных диаграмм MAX+plus II;
64 Часть I OrCAD схемные файлы (.sch), созданные с помощью схемного редактора OrCAD Draft млн с помощью графического редактора MAX+plus II; файлы формата списка соединений фирмы Xilinx (.xnf), созданные с помощью программного обеспечения фирмы Xilinx; файлы проектов Altera (.adf), созданные с помощью A+plus — первого САПР Altera. ADF файл для описания проекта использует формат списка соединений и булевы логические выражения. Во время компиляции проекта компилятор MAX+plus II автоматически преобразует ADF в файл списка соединений компилятора (.cnf); файлы конечных автоматов (.smf), которые содержат описание конечных автоматов, созданные для использования с Altera A+plus или SAM+plus. Во время компиляции компилятор MAX+plus II автоматически преобразует SMF в файл проекта Altera (.adf) и файл списка соединений компилятора (.cnf); шестнадцатиричные (формата Intel) файлы (.hex) и/или файлы исходного состояния памяти (.mif), содержащие первоначально загружаемые данные для блоков памяти; командные файлы EDIF (.edc), используемые для задания пара- метров выходных EDIF файлов (.edo), созданных компилятором MAX+plus И; файл назначений н конфигурации (.acf), в котором хранятся параметры и назначения для данного проекта, настройки компи- лятора, симулятора и временного анализатора. 3 Информация о назначениях и конфигурации версий MAX+plus II до 5.0, которая хранилась в файлах TDF, Probe & Resourse Assignment (.prb), и <имя проекта>.ini, может быть автома- тически преобразована в формат ACF. символьные файлы (.sym), созданные с помощью редактора сим- волов MAX+plus II; файлы включения (.inc), импортируемые в AHDL текстовый файл проекта (.tdf) посредством AHDL Include Statement (оператора включения в языке AHDL). Файл включения замещает вызвавший его оператор включения. Файл включения может содержать опе- раторы языка AHDL Function Prototype, Define, Parameters или Constant Statements. Компилятор также использует AHDL про- тотипы функций в файлах включения для обработки логических функций в Verilog файлах проектов (.v); Library Mapping Files (файлы карты библиотек) (Jmf), исполь- зуемые для составления карты ячеек во входных файлах EDIF и OrCAD схемных файлах, соответствующих базовым элементам и макрофункциям MAX+plus II.
Обзор САПР MAX+plus II 65 Процесс компиляции Компилятор сначала извлекает информацию, определяющую иерар- хические связи между файлами проектов, и проверяет проект на основные ошибки при его вводе. Он создает карту всего проекта и объединяет все файлы проектов в базу данных, которая может быть эффективно обработана. Компилятор использует различные алгоритмы для повышения бы- стродействия вашего проекта и минимизации используемых ресурсов микросхемы. Если ваш проект слишком велик для одной микросхемы, компилятор может автоматически разделить его на несколько микросхем из одного и того же семейства. При этом число соединений между микросхемами будет минимизировано. Файл отчета (.rpt) показывает, как будет реализован проект на одной или нескольких микросхемах. Также компилятор создает файлы для программатора, которые программатор MAX+plus II или другой программатор промышленного стандарта использует для программирования одной или нескольких микросхем фирмы Altera. Хотя компилятор может компилировать проект при минимальном вашем вмешательстве, он также позволяет вам задавать различные параметры обработки проекта. Например, вы можете определить стиль логического синтеза проекта по умолчанию и задать различные на- стройки логического синтеза для всего проекта. Вы можете задать требования к характеристикам быстродействия проекта, определить, как разделить большой проект на несколько микросхем и установить раз- нообразные опции для выбранной микросхемы. Вы также можете указать сколько контактов и логических ячеек должны оставаться свободными во время текущей компиляции для обеспечения дополнительных функ- ций вашего устройства в будущем. Выполнение компиляции Вы можете начать компиляцию проекта из любого программного модуля MAX+plus II или из модуля компилятора. Компилятор автома- тически обрабатывает все входные файлы для текущего проекта, и вы можете отслеживать процесс компиляции в окне компилятора: песочные часы отсчитывают время и переворачиваются, указывая на то, что компилятор работает; поля модулей поочередно подсвечиваются по мере того, как компилятор заканчивает выполнение каждой стадии обработки; значки, представляющие файлы, появляются под генерирующими их полями модулей компилятора. Вы можете дважды щелкнуть кнопку 1 мыши на значке для открытия соответствующего файла; процент выполненной обработки проекта показан движущейся к 100% полоской в индикаторе выполнения;
66 Часть! во время разделения проекта на части и разводки кнопка Stop в окне компилятора преобразуется в кнопку Stop/Show Status, которую вы можете нажать для открытия диалогового окна и просмотра статуса проекта на этих этапах обработки; при обнаружении любой ошибки или потенциальной проблемы во время компиляции автоматически открывается окно процессора сообщений, где выводятся информационные сообщения, сообще- ния об ошибках и предупреждения. Вы можете получить справку о том, как эту ошибку можно исправить, определить местополо- жение источника сообщения в файлах проектов или в редакторе физического размещения. Компилятор может запускаться в фоновом режиме. Вы можете свер- нуть его, пока он обрабатывает проект, и продолжить работу с другими файлами. Индикатор выполнения под свернутой иконкой компилятора позволяет вам видеть продвижение процесса компиляции, при этом вы можете уделять основное внимание другой задаче. 1.10.2. Модули компилятора и выходные файлы Компилятор MAX+plus II обрабатывает проект с помощью следую- щих модулей и утилит: Compiler Netlist Extractor (экстрактор списка соединений компи- лятора, включая встроенные модули ввода списков соединении EDIF, VHDL, Verilog и XNF); Database Builder (построитель базы данных); Logic Synthesizer (логический синтезатор); Partitioner (разделитель проекта на части); Fitter (разводчик); Functional SNF Extractor (функциональный SNF экстрактор); Timing SNF Extractor (временной SNF экстрактор); Linked SNF Extractor (связывающий SNF экстрактор); EDIF Netlist Writer (генератор EDIF списка соединений); Verilog Netlist Writer (генератор Verilog списка соединений); VHDL Netlist Writer (генератор VHDL списка соединений): Assembler (сборщик файла программирования); Design Doctor Utility (утилита анализатора соответствия проекта правилам синтеза). Compiler Netlist Extractor (экстрактор списка соединений компилятора, включая встроенные модули ввода списков соединений EDIF, VHDL, Verilog и XNF) Экстрактор списка соединений компилятора преобразует каждый файл проекта в один или несколько двоичных Compiler Netlist Files
Обзор САПР MAX+plus II 67 (файлов списка соединений компилятора) (.cnf). Из-за того, что экстрактор списка соединений компилятора разрешает использовать любые значения параметров в параметризованных функциях, содержи- мое CNF может изменяться при последующих компиляциях, если изменялись значения параметров. Экстрактор списка соединений компилятора также создает Hierarchy Interconnect File (файл иерархи- ческой схемы соединений) (.hif), который документирует иерархические соединения между файлами всего проекта и обеспечивает информацию, необходимую для того, чтобы показать иерархическое дерево проекта в дисплее иерархии проекта. Кроме того, экстрактор списка соединений компилятора создает Node Database File (файл базы данных цепей) (.ndb), который содержит названия цепей проекта для базы данных назначений ресурсов. Встроенные модули ввода списков соединений EDIF, VHDL, Verilog и XNF автоматически преобразовывают информацию о проекте из входных файлов EDIF (.edf), файлов проектов VHDL (.vhd), файлов проектов Verilog (.v) и из файлов формата списка соединений Xilinx (.xnf) в некоторый формат, используемый САПР MAX+plus II. Модуль ввода списка соединений EDIF обрабатывает входные EDIF файлы с помощью файлов карты библиотек (.Imf), которые определяют соот- ветствие между логическими функциями других САПР промышленного стандарта EDA и функциями MAX+plus II. Модуль ввода списка со- единений XNF дополнительно создает Text Design Export File (текстовый файл экспорта проекта) (.tdx), который содержит проект на языке AHDL, эквивалентный проекту из файла формата списков соединений Xilinx (.xnf). Database Builder (построитель базы данных) Построитель базы данных использует HIF для связывания CNF, описывающих проект. Используя информацию из HIF файла, построи- тель базы данных копирует каждый CNF файл в единую, одноуровневую базу данных проекта. Таким образом, эта база данных содержит ин- формацию об электрических соединениях проекта По мере создания базы данных построитель базы данных проверяет логическую законченность проекта и синтаксические ошибки (т.е. цепь без источника или приемника). Большинство ошибок обнаруживается и может быть легко исправлено на этой стадии обработки. Каждый модуль компилятора последовательно обрабатывает и обновляет эту базу данных. Вы можете использовать возможность smart recompile (интеллекту- альная перекомпиляции) для создания расширенной базы данных проекта, которая ускорит последующие компиляции. Эта база данных позволит вам при изменении назначений физических ресурсов микро- схемы, например, назначения контактов или логических ячеек, пере-
68 Часть компилировать проект без повторного построения базы данных и синтеза логики проекта. С помощью функции total recompile (полная переком- пиляция) вы можете полностью перекомпилировать проект. Logic Synthesizer (логический синтезатор) Модуль логического синтезатора применяет ряд алгоритмов, устра- няющих избыточную логику и оптимально использующих ресурсы микросхемы определенного семейства, при реализации вашего проекта. При этом он старается достичь заданных пользователем требований к проекту. Кроме того, логический синтезатор ищет несвязанные цепи. Если он их находит, то удаляет все элементы, связанные с этой цепью. Используя параметры пли один из трех стилей синтеза, вы можете управлять результатами логического синтеза. Вы можете задать параметры и определить стили логического синтеза из любого программного модуля MAX+plus II. ’*« За более полной информацией обратитесь к Global Project Timing Requirements (требуемые характеристики быстродействия для текущего проекта) и Global Project Logic Synthesis (параметры логического синтеза для текущего проекта) на стр. 40. Partitioner (разделитель проекта на части) Если проект не разместить в одной микросхеме, разделитель проекта на части разбивает базу данных, обновленную логическим синтезатором, на части для размещения в нескольких микросхемах одного и того же семейства, пытаясь реализовать проект на минимальном количестве микросхем. Проект разделяется вдоль границ логических ячеек так, чтобы число внешних контактов было минимально. Когда выполняются модули разделителя проекта на части и развод- чика, вы можете приостановить компиляцию. Компилятор в этом случае выведет на экран информацию о текущем статусе процессов разделения проекта на части и разводки, включая сравнение требуемых и доступных ресурсов так, чтобы вы могли решить, продолжать или нет компиляцию Fitter (разводчик) Используя базу данных, обновленную разделителем проекта на части, разводчик согласовывает требуемые ресурсы для проекта с ресурсами одной или нескольких микросхем. Он назначает для каждого функцио- нального модуля наилучшее местоположение логических ячеек и подбирает соответствующие пути соединений и внешние контакты для них. Разводчик пытается согласовать ваши назначения ресурсов из файла Assignment & Configuration (назначений и конфгурации) (.acf) с доступными ресурсами. Опции разводчика позволяют вам задавать
Обзор САПР MAX+plus II 69 разные алгоритмы для достижения лучшей разводки, например, посред- ством автоматической вставки логических ячеек или ограничения количества входных связей ячеек. Если разводчик не смог развести проект, то он предлагает вам отклонить часть, либо все ваши назначения или завершить компиляцию. Независимо от того, разведен проект или нет, разводчик создает Report File (файл отчета) (.rpt), в котором документируется информация о разводке, названия входных и выходных контактов, временные пара- метры проекта и неиспользованные ресурсы для каждой микросхемы проекта. Вы можете дополнительно включить разделы файла отчета, которые показывают назначения пользователя, файловую иерархию, соединения логических ячеек и логические уравнения. Компилятор также автоматически создает Fit File (файл разводки) (.fit), который документирует назначения ресурсов микросхемы для всего проекта и информацию о трассировке. Независимо от того, успешно или нет завершилась разводка, вы можете просмотреть ее результаты с помощью редактора физического размещения. Вы также можете ско- пировать результаты последней разводки из FIT файла в ACF файл проекта для редактирования с помощью команды Back-annotate. Вы можете дополнительно дать команду разводчику создать AHDL Text Design Output Files (AHDL текстовые выходные файлы проекта) (.tdo) для оптимально разведенного проекта. Так как для каждой микросхемы создается свой файл проекта, то проект, реализованный на нескольких микросхемах, вы можете разделить на несколько проектов, соответствующих этим микросхемам. Затем вы можете редактировать логику для отдельной микросхемы, сохраняя TDO файл для этой микросхемы в качестве текстового файла проекта (.tdf). При переком- пиляции логики для этой микросхемы сохранятся результаты предыдущей компиляции для остальной части проекта. Functional SNF Extractor (функциональный SNF экстрактор} Функциональный SNF экстрактор создает функциональный файл спи- ска соединений симулятора (.snf), необходимый для функционального моделирования. Компилятор создает этот файл перед синтезом проекта, следовательно, он содержит все цепи, представленные в первоначальных файлах проектов. Функциональный SNF файл не содержит информации о временных параметрах, но быстро генерируется. Этот файл создается только в том случае, если проект компилируется без ошибок. Fiming SNF Extractor (временной SNF экстрактор) Временной SNF экстрактор создает временной файл списка соеди- нений симулятора (.snf), который содержит временные параметры проекта. Этот файл используется для временного моделирования и для
70 Часть! временного анализа. Генераторы списков соединений EDIF, Verilog и VHDL также используют временные SNF файлы и SDO файлы для создания EDIF, Verilog HDL и VHDL выходных файлов. Временной SNF файл создается только в том случае, если проект компилируется без ошибок. Вы можете дать указание компилятору создать оптимизированный SNF файл, содержащий динамические модели для различных типов комбинаторной логики. Создание оптимизированного SNF файла уве- личивает время компиляции, по он может сберечь ваше время в процессе моделирования и временного анализа. Linked SNF Extractor (объединенный SNF экстрактор) Объединенный SNF экстрактор создает объединенный файл списка соединений симулятора (.snf), который содержит функциональные и временные параметры для моделирования нескольких проектов, разме- щенных на одной плате. Этот файл объединяет информацию из временных SNF или функциональных SNF файлов нескольких проектов. Проекты, которые объединяются, могут использовать микросхемы из различных семейств. Если объединенный SNF файл содержит инфор- мацию о временных параметрах всех проектов, то вы можете исполь- зовать его для выполнения временного анализа. Такой файл создается только в том случае, если проект компилируется без ошибок. « За более подробной информацией о симуляторе MAX+plus II об- ратитесь к разделу "Проверка проекта" на стр. 74 или к спра- вочной системе MAX+plus II. EDIF Netlist Writer (генератор EDIF списка соединений) Компилятор MAX-rplusII может работать с большинством других САПР промышленного стандарта САЕ, которые могут считывать файлы списков соединений в стандартном формате EDIF 200 или 300. Генератор EDIF списка соединений создает один или несколько выходных файлов EDIF (.edo), содержащих функциональную и временную информацию после синтеза проекта. Информация о временных параметрах также может быть записана в выходные файлы стандартного формата задержки с расширением (,sdo). Эти файлы могут использоваться симуляторами промышленного стандарта. Выходные файлы EDIF и SDO создаются только в том случае, если проект компилируется без ошибок. Verilog Netlist Writer (генератор Verilog списка соединений) Генератор Verilog списка соединений создает один или несколько выходных файлов Verilog (.vo), содержащих функциональную и вре- менную информацию после синтеза проекта. Информация о временных
Обзор САПР MAX+plus II - • - — — — - - - 1— 71 параметрах также может быть записана в выходные файлы стандартного формата задержки с расширением (.sdo). Эти файлы могут использо- ваться симуляторами промышленного стандарта Verilog HDL. Выходные файлы Verilog HDL и SDO создаются только в том случае, если проект компилируется без ошибок. VHDL Netlist Writer (генератор VHDL списка соединений) Генератор VHDL списка соединений создает один или несколько выходных файлов VHDL (.vho) в синтаксисе VHDL 1987 или 1993, содержащих функциональную и временную информацию после синтеза проекта. Информация о временных параметрах также может быть за- писана в выходные файлы стандартного формата задержки с расширением (.sdo). Эти файлы могут использоваться симуляторами промышленного стандарта VHDL. Выходные файлы VHDL и SDO создаются только в том случае, если проект компилируется без ошибок. Assembler (сборщик файла программирования) Сборщик файла программирования преобразует сделанные развод- чиком назначения логических ячеек, контактов и микросхемы в загру- зочный модуль для программирования микросхемы (микросхем) в виде одного или нескольких двоичных Programmer Object Files (объектных файлов программатора) (.pof) или SRAM Object Files (объектных фай- лов SRAM) (.sof)- Для некоторых микросхем компилятор также создает JEDEC файлы (.jed), Tabular Text Files (табличные текстовые файлы) (.ttf) и Hexadecimal (Intel-format) Files (шестнадцатиричные файлы) (.hex). Файлы POF, SOF и JEDEC используются средствами програм- мирования фирмы Altera или других фирм для программирования или конфигурирования микросхем. Файлы HEX и TTF могут использоваться для конфигурирования микросхем FLEX 6000, FLEX 8000, FLEX ЮК и АСЕХ1К другими способами. Сборщик файла программирования создает файлы программирования только в том случае, если проект компилируется без ошибок. После завершения компиляции компилятор и программатор MAX+plus II позволяют вам создавать дополнительные файлы програм- мирования для использования с другими средствами программирования. Например, вы можете создать Serial Bitstream Files (последовательные файлы битовых потоков) (.sbf) и Raw Binary Files (необработанные двоичные файлы) (.rbf) для конфигурирования микросхем FLEX 6000, FLEX 8000, FLEX 10К и ACEX1K. Вы также можете создавать Serial Vector Format Files (последовательные векторные файлы) (.svf) и Jam файлы (.jam) для программирования микросхем на оборудовании с автоматическим тестированием или под управлением встраиваемого процессора, соответственно.
72 Часть Design Doctor Utility (утилита анализатора соответствия проекта правилам синтеза) Утилита анализатора соответствия проекта правилам синтеза проверяет каждый файл проекта на наличие в нем структур, могущих вызвать проблемы функциональной надежности на уровне системы. Обычно они выявляются после того, как проект пошел в производство. Вы можете выбрать одну из трех предопределенных настроек или сами задать парамерты для анализатора соответствия проекта правилам синтеза. Нарушение правил синтеза может происходить при наличии в проекте несинхронизированных входов, пульсаций тактовых импульсов, много- уровневой логики на синхровходах, входах асинхронной установки и сброса, гонок сигналов. Справочная система MAX+plus II объясняет, какие могут быть нарушения правил синтеза, чтобы помочь вам опре- делить. что нужно изменить в данном файле проекта. За более полной информацией обо всех функциях и возможностях компилятора обратитесь к справочной системе MAX+plus II. 1.11. Обнаружение ошибок и определение их местонахождения Процессор сообщений MAX+plus II (рис. 1.20) имеет связь со всеми программными модулями MAX+plus II, выдающими сообщения об ошибках, информационные сообщения и пре- дупреждения по мере того, как вы обрабатываете, проверяете или программируете проект. Если вы дважды щелкните на сообщении кнопку 1 мыши, то процессор сообщений автомати- чески откроет файл проекта, вспомогательный файл или фи- зическое размещение проекта, которые содержат источник сообщения, и выделит источник ошибки. Процессор сообщений предоставляет следующие возможности: если сообщение имеет несколько источников, то процессор сооб- щений позволяет вам найти местоположение каждого из них; вы можете определить местонахождение источника сообщения в файлах проектов и во вспомогательных файлах (например, в SCF файле), или на физическом уровне в редакторе физического раз- мещения; когда вы выводите список путей сигналов с помощью кнопки List Paths во временном анализаторе MAX+plus II, процессор
Обзор САПР MAX+plus il 73 сообщений выводит на экран сообщения, показывающие все за- держки распространения между парами цепей; если вы хотите определить местонахождение сообщений на фи- зическом уровне размещения проекта, то вы можете определить местонахождение каждого их источников сообщения последова- тельно, или определить местонахождении всех источников одно- временно. Определение местонахождения всех источников одно- временно — удобный способ для просмотра критических времен- ных путей; вы можете печатать текущие сообщения пли сохранить их в ASCII Message Text File (текстовом файле сообщений ASCII) (.mtf); если сообщение выделено в окне процессора сообщений и вы выбираете кнопку Help on Message (справка о сообщении), то вы получаете подробную информацию о возможной причине со- общения п о действиях по ее устранению. Окно процессора сообщений открывается во время компиляции, если генерируется сообщение МАХ♦ plus II -d:\fnax2work\tutorial\chiphip MAX* plus II tile Assign Options Window Help rerare Двойной щелчок на сообщении является быстрым вызо- вом для выбора кнопки Locate (определить местонахожде- ние) Позволяет вам прокручивать все сообщения На экран выво- дится общее число сгенерирован- ных сообщений и номер сооб- щения, выбранного в данный момент Compiler Start Slop n ~ a “I________________________________Messages - Compiler______________________________ Into: Stole 'altera' in state machine *|outo_max:1|strcet_map* is never exited Into: Design Doctor has given the project a clean bill of health based on the EPLD Rules sei Warning: Pin or logic cell assignment Ignored tor chip assigned to AUTO Info: Selecting a device from (MAX70D0* family tor AUTO device 'chiptrip' Info: Chip’ 'chiptrip* successfully lit into AUTO device TPM7032LC444»* [ < Locate ► 0 u| U 4 Message ► ’ 0 d! 5 Locate in Eloorplan Editor | Locate AH ~4 Help on Message i Автоматически выделяет источник ошибки или предупреждения, если сообщение связано с не- сколькими источниками, вы можете последовательно определить местоположе- ние каждого источника Позволяет вам отсле- живать источник (источники) сообщения в редакторе физического разме- щения вместо файла проекта или вспомога- тельного файла Открывает окно редактора физического разме- щения и выделяет все источники выбранного сообще- ния одновременно Выводит на экран информацию о причине сообще- ния и о том, как ее можно исправить Рис. 1.20 За полной информацией о функциях и возможностях процессора сообщений обратитесь к справочной системе MAX+plus II.
74 Часть I 1.12. Проверка проекта Вы можете проверить скомпилированный проект с помощью трех программных модулей MAX+plus II Simulator (симулятор), Timing Ana- lyzer (временной анализатор) и Waveform Editor (редактор временных диаграмм) (рис. 1.21). 1.12.1. Симулятор MAX+plus II Симулятор MAX+plus II проверяет логические операции и внутренние временные соотношения проекта, позволяя вам смоделировать работу проекта перед тем, как запрограмми- ровать его в микросхему. Вы можете запустить симулятор либо в интерактивном режиме, либо в режиме пакетной об- работки. На рис. 1.22 показано окно симулятора.
Обзор САПР MAX+plus II 75 Временной SNF, созданный во время компиляции, загружается автоматически Когда вы первый раз открываете симулятор, SCF или векторный файл с тем же именем, что и проект, загружается автоматически chiptrip MAX+plus II - (IrVnaxPworkfojforial МАХ» plus II file Assign Options Initialize SVindow Це Индикатор выполнения Показывает текущее время моделирования Показывает конечное время для текущего SCF или векторного файла i 1 Г 1 1 i » I Plic. 1.22 Для моделирования проекта вы должны сначала скомпилировать его и дать указание компилятору создать файл списка соединений симулято- ра (.snf) для функционального, временного или объединенного моделирования. Затем функциональный, временной пли объединенный SNF файл для текущего проекта загружается автоматически при от- крытии симулятора. Симулятор использует графический файл временных диаграмм Simu- lator Channel File (.scf) или векторный файл ASCII (.vec) в качестве источника входных сигналов. Для проектов, содержащих память, вы можете назначить ее исходное значение с помощью Hexadecimal Intel- format Files (шестнадцатиричных файлов) (.hex) или Memory Initiali- zation Files (файлов инициализации памяти) (.mif). Редактор временных диаграмм может автоматически создавать SCF файл ио умолчанию, который вы затем может редактировать для задания желаемых входных сигналов. Если вы создали векторный файл, то симулятор автоматически создает из пего SCF файл. « Для получения дополнительной информации о формате вектор- ного файла обратитесь к Vector File Format в справочной системе MAX+plus II. Вы также можете обратиться к разделу "Занятие 10: Моделирование проекта" на стр. 171 в самоучителе по MAX+plus II.
76 Часть I Симулятор позволяет вам сравнить значения выходных сигналов, полученных в результате моделирования, с их значениями в SCF файле, например, определенные пользователем ожидаемые значения выходных сигналов или их значения от предыдущего моделирования. С помощью некоторых средств программирования вы можете выполнить функцио- нальное тестирование микросхемы, при котором будут сравниваться выходные сигналы на контактах микросхемы с их значениями, полу- ченными при моделировании. Используя возможности симулятора, вы можете проверить ваш про- ект на наличие импульсных выбросов,, нестабильных сигналов или нарушений времен предустановки и удержания. Как только моделиро- вание закончено, вы можете открыть редактор временных диаграмм для просмотра обновленного SCF файла или сохранения значения выходных сигналов в Table File (табличном файле) (.tbl). Для просмотра TBL файлов используется текстовый редактор. Функциональное моделирование Компилятор MAX+plus II создает функциональный SNF файл перед тем, как он синтезирует проект. Следовательно, при функциональном мо- делировании все введенные в проекте цепи могут быть промоделированы. Во время функционального моделирования симулятор игнорирует все задержки распространения. Поэтому выходные сигналы изменяются одновременно с входными. Временное моделирование Компилятор MAX+plus II создает временной SNF файл после того, как проект полностью синтезирован и оптимизирован. Следовательно, временной SNF файл содержит только те цепи, которые не были исключены во время логического синтеза. Симулятор использует для моделирования проекта информацию из временного SNF файла, который создается с учетом параметров мик- росхемы. Эти параметры берутся из Device Model Files (файлов моделей микросхем) (.dmf), входящих в состав САПР MAX+plus II. Если проект уже разделен на две или несколько микросхем, компилятор создает SNF файлы для проекта в целом и для каждой микросхемы. Однако временное моделирование выполняется только для всего проекта. Вы можете ускорить временное моделирование, давая компилятору указание создать оптимизированный SNF файл, содержащий динами- ческие модели, представляющие различные типы комбинаторной логики. При этом время компиляции увеличивается, однако получившийся в результате SNF файл может уменьшить время моделирования, так как симулятор может обратиться к динамической модели вместо интерпре- тации всей логики в комбинаторной схеме.
Обзор САПР MAX+plus II 77 Объединенное моделирование Когда компилятор MAX+plus II создает объединенный SNF файл, он объединяет функциональные и/или временные SNF файлы для нескольких отдельных проектов Отдельные "подпроекты" в объединен- ном SNF файле могут быть реализованы на микросхемах фирмы Altera из различные семейств. Из-за того, что функциональные SNF скомпи- лированы не полностью, вы можете добавить подпроекты, представ- ляющие логику, реализованную на микросхемах других фирм. Вы можете использовать объединенный SNF файл для выполнения моделирования на уровне платы. Если объединенный SNF файл содер- жит только временную информацию, вы можете использовать его для выполнения временного анализа с помощью временного анализатора MAX+plus И. Основные особенности симулятора Вместе с другими программными модулями MAX+plus II, симулятор позволяет вам выполнять следующие действия: назначать ожидаемые значения выходных сигналов, чтобы срав- нить их с результатами моделирования; моделировать отдельные или групповые цепи. Вы можете объе- динить биты, кодирующие состояния конечного автомата в группу, и ссылаться на них с помощью имен состояний автомата; определять интервалы времени, на которых появляются импульс- ные выбросы или нестабильные сигналы; регистрировать нарушения времен предустановки и удержания для триггеров; выполнять функциональное тестирование микросхемы. Вы можете проверить, эквивалентны ли функционально выходные сигналы, полученные в результате моделирования, и сигналы на контактах микросхемы; задавать условия для контрольных точек, вызывающих приоста- новку симулятора, когда эти условия выполняются; составлять список имен цепей и их начальных значений перед моделированием; задавать начальные значения для блоков памяти (RAM или ROM) перед моделированием; сохранять начальные значения для цепей и памяти в Simulator Initialization File (файле начальных значений симулятора) (.sif) или загружать их из него; сохранять все команды симулятора, которые вы выполняете в интерактивном режиме, в ASCII Log File (файле регистрации) (•log), который имеет такой же формат, как Command File (командный файл) (.cmd), используемый при работе симулятора
78 Часть I в пакетном режиме. С помощью файла регистрации вы можете повторить предыдущее моделирование. Кроме этого, вы можете записать команды симулятора и их действия в ASCII History File (файл истории) (.hst). За более полной информацией обо всех функциях и возможностях симулятора MAX+plus II обратитесь к справочной системе MAX+plus II. 1.12.2. Редактор временных диаграмм MAX+plus II Редактор временных диаграмм MAX+plus II (рис. 1.23) ис- пользуется в качестве инструмента ввода проекта и в качестве инструмента для задания значений входных сигналов и про- смотра результатов моделирования. Вы можете создать Waveform Design Files (файлы проектов, описанных времен- ными диаграммами) (.wdf), содержащие логику проекта, и Simulator Channel Files (файлы временных диаграмм) (.scf), содержащие входные вектора для моделирования. Поле Name, «ока- из^ен™й зывающее названия размеры полей цепей и групп Неопре^шный QQ логический уровень выход- ных и внутренних цепей MAX+plus II - d ^max2workViftoriaiyjitptrip - [Waveform Editor - chiptrip.scf} MAX+pl is II tile Edit View Mode Assign Utilities Options Window Help Метка _ выходной цепи Ref C One Name. Метка входной цепи Метка ____ групповой внутренней цепи *|*| Time: lO.Ons , Value -— 0 0 0 0 0 0 X HXX HX HX 0.0ns Interval: 250 0ns 0.0ns 500.0ns ____I— 750.0ns —- * i 5005 Hime_cnt:4|count[7..0J auto_maN:1|street_map Ispeed ch2|speed XX z x Для группы сигналов показывается их значение в выбранной системе счисления Рис. 1.23 Н показывает, что для этой группы основание системы счисления — HEX №8^
Обзор САПР MAX+plus II 79 Для моделирования проекта вы должны задать значения входных сигналов. Это можно сделать графически с помощью временных диа- грамм, заданных в SCF файле, или с помощью текстового описания в ASCII Vector File (векторном файле) (.vec). В SCF файле вы задаете временные диаграммы входных сигналов, которые будут управлять моделированием, и названия внутренних и выходных цепей, сигналы в которых будут смоделированы. До процесса моделирования внутренние и выходные цепи имеют неопределенные логические уровни, но вы можете их отредактировать, чтобы задать ожидаемые значения этих сигналов. Редактор временных диаграмм может использовать Simulator Netlist File (файл списка соединений симулятора) (.snf) для создания SCF файла по умолчанию, содержащего часть или все цепи в компилируемом проекте. Вы можете редактировать этот SCF файл в соответствии с вашими требованиями или вы можете создать SCF файл "с нуля”. Кроме того, вы можете импортировать Vector File (векторный файл) для автоматического создания его графического эквивалента в виде временных диаграмм. С помощью редактора временных диаграмм вы можете просмотреть выходные сигналы в SCF файле, полученные в результате моделиро- вания. Симулятор создает SCF файл автоматически, если источником входных векторов является векторный файл, и наоборот, SCF, который был источником входных векторов, просто обновляется во время мо- делирования. Временные диаграммы внутренних и выходных цепей переписываются на основе моделирования входных сигналов. За более подробной информацией обратитесь к разделу "Редак- тор временных диаграмм MAX+plus II" на стр. 48. За полной информацией о редакторе временных диаграмм MAX+plus II обратитесь к справочной системе MAX+plus II. 1.12.3. Временной анализатор MAX+plus II С помощью временного анализатора MAX+plus II (рис. 1.24) вы можете анализировать быстродействие проекта после того, как он оптимизирован компилятором. Вы можете отслеживать все пути сигналов в проекте, определяя пути с наибольшей задержкой распространения и пути, которые ограничивают быстродействие проекта. Временной анализатор использует информацию из временного SNF файла, генерируемого компилятором. Временной анализатор может так- же использовать объединенный SNF файл, который связывает времен- ные SNF файлы других проектов.
80 Часть I Матрица задержек представляет собой один из трех видов анализа выполняемых временным анализатором MAX+plus II - d:\max7wori(\tt tr rfalfchiptrip - [Timing Analyzer] Utilities Options Window Help । МАХ» plus II file Mode Analysis Assign □ u ! Delay Matrix Destination дзкеЛ tickeH ticket? bcV-t3 JitneU j асое! • 1 I i 80ns BOns 60ns • 6,0ns 8.0ns 1* JT-E dfO 1 1 d'r1 • 1 | enable reset “I J 1 1 i » I i 1 Start Stop List Paths Открывает окно процессора сообщений и выводит список всех задержек и путей между парами цепей Рис. 1.24 Временной анализатор выполняет три типа анализа: матрица задержек, которая показывает самые короткие и самые длинные пути задержек распространения между источниками и приемниками сигналов в проекте; матрица времен предустановки/удержания, которая показывает минимальное необходимое время предустановки и удержания сиг- налов на входах D (информационный вход), шинах адреса, входах разрешения записи триггеров и RAM относительно входов Clock (спнхровход) или Latch Enable (разрешение фиксации); дисплей максимального быстродействия, который показывает ре- зультаты анализа на максимальное быстродействие, включая опре- деленную пользователем задержку распространения, минимальный период тактового сигнала и максимальную частоту для схемы. С помощью временного анализатора вы можете выделить множество источников и приемников сигналов так, чтобы они были включены в анализ. можете выделить эти цепи непосредственно в файлах про- ектов с помощью графического или текстового редактора, или редактора временных диаграмм и на физическом уровне с помощью редактора физического размещения. Вы также можете использовать выделения
Обзор САПР MAX+plus II 81 ———----------- .. .. - . - - - - - irrilllWH J IIJ ._ - . .-• - цепей по умолчанию, доступные для каждого типа анализа. Более того, вы можете выбрать для анализа пути с задержкой меньшей или большей определенного значения, отсечь пути, которые вас не интересуют, так чтобы в анализ включались только те сигналы, которые ведут к данной цепи. Вы также можете исключить из анализа пути задержки сигналов I/O pin feedback (обратная связь через контакт ввода-вывода), Clear (сброс), Preset (установка) и ограничить количество путей для синхро- сигнала в дисплее максимального быстродействия. После того, как временной анализатор закончит анализ, вы можете выбрать источник или приемник сигнала и получить список всех, связанных с ними путей задержек. Процессор сообщений автоматически показывает выбранные цепи в исходном файле проекта или на физи- ческом уровне. Вы можете сохранить результаты временного анализа в Timing Ana- lyzer Output File (выходном файле временного анализатора) (.tao). За более полной информацией обо всех функциях и возможностях временного анализатора MAX+plus II обратитесь к справочной системе MAX+plus II. 1.13. Программирование микросхемы Altera предоставляет аппаратные и программные средства, необходи- мые для'программирования, конфигурирования и верификации микро- схем фирмы Altera (рис. 1.25). Аппаратные средства включают в себя дополнительную плату программатора (для 486 или Pentium PC), ко- торая запускает Altera Master Programming Unit (MPU) (базовый модуль программатора фирмы Altera). MPU выполняет проверку на наличие электрического контакта между программирующим адаптером и мик- росхемой, С помощью соответствующего программирующего адаптера MPU также поддерживает функциональное тестирование микросхемы. Вы можете применять векторы, созданные для моделирования, к про- граммируемой микросхеме .для ее функционального тестирования. Altera также поддерживает возможность In-system programmability (ISP) (программирования в системе) и In-circuit Reconfiguration (ICR) (переконфигурирования микросхемы) с помощью кабеля загрузки FLEX (для PC), параллельного кабеля загрузки ByteBlastei' (для PC) и по- следовательного кабеля загрузки BitBlaster (для PC и рабочих станций UNIX). FLEX Download Cable может соединять адаптер для програм- мирования конфигурационных микросхем, вставленный в MPU, с FLEX микросхемами на плате. ByteBlaster соединяет параллельный порт (порт принтера), а последовательный кабель загрузки BitBlaster соединяет стандартный RS-232 порт (называемый СОМ портом PC) с микросхе-
82 Часть / мами, распаянными на плате. Эти кабели позволяют вам программиро- вать или конфигурировать одну или несколько ICR или ISP-совмес- тимых микросхем во FLEX или JTAG цепочках (табл. 1.4). От компилятора MAX+plus II .pof jed .sof Рис. 1.25 Таблица 1.4 Аппаратные средства программирования фирмы Altera Аппаратные средства програм- мирования фирмы Altera PC Рабочая станция UNIX Микро- схемы Classic & МАХ 5000 Микро- схемы МАХ 7000 (за исклю- чением MAX 7000S) Микро- схемы MAX 7000S & МАХ 9000 Микро- схемы FLEX 6000, FLEX 8000 & FLEX ЮК Програм- мирова- ние/Рекон- фигу- рирова- ние в сис- теме Дополнитель- ная плата программа- тора, PL-MPU (базовый модуль про- грамматора) и Адаптеры для микросхем X X Кабель загрузки FLEX
Обзор САПР MAX+plus II 83 Окончание табл. 1.4 Аппаратные средства програм- PC мирования фирмы Altera Рабочая станция UNIX Микро- схемы Classic & МАХ 5000 Микро- схемы МАХ 7000 (за исклю- чением MAX 7000S) Микро- схемы MAX 7000S & МАХ 9000 Микро- схемы FLEX 6000, FLEX 8000 & FLEX ЮК Програм- мировав ние/Рекон- фигу- рирова- иие в сис- теме Кабель загрузки X BitBlaster Кабель загрузки X ByteBlaster XXX За дополнительной информацией по конфигурированию микросхем семейств FLEX 6000, FLEX 8000 и FLEX ЮК, выполненных по SRAM технологии, обратитесь к Application Note 87 (конфигу- рирование микросхем FLEX6000), Application Note 33 (кон- фигурирование микросхем FLEX 8000), Application Note 38 (конфигурирование нескольких микросхем FLEX8000), Appli- cation Note 59 (конфигурирование микросхем FLEX ЮК). 1.13.1. Программатор MAX+plus II Программатор MAX+plus II, показанный на рис. 1.26, исполь- зует файлы программирования, созданные компилятором для программирования микросхем фирмы Altera. Он позволяет вам программировать (Program), конфигурировать (Configure), сравнить содержимое запрограммированной микросхемы с файлом программирования (Verify), считать содержимое микросхемы (Examine), проверять микросхемы на отсутствие записанной информации (Blank-check), проводить функцио- нальное тестирование микросхемы (Functionally test). Аппаратные средства программирования фирмы Altera дают вам возможность программировать микросхемы Altera с помощью файла (файлов) программирования, создаваемых компилятором. Когда вы от- крываете окно программатора, автоматически загружается файл программирования для текущего проекта. Программатор MAX+plusII принимает следующие форматы файлов: Programmer Object File (объектный файл программатора) (.pof) для программирования микросхем Altera Classic, MAX 3000, MAX 5000, MAX 7000 и MAX 9000, а также Configuration EPROM и FLASH, используемых для конфигурирования микросхем FLEX 6000, FLEX 8000, FLEX ЮК и ACEX1K;
84 Часть/ SRAM Object File (объектный файл SRAM) (.sof) для конфигу- рирования микросхем Altera FLEX 6000, FLEX 8000, FLEX ЮК и АСЕХ IK; JEDEC File (.jed) для программирования микросхем Altera Classic и микросхем EPM5016 и ЕРМ5031 из семейства МАХ 5000; JTAG Chain File (файл цепочки JTAG) (.jcf) описывает порядок, в котором POF, SOF и JEDEC файлы должны программировать или конфигурировать несколько микросхем на плате, соединенных посредством JTAG интерфейса; FLEX Chain File (файл цепочки FLEX) (.fcf), описывающий порядок, в котором SOF файлы должны конфигурировать не- сколько микросхем семейства FLEX, входящих во FLEX цепочку. Выберите кнопку Program для того, чтобы начать программирование микросхемы MAX+plus II - d:\max?work\tutorial\chiptrip Elie JTAG FLEX As si. Jptions Window Help Показывает имя POF, SOF — или JEDEC файла для текущего проекта MAX+plus II Выберите кнопку Configure для того чтобы начать кон- фигурацию микросхемы Индикатор выполнени Показывает текущую микросхему Открывает SCF файл, содержащий вектора для функционального тестирования Рис. 1.26 Программатор и компилятор также могут создавать Hexadecimal (Intel-Format) Files (,hex), Tabular Text Files (.ttf), Serial BitBlaster File (.sbf), Raw Binary Files (.rbf), Serial Vector Format File (.svf) и Jam Files (.jam) для конфигурирования и программирования 1SP- и ICR- совместимых микросхем другими способами программирования. Для начата программирования или конфигурирования вы выбираете кнопку Program или Configure. При возникновении любой ошибки или проблемы в процессе программирования или конфигурирования в окне процессора сообщений появляется список сообщений. По каждому со- общению вы можете получить справку о вызвавших его причинах.
Обзор САПР MAX+plus II 85 Программатор MAX+plus 11 выполняет следующие действия: программирует данные из POF пли JEDEC файлов в "чистые" микросхемы семейств Classic, МАХ 5000, МАХ 7000 или МАХ 9000. После этого микросхемы работают согласно вашему проекту. При использовании режима JTAG-цспочск, несколько микросхем программируются, используя дополнительную инфор- мацию из JCF файла; загружает данные конфигурации из SRAM Object File (объектного файла SRAM) (.sof) пли JEDEC File (.jed) для конфигурирования микросхем семейств FLEX 6000. FLEX 8000 или FLEX ЮК. При использовании режима JTAG-цепочек несколько микросхем про- граммируются, используя дополнительную информацию из JCF файла. При использовании FLEX цепочек микросхемы конфигу- рируются, используя дополнительную информацию из FCF файла; создает и читает JCF и FCF файлы, которые описывают порядок микросхем при программировании или конфигурировании мик- росхем в JTAG или FLEX цепочках соответственно; преобразует формат файла POF в JEDEC и, наоборот, сохраняет в файле вектора для функционального тестирования микросхем, так что вы можете программировать и тестировать микросхему аппаратными и программными средствами других фирм; сравнивает содержимое файла программирования с содержимым запрограммированной микросхемы; считывает содержимое запрограммированной микросхемы и со- храняет его в POF или JEDEC файлах; осуществляет проверку на отсутствие записанной информации, чтобы убедиться, что микросхема "чистая" или полностью "стерта”; включает и выключает установку бита защиты перед тем, как проект программируется в микросхему. Когда бит защиты включен, информация из микросхемы не может быть прочитана. Микро- схемы, выполненные по EPROM технологии, также не могут быть перепрограммированы; тестирует запрограммированную микросхему с помощью входных векторов, которые могут находиться в текущем файле програм- мирования, в SCF или Векторном файле, и сообщает, являются ли логические уровни выходных сигналов в файле функционально эквивалентными сигналам на контактах микросхемы; создает Programmer Log File (файл журнала программатора) (.plf), который записывает команды и сообщения во время программи- рования для использования их при последующем программиро- вании. За полной информацией обо всех функциях и возможностях программатора обратитесь к справочной системе MAX+plus II.
86 Часть I 1.14. Режим командной строки MAX+plus И Вы можете запустить Compiler (компилятор), Timing Analyzer (анали- затор временных параметров) и Simulator (симулятор) с помощью командной строки в операционных системах UNIX, Microsoft Windows NT 4.0, Microsoft Windows 98 и Windows 2000. Для запуска MAX+plus II с помощью командной строки, наберите: maxplus2 -h | | {<batch option(s) (пакетная опция или опции)>[<1/0 option(s) (опция или опции ввода/вывода) >^project name (название про- екта)>} +-* Для одного проекта могут использоваться несколько пакетных опций (batch options) и опций ввода/вывода (I/O options). Несколько проек- тов могут обрабатываться с помощью одной и той же командной строки. <project name (название проекта)> указывает, что опции для данного про- екта закончились. Возможны следующие <batch options (пакетные опции)>: Batch Options (пакетные опции): - h или -help - v или -version - с или -compile -ta_delay -ia_setup -ta_reg -s или -simulate -i или -ignore.errors Описание работы: Выводит на экран список опций, доступных в командной строке Выводит на экран номер версии MAX+plus II Запускает Compiler (компилятор) Запускает Timing Analyzer (анализатор времен- ных параметров) для расчета Delay Matrix (матрицы задержек) Запускает Timing Analyzer (анализатор времен- ных параметров) для расчета Setup/Hold Matrix (матрицы времен предустановки и удержания сигналов) Запускает Timing Analyzer (анализатор времен- ных параметров) для расчета Registered Perform- ance (быстродействия регистровой логики) Запускает Simulator (симулятор) Игнорирует ошибки Compiler (компилятора), Simulator (симулятора), Timing Analyzer (анали- затора временных параметров) и продолжает обработку других проектов, указанных в команд- ной строке, даже если предыдущий проект не был обработан. Доступные <1/0 options (опции ввода/вывода)> показаны ниже. Если вы укажете в опции пустые кавычки (”’) для <filename (имя
Обзор САПР MAX+plus II 87 файла)>, то это будет означать, что < filename (имя файла) > соответствует (project пате (имени проекта)>. I/O Options (опции ввода/вывода): Описание работы: -tao "(filename (имя файла)?" -scf "(filename (имя файла)?" - vec "(fil епате (имя файла) >" -cmd ’< filепате (имя файла)?” -1bl "( filename (имя файла) -hst '<filename (имя файла)? Сохраняет результаты работы Timing Ana- lyzer (анализатора временных параметров) в файле <имя файла>Хао. Если эта опция не используется, то файл <имя проекга>Хао генерируется автоматически. Использует файл <имя файла>яс\. как источник входных векторов при моделирова- нии. Если эта опция не указана, то использу- ется файл с именем, заданным переменной SIMULATION_.INPUT_.FILE в файле <имя проекта>.ас\. Использует файл <имя файла>мес в качестве источника входных векторов при моделировании. Использует файл <имя файла>.стд в качестве источника команд при моделировании. Сохраняет результаты работы Simulator (симулятора) в файле <имя файла>ХЬ\. Записывает "историю" работы Simulator (симулятора) в файл <имя файла>.hst. Вы можете использовать символы > или » для записи преду- преждений и сообщений об ошибках в ASCII файл. (В UNIX используйте >! или »’ вместо > или », если установлена 'переменная noclobber). Ниже приведен пример командной строки, с помощью которой ком- пилируется проект upcntr, компилируется проект chiptrip, запускается Timing Analysis (анализатор временных параметров) для определения Registered Performance (быстродействия регистровой логики) проекта chiptrip и моделируется проект chiptrip, используя файл test.scf в ка- честве источника входных векторов: maxplus2 -с upcntr -с -ta_reg -s -scf 'test.scf" chiprrip w Следующий пример компилирует проект chiptrip и записывает все сообщения в файл message.out: maxplus2 -с chiptrip > message.out
Часть 2 Самоучитель САПР MAX+plus — - - — ---—— ——— -3 II MAX+plus II — это легко. Легко изучать, легко использовать и очень легко полюбить. Этот самоучитель покажет вам основные возможности полностью интегрированной среды проектирования MAX+plus II, и очень скоро вы сможете создавать свои собственные проекты. Как только вы начнете использовать MAX+plus II, справочная система предоставит вам любую информацию.
Самоучитель САПР MAX+plus II 89 В данном самоучителе вы создадите проект с именем chiptrip, простой симулятор вождения. После того как вы введете и скомпилируете проект chiptrip, вы будете его моделировать. Во время сеанса модели- рования вы будете направлять свое "транспортное средство" по воображаемой карте. Вам надо добраться из вашего офиса до офиса фирмы Altera, используя самую прямую дорогу, не получая штрафы от полиции. Как только вы закончите моделирование, вашим последним шагом будет программирование скомпилированного проекта в микро- схему Altera. Самоучитель разделен на четыре раздела: создание проекта, его компилирование, моделирование и последующее программирование микросхемы Altera. Все файлы для этого проекта находятся в дирек- тории \max2work\chiptrip. Таким образом, вы можете выбирать, идти ли вам по всем пунктам самоучителя или сократить обучение путем копирования уже созданных файлов в вашу рабочую директорию. Са- моучитель разделен на части, и вы можете остановиться в любое время и продолжить занятия позже. Хорошего вам путешествия! 2.1. Описание проекта Самоучитель проведет вас через все этапы проектирования: ввод проекта, компиляция, моделирование и программирование для иерар- хического проекта chiptrip. 2.1.1. Ввод и компиляция проекта Вы создадите пять файлов проектов, используя текстовый ввод проекта, графический ввод проекта и ввод проекта с помощью времен- ных диаграмм. Самоучитель описывает метод создания иерархического проекта "снизу вверх", при котором вы создаете сначала проекты ниж- него уровня, а затем соединяете их в отдельном файле проекта верхнего уровня. Проект состоит из всех файлов, связанных с данной разработкой, включая файлы подпроектов и вспомогательные файлы. Имя проекта всегда совпадает с именем файла проекта верхнего уровня, но без расширения файлового имени. В проекте chiptrip графический файл проекта верхнего уровня chiptrip.gdf объединяет четыре файла проектов нижнего уровня: один графический файл проекта (.gdf), два текстовых файла проектов (.tdf) и один файл проекта, описанный временными диаграммами (.wdf). Каждый файл нижнего уровня выполняет специ- альную функцию в игре моделирования вождения: файл tick_cnt.gdf, ваша "карточка водителя", подсчитывающая число уведомлений полиции, которое вы собрали во время езды.
90 Часть 2 Этот счетчик добавляет число уведомлений, получаемых в ре- зультате нарушения скорости в automax.tdf и speed_ch.wdf; файл time_cnt.tdf, "часы" в вашем автомобиле, подсчитывающие число синхроимпульсов, которое понадобится вашему транспорт- ному средству для достижения офиса фирмы Altera; файл auto_max.tdf, ваш "автомобиль", содержащий конечный ав- томат, который следит за входными сигналами направления и ускорения для проекта и определяет последующее положение (т.е. состояние) вашего транспортного средства; файл speed_ch.wdf, ваш "спидометр", представляющий собой ко- нечный автомат, который контролирует ускорение вашего транс- портного средства. Нарушение скорости приводит к штрафу. Если вы не используете возможность ввода проекта с помощью временных диаграмм для MAX+plus II, то вы можете использо- вать TDF версию файла speed_ch.tdf. Этот файл доступен в подкаталоге \max2work\chipirip. На рис. 2.1 приведена блок-схема проекта chiptrip. После того как вы создали файлы проектов нижнего уровня, вы должны успешно выполнить компиляцию проекта, чтобы получить файлы, необходимые для моделирования и программирования chiptrip в микросхему. 2.1.2. Проверка проекта и программирование микросхемы Часть самоучителя, посвященная моделированию, представляет собой игру по вождению. Данная игра проверяет вашу способность к плани-
Самоучитель САПР MAX+plus II 91 рованию и изменению входных сигналов во время моделирования при выполнении определенной задачи Ваша цель — провести свое транс- портное средство через различные перекрестки на карте (показанной на рис. 2.2) и прибыть в офис фирмы Altera как можно быстрее и с наименьшим количеством штрафов. Задавая в процессе моделирования входные сигналы, вы можете двигаться или по автострадам, или по коммерческим дорогам, или по жилым улицам. — — — Жилая улица: разрешена только нормальная скорость, любое ускорение приводит к штрафу за нарушение скоростного режима ... .*_Коммерческая дорога: второе ускорение приводит к штрафу, при этом неважно через сколько тактов оно будет сделано ..... Автострада: разрешается любое число ускорений УС GDF CNF Ваш офис Рис. 2.2 На автострадах вы можете передвигаться с какой угодно высокой скоростью, без опасения того, что вас остановит полиция. По коммер- ческим дорогам вы можете увеличивать скорость без получения штрафа только один раз, во второй раз вы обязательно будете остановлены. Если вы ускоряетесь на жилой улице, то вы получите штраф сразу же. Запомните, в этом проекте офицеры полиции находятся повсюду, они всегда знают, где вы превысили скорость, и вы не сможете дого- вориться с ними, чтобы избежать штрафа. После того как вы попрактиковались в моделировании вашего проекта с различными значениями входных сигналов и проанализировали его временные параметры, вы можете запрограммировать проект chiptrip в микросхему фирмы Altera. 2.2. Обзор самоучителя Самоучитель chiptrip разработан для того, чтобы помочь вам быстро и легко стать квалифицированным пользователем MAX+plus II. Само- учитель построен по модульному принципу, поэтому вы можете осваивать его в удобном для вас темпе, постепенно прорабатывая каждое занятие или весь самоучитель за один присест. Вы также можете приспособить самоучитель к своему уровню квалификации. Например, если вы комфортно себя чувствуете с различными методами ввода
92 Часть 2 проектов, вы можете перескочить через одно или несколько занятий и перейти сразу к компилированию и моделированию вашего проекта. Кроме того, в занятиях 5 и 9 приводятся команды быстрого вызова, которые помогут вам развить навыки более эффективного ввода проекта. 2.2.1. Файлы самоучителя Все файлы самоучителя копируются на ваш жесткий диск во время инсталляции MAX+plus II. Рабочая директория MAX+plus II, которая по умолчанию называется \max2work, содержит подкаталоги chiptrip и tutorial. Подкаталог \max2work\chiptrip содержит все файлы проектов для этого проекта, в том числе файлы, создаваемые пользователем и MAX+plus II. Во избежание внесения изменений в исходные файлы, вам следует создавать свой проект в подкаталоге \max2work\tutorial. Если вы не хотите создавать файл проекта с нуля, то вы можете просто скопировать нужный файл из подкаталога \max2work\chiptrip в подкаталог \max2work\tutorial безо всякого риска внесения ошибок в файлы, инсталлированные на вашем жестком диске. Вы можете скопировать файлы с помощью соответствующих команд копирования для вашей операционной системы или открыть файл в MAX+plus II и выбрать Save as (сохранить как) из меню File для сохранения копии данного файла в другой директории. РЭГ 1- Обязательно прочтите файл read.me, который находится в директории \max2work\tutorial для того, чтобы получить информацию об изменениях в самоучителе chiptrip, внесенных после того, как данное руководство было напечатано. 2. На рабочей станции UNIX, директория max2work является подкаталогом директории /usr. 2.2.2. Команды быстрого вызова Многие команды MAX+plus II имеют различные способы быстрого вызова. Часто они являются контекстно-зависимыми, то есть могут зависеть от положения указателя мыши или от элемента (элементов), выделенного на экране. Хотя вы можете использовать команды быстрого вызовы на любой стадии процесса обучения, в занятиях 5 и 9 приведены примеры, которые помогут вам ускорить ввод проекта. Вы можете попробовать различные способы быстрого вызова и оп- ределить, какие из них для вас удобнее всего. С помощью команд быстрого вызова вы можете создать свой эффективный метод работы с программным обеспечением MAX+plus II.
Самоучитель САПР MAX+plus II 93 В разделе Shortcuts (быстрые вызовы) справочной системы MAX+plus II для каждого программного модуля перечислены все способы быстрого вызова: кнопки мыши, "горячие клавиши" на клавиатуре и кнопки на панели инструментов. Способ быстрого вызова: Кнопка 1 (левая кнопка мыши) Mouse Button 1 Кнопка 2 (правая кнопка мыши) Mouse Button 2 Клавиатура Keyboard Панель инструментов Toolbar/Palette Описание: Быстрый вызов с помощью кнопки 1, который выполняется посредством двой- ного щелчка, является контекстно-зависи- мыми. Например, в графическом редак- торе вы можете открыть диалоговое окно Enter Symbol (ввод символа) с помощью простого двойного щелчка кнопки 1 в сво- бодном пространстве окна. В отличие от этого, двойной щелчок кнопк и1 на сим- воле макрофункции откроет макро- функцию, которую представляет этот сим- вол. Кнопка 1 соответствует левой кнопке для двух или трехкнопочной мыши. Быстрый вызов с помощью кнопки 2 выполняется посредством щелчка для отображения на дисплее всплывающего меню и является также контекстно-зависи- мым. Такой способ позволяет вам выпол- нить команду посредством выделения элемента, нажатия кнопки 2 и выбора нуж- ной команды. Например, вы можете уда- лить выделенный объект или участок текста с помощью щелчка кнопкой 2 на выделенном элементе и выбора команды Cut (вырезать) из всплывающего меню. Кнопка 2 соответствует правой кнопке для двухкнопочной мыши или средней и правой кнопкам для трехкнопочной мыши. Быстрый вызов с помощью клавиатуры позволяют вам выполнить команду мгно- венно. Например, набор на клавиатуре Ctrl+P является быстрым вызовом для команды Print (печать). Быстрые вызовы с помощью клавиатуры перечислены в справочной системе MAX+plus II Кнопки быстрого вызова на панели инструментов располагаются на верхней и левой сторонах окна. Например, нажа- тие кнопки Zoom in (увеличить изображе- ние) на панели инструментов соответствует быстрому вызову команды Zoom in.
94 Часть 2 2.3. Получение справки На протяжении всего самоучителя символ (**«) означает ссылку к справочной системе MAX+plus II за полезной информацией. Самую обновленную и полную информацию обо всех возможностях MAX+plus II вы можете найти в справочной системе. Два легких способа получения нужной информации заключаются в использовании контек- стно-зависимой справки и в поиске но индексу 2.3.1. Контекстно-зависимая справка Контекстно-зависимая справка представляет вам информацию тогда, когда вы в ней нуждаетесь. Вы можете получить доступ к контекстно- зависимой справке тремя способами: Способ: Shift+F1 или кнопка контекстно- зависимой справки на панели инструментов (к?|) Клавиша F1 Кнопка Help on Message (справка о сообщении) Описание: Поместите указатель в виде знака вопроса на элемент экрана, ключевое слово текстового файла или команду меню и затем щелкните кнопку 1 для получения справки. Когда выделяется команда меню или открыва- ется диалоговое окно, нажмите F1 для получения справки. Вы также можете нажать F1, когда на экране дисплея отображается любое окно программного модуля MAX+plus II для получения контекстно-зависимой справки, доступной для этого программного модуля. В окне процессора сообщений вы можете выде- лить сообщение с помощью кнопки 1 и нажать кнопку Help on Message для получения справки об этом сообщении. 2.3.2. Поиск по индексу Справочная система MAX+plus II имеет обширный индексный ука- затель для того, чтобы помочь вам быстро найти информацию. Для поиска справки по теме нужно: 1. Если вы находитесь в MAX+plus II, выберите Search for Help on (найти справку по) из меню Help. или Если вы уже находитесь в Help (справочной системе), нажмите кнопку Index (индексный указатель) в верхней части окна Help. На экране откроется окно Help Topic (справка ио теме).
Самоучитель САПР MAX+plus II 95 2. Наберите ключевое слово или фразу. Список ключевых слов про- кручивается для отображения тех слов, которые согласуются с на- бираемым вами текстом, как показано на рис. 2.3. Help Topics: MAX+plus II Help 111^. I — . Index find 1 Type the first few letters or the word you’re looking for. Print command 2 Click the index enriy you want, and then click Display (ton) rint command Fnnt Setup» command Printing a File Printing Messages Printing the Hierarchy Printing the Timing Analysis priority encoder macrofunctions priority rules, AHDL PRK file Probe & Resource Assignment Backup File [.prk] Probe & Resource Assignment Basckup Fie (.prk) Probe & Resource Assignment File [prbj probe assignments (see also "pnstubs") Probe Assignments Section probe assignments, clearing deleting displaying___________________________________ Display Cancel Рис. 2.3 3. Щелкните кнопку 1 на ключевом слове для его выделения и на- жмите кнопку Display или дважды щелкните на выделенном ключевом слове кнопку 1 для перехода к справке, связанной с ним. Если с этим словом связано несколько справок, то они отобразятся в диалоговом окне Topics Found, как показано на рис. 2.4. j Topics Found Click a topic then click Display. Print Command (Graphic Edrtofl Punt Command (Hierarchy Display) Print Command (Message Processor) Print Command (Symbd Editor) Pnnt Command (Text Editor) Print Command (T immg Analyzer) Print Command (Waveform Editor) Printing a File (Graphic Editor) Printing a File (Symbol Editor) Printing a Fite (Text Editor) ДД—u____Г1 Л./_____' г г, Л_______ Cancel Pnc. 2.4
96 Чость 2 4. Выделите название темы из списка и выберите кнопку Display или дважды щелкните кнопку 1 на названии темы для отображения ее на экране дисплея. 2.4. Ввод проекта Занятие 1. Запуск MAX+plus II В ходе этого занятия вы запустите MAX+plus II для того, чтобы начать создавать свой проект. Igg3 В данном самоучителе предполагается, что рабочая директория MAX+plus II, которая по умолчанию называется \max2work, находится на диске d: вашего компьютера. Если вы инсталли- ровали рабочую директорию MAX+plus II на другой диск и/или в другую директорию, то используйте соответствующее назва- ние диска и/или директории. Для запуска MAX+plus II: 1. Дважды щелкните кнопку 1 на иконке MAX+plus II На PC с операционной системой Windows эта иконка находится в группе программ MAX+plus II в окне Program Manager. Will Наберите maxplus2 +* в командной строке. Откроется окно MAX+plus II Manager (менеджер MAX+plus II) В строке заголовка отображается название программы (MAX+plus II), название диска и директории (d:\max2work\tutorial). Название текущего проекта (chiptrip) прибавляется к названиям диска и ди- ректории (рис. 2.5). Все программные модули MAX+plus II содержат панель инструмен- тов и строку состояния, которые вы можете включить и выключить, используя команду Preference (предпочтение) из меню Options. 2. Для того, чтобы включить или выключить панель инструментов или строку состояния: а) выберите команду Preference из меню Options. Отобразится диалоговое окно Preference; b) включите или выключите опции Show Toolbar (показывать па- нель инструментов) и/или Show Status Ваг (показывать строку состояния) посредством щелчка кнопки 1 па соответствующих пунктах для отметки; с) выберите ОК.
Самоучитель САПР MAX+plus II 97 Окно программного модуля Строка заголовка отображает (отображаемое как иконка в название программы, диск, некоторых операционных системах) директорию и название проекта Кнопка увеличения размеров окна Строка - состояния Инструменталь- ный набор (ис- пользуется не во всех программных модулях) Панель _____ инструментов ***1___________________MAX+plus II Manager - dyngxzwork\tutorlal\chiptnp MAX+plus II file Assign Options Help Pnc. 2.5 MAX+plusil Панель инструментов отображает кнопки и раскрывающиеся спи- ски, которые обеспечивают быстрый доступ к часто используемым командам. В некоторых приложениях на панели инструментов могут быть доступны дополнительные кнопки. Строка состояния представляет краткое описание выделенной команды меню, или элемента на панели инструментов или кнопки на инструменталь- ном наборе, когда вы перемещаете на них указатель мыши. В некоторых программных модулях MAX+plus II крайние правые элементы панели инструментов недоступны, если ваш монитор настроен на невысокое разрешение. Все кнопки панели инстру- ментов и раскрывающиеся списки доступны в дисплеях с большим экраном и высоким разрешением. При желании вы можете переключиться на альтернативную комбинацию кнопок панели инструментов для дисплеев VGA. За дальнейшими указаниями перейдите к Setting MAX+plus II Pref- erence (настройка предпочтений MAX+plus II), используя Search for Help on (поиск справки no) из меню Help. 3. Увеличьте размер окна MAX+plus II посредством щелчка кнопки 1 мыши на кнопке Maximize, как показано на иллюстрации на рис. 2.5.
98 Часть 2 Для того, чтобы выйти из MAX+plus II, выберите Exit MAX+plus II из меню File или дважды щелкните на иконку программного модуля (или квадратик) в левом верхнем углу окна MAX+plus II, как показано на иллюстрации на рис. 2.5. Занятие 2. Создание графического файла проекта В ходе этого занятия вы назначите имя проекту и, используя графический редактор MAX+plus II, создадите файл tick_cnt.gdf, кото- рый подсчитывает число штрафов за езду с недозволенной скоростью, полученных вами во время вашего путешествия. Этот раздел включает в себя следующие шаги: 1. Создание нового файла. 2. Назначение имени проекта. 3. Выбор инструментов графического редактора. 4. Ввод символов функциональных модулей. 5. Использование линий разметки. 6. Перемещение символа. 7. Ввод входных и выходных контактов. 8. Назначение имен контактов. 9. Соединение символов. 10. Соединение цепей и шин посредством имен. 11. Сохранение и проверка файла на основные ошибки. 12. Создание символа для текущего файла. 13. Закрытие файла. 1. Создание нового файла На этом шаге вы создадите новый GDF, называемый tickcnt.gdf. Для создания этого файла: 1. Выберите New (новый) из меню File. На экране отобразится диалоговое окно New. 2. Выделите Graphic Editor file (файл графического редактора). 3. Выделите расширение имени файла .gdf в раскрывающемся списке. 4. Выберите ОК Откроется окно графического редактора без названия, как показано на рис. 2.6. 5. Если необходимо, увеличьте размер окна графического редактора посредством щелчка кнопки 1 на значке Maximize (увеличение размеров окна) в строке заголовка графического редактора. 6. Для сохранения файла выберите Save as (сохранить как) из меню File. На экране отобразится диалоговое окно Save as, как показано на рис. 2.7.
Самоучитель САПР MAX+plus II 99 Рабочее пространство Кнопка увеличения размеров окна Кнопка выделения -__________________________MAX* plus II - (1Дта> PworkVutorialftickcnt MAXiplus II fileEdit View Symbol fissig г» Utilities Options Window Help X Altera Кнопка рисова- ния ортогональ- ных линий Кнопка ------ рисования дуг Graphic Editor - Untitle di Кнопка ввода текста Кнопка рисования произвольных линий Кнопка рисования окружностей Кнопка увеличе- _ ния изображения Кнопка ото- __ Сражения в окне редактора всего листа Кнопка включения режима, обеспе- чивающего нераз- рывность цепей (шин) Кнопка уменьшения изображения Кнопка установки/удаления точек соединения si i— Кнопка выключения режима, ’ обеспечивающего неразрывность цепей (шин) т l I I J I i 1 ! г i I ] Рис. 2.6 Рис. 2.7 Определяет имя срайла Отображает расширение по умолчанию для текущего типа файла. Вы можете выбрать другое расширение из раскры- вающегося списка 7. Наберите tick_cnt.gdf в поле File Name 8. Если в поле Directory is не появилась строка \max2work\tutorial, то выберите ее в поле Directories. 9. Для сохранения файла tick_cnt.gdf выберите ОК.
Часть 2 100 2. Назначение имени проекта В MAX+plus II вы должны назначить файл проекта в качестве вашего текущего проекта перед тем, как вы сможете компилировать его или выполнять любую другую пакетную обработку, такую как, например, моделирование. Для MAX+plus II необходимо, чтобы все файлы, отно- сящиеся к определенному проекту, находились в одном подкаталоге. Всегда следует создавать отдельный подкаталог для каждого нового проекта. Когда вы вводите название проекта, вы также назначаете имя подкаталога, где этот проект будет храниться. Если подкаталога нет. то MAX+plus II может создать его для вас. Для назначения имени проекта: 1 Выберите Project Name (название проекта) из меню File. На экране отобразится диалоговое окно Project Name (рис. 2.8). 2. Если необходимо, выключите опцию Show Only Tops of Hierarchies (показывать только верхний уровень иерархии). 3. Выделите tick_cnt.gdf в поле File. 4. Нажмите ОК. Project Name .tdf; ’.gdf; “ edf: *.wdf; \adf; Перечисляет все_ файлы проектов и файлы програм- мирования в теку- щей директории Project Hame: Directory is: d:<max2workMutonal--------- directories: U Show Only Tops of Hierarchies Ito tutorial Drives: Отображает название теку- щего проекта Показывает путь к текущей директории Перечисляет все подкаталоги Перечисляет все локальные и сетевые диски Cancel Рис. 2.8 Строка заголовка MAX+plus II изменится, отображая название нового проекта: MAX+plus II Manager - a:\max2work\tutorial\tick_cnt В качестве альтернативы использованию команды Project Name (название проекта) вы можете просто выбрать команду Project Set Project to Current File (назначить имя проекта no имени текущего файла) из меню File, когда открыт tickcnt.gdf в активном окне графического редактора.
Самоучитель САПР MAX+plus II 101 3. Выбор инструментов графического редактора На этом шаге вы будете выбирать различные инструменты, доступные для графического редактора. В графическом редакторе, редакторе сим- волов и редакторе временных диаграмм указатель изменяет форму, в зависимости от выбранного текущего инструмента и объекта под ука- зателем мыши. Кнопка выделения, которая имеет стреловидный указатель, по умолчанию является выбранным инструментом, когда вы открываете окно графического редактора. В качестве упражнения вы можете выбрать кнопку рисования ортогональных линий из инстру- ментального набора. Для выбора кнопки рисования ортогональных линий из набора: Z щелкните кнопку 1 на значке рисования ортогональных линий (рис. 2.6). изменяет свою форму из набора инструментов только в рисовать в пустом пространстве. выбирать кнопку Указатель измениться на + -образный указатель, если вы выберете кнопки рисования ортогональных линий, рисования дуг или рисования окружностей. Если же вы выберете кнопку ввода текста, то указатель превратится в перевернутое "t", которое над редактируемым текстом превращается в I-образный указатель. Кнопка выделения является "интеллектуальным" инструментом. Ко- гда она выбрана, стреловидный указатель выделения автоматически на указатель рисования ортогональных линий или на указатель редактирования текста, когда он проходит над раз- личными объектами в окне графического редактора. Когда указатель выделения проходит над концом линии, точкой соединения или символом контакта, он превращается в +-образный указатель рисования ортогональных линий, который позволяет вам рисовать линии и вводить или удалять точки соединений. Такое "интеллектуальное" поведение означает, что вам нужно рисования том случае, когда вы хотите Если вы дважды щелкните кнопку 1 на редактируемом тексте, то указатель выделения превратиться в I-образный указатель редак- тирования текста, который позволяет вам редактировать названия контактов и цепей, значения сигналов по умолчанию и коммен- тарии. Такое "интеллектуальное" поведение означает, что вам нужно выбирать кнопку ввода текста из набора инструментов только в том случае, когда вы хотите вводить текст в пустом пространстве. Когда указатель проходит над пустым пространством, над сере- диной линии или символа, или над текстом, указатель выделения ведет себя так, что позволяет вам выбирать, перемещать и копи- ровать объекты в окне.
102 Часть 2 4. Ввод символов функциональных модулей MAX+plus II предоставляет символы для множества функциональных модулей (для базовых элементов, мегафункций и макрофункций), ко- торые можно использовать в файлах графического редактора. Для ввода символа: 1. Переместите указатель выделения на свободное пространство в окне графического редакторе! для определения точки вставки сим- вола, щелкните кнопку 1 и выберите Enter Symbol (вставить символ) из меню Symbol. На экране отобразится диалоговое окно Enter Symbol (вставить символ) (рис. 2.9). Рис. 2.9 Определяет название символа, который должен быть введен в ваш файл Дважды щелкните кнопку 1 на названии библиотеки символов, чтобы ее содержимое появилось в поле Symbol Files. Когда вы набираете название символа в поле Symbol Name и нажи- маете OK, MAX+plus II автоматически его ищет в каждой библиотеке символов Быстрый вызов: двойной щелчок кнопки 1 в пустом пространстве окна графического редактора является быстрым вызовом для этого шага. Такое действие одновременно определяет точку вставки и открывает диалоговое окно Enter Symbol (вставить символ). Команды быстрого вызова более подробно описаны в занятиях 5 и 9 настоящего самоучителя. 2. Наберите 8count в поле Symbol Кате. 3. Нажмите ОК. Символ 8count вводится, причем его верхний левый угол попадает в точку вставки. Макрофункция 8count представляет собой реверсивный 8-битовый двоичный счетчик. В tick_cnt.gdf четыре бита макрофункции 8count будут использоваться для под- счета числа штрафов, полученных водителем.
Самоучитель САПР MAX+plus II 103 4. Повторите шаги 1-3 для ввода базовых элементов N0R2 и GND слева от символа 8count (рис. 2.10). В документации MAX+plus II для названий базовых элементов принято использовать только заглавные буквы. Однако в диа- логовом окне Enter Symbol вы можете набирать все названия базовых элементов, мегафункций и макрофункций с помощью строчных букв. Н_______________MAX+plus I! - d^max2work\tiitnrin^tir.krnT - {Craphir. Fditor-tir.k_cntgdf| -I MAX+plus II file tdit View Symbol Assign Utilities Options Window Help Кнопка вклю- - чения режима обеспечиваю- щегонеразрыв- ность цепей (шин) lW№2 Кнопка выключения режима, обеспечивающего неразрыв- ность цепей (Шин) 8ccint UPON COUNlSt « ««' • » * * Рис. 2.10 Если вы вводите или перемещаете два символа так, что их границы и контакты касаются, то символы становятся логически связанными. Если в дальнейшем вы перемещаете один из этих символов при включенном в меню Options режиме Rubberbanding (режим, обеспечивающий неразрывность цепей и шин), то между соединенными контактами двух символов автоматически обра- зуется линия нового проводника или шины. Выберите К?| на панели инструментов или щелкните кнопку 1 на символах 8count, N0R2 или GND для получения информации о каждом из них. Оперативная справка обеспечивает полную информацию по всем базовым элементам, мегафункциям и макро- функциям, предоставляемым фирмой Altera. Вы также можете получить справку по мегафункциям, базовым элементам и макрофункциям посредством выбора Megafunction/LPM, Primitives или Old-Style Macrofunctions соответственно из меню Help.
104 Часть 2 5. Использование линий разметки Для улучшения читаемости схем рекомендуется располагать символы вдоль горизонтальных и вертикальных линий разметки. Вы можете задать расстояния между линиями разметки и отобразить или скрыть их на экране. Для задания расстояний между линиями и для их отображения: 1. Выберите Guideline Spacing (расстояние между линиями разметки) из меню Options. На экране отобразится диалоговое окно Guideline Spacing. 2. Наберите 15 в полях X (Horizontal) Spacing и Y (Vertical) Spasing (задание расстояний между горизонтальными и вертикальными линиями разметки соответственно) для задания сетки с расстоя- нием 15 единиц между линиями разметки. 3. Нажмите ОК. 4. Включите Show Guidelines (показывать линии разметки) в меню Options. Когда эта команда включена, в меню появляется отметка перед названием команды. Линии разметки выглядят так, как показано на рис. 2.11. Кнопка увеличения изображения Кнопка отображения в окне редактора всего листа Линии на расстоянии 15 единиц разметки расположены Рис. 2.11 Когда вы редактируете схему, возможно изменить отображаемую часть окна для просмотра большей или мёныией части файла, используя кнопки Zoom in, Zoom out и Fit in Windows в наборе инструментов, как показано па приведенной выше иллюстрации.
Самоучитель САПР MAX+plus II 105 6. Перемещение символа Для перемещения и установки символа 8count вдоль линии: 1. Переместите стреловидный указатель на символ 8count и щелкните кнопку 1 для его выделения. 2. Не отпуская нажатую кнопку 1, переместите символ 8count так, чтобы его верхний левый угол попал на пересечение линий раз- метки. Контур символа перемещается вместе с указателем так, что вы можете расположить его достаточно точно. 3. Как только символ оказался в нужном месте, отпустите кнопку 1. Dgj3 С помощью указателя выделения вы можете перемещать любые символы (графические или фрагменты текста), которые могут быть выделены с помощью кнопки 1 в графическом редакторе или редакторе символов MAX+plus II. Обратитесь к "Moving an Object" (перемещение объекта) и "Selecting an Object" (выделение объекта), используя Search For Help on (поиск справки по теме) из меню Help. 7. Ввод входных и выходных контактов Для ввода контактов INPUT и OUTPUT: 1. Переместите указатель выделения в свободное пространство левее символа 8count и дважды щелкните кнопку 1 для открытия диа- логового окна Enter Symbol, наберите input в поле Symbol Name, и нажмите ОК. На экране появится символ INPUT. 2. Нажмите клавишу Ctrl на клавиатуре и затем нажмите кнопку 1 мыши на символе INPUT. Удерживая нажатыми Ctrl и кнопку 1, переместите мышь вниз для создания копии символа и поместите эту копию иод оригиналом (символ копируется, но не помещается в буфер обмена). 3. Повторите шаг 2 для создания третьего символа INPUT. 4. Повторите шаг 1 для ввода символа OUTPUT под символом 8count (рис. 2.12). Symbol ID (идентификационный номер символа) располагается в его левом нижнем углу. Он соответствует порядковому номеру при вводе символов (то есть первому введенному символу присваивается иден- тификационный номер Идентификационный номер однозначно определяет каждую копию символа в рамках GDF файла. Идентификационные намера символов в вашем файле могут отличаться от тех, которые указаны в иллюстрациях, если вы их вводили в другом порядке. Тем не менее, эти отличия не вызовут никаких ошибок.
106 Часть 2 У каждого символа есть ID number (идентификацион- ный номер), кото- рый однозначно его определяет. Эти идентифика- ционные номера присваиваются в том порядке, в котором вводят- ся символы j_____________МАХ» plus II - dynax?woiiy»1orialltirjc_cnt - (Graphic Editor - ticfc_r.n1.^rtf| MAXiplus II file £dit View Symbol Assign Utilities Options Window tJcfp i UPON COJHTsF ♦ « « * • i a > Pits I4AME f > Рис. 2.12 8. Назначение имен контактов Sccunt с JDN А QA * S QB ’лМ- 1 СО 1 — — е С£ г QF '—” G OG > н ОН GM ссхл Л — СШР - • seTN ;lk Теперь назначим имена входных и выходных контактов. При этом символы идентифицируются как <symbol name>:<symbolID>, например, INPUT;4 определяет символ INPUT с идентификационным номером 4. ВЗГ Если вы вводили символы в последовательности, отличной от описанной выше, то ваши идентификационные номера символов будут отличаться от идентификационных номеров, приведенных на иллюстрации. Эти отличия не вызывают никаких ошибок. Для назначения имени контакта: 1. Переместите указатель выделения на имя контакта INPUT:4 (по умолчанию оно "PIN_NAME') и дважды щелкните кнопку 1 для его выделения. 2. Наберите get_ticketi. Новое имя заменит название контакта по умолчанию. Этот сигнал будет использоваться для разрешения счета. Когда на нем высокий уровень, значение счетчика будет увеличиваться на единиц по тактовому сигналу. Вы также можете использовать кнопку ввода текста для ре- дактирования и ввода имени контакта. Дважды щелкните кнопку 1 для выделения всего имени или, удерживая нажатой кнопку 1, переместите мышь для выделения той части имени, которую вы хотите отредактировать.
Самоучитель САПР MAX+plus II 107 3. Переименуйте оставшиеся контакты INPUT и OUTPUT, согласно при- веденной таблице. Если вы нажмете <н после того, как отредакти- ровапи имя контакта, то автоматически будет выделено имя сле- дующего контакта для редактирования. Базовый элемент: Название: Описание: INPUT:5 ger_ticket2 То же, что и get_ticket1 INPUT:6 elk Тактовый сигнал для счетчика tick„cnt.gdf. OUTPUT•7 Ticket[3. 0] Выходы битов счетчика. Название дается в виде шины, которая используется для создания четырех выходных контактов tickets, ticket2, ticket”! и ticketO. Allera _____________MAXtplus В - d:\max2wGrifltutor1alftickrnt - [Graphic. Editor-tick_cnt.grff) MAX* plus II file fcdit tfiew Symbol Assign Utilities Options Y^indow Help I I i Oinr-JT । i I Рис. 2.13 gezjicxstl getjicxet? fcPUT Ж7 • < TUT-: 'y tcket(3 0] Обратитесь к "Pin & Node Names" (имена контактов и цепей) и "Bus Names" (имена шин), используя Search for Help on из меню Help. 9. Соединение символов Вы можете использовать кнопку выделения для рисования большин- ства линий, необходимых для соединения символов в файле графи- ческого редактора. Указатель выделения автоматически примет форму указателя рисования ортогональных линий, когда он находится над контактами, над точками их соединений или над концом линии. Для
108 Часть 2 соединения символов можно использовать кнопки для рисования ор- тогональных линий и линий с произвольным углом наклона. Для рисования линии: 1. С помощью указателя выделения переместите символы так, чтобы их выводы находились на одной линии, как показано на преды- дущей иллюстрации. 2. Выберите тонкой сплошной тип линии из подменю Line Style (тип линии) меню Options. Такой тип линии рекомендуется для цепей. 3. Переместите указатель выделения на конец проводника входного контакта get_ticket1. Он преобразуется в +-образный указатель для рисования ортогональных линий. 4. Нажмите кнопку 1 для задания начала линии. 5. Удерживая кнопку 1 нажатой, переместите мышь для рисования линии, которая соединяется с верхним входным проводником логического элемента N0R2. 6. Отпустите кнопку 1. Г* С помощью указателя для рисования ортогональных линий вы можете рисовать прямые линии или линии с одним изгибом. Если для соединения двух символов вы не можете нарисовать прямую линию или линию с одним изгибом, вам придется нарисовать две линии для получения двух изгибов, необходимых для создания соединения. После того как вы нарисуете первую линию, нари- суйте вторую линию, которая графически соединяется с концом первой линии. Линии соединяются автоматически, если они одного и того же типа. Для удаления линии щелкните кнопку 1 на ней и нажмите клавишу Del или Backspace. 7. Повторите шаги 3-7 для соединения оставшихся символов, как показано в следующей таблице и на рис. 2.14. Рисуйте линию от: Проводника INPUT get_ticket2 Выходного проводника N0R2 Входного проводника DNUP символа 8count Проводника INPUT elk Выходного проводника QA символа 8count До: Входного проводника N0R2 Входного проводника GN символа 8count GND Входного проводника CLK символа 8count Следующей вертикальной линии размет- ки справа (то есть рисуйте линию, но не соединяйте ее с другими символами).
Самоучитель САПР MAX+plus II 109 Рисуйте линию от: До: Выходного проводника QB То же, что и для ОА символа 8count Выходного проводника ОС То же, что и для ОА символа 8count Выходного проводника 00 То же, что и для ОА символа 8count Проводника OUTPUT ticket [3..0] Следующая вертикальная линия разметки слева, то же, что и для ОА Линия, идущая от выходного контакта ticket [3. .0], должна быть линией шины. Для преобразования линии цени в линию шины: 1. Переместите указатель на линию, идущую от выходного контакта с названием ticket [3. .0], и щелкните кнопку 1 для ее выделения. 2. Выберите тип линии шина, то есть толстая сплошная линия в подменю Line Style из меню Options. Линия шины Имя контакта для шины с одним диапазоном индекса создает одномерный массив контактов Рис. 2.14 Для перехода к теме "Buses" в справочной системе MAX+plus П нажмите |Н*Л иа панели инструментов и щелкните кнопку 1 на линии шины.
110 Часть 2 10. Соединение цепей и шин посредством имен Вы можете соединить цепи (т.е. линии), которые начинаются от выходных проводников ОА, QB, ОС и QD символа 8count, с шиной, которая начинается от проводника выходного контакта, ticket [3..0] посредст- вом имен. Цепи и шины соединяются путем назначения им соот- ветствующих имен, при этом их не нужно соединять графически. Ло- гическое соединение получается только в том случае, если каждый элемент шины имеет такое же название, как и название одной из цепей. Например, для соединения шины Ь[1. .0], которая состоит из провод- ников Ы и Ь0, с двумя цепями, которые графически не соединены с этой шиной, вам нужно назвать эти цепи Ь1 и Ь0. Чтобы присвоить имена цепям и шинам: 1. Установите шрифт Arial с размером 10. а) Выберите Text Size (размер шрифта) из меню Options. Если 10 не отмечено в подменю, то выделите это число из списка доступных размеров шрифта. Ь) Выберите Font из меню Options. Если Arial не отмечено в подменю, то выделите этот шрифт из списка доступных шрифтов. 2. С помощью указателя выделения выделите цепь, начинающуюся от проводника QA символа 8count, путем щелчка кнопки 1 на данной линии. Появится маленький квадратик под линией, ука- зывающий место вставки имени. 3. Наберите ticketO. Это имя появится над линией. Если название перекрывает символ, вы можете это название передвинуть в другое место на линии цепи или шины с помощью кнопки 1 точно так же, как вы могли бы передвинуть символы. За дополнительной информацией обратитесь к разделу "Перемещение символа" па стр. 105. 4 Повторите шаги 1-3 для остальных цепей и щпн: Название проводника символа / Название контакта: Название цепи/шины: OB ticketl QC ticket2 QD ticket3 ticket[3..O] ticket[3..O] Как только вы присвоили эти имена, цепи tickets, ticket2, ticketl и ticketO соединяются с шиной ticket[3. .0] посредством имен, хотя графически они не соединяются
Самоучитель САПР MAX+plus II 11 ____________МАХ» plus It - d^max2wftrHh>toria^tick^cnt - {Graphic Editor ~tick_r.nt.gdf} MAX* pins tl file Edit View Symbol Assign Utilities Options____________ffiindow Help t UPON COUNTER tiekeflS 0] —г—> r.-cxetis OJ Pnc. 2.15 11. Сохранение и проверка файла на основные ошибки Чтобы убедиться, что ваш ввод логически корректен, вы можете сохранить файл и проверить его на основные ошибки. Для сохранения и проверки файла на ошибки: 1. Выберите Project Save & Check (сохранснить и проверить проект) из меню File. Данный файл сохраняется, и открывается окно компилятора MAX+plus II. Модуль Compiler Netlist Extractor (экстрактора списка соединений компилятора) проверяет файл на ошибки, обновляет дисплей иерархии проекта и выводит на экран сообщение, показывающее число ошибок и предупреждений. 2. Если команда Project Save & Check (сохраненить и проверить проект) выполнена успешно и нет ошибок и предупреждений, то нажмите ОК для закрытия окна сообщений. В®3 Если компилятор выдает какие-либо сообщения об ошибках или предупреждения, и окно процессора сообщений не отображается, то вы можете открыть его путем выбора Message Processor (процессор сообщений) из меню МЛХ+plus IL Выделите сообщение в окне процессора сообщений и нажмите кнопку Locate (найти местоположение) для нахождения источника (источников) со- общения или нажмите Help on message (справка по сообщению) для объяснения. За дополнительной информацией обратитесь к занятию 6, раздел "Нахождение источника сообщения" на
112 Часть 2 cmp. 146. Вам нужно будет исправлять ошибки в файле проекта, сохранять и проверять его до тех пор, пока не будут исправлены все ошибки. 3. Для закрытия окна компилятора и возврата в графический ре- дактор дважды щелкните кнопку 1 на иконке документа (или кнопке), как показано на рис. 2.15. 12. Создание символа для текущего файла Теперь вы можете создавать Symbol File (символьный файл) (.sym), который представляет текущий файл. Символ из этого файла может использоваться в любом другом Graphic Design File (графическом файле проекта) (.gdf). / Выберите команду Create Default Symbol (создать символ теку- щего файла) из меню File. Если символ для файла уже существует, то MAX+plus II спросит вас, нужно ли переписать существующий символ. Нажмите ОК, чтобы убедиться, что вы полностью обно- вили информацию в вашем символьном файле. 13. Закрытие файла Для закрытия файла tick_cnt.gdf: / Выберите Close из меню File или дважды щелкните кнопку 1 на иконке документа (или кнопке), как показано на рис. 2.15. Окно графического редактора с файлом tick_cnt.gdf закроется. Занятие 3. Создание двух текстовых файлов проектов В ходе этого занятия с помощью текстового редактора MAX+plus II вы создадите два Text Design File (текстовых файла проектов) (.tdf), написанных на языке описания цифровых устройств фирмы Altera (AHDL). Первый TDF файл (time_cnt.tdf) измеряет время, необходимое вашему транспортному средству для достижения офиса фирмы Altera посредством подсчета импульсов Clock (тактовых импульсов). Файл auto_max.tdf описывает конечный автомат street-map и определяет направление и ускорение вашего автомобиля. Это занятие включает следующие шаги: 1. Создание нового файла и назначение имени проекта. 2. Включение синтаксической раскраски. 3. Ввод имени проекта и имен вводов и выводов. 4. Создание регистра. 5. Ввод булевых уравнений. 6. Ввод оператора If Then (если...то).
Самоучитель САПР MAX+plus II 13 7. Проверка на синтаксические ошибки и создание символа текущего файла. 8. Копирование файла auto__max.tdf и создание его символа. « За более подробной информацией по AHDL обратитесь к справоч- ной системе MAX+plus II AHDL или руководству MAX+plus И AHDL. Справка из Help и руководство содержат одну и ту же информацию на время их создания, но информация в Help об- новляется чаще. Справка из Help имеет ссылки на связанную с выбранной темой информацию, на примеры и на определения глоссария, чтобы помочь вам найти нужную информацию как можно быстрее. Если рядом нет компьютера, то рекомендуется использовать руководство. Если вы находитесь на рабочем месте, то для получения информации лучше использовать справочную систему MAX+plus И. 1. Создание нового файла и назначение имени проекта На этом шаге вы создадите новый TDF файл на языке AHDL, называемый time_cnt.tdf. и назначите имя проекта. Для присвоения проекту имени и создания нового файла: 1. Выберите New (новый) из меню File, выделите Text Editor File (файл текстового редактора) и нажмите ОК для открытия безы- мянного окна текстового редактора (см. "Создание нового файла" на стр. 98). 2. Если нужно, увеличьте окно текстового редактора путем щелчка кнопки 1 па символе Maximize в верхнем правом углу строки заголовка текстового редактора. 3. Выберите Save As из меню File Наберите tifne_cnt. tdf в поле File Name (название файла). 4. Убедитесь, что \max2work\tutorial появляется в качестве текущей директории в поле Directory is. Нажмите ОК для сохранения файла timecnt.tdf. 5. Выберите Set Project to Current File или Name... в подменю Project меню File и измените название проекта на time_cnt (см. занятие 2, раздел "Назначение имени проекта" на стр. 100). 2. Включение синтаксической раскраски Для того, чтобы сделать TDF файл более наглядным, вы можете использовать команду текстового редактора Syntax Coloring (синтак- сическая раскраска). Синтаксическая раскраска дает вам возможность видеть различные части TDF файла в разных цветах. Например, клю- чевые слова отображаются на экране одним цветом, а комментарии — другим, позволяя легко различать их на экране.
114 Часть 2 Для включения синтаксической раскраски: / Выберите Syntax Coloring из меню Options. Когда эта команда включена, в меню появляется отметка перед названием этой команды. 3. Ввод имени проекта и имен вводов и выводов На этом шаге вы начнете ввод AHDL файла, создавая Subdesign Section (раздел подпроекта), который объявляет входные и выходные порты файла. 1Й^ Данный самоучитель слеоует основным указаниям по использо- ванию отступов и пробелов, приведенным в "AHDL & VHDL Stile Guide" в справочной системе MAX+plusИ. Для ввода имени проекта и имен вводов и выводов сделайте следующее: 1. Выберите AHDL Template (шаблон AHDL) из меню Templates (шаблоны). На экране отобразится диалоговое окно AHDL Template. 2. Выделите Subdesing Section (раздел подпроекта) в окне Template Section (раздел шаблона). 3. Нажмите ОК. В точке вставки появится раздел подпроекта Каждое имя переменной начинается с двойного символа подчеркивания (_____), а каждое ключевое слово набрано заглавными буквами, как показано на рис. 2.16. Быстрый вызов для открытия диалогового окна AHDL Template: Z Нажмите кнопку 2 и выберите из меню AHDL Template. или / Щелкните кнопку 1 на символе AHDL Template из панели инструментов в верхней части окна, как показано на предыду- щей иллюстрации. Для улучшения читаемости, вы можете изменить шрифт и/или размер шрифта в окне текстового редактора с помощью команд Font (шрифт.) и/или Text Size (размер шрифта) из меню Options. В данном самоучителе приводятся файлы, введенные посредством шрифта Courier New с размером 10. 4. Дважды щелкните кнопку 1 на переменной_____aesign_name и набе- рите time_cnt. 5. Для задания имен входных контактов дважды щелкните кнопку 1 на первой переменной______input_nanie и наберите enable, затем два-
Самоучитель САПР MAX+plus II 115 жды щелкните кнопку 1 на втор'ой_______input_nafne переменной if наберите elk. Удалите переменную constant_value" и предшест- вующий ей знак равенства. 6. Для задания имен выходных контактов дважды щелкните кнопку 1 на первой переменной output_name и наберите time[7. .0]. Удалите вторую переменную____output_name и предшествующую ей запятую. 7. Удалите строчки, содержащие ключевые слова BIDIR, MASHINE INPUT и MASHINE OUTPUT. 8. Для улучшения читаемости добавьте пробелы и/или табуляцию. Кнопка шаблона AHDL Рис. 2.16 Для более простого задания отступов при структурировании текста перед началом набора текста вы можете включить Auto-Indent (автоматический отступ) из меню Options. Вы можете выделить уже набранный текст и выбрать Increase Indent (увеличить отступ) из меню Edit (редактирование) для увеличения отступа на размер табуляции. Возможно установить шаг табуляции с помощью команды Tab Stops (шаг табуляции) из меню Options. Для удаления табуляции выберите Decrease Indent (уменьшить отступ) из меню Edit или используйте кла- виши Del и Backspace. Для получения дополнительной информации об этих командах выберите на панели инструментов кнопку а затем команду из меню.
6 Часть 2 После редактирования имени проекта и имен портов ввода-вывода, вы получите в окне текст, показанный на рис. 2.17. —______________MAX+plus II - d^max2workU«toriaht«me^cnt - [Text Editor - time_cnt.tdlj *' MAX i plus II file £dlt lemp laics Assign Utilities Options Window Help SUEDESIGW tiweent I p enable, elk : INPUT; I : OUTPUT; I I » I 3 I I I I i । Line t 'Col 1 |INS |*| I Рис. 2.17 Порты enable и elk являются входами, а порты time[7. .0] являются выходами time_cnt.tdf. Для перехода к разделу справочной системы MAX+plusII "Sub- design Section" (раздел подпроекта) выберите на панели инстру- ментов значок |^?| и щелкните кнопку 1 на ключевом слове SUBDESIGN в текстовом файле. 4. Создание регистра Вы можете создать регистр с помощью Register Declaration (объ- явление регистра) в Variable Section (разделе переменных). В данном примере вы создадите регистр с именем count[7. .0] из восьми D-триг- геров, которые объединены в группу. Для создания регистра: 1. На новой строке после Subdesign Section наберите ключевое слово VARIABLE и нажмите (ОК). 2. Выберите AHDL Template (шаблон AHDL) из меню Templates (шаблоны). 3. Выберите Register Declaration (объявление регистра) в поле Tem- plate Section. 4. Нажмите ОК. Шаблон для Register Declaration (объявления рег- стра) появится в месте вставки.
Самоучитель САПР MAX+plus II 5. Пока текст шаблона выделен, выберите Increase Indent (увеличить отступ) из меню Edit (редактирование) для сдвига текста вправо. 6. Дважды щелкните кнопку 1 на переменной_____register_instance_name и наберите count[7..0]. 7. Дважды щелкните кнопку 1 на переменной________register_name и на- берите OFF. Текст AHDL файла после создания регистра показан в окне на рис. 2.18. MAX+plus II - d:^max?work\tutorialUi»nr_cnt - (Text Editor - timecnt.tdfj “ i MAX+plus II £He Edit lempltrtcs Assign Utilities Options Window Help ,;р|е?|1ЯЙ| I'MMi', WSPESIGN time enz ( exjwb' c Ik t lute (7. .0] . ГНПГГ; - OUTPUT. VAPIABLZ count(7..Cf Line 6 Cel 1 [TnS |« P11C. 2.18 При необходимости перейдите к "Declaring Registers (AHDL)", используя Search for Help on (искать справку no) из меню Help (справка). 5. Ввод булевых уравнений Булевы уравнения используются для задания сигналов на входах D-триггера в Logic Section (разделе логики), который выделяется клю- чевыми словами BEGIN и END. 41 1. Поместите курсор после DFF; и нажмите ♦-». 2. Наберите BEGIN и нажмите <-». 3. Наберите count[].clk=clk: и нажмите +-». 4. Наберите time[ ]=count [ ]; и нажмите +-> 5. Наберите END. Ваш файл с логическим разделом показан на рис. 2.19. Для структурирования уравнений вы можете использовать кла- вишу табуляции или команду Increase Indent (увеличить
118 Чость 2 отступ) из меню Edit (редактировать). Для сокращения отступа выберите Decrease Indent из меню Edit или используйте клавиши Del и Backspace на клавиатуре. ____________MAX+plus d.yTU>x2work\tu1oriaiyime^cnt- {Text Editor - time cnt.td1| MAX * plus H File Edit jcmptates Assign Utilities Options Window Help________________ iDltg|B|®i | a ifriai F| 1И!Е№ Булевы уравнения SUBDESIGN tinje_cnr ( triable, elk ; INPUT; V ime[7..0] : OUTPUT; 1 < VARIABLE " count[7..0] : DFF; I BEGL\ | count [] .elk « elk; ’ » ccunt[]; ) END; Line 6 । coi i | Ins I» | Рис. 2.19 Если вы определили группу триггеров, то квадратные скобки [ ] являются коротким способом задания сигналов для всей группы. Первое уравнение соединяет входной сигнал elk подпроекта с СШЩКОДОДЗМК всех триггеров. Второе уравнение соединяет выходы переменной count[ ] с выходами подпроекта. Обратитесь к разделу "Boolean Equations (AHDL)", используя Search for Help on (поиск справки no теме) из меню Help (справка). 6. Ввод оператора If Then (если...то) На этом шаге вы опишите работу проекта с помощью оператора If Then (если...то). 1. Поместите курсор за count[ ]; и дважды нажмите +-*, чтобы улуч- шить читаемость текста. 2. Если нужно, нажмите Tab для перемещения курсора к началу булевых уравнений, затем выберите AHDL Template (шаблон AHDL) из меню Templates (шаблоны). 3. Выделите If Then Statement (оператор If Then) в поле Template Sections.
Самоучитель САПР MAX+plus II 19 4. Нажмите ОК. Шаблон для оператора If Then появится в точке вставки. 5. Отредактируйте оператор If Then, как показано на рис. 2.20. МАХ»plus II - dflmaxPworkyMtortalttime cnt - [Text Editor - time cnt.tdf] MAX* plus II file Edit Icmplates Assign Utilities options Window Help Cour SU3I-ESIGN tine cm ( “liable, c- tinie[". .0] INPUT: VARIABLE count (7. .0) BEG2M : DFF; : OUTPUT; Булевы - уравнения count[;.cik * elk; IF enable THEN ccunxlj ,d - count [].q + 1; ELSE count [ ] . d = count'] . q; EIJI* -t; ЕЮ; Оператор If Then iCDl 1 ins н Рис. 2.20 Если сигнал enable имеет высокий уровень, то оператор If Then определяет значение для count[].d, как count[].q+1, если enable имеет низкий уровень, то count[].d остается неизменным. Обратитесь к разделу "Implementing Conditional Logic (AHDL)", используя Search for Help on (поиск справки no теме) из меню Help (справка). Выберите значок ______ кнопку 1 на ключевом слове THEN в текстовом файле для перехода к разделу "If Then Statement" в справочной системе MAX+plus II. на панели инструментов и щелкните 7. Проверка на синтаксические ошибки и создание символа текущего файла Теперь вы можете проверить файл на синтаксические ошибки, чтобы убедиться, что он введен правильно, и затем создать его символ для использования в GDF файле верхнего уровня. 1. Выберите Save & Check (проверить и сохранить проект) в подменю Project меню File. (см. занятие 2, раздел "Сохранение и проверка файла на основные ошибки" на стр. 111). 2. Вернитесь к файлу time_cnt.tdf путем выбора его имени в нижней части меню Windows или Text Editor (текстовый редактор) из меню MAX+plus II.
120 Часть 2 3. Выберите Create Default Symbol (создать символ текущего файла) из меню File для создания символьного файла time_cnt.sym. Щелк- ните кнопку 1 на значке Close для закрытия окна компилятора. 4. Выберите Close (закрыть) из меню File для закрытия окна time__cnt.tdf. 8. Копирование auto jn ах. tdf и создание его символа Файл auto max.tdf описывает конечный автомат street-map. Он определяет направление и ускорение вашего автомобиля. 1. Введите TDF файл в соответствии с приведенным ниже текстом или скопируйте auto max.tdf из подкаталога \max2work\chiptrip в подкаталог \max2work\tutorial ВЗт3 Если вы копируете файл, то установите шаг табуляции четыре пробела с помощью Tab Steps (шаг табуляции) из меню Options, чтобы колонки текста были выровнены соответствующим образом. 2. Установите название файла проекта autojnax, сохраните и про- верьте файл на ошибки и создайте его символ, как описано в разделе 7 второй части "Проверка на синтаксические ошибки и создание символа текущего файла". 3. Закройте auto max.tdf. Текст файла auto maxjdf: CONSTANT NORTH = В"00”; % Create descriptive names for numbers CONSTANT EAST = B“OT\ % for use elsewhere in file CONSTANT WEST = В"10 CONSTANT SOUTH = В ”11’’; SUBDESIGN autojnax dir[1.,0]s accel. elk, reset speed_too__fast, at_altera. get_ticKet VARIABLE % % . INPUT: % File inputs : OUTPUT:% File outputs street-map : MACHINE OF BITS (q2,q1.q0) WITH STATES ( УС» rapid, epld, gdf, enf, rpt, epm, altera ); % Create state machine with bits q2. % q1 & qO as outputs of register % Your company % Marigold Park Lane Drive % East Pacific Lane Drive % Great Delta Freeway % Capitol North First % Regal Park Terrace % East Pacific Main % Your one-stop programmable logic snop % % % % % % % % % %
Самоучитель САПР MAX+plus II 121 BEGIN streetjnap.dk = dk; % input pin "elk" connects to state machine elk % streetjnap. reset=reset; % input pin "reset" connects to state machine reset % % File outputs default to GND unless otherwise specified % TABLE % Define state transitions % % Present Next % State Inputs State Outputs % streetjnap,dir[1. .OJ.accel => streetjnap, get_ticket,at_altera,speed_too_fast: %----------------------------------------------------------------------------% % When streetjnap is in the state yc, dir[1.,0]=00, and accel=0, it enters % % the state yc. yc. yc. yc. gdf, gdf. gdf, gdf, gdf, gdf, enf, enf, enf, enf, rpt, rpt, rpt, rpt, rpt, epld, epld, epld, epld, epld, epld, epm, epm, epm, epm, epm, epm, mpld, mpld, mpld, mpld, altera, rpt and outputs 0 for get_ticket, at_altera, NORTH, 0 => rpt. 0, EAST, 0 => gdf 0, NORTH, 1 => mpld, 0, EAST, 1 => enf 1, NORTH, 0 => epld, 0, and speed too fast.% END TABLE; ENO; WEST, 0 WEST, 1 EAST, 0 => yc, => yc. => enf, 0, 1, 0, EAST, NORTH, NORTH, WEST, NORTH, WEST, NORTH. NORTH, EAST, EAST, SOUTH, NORTH, WEST, WEST, SOUTH, EAST, EAST, NORTH, NORTH, SOUTH, SOUTH, WEST. WEST, WEST, SOUTH, WEST, SOUTH, X, 1 1 0 0 1 1 0 1 0 1 0 X 0 1 X 0 1 0 1 0 1 0 1 0 0 1 X => enf, => mpld, => epm, => gdf, => altera, => yc, => mpld, => mpld, => epld, => epm, => yc, => mpld, => rpt, => rpt, => gdf, => epm, => epm, => altera, => altera, => enf, => enf, => epld, => rpt. => rpt, => epld, => yc, => gdf, => altera, 1. 0, 0, 0, 0, 1. 0. 0, 0, 0, 0, 0, 0, 0, 0, 0. 0, 0, 0, 0. 0, 0, 0, 0, 0, 0. 0. 0, 0. 0, 0, 0, 0, 0. 0, 0, 0, 0, 0, 0, 0, 0, 0. 0. 0, 0, 0. 0, 0. 0. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0; 0; 1; 1: 0; 0; 1; 0: 1; 0; 0; 0; 1; 1; 0; 1; 0; 1; 0; 0; 0: 1; 0; 0; 1; 0; 1; 0; 1; 0; 1; 0; 0; 1; 0: 0;
122 Часть 2 Занятие 4. Создание файла проекта, описанного временными диаграммами В ходе этого занятия вы с помощью редактора временных диаграмм создадите файл проекта speed_ch.wdf. Этот файл описывает конечный автомат с состояниями legal, warning и ticket. Он проверяет, с какой скоростью едет ваше транспортное средство. Если ваш автомобиль превысит скорость в первый раз, вы получите предупреждение, при превышении скорости во второй раз вы получите штраф. Это занятие включает в себя следующие шаги: 1. Создание нового файла и назначение имени проекта. 2. Создание входных, выходных и внутренних цепей. 3. Задание временной сетки. 4. Редактирование временной диаграммы конечного автомата. 5. Редактирование временных диаграмм входных и выходных цепей. 6. Проверка временных диаграмм. 7. Проверка на основные ошибки и создание символа для этого файла. Вы можете использовать AHDL TDF версию файла speed_ch.wdf, называемую speed_ch.tdf Этот файл доступен в подкаталоге \max2work\chiptrip. Скопируйте этот файл в свой подкаталог \tutorial и продолжайте работу в соответствии с разделом 7 этого занятия "Проверка на основные ошибки и создание символа" на стр. 132. Обратитесь к "Creating a Waveform Design File" (создание файла проекта, описанного временными диаграммами), используя ко- манду Search for Help on (поиск справки по) из меню Help. 1. Создание нового файла и назначение имени проекта На этом шаге вы создадите новый WDF файл, называемый speed_ch.wdf, и назначите имя проекту. Для этого: 1. Выберите New из меню File, выделите Waveform Editor File (файл редактора временных диаграмм), выделите расширение .wdf в окне раскрывающегося списка и нажмите ОК для открытия нового окна редактора временных диаграмм. Вы создадите проектный файл с расширением .wdf для демонстрации возможностей редак- тора временных диаграмм. 2. Если нужно, увеличьте размер окна редактора временных диаграмм до максимального посредством щелчка кнопки 1 на значке Maxi- mize в строке заголовка.
Самоучитель САПР MAX+plus II 123 3. Выберите Save as из меню File. Наберите speed_ch.wdf в окне File Name. 4. Убедитесь, что в качестве текущей директории в поле Directory is у вас указана \max2work\tutorial. Нажмите ОК для сохранения файла speed_ch.wdf. 5. Выберите Set Project to Current File (назначить имя проекта по имени текущего файла) или Project Name (имя проекта) в подменю Project меню File и измените имя проекта на speed_ch (см. занятие 2, раздел "Назначение имени проекта" на стр. 100). Поле описания цепей и групп Двойной щелчок кнопки 1 на свободном пространстве в этом поле открывает диалоговое окно Insert Node (вставить цепь) Кнопка выделения Кнопка _______ ввода текста Кнопка _______ редактирования временной диаграммы Кнопка ------- увеличения изображения г Кнопка ------ отображения в окне редактора всей диаграммы Кнопка задания - названия состояния MAXtj tus 11 - d.‘\max2work\tutorial\speed ch - {Waveform Editor - speed ch.wdf] ] MAX*plus II f lie £<№ View Node Assign Utilities Options Window Help Ref jOOn ’Nsme о |WU Vgive I Interval 0 0ns 0 Ors 150 0ns 320 0ns Кнопка уменьшения изображения 450 j ns - I - Кнопка задания низкого уровня (0) Кнопка задания высокого уровня (1) Кнопка задания неопределенного значения (X) Кнопка задания третьего состояния (Z) Кнопка инверсии сигнала Кнопка задания тактового импульса Кнопка задания значений подсчета Кнопка задания группового значения I I 1 ! 1 I 1 r I I i Рис. 2.21 2. Создание входных, выходных и внутренних цепей Вы создаете WDF файл посредством ввода временной диаграммы входной цепи и желаемой временной диаграммы для выходной цепи. Вы можете создать временную диаграмму внутренней цепи для обес- печения логической связи между входными и выходными сигналами. Вы создадите три входных цепи для speed_ch.wdf: accel_in, reset и elk. Цепь accel_in соответствует ускорению вашего автомобиля. Когда он ускоряется, логический уровень временной диаграммы изменяется с низкого значения (0) на высокое значение (1), когда вы снижаете скорость, сигнал возвращается к низкому значению (0). Цепи reset и elk задают сигналы Reset (Clear) и Clock на соответствующих входах триггеров, которые будут созданы для реализации внутренних и вы- ходных цепей.
124 Часть 2 Вы создадите внутреннюю цепь, называемую speed, которая пред- ставляет конечный автомат. Его состояния изменяются в зависимости от вашей скорости. Наконец, вы создадите цепь get_ticket, которая определяет желаемые выходные сигналы для заданных комбинации входных сигналов. Для создания этих цепей: 1. Щелкните кнопку 1 в верхней части поля описания цепей и групп, как показано на рис. 2.21, и выберите Insert Node (вставить цепь) из меню Node. На экране отобразится диалоговое окно Insert Node (рис. 2.22). Определяет имя цепи Определяет начальный логический уровень 0,1, X, Z для цепи, или исходное состоя ние для конечного автомата_ Mode Name: Default Value 0 Insert Node Г1/0 Jype Определяет тип цепи (входная, выходная, внутренняя) О Output Pin О Buried Node Cancel Определяет тип логики, управляю- щей цепью " Node Type For Waveform Design File (WDF) Only (-Secondary Inputs Clock: Определяет цепи, которые - управляют сигналами Clock, Reset и Preset регистров и конечных автоматов О Comtringrtoria! О Machine Rfisel: Preset: Рис. 2.22 2. Наберите accel_in в окне Node Name (название цепи). 3. Выделите 0 в окне раскрывающегося списка Default Value (значение по умолчанию). 4. Выделите Input Pin (входной контакт) под I/O Туре (тип цепи). 5. В нижней половице диалогового окна выделите Pin Input под Node Туре (тип логики). 6. Нажмите ОК. В верхней части окна появится новая цепь. 7. Повторите шаги 1-6 для создания входных цепей reset и elk. Для получения справки о диалоговом окне Insert Node (вставка цепи) нажмите F1. когда оно отображается на экране. 8. Повторите шаги 1-7 для создания цепей speed и get_ticket со следующими характеристиками:
Самоучитель САПР MAX+plus II 125 Node Name (название цепи): Default Value (значение no умолчанию): I/O Type (тип цепи): Node Type (тип логики): speed Buried Node (внутренняя цепь) Machine (конечный автомат) get-ticket Output Pin (выходной контакт) Registered (регистровая) Secondary Inputs (управляющие входы): Reset = reset Clock = elk Clock = elk Появятся новые созданные цепи, как показано на рис. 2.23: Поле названия Значок цепи, показывающий ее тип Значки изменения размеров полей Область рисования временной диаграммы Кнопка ----- увеличения изображения I_________ Кнопка______ уменьшения изображения Поле____ значения Рис. 2.23 Для изменения размеров полей Name, Туре и Value нажмите кнопку 1 на соответствующем значке и переместите его влево или вправо. + Обратитесь к разделам "Buried Nodes" (внутренние цепи), "Input Nodes" (входные цепи) и "Output Nodes" (выходные цепи), исполь- зуя команду Search for Help on (поиск справки по) из меню Help 3. Задание временной сетки Чтобы начать редактирование временных диаграмм, нужно задать временную сетку и включить ее отображение:
126 Часть 2 1. Выберите Grid Size (временная сетка) из меню Options На экране отобразится диалоговое окно Grid Size 2. Наберите 30 ns для задания сетки с интервалом 30 наносекунд. Единицы измерения времени должны идти сразу же за значением времени (без пробелов между ними). 3. Нажмите ОК. Г В WDF файле временная сетка произвольная, временная шкала показывает только порядок следования операций, а не конкретное время отклика. Задание временной сетки в данном занятии самоучителя приведено в методических целях, чтобы обратить внимание на этот шаг. при работе с временными диаграммами. 4. Если нужно, включите Show Grid (показывать сетку) из меню Options для отображения пунктирных вертикальных линий вре- менной сетки. При работе с WDF файлами команда Snap to Grid (совместить фронты сигналов с линиями временной сетки) из меню Options всегда включена. 4. Редактирование временной диаграммы конечного автомата Для редактирования временной диаграммы конечного автомата speed вам нужно ввести диаграмму с тремя его состояниями legal (разре- шенная скорость), warning (предупреждение) и ticket (штраф). При редактировании временных диаграмм вы можете изменить масштаб окна для просмотра различных частей диаграммы по- средством щелчка кнопки 1 на значках Zoom in (кнопка увеличе- ния изображения), Zoom out (кнопка уменьшения изображения) и Fit in Window (кнопка отображения в окне редактора всей диаграммы) инструментальной панели, как показано на рис. 2.21. Для редактирования цепи speed: 1. Щелкните кнопку 1 в поле Value (значение) цепи speed для выделения всей временной диаграммы. 2. Выберите команду Overwrite State Name (задание названия со- стояния) из меню Edit или кнопку Overwrite State Name иа ин- струментальной панели, как показано на рис. 2.21. 3. Наберите legal (движение с разрешенной скоростью) в окне State name (название состояния). 4. Нажмите ОК. На всем временном интервале будет состояние legal. 5. С помощью кнопки горизонтальной прокрутки или Zoom out отобразите на экране временную линию сетки 300 ис.
Самоучитель САПР MAX+plus II 127 Поле времени линии отсчета, отображает время текущего расположения 1нии отсчета Изменяется на поле Start выделенного фрагмента временной Поле времени, отображает время текущего положения указателя мыши Изменяется на поле End при выделении временной диаграммы Рис. 2.24 6. Щелкните кнопку 1 на значке редактирования временной диа- грамму, как показано на рис. 2.21. Указатель выделения изменится на указатель редактирования временной диаграммы. 7- . С помощью кнопок Zoom in, Zoom out или прокрутки отобразите на экране диаграмму в интервале от 300 до 540 нс. Если вы переместите указатель к краю окна, то диаграмма начнет прокру- чиваться автоматически. 8. С помощью поля Time (время) вы можете точно определить местоположение указателя мыши. Нажмите кнопку 1, когда ука- затель редактирования временной диаграммы для цепи speed будет на отметке 300 нс, и переместите мышь до отметки 540 нс. Если вы переместите указатель до края окна, то диаграмма начнет прокручиваться автоматически. i3 По мере того, как вы перемещаете мышь для выделения интер- вала временной диаграммы, поля Time и Reference изменяются на поля Start и End, показывая ширину выделенного интервала. 9. Отпустите кнопку 1. Диалоговое окно Overwrite State Name (за- дать имя состояния) откроется автоматически, поскольку вы ис- пользовали кнопку редактирования временной диаграммы для конечного автомата.
Часть 2 128 10. Наберите warning (предупреждение) в поле State Name (название состояния). И. Нажмите ОК. Выделенный интервал перепишется с названием состояния warning. 12. Повторите шаги 7-11 для задания состояния ticket в интервале от 540 до 660 нс. 13. Нажмите кнопку Fit in Window (отображение в окне редактора всей диаграммы) на панели инструментов, чтобы увидеть всю диаграмму. Появится временная диаграмма цепи speed, как показано на рис. 2.25. ________MAX*plus II - d:\max2worlcViitorianspced_ch - [Waveform Editor - speed ch.wdf] MAXiplus II file -Edit View Mode Assign Utilities Options Window Help Кнопка отображе- ния в окне редактора всей диа- граммы — Кнопка --- задания неопреде- ленного значения (X) Name Ref :0 Orc INPUT INPUT MACHINE REG ifpe INPUT ♦ p | Time [0 On 0 Ons Vaije iega: 0 Irtercai О On 300 0ns 600 On- 90S On- , I ~7 ’ «armrig' : ifcghl; . ; Y 0 0 0 1 1 1 1 Рис. 2.25 5. Редактирование временных диаграмм входных и выходных цепей На этом шаге вы будете редактировать временные диаграммы входных и выходных цепей. На временной диаграмме accel_in вы зададите два положительных импульса, которые означают ускорение вашего автомо- биля и превышение разрешенной скорости. При этом конечный автомат speed изменит свое состояние сначала из legal в warning, а затем из warning в ticket. Потом вы зададите сигнал с неопределенным (X) логическим уровнем на accel_in, чтобы определить переход из состояния ticket в состоянию legal. Вы зададите тактовый сигнал elk с периодом 120 нс. Сигнал reset не будет изменяться.
Самоучитель САПР MAX+plus II 129 Для выходной цепи get_ricket вы зададите положительный импульс, длительность которого будет соответствовать состоянию ticket на вре- менной диаграмме конечного автомата speed. Для редактирования временных диаграмм выполните следующие действия: 1. Если нужно, прокрутите или уменьшите изображение, чтобы ото- бражалась линия сетки 270 нс. 2. Нажмите кнопку редактирования временной диаграммы Нажмите кнопку 1, когда указатель редактирования временной диа- граммы для цепи accel_in будет на отметке 270 нс, и переместите мышь на два деления сетки, выделяя интервал от 270 до 330 нс, затем отпустите кнопку 1. На выделенном интервале задайте вы- сокий логический! уровень. Он определяет переход конечного автомата speed из состояния legal в состояние warning (т.е., если speed находится в состоянии legal и на accel_in поступает поло- жительный сигнал, то speed переходит в состояние warning). f3 4 5 6 Кнопка редактирования временной диаграммы задает уровень сигнала противоположный тому, который был до начала выде- ления. Для диаграмм с третьим состоянием (Z) и неопределенным уровнем (X) задаются те же значения, которые были до начала выделения. 3. Повторите. шаги 1-3 для задания положительного сигнала в ин- тервале от 510 до 570 нс (два деления сетки) на диаграмме accel_in, который будет соответствовать переходу конечного ав- томата speed из состояния warning в состояние ticket (т.е. если speed находится в состоянии warning и на accel_in поступает положительный сигнал, то speed переходит в состояние ticket). 4. Если нужно, прокрутите или уменьшите изображение для отобра- жения линии сетки 630 нс . 5. Щелкните кнопку 1 на значке выделения для активизации указа- теля выделения. Сигнальный курсор передвинется к началу интервала. Быстрый вызов: нажатие -клавиши Esc переключит текущий ука- затель на указатель выделения. Время в месте расположения курсора отображается сверху курсора и в поле времени сигнального курсора. Логические уровни или наз ния состояний для этого времени показываются в поле Value (значение). Тире (—) в этом поле означает, что его ширина не позволяет отобразить значение. 6. С помощью кнопки выделения выделите интервал от 630 до 690 нс (два деления сетки). Выберите команду Overwrite Undefined (X)
130 Часть 2 (задать неопределенный уровень (X)) из меню Edit (редактирва- ние) или выберите кнопку задания неопределенного уровня на инструментальной панели, как показано на рис. 2.25. Неопреде- ленный уровень соответствует переходу конечного автомата из ticket в legal (т.е. speed переходит из состояния ticket в состояние legal независимо от значения на accel_in). Получается временная диаграмма accel_in, показанная на рис. 2.26. j_________MAX*plus II - d^max2wnrHtutnrial\speed ch - (Waveform Editor - spcedr.h.wdf] i MAX* plus II file £dil View Mode Assign Utilities Options Window Help Ret '0.0ns Name reset ilk iype INPUT IMP' tT MACHINE REG e k-------- |+1*| Time |0Ons 00ns eja! □ Irterva 0 0ns 3CO 0ns 600 Cns ____I_,_ 900 Ons ___I___ *wmnc ¥ ticket ¥ T~-- —~ J- ipgal • 0 0 0 1 1 1 Рис. 2.26 7. Нажмите Esc, чтобы переключиться на указатель выделения. 8. Выделите всю цепь elk путем щелчка кнопки 1 на значке этой цепи, или на ее названии, или в иоле Value (значение). 9. Выберите Overwrite Clock (задать тактовые импульсы) из меню Edit. На экране отобразится диалоговое окно Overwrite Clock. 10. Наберите 2 в поле Multiplied By (умножить на). 11. Нажмите ОК в диалоговом окне Overwrite Clock. Начальное значение и период тактовых импульсов для elk будет принят по умолчанию. Появится временная диаграмма цепи elk, показанная па рис. 2.27. Быстрый вызов для открытия диалогового окна Overwrite Clock: / Нажмите кнопку 2 и выберите Overwrite Clock из появившегося меню. или / Выберите кнопку задания тактовых импульсов на инструмен- тальной панели, как показано на рис. 2.27.
Самоучитель САПР MAX+plus II 131 Кнопка — задания тактовых импульсов Рис. 2.27 12. Для редактирования цепи get_ticket повторите шаги 1-4 на стр. 129. Используя кнопку редактирования временной диаграммы, задайте положительный импульс для цепи get_ticket на интервале от 540 до 660 нс. Он соответствует состоянию ticket на временной диаграмме цепи speed. Кнопки перемощения сигнального курсора Рис. 2.28
132 Часть 2 6. Проверка временных диаграмм Для проверки временных диаграмм вы можете последовательно пе- ремещать сигнальный курсор к каждому изменению логического уровня сигналов: 1. Если нужно, нажмите Esc для выбора указателя выделения. 2. Щелкните кнопку 1 на отметке 0 нс в области рисования временной диаграммы или переместите сигнальный курсор, используя его значок, в начало файла. 3. Нажмите клавишу —> или щелкните кнопку 1 на правом значке перемещения сигнального курсора для перехода к следующему изменению логического уровня, как показано на предыдущей ил- люстрации. Вы также можете выбрать команду Find Next Transaction (найти следующее изменение логического уровня) из меню Utilities. 4. По мере необходимости переместите сигнальный курсор на по- следующие изменения логических уровней. Значения сигналов или названия состояний для каждого перехода отображаются в поле Value (значение). Тире (—) в поле значения означает, что его ширина недоста- точная, чтобы отобразить значение. Выберите |)t?| из панели инструментов и щелкните кнопку 1 на значке сигнального курсора. 7. Проверка на основные ошибки и создание символа Теперь мы проверим файл на синтаксические ошибки, чтобы убе- диться, что он введен правильно, и затем создадим его символ для использования в GDF файлах верхнего уровня. 1. Выберите Project Save & Check (сохранить и проверить проект) из меню File. См. раздел "Сохранение и проверка файла на основные ошибки" на стр. 111. 2. Если команда Project Save & Check (сохранить и проверить проект) прошла успешно, то щелкните кнопку 1 на значке Close (закрыть) для закрытия окна компилятора. 3. Убедитесь, что файл speed_ch.wdf (или speed_ch.tdf) отобража- ется в активном окне, выберите команду Create Default Symbol (создать символ текущего файла) из меню File. Если символьный файл speed_ch.sym уже существует, то вас попросят нажать ОК для его перезаписи. 4. Щелкните кнопку 1 на значке Close (закрыть) для закрытия файла.
Самоучитель САПР MAX+plus II . ........ .. ^11»^^—II и ни—< 133 Занятие 5. Создание графического файла проекта верхнего уровня В ходе этого занятия вы создадите файл проекта верхнего уровня chiptrip, используя графический редактор MAX+plus И. Файл chip- trip.gdf будет состоять из символов, которые представляют четыре файла более низкого уровня, созданные в ходе предыдущих занятиях самоучителя: tick_cnt.gdf, automax.tdf, time_cnt.tdf и speed_ch.wdf (или speed_ch.tdf). На рис. 2.29 показан файл chiptrip.gdf, который вы должны будете создать по описанию, приведенному ниже. На этом занятии мы также познакомимся с дополнительными командами быстрого вызова, что поможет вам быстрее создать файл chiptrip.gdf. За подробной инфор- мацией о каждом шаге обратитесь к занятию 2: "Создание графического файла проекта". Некоторые кнопки в правой части панели инструментов могут быть недоступны, если ваш монитор работает в режиме VGA. Все кнопки панели инструментов и раскрывающиеся списки дос- тупны при высокой разрешающей способности экрана. По жела- нию вы можете переключиться на альтернативный набор кнопок панели инструментов при работе в режиме VGA. Обратитесь к разделу "Setting MAX+plusII Preferences" (настройка общих параметров MAX+plus II), используя команду Search for Help on (поиск справки по) из меню Help. Рис. 2.29 Если вы пропустили предыдущие занятия самоучителя и не создавали указанные четыре файла проектов более низкого уров- ня, вы можете скопировать эти файлы и соответствующие им
134 Часть 2 символьные файлы из подкаталога \max2work\chiptrip в ваш подкаталог \max2work\tutorial. На рабочих станциях UNIX ди- ректория max2work является подкаталогом директории /usr. Для создания chiptrip.gdf: 1. Создайте новый GDF файл и сохраните его как chiptrip.gdf в ди- ректории \max2work\tutorial. 2. Задайте имя проекта chiptrip. Быстрый вызов (быстрое задание имени проекта): / Нажмите кнопку Changes the project name to the name of the current file (назначить имя проекта по имени текущего файла) в верхней части окна. или / Нажмите клавиши на клавиатуре Ctrl+Shift+J 3. Введите символы для этой схемы: а) Используйте команду Enter Symbol (ввести символ) из меню Symbol д.Тя ввода символов, представляющих файлы проектов более низкого уровня, созданных на предыдущих занятиях дан- ного самоучителя: Название символа: tick_cnt auto max time_cnt speed_ch Файл проекта: tick_cnt.gdf auto_max.tdf time_cnt.tdf speed_ch.wdf Занятие по самоучителю: Занятие 2 Занятие 3 Занятие 3 Занятие 4 b) Введите базовый элемент GLOBAL. с) Введите пять контактов INPUT и три контакта OUTPUT. Быстрый вызов для открытия диалогового окна Enter Symbol (ввод символа): / Переместите указатель выделения на свободное место и дважды щелкните кнопку 1. или У Переместите любой указатель на свободное место, нажмите кнопку 2 и выберите из появившегося меню Enter Symbol (ввод символа). 4. Задайте имена контактов следующим образом:
Самоучитель САПР MAX+plus II 135 Имена входных контактов: dir[1 0] accel clock reset enable Имена выходных контактов: time[7..0] at altera ncket[3. .0] Быстрый вызов: / Переместите указатель выделения или ввода текста на имя контакта по умолчанию и дважды щелкните кнопку 1, наберите желаемое имя контакта. или J Переместите любой указатель на символ контакта, нажмите кнопку 2, выберите из появившегося меню Edit Pin Name (ре- дактирование имени контакта), наберите имя контакта. г* Если вы нажмете «-1 после того, как отредактируете имя контакта, то автоматически выделится имя следующего ниж- него контакта для редактирования. 5. Нарисуйте цепи и линии шин для соединения символов, как показано на рис. 2.29. Убедитесь, что вы нарисовали все цепи, даже те, которые не соединяют графически символы вместе. Быстрый вызов: У цепей и шин разные типы линий. В качестве альтернативы использованию команды Line Style (тип линии) из меню Options вы можете выбрать тип линии с помощью окна с раскрывающемся списком Line Style (тип линии) на панели инструментов или с помощью появляющегося меню, вызываемого кнопкой 2: / Щелкните кнопку 1 на значке с треугольником, который рас- полагается справа от окна с изображением линии, и выберите тонкую сплошную линию, которая находится вверху списка: или / Переместите любой указатель на линию цепи и нажмите кнопку 2 для выбора нужного типа линии из подменю Line Style (тип линии).
136 Часть 2 6. Для ввода точек соединения: а) Переместите указатель выделения или любой другой указатель на пересечение двух линий и щелкните кнопку 1. Ь) Выберите команду Toggle Connection Dot (установить/удалить точку соединения) из меню Edit. Быстрый вызов: 7 Переместите любой указатель на пересечение двух линий и дважды щелкните кнопку 1. или У Переместите любой указатель на пересечение двух линий и щелкните кнопку 2, выберите команду Toggle Connection Dot (установить/удалить точку соединения) из появившегося меню. или 7 Переместите любой указатель на пересечение двух линий и нажмите кнопку Enters or deletes a connection dot (установить или удалить точку соединения) на панели инструментов. 7. Ввести имена несоединенных цепей для связи их посредством имен, как показано на рис. 2.29. Ниже приводится список имен для этих цепей. Здесь символы однозначно определяются как <symbol пате>: <symbol ID> (-^название символа>^идентификационный номер>). Если вы вводили символы в другом порядке, то идентификационные номера символов на вашей схеме будут отличаться от указанных в таблице. Символ: auto max:1 auto_max:1 at-altera (выходной контакт) speed_ch:2 tick_cnt:3 tick-cnt:3 Название контакта: ATJOERA GETJICKET at-altera GET-TICKET GET_TICKET1 GETJICKET2 Название цепи at_altera get_ticket at_altera get_ticket2 get_ticket1 get-ticket2 Названия контактов внутри символов, созданных с помощью команды Create Default Symbol (создать символ текущего файла) из меню File, написаны в таблице заглавными буквами.
Самоучитель САПР MAX+plus II 137 Быстрый вызов: Быстрый ввод имен цепей и шин: / Переместите любой указатель на линию цепи или шины, щелк- ните кнопку 1 для определения места расположения имени и наберите нужное имя. или / Переместите любой указатель на линию цепи или шины, щелк- ните кнопку 2, выберите Edit Node/Bus Name (редактировать имя цеии/шпны) из появившегося меню и наберите имя. или / Нажмите кнопку ввода текста. Переместите указатель ввода текста на линию цепи или шины и наберите имя. Вы можете набрать имя на свободном месте, затем используя указатель вы- деления переместить его на линию, чтобы связать с ней это имя. Быстрый вызов: Если вы хотите изменить шрифт и его размер в текстовом блоке, то можно использовать команды Text Size (размер шрифта) и Font (шрифт) из меню Options, раскрывающиеся списки на панели инструментов или появляющееся меню, вызываемое кнопкой 2. / Щелкните кнопку 1 на значке с треугольником (горизонтальная панель инструментов), который располагается справа от окна с названием шрифта или с его размером, выберите нужный шрифт и размер из раскрывающегося списка: Alteca ft~| 10 ± или / Переместите любой указатель на имя цепи или шины, щелкните кнопку 2 и выберите нужный шрифт и его размер из подменю Text Size (размер шрифта) или Font (шрифт). 8. Выберите Save (сохранить) из меню File для сохранения файла Для быстрого вызова команд графического редактора обратитесь к разделам "Graphic & Symbol Editor Shortcuts" (быстрый вызов команд графического редактора и редактора символов) и/или к описаниям различных команд, используя Search for Help (поиск справки по) из меню Help.
138 Часть 2 2.5. Обработка проекта Занятие 6. Компиляция проекта В ходе данного занятая вы будете компилировать проект chiptrip. Компилятор MAX+plus II проверяет проект па ошибки, синтезирует логику, размещает проект в микросхеме фирмы Altera, создает выходные файлы для моделирования и программирования и обновляет окно дисплея иерархии проекта. Данный раздел включает следующие шаги: 1. Открытие окна компилятора. 2. Выбор семейства микросхем. 3. Использование команды Smart Recompile (ускоренная переком- пиляция) 4. Использование утилиты Design Doctor (анализатор соответствия проекта правилам синтеза). 5. Использование бита защиты. 6. Выбор Global project logic synthesis style (параметров логиче- ского синтеза). 7. Использование Timing SNF Extractor (экстрактора временного SNF файла). 8. Выбор разделов Report File (файла отчета). 9. Запуск компилятора. 10. Нахождение источника сообщения. И. Получение справки о сообщении. 12. Просмотр Report File (файла отчета) Если вы не закончили предыдущие занятия, в ходе которых были созданы файлы для проекта chiptrip (tick_cnt.gdf, time_cnt.tdf, auto_max.tdf, speedjch.wdf, и chiptrip.gdf), вы можете скопи- ровать их и соответствующие им символьные файлы из подката- лога \max2work\chiptrip в подкаталог \max2work\tutorial. На рабочих станциях UNIX директория max2work является подка- талогом директории дерева /usr. Затем вы должны назначить chiptrip в качестве имени проекта. См. занятие 2. раздел "На- значение имени проекта" на стр. 100. 1. Открытие окна компилятора Для открытая окна компилятора: Выберите Compiler (компилятор) из меню MAX+plus II. На рис. 2.30 показано окно компилятора. Отображение модульных блоков и иконок на вашем экране может отличаться от приведенных на иллюстрации в зависимости от
Самоучитель САПР MAX+plus II 139 того, как была произведена настройка MAX+plus II перед тем. как вы приступили к этому занятию. Меню Processing и In- terfaces в окне компилятора содержат команды для включения и выключения различных модульных блоков и утилит в процесс обработки проекта. Compiler Compiler Netlist Extractor । Database ' Builder Logic Synthesizer Partition er Fitter Timing SNF Extractor Assembler I Индикатор выполнения Start Stop Песочные часы отсчитывают Модульный время и переворачиваются, когда блок компилятор обрабатывает проект Рис. 2.30 2. Выбор семейства микросхем 1Э0 Вы можете выбрать любое семейство микросхем, поддерживаемое MAX+plus II, для своего проекта. .Вы можете разрешить компилятору автоматически выбрать подходящую микросхему в рамках отдельного семейства. Для назначения семейства микросхем: 1. Выберите Device (микросхема) из меню Assign (назначения). Откроется диалоговое окно Device (микросхема) (рис. 2.31): Device OK Top of Hierarchy: i:\max\release\t-birdpckt-bird.gdf Device £amily: Cancel Devices: [AUTO Agio Device... А1П0 о EPM7032LC44-6 EPM7032QC44-7 E PM7032T C44-6 EPM7032VLC44 12 Device Options... £dit Chips >> El Show Only Fastest Speed Grades □ Maintain Current Synthesis Regardless of Device or Speed Grade Changes Рис. 2.31 2. Если семейство MAX 7000 не выбрано, то выберите МАХ7000 в окошке раскрывающегося списка Device Family. 3. Если нужно, выберите AUTO в окне Device. 4. Нажмите ОК
140 Часть 2 3. Использование команды Smart Recompile (ускоренная перекомпиляция) Когда включена функция Smart Recompile (ускоренная перекомпи- ляция), компилятор сохраняет дополнительную информацию о текущем проекте с целью ее использования в последующих компиляциях. Во время ускоренной перекомпиляции компилятор может определить, ка- кие модули не нужно перекомпилировать, и пропустить их, уменьшая время перекомпиляции. В разделе занятия 8 "Просмотр связей логических элементов в окне редактора физического размещения" на стр. 156, вы будете переком- пилировать проект chiptrip после изменения назначения контактов. Использование на этом занятии команды Smart Recompile (ускоренная перекомпиляция) сократит время при выполнении шагов занятия 8. Для включения ускоренной перекомпиляции: / Выберите команду Smart Recompile в меню Processing (обработка). 4. Использование утилиты Design Doctor (анализатор соответ- ствия проекта правилам синтеза) Во время компиляции вы можете использовать утилиту Design Doctor (анализатор соответствия проекта правилам синтеза). Она про- веряет файлы проектов на соответствие их правилам синтеза (эти правила можно найти в справочной системе MAX+plus II). Невыпол- нение правил синтеза может привести к нестабильной работе запрограм- мированной микросхемы. Для включения утилиты Design Doctor (анализатора соответствия проекта правилам синтеза) и задания правил для проверки: 1. Выберите Design Doctor (анализатор соответствия проекта пра- вилам синтеза) из меню Processing (обработка). При включении этой команды появляется метка перед ее названием в меню Proc- essing и значок в окне компилятора под модульным блоком Logic Synthesizer (логический синтезатор), как показано на рис. 2.32. Compiler 1 о Compiler Netlist Extractor Database Builder Logic Synthesizer Partitioner Fitter Timing SNF Extractor Assembler 52 130 Stop Значок Design Doctor Puc. 2.32
Самоучитель САПР MAX+plus II 141 2. Выберите Design Doctor Setting (настройка анализатора соответ- ствия проекта правилам синтеза) из меню Processing (обработка). На экране отобразится диалоговое окно Design Doctor Setting (рис. 2.33). “ Design Doctor Settings [" Design Rules ® £PLD Rules О FLEX Rules О MPLD Rules О Cgstom Rules Advanced Options » Cancel Pnc. 2.33 3. Если нужно, выберите EPLD Rules (правила для EPLD микросхем) и нажмите ОК Обратитесь к разделу "Checking Project Reliability with the Design Doctor" (проверка надежности проекта с помощью анализатора соответствия проекта правилам синтеза) и "Project Reliability Guidelines" (правила синтеза цифровых схем), используя Search for Help on (поиск справки по) из меню Help. 5. Использование бита защиты MAX+plus II позволяет установить Security Bit (бит защиты) для микросхем семейств Classic и МАХ. Этот бит предохраняет микросхему от считывания запрограммированной информации. • 1. Выберите Global Project Device Options (параметры микросхемы для текущего проекта) из меню Assign (назначения). На экране отобразится диалоговое окно Classic & MAX Global Project Device Options (рис. 2.34). =| Classic & MAX Global Project Device Options Project Name it: d: \max2 wot kUutof iaKchiptiip. gdf S Security Bit Г Reserved Resources □ Low-Voltage I/O t/g pjns Logic Cells: Cancel Pnc. 2.34 2. Если нужно, включите Security Bit и нажмите OK.
142 Часть 2 6. Выбор Global project logic synthesis style (параметров логического синтеза) Вы можете выбрать параметры логического синтеза для текущего проекта, которые будут использованы модулем логического синтеза компилятора во время компиляции. По умолчанию параметры логиче- ского синтеза для нового проекта устанавливаются "Normal" (стандарт- ные). Они оптимизируют логику вашего проекта на минимальное ис- пользование ресурсов кристалла. Для выбора параметров логического синтеза: 1. Выберите Globa! Project Logic Synthesis (параметры логического синтеза для текущего проекта) из меню Assign (назначения) На экране отобразится диалоговое окно, показаное на рис. 2.35. Global Project Logic Synthesis Project Name it: c:\max2work\tutoria1\chiptfip.gdf “ Global Protect Synthesis Style NORMAL (Refine Synthesis Style... " Optimise 0 |Г"1 ~1 I « -1 .. - I -‘i-l ' Area Speed " MAX Device Synthesis Options П Multi-Level Synthesis lor MAX 5000/7000 Devrees EJ Multi-Level Synthesis for MAX 9000 Devices □ One-Hot State Machine Encoding П Automatic Fast 1/0 Q Automatic Register Packing । Ji Automatic Open-Drain Pins EJ Automatic Implement in EAB Automatic Global U Preset И Output Finable Cancel Рис. 2.35 2. Если нужно, выберите Normal в окошке раскрывающегося списка Global Project Synthesis Style (параметры синтеза для текущего проекта) и нажмите ОК Обратитесь к разделу "Specifying Global Project Logic Synthesis Settings" (назначение параметров логического синтеза для теку- щего проекта), используя Search for Help on (поиск справки по) из меню Help.
Самоучитель САПР MAX+plus II 143 7. Использование Timing SNF Extractor (экстрактора временного SNF файла) Компилятор может создать Simulator Netlist File (файл списка со- единений для симулятора) (.snf), который используется симулятором и временным анализатором. Этот файл содержит информацию о логике проекта и его временных параметрах, необходимую при моделировании, определении задержек распространения сигналов и при временном анализе. Чтобы включить Timing SNF Extractor module (модуль временного SNF экстрактора): / Выберете Timing SNF Extractor из меню Processing. При вклю- чении этой команды появляется метка перед ее названием в меню Processing и модульный блок в окне компилятора, как показано на рис. 2.36: Compiler Compiler Netlist Extractor ! Database Builder Logic Synthesizer Partitioner Fitter Timing SNF Extractor Assembler ; 52 Slop ! 0 no Start Модульный J• Timing SNF Extractor Pnc. 2.36 Если в окне компилятора отображаются модульные блоки EDIF, VHDL, Verilog Netlist Writer (генераторы выходных EDIF, VHDL, Verilog файлов), то их можно выключить с помощью команд EDIF Netlist Writer, VHDL Netlist Writer, Verilog Netlist Writer из меню Interfaces (интерфейсы). 8. Выбор разделов Report File (файла отчета) Файл отчета (.rpt) создается модулем разводки компилятора. Он показывает, какие ресурсы микросхемы используются проектом chiptrip. Компилятор позволяет вам задать включение дополнительной инфор- мации в файл отчета. Чтобы задать включение всех разделов в файл отчета: 1. Выберите Report File Setting (задание разделов файла отчета) из меню Processing (обработка). На экране отобразится диалоговое окно Report File Setting (рис. 2.37).
144 Часть 2 Report Fite Settings Optional Report File Sectionr S Цмг Assignment» • 13 ЕЙе Hseiarch> 3 Logic Cell I ntei connections 13 Equations Eau OK Cancel Рис. 2.37 2 Если нужно, включите All (все) и нажмите ОК * Обратитесь к разделу "Report File Format", используя Search for Help on (поиск справки no) из меню Help. 9. Запуск компилятора Для компиляции проекта: 1. Нажмите кнопку Start. По мере того, как компилятор обрабатывает проект chiptrip, все информационные сообщения, сообщения об ошибках и предупреждения будут появлятся в окне процессора сообщений, которое открывается автоматически. Кнопка Stop/Show Status (стоп/показать состояние) будет появ- ляться вместо кнопки Stop, когда проект обрабатывают модули Partitioner (разделение проекта на части) и Fitter (разводчик), как показано на рис. 2.38. Compiler Compiler Netlist Extractor Database I Logic Builder I Synthesizer Partitioner Fitter Timing SNF Extractor .....- 1 t I Assembler i r I ч о Z3 Start Sjup/Show Status [ В данный момент проект обрабатыва Кнопка ется модулем Fitter (разводчик) Stop/Show Status Pnc. 2.38 2. Во время обработки проекта модулем Fitter (разводчик) нажмите кнопку Stop/Show Status в окне компилятора. Это удастся сделать, если производительность вашего компьютера невысока. На экране отобразится диалоговое окно Partitioner/Fitter Status (состояние разводки и разделения проекта на части) (рпс. 2.39), в котором перечисляются все микросхемы для данного проекта и состояние их разводки.
Самоучитель САПР MAX+plus II 145 Рис. 2.39 3. Нажмите кнопку Continue Compilation (продолжение компиляции) в диалоговом окне Partitioner/Fitter Status для продолжения ком- пиляции. Значок файла отчета Окно процессора сообщений — Эта кнопка позволяет вам просматривать все сообщения. Рядом отобра- жается общее число сообще- ний и номер сообщения, выбранного в данный момент _______ Автоматически выделяет источ- ник ошибки _____ или предупрежде- ния. Если у сооб- щения несколько источников, вы можете последо- вательно опреде- лить местопо- ложение каждого из них Позволяет вам отслеживать источник или источники сообщений в редакторе фи- зического размещения, а не в design (файле проекта) и не во ancillary (вспомога- тельном Файле) Открывает редактор физического разме- щения и одновре- менно выделяет все источники выбран- ного сообщения Сообщает информацию о причине сообщения и о том, как ее исправить Рис. 2.40 Компилятор запустится в фоновом режиме, давая вам возможность заниматься другими задачами. Однако данная компиляция явля-
146 Часть 2 ется короткой, и вам не придется долго ждать ее окончания. Для более сложного проекта, когда компиляция может быть длитель- ной, вы сможете запустить компилятор и затем переключиться на другое приложение для продолжения вашей работы. Когда компиляция закончится, под модулями появятся значки, пред- ставляющие выходные файлы, генерируемые компилятором. Вы можете открыть любой из них посредством двойного щелчка кнопки 1 на значке соответствующего файла. В результате ком- пиляции chiptrip также генерируются четыре информационных сообщения, как показано на рис. 2.40. Design Doctor (анализатор соответствия проекта правилам син- теза) выдал для проекта chiptrip "clean bill of health" (он не нашел нарушений, выбранных правил синтеза). Компилятор выбрал для данного проекта микросхему EPM7032LC44-6 (микросхему ЕРМ7032-6 в 44-контактном PLCC корпусе). 10. Нахождение источника сообщения Вы можете дать указание процессору сообщений определить место- положение источника сообщений в соответствующем файле проекта. Для нахождения источника сообщений: 1. Если нужно, переключитесь на окно процессора сообщений путем выбора Message Processor из меню MAX+plus II. 2. Щелкните кнопку 1 на первом сообщении или с правой стороны кнопки Message для выделения первого сообщения: Info: State 'altera' in the state machine ‘ |auto_max:1|street_map' is never exited. 3. Если нужно, выключите опцию Locate in Floorplan Editor (найти в редакторе физического размещения). 4. Нажмите кнопку Locate. Быстрый вызов: Двойной щелчок кнопки 1 на сообщении также выделит источник сообщения и является альтернативой использования кнопки Locate (найти). Процессор сообщений автоматически откроет TDF файл, содер- жащий источник сообщения, и выделит местонахождение источ- ника в файле проекта, как показано на рис. 2.41 5. Если сообщение имеет несколько источников, вы можете опреде- лить дополнительные источники посредством повторного нажатия кнопки Locate (найти). 6. По окончании просмотра файла проекта закройте окно редактора проекта для возврата в окно процессора сообщений.
Самоучитель САПР MAX+plus II 147 Text Editor - onto moxTdf street _raap : IlACEANi OF HITS (q2,ql,q2 KIT STATES ’ mpld epld gdt# cot, eprr< BKvlN streetrap,elk street map.reset TAELE ж с1и; ressr: “x i__j Create state machine with torts q ql £ qO as outputs c* register Tout company ЙогAgoId Pack Lane Srive East Гос it ii Lans Prive Great LelCb Freeway Capitol North .hirst Regal Park Terrace Easr Pacific* Wain Your one-srzp programmable input pin "ilk" connects to atari Input pin "reset" connects ~6 st! File output“ default tu 3ND unit; Detinc atarx transitions * * ____-i— ____ __ . Line 22 Col 25 [INS ,*[ JdAAir .. Источник сообщения выделен в исходном файле проекта. Рис. 2.41 11. Получение справки о сообщении Вы можете получить справку о причине сообщения. Для получения справки о сообщении: 1. Выделете сообщение. 2. Нажмите кнопку Help on Message в окне процессора сообщений. Процессор сообщений откроет окно справочной системы MAX+plus II, в котором будет информация о причине сообщения и действиях, которые вы должны предпринять для ее устранения На рис. 2.42 показан раздел справочной системы для первого сообщения из окна процессора сообщений. —______________________________________MAX+plus II Help______________________________________[2_ Elie Edit Bookmark Options Help_________________________________________________________________ Contents | Se»ch | Ja-ac< | fMt _________________________________________________________ State *г>эгм> In state machine Is never exited •M HAX+FiUSii CAJSE t'uj have entered a tn a P,d‘- can n<*vuj bd left uulu it s ваечвй ACTION If yen (trended for tie state machne to te able to cur fam the stGte modify rhe design file. S«e also frnp.ernenrin j a State wach>n? (AHDL) MAX HTJ-i. 11 Mes-ages Mevscig-* Formal Receiver ng fam lllGgaLState; (AHDL) Spgcifrnq Siaie. Transrticns iahcli дг i ц । . * 1 2 irjiu-juissssF-"" l W rzasss .Г ; — Put 2.42 По окончании просмотра данного раздела справочной системы закройте окно справочной системы и вернитесь в окно компилятора.
148 Часть 2 12. Просмотр Report File (файла отчета) Файл отчета (.rpt) содержит информацию о проекте chiptrip двух типов: общая информация, относящаяся ко всему проекту: Device Sum- mary (краткий отчет об использованных ресурса микросхемы), Project Compilation Message (сообщения компилятора), File Hierarchy (иерархия файлов проектов), и детальную информацию о реализации проекта на конкретной микросхеме Resource Usage (подробный отчет об исполь- зованных ресурсах) Routing Resource (информация об использовании линий соединений), Logic Cell Interconnection (информация о соеди- нении внутренних логических ячеек) и т. д. Вы можете открыть файл отчета для текущей компиляции из окна компилятора. Для открытия файла отчета: 1. Дважды щелкните кнопку 1 на значке файла отчета в окне компилятора, как показано на рис. 2.40. На экране отобразится файл отчета в окне текстового редактора, как показано на рис. 2.43. Рис. 2.43 "Т. « Выберите |>t?| на панели инструментов и щелкните на заголовке раздела, выделенном значками ** для перехода к контекстно- зависимой справке по конкретным разделам файла сообщений. 2. По окончании просмотра файла отчета закройте его и вернитесь в окно компилятора. 3. Закройте окно компилятора.
Самоучитель САПР MAX+plus II 149 Занятие 7. Просмотр проекта с помощью дисплея иерархии проекта В данном разделе вы просмотрите иерархию проекта chiptrip, ис- пользуя дисплей иерархии проекта. Данный раздел включает следующие шаги: 1. Открытие окна дисплея иерархии проекта. 2. Просмотр файла chiptrip.gdf. 3. Закрытие всех файлов. 1. Открытие окна дисплея иерархии проекта Для просмотра иерархии chiptrip. / Выберите Hierarchy Display из меню MAX+plus II. Каждый файл в дереве иерархии проекта представлен на дисплее иерархии названием и значком, который обозначает тип данного файла. Полоска в верхней части значка файла обозначает, что этот файл открыт (рис 2.44). Название файла Значок файла Полоска означает, что данный файл открыт Иерархическая ветвь Hierarchy Display chiptrip --©—»auto_jnax :1 ♦tick_cn +speed__ch ;2 8count -8 pBcount:sub gdf tdf + time_cnt:4 tdf Соединительная стрелка Кнопка ветвления. Используется, чтобы скрыть или отобразить ветви более низкого уровня в текущей иерархии Рис. 2.44 Т.4» Выберите |Ч?| на панели инструментов и щелкните кнопку 1 на любом элементе в окне дисплея иерархии для получения справки об этом элементе. 2, Просмотр файла chiptrip.gdf Окно, дисплея иерархии проекта позволяет вам быстро открыть и просмотреть любой файл проекта и любой вспомогательный файл
150 Часть 2 для данного проекта. При открытии файла из дисплея иерархии MAX+pius II автоматически открывает соответствующий редактор. Для просмотра файла chiptrip.gdf Z Дважды щелкните кнопку 1 на значке GDF возле названия файла chiptrip. Откроется окно графического редактора с фай- лом chiptrip.gdf. Обратитесь к разделу "Navigating the Hierarchy" (передвижение по иерархической структуре), используя Search for Help on (поиск справки по) из меню Help. 3. Закрытие всех файлов Для закрытия любого файла в дисплее иерархии проекта: 1. Сделайте активным окно дисплея иерархии проекта. Над значком chiptrip.gdf будет полоска, показывающая, что данный файл открыт. 2. Щелкните кнопку 1 на значке chiptrip.gdf для его выделения. (Eg3 Вы можете выделить несколько файлов, удерживая нажатой клавишу Shift во время щелчка кнопки 1 на значках файлов. 3. Выберите Close Editor (закрыть редактор) из меню File. Файл chiptrip.gdf закроется, и полоска над его значком исчезнет. 4. Дважды щелкните кнопку 1 на значке Close (закрыть) для за- крытия окна дисплея иерархии проекта. Обратитесь к разделу "Selecting a File Icon" (выделение значка файла), используя Search for Help on (поиск справки по) из меню Help. Занятие 8. Просмотр размещения с использованием Floorplan Editor В ходе этого занятия вы просмотрите результаты компиляции, ис- пользуя Floorplan Editor (редактора физического размещения), и вы- полните назначения физических ресурсов микросхемы для вашего про- екта. Вы также просмотрите реализацию компилятором логики вашего проекта, сравните ваши назначения с назначениями компилятора, и скопируете результаты компиляции. Данное занятие включает сле- дующие шаги: 1. Открытие окна Floorplan Editor (редактора физического разме- щения).
Самоучитель САПР MAX+plus II 151 2. Back-annotate (копирование результатов компиляции проекта) и редактирование размещения. 3. Перекомпиляция проекта. 4. Просмотр связей логических элементов в окне редактора физиче- ского размещения. 5. Просмотр уравнений и связей логических элементов при помощи Report File Equation Viewer (окна для просмотра уравнений файла отчета). L* За более подробной информацией по использованию редактора физического размещения обратитесь к разделу "Flooplan Editor Procedures" (команды редактора физического размещения), ис- пользуя Search for Help on (поиск справки по) из меню Help. 1. Открытие окна Floorplan Editor (редактора физического размещения) Floorplan Editor (редактор физического размещения) отображает информацию в Device View (вид микросхемы) и в LAB View (виде логических блоков). Device View показывает все контакты на корпусе микросхемы и их функции. LAB View показывает внутренние ресурсы микросхемы, включая все LAB (логические блоки), отдельные Logic Cells (логические ячейки) внутри каждого LAB, I/O cells (ячейки ввода/ вывода), embedded cells (ячейки встроенной памяти) и Embedded Array Blocks (ЕАВ) (блоки встроенной памяти), если они доступны в данной микросхеме. Микросхемы ЕРМ7032, используемые для реализации дан- ного проекта, не имеют ячеек ввода/вывода, ячеек встроенной памяти и блоков встроенной памяти. LAB View (вид логических блоков) также отображает внешние контакты, чтобы можно было видеть связи между ними и внутренними ресурсами микросхемы. Для просмотра chiptrip в окне редактора физического размещения: 1. Выберите Floorplan Editor (редактор физического размещения) из меню MAX+plus II. Откроется редактор физического размещения с видом логических блоков или микросхемы в зависимости от того, какой вид использовался в последний раз при просмотре физического размещения для данного проекта. 2. Если нужно, щелкните кнопку 1 на значке Maximize (увеличение размеров окна) в строке заголовка редактора физического разме- щения для увеличения размеров окна. 3. Если нужно, выберите LAB View (вид логических блоков) и команду Last Compilation Floorplan (физический уровень разме- щения для последней компиляции) из меню Layout (располо- жение). На экране отобразится проект chiptrip в окне редактора физического размещения, как показано на рис. 2.45.
152 Часть 2 Обозначение цветом разме щенных, нераз- мещенных цепей и использование других внутрен- них ресурсов различных семейств микросхем _ Кнопка увеличения изображения — Кнопка — отображения в окне редактора всего листа "Текст в контуре" отображает информацию Карман назначений об элементе, на котором в данный момент для данного LAB находится указатель мыши ------- Л1 Г]ПГ’ d Hodei А Pin».' Setecled IckM*) I Ftftl*]- <none> |(K>J -Ofioi K>> К О* l»utl (ЮО- Local LAB Fan-Out Ой» tatiO*** tart -О tat? -С(ЮЭ -CIKJJ -ЕС») MAX* plus II - dTmax2worfcUutoriaKchiptnp - {Floorplan Editor - (Last C ompihtion) flptions Windqtf Help MW -i МАХ» plus II file Edit View Layout Assign Utilities ** — T1 "•* 1---T — — 1 v W" 4 1 W III I I» mO' 1 ч I I-W . «-w » ч ' -мягч м w i i- —41 ' ил.»-м ,i ,trr I м» EMI 100 Chip Name: jchptfp (EPM?032L?4<-6) -Соки Lepend □ UiM«uled ± Patalei Eapandei» О l€c Кнопка отображе-_| || ния размещения для последней компиляции Unatti Ttoo—i Кнопка уменьшения изображения j Кнопка текущих i д - назначений для I p размещения проекта (Фссшсенз юшемс OtobMCEKZ г I I Выделенные общие контакты -> В данный момент для некоторых микросхем На экране LAB View показываются отдельно от LAB (вид логических блоков) Вы можете переместить название цепи или контакта на изображение микросхем чтобы назначить их внешнему контакту микросхемы, логической ячейке, логичес кому блоку, ячейке ввода/вывода, ячейке встроенной памяти, строке, колонке или чипу, в зависимости от выбранного представления окна редактора Pnc. 2.45 Быстрый вызов: Двойной щелчок кнопки 1 в пустом пространстве окна редактора физического размещения переключает изображения LAB View (вид логических блоков) на Device View (вид микросхемы) и наоборот. Щелчок кнопки 1 на значке Last Compilation Floorplan (физи- ческий уровень размещения для последней компиляции) инстру- ментальной панели является быстрым вызовом этой команды из меню Layout (расположение). 2. Back-annotate (копирование результатов компиляции проекта) и редактирование размещения Редактор физического размещения позволяет вам просматривать и редактировать назначения для проекта, связанные с его размещением в конкретной микросхеме, которые хранятся в Assignment & Configu- ration File (.acf) (файле назначений и конфигурации). После того, как
Самоучитель САПР MAX+plus II 153 вы скомпилировали проект, информация о размещении хранится в Fit File (.fit) (в файле размещения). Команда Back-annotate Project копи- рует результаты размещения из Fit File (файла размещения) в Assignment & Configuration File (файл назначений и конфигурации), затем вы можете их редактировать с помощью редактора физического размещения. Для копирования результатов компиляции проекта: 1. Выберите команду Back-annotate Project (копирование результа- тов компиляции проекта) из меню Assign (назначения). На экране отобразится диалоговое окно Back-annotate Project. 2. Выберете Chip, Cells, Pins & Devices под Assignments to Back- annotate (назначения для копирования) для копирования этих назначений. 3. Нажмите OK. MAX+plus II скопирует назначения контактов, ло- гических ячеек и микросхемы из Fit File (файла размещения) в Assignment & Configuration File (файл назначений и конфигура- ции), перезаписывая предыдущие назначения. 4. Выберите команду Current Assignment Floorplan (текущие назна- чения физического уровня) из меню Layout (размещение). В окне редактора физического размещения отобразятся текущие назначе- ния для проекта chiptrip из ACF файла. Если для вашего проекта размещена. не вся логика, то редактор физического размещения выведет список названий неразмещенных це- пей и контактов в поле Unassigned Nodes & Pins. У каждого названия есть значок, который вы можете переместить на изображение контакта, логической ячейки или, при более общем назначении, на изображение bin (кармана). Вы также можете переместить размещенную цепь или контакт обратно в список неразмещенных цепей или на другое место микросхемы. В окне редактора физического размещения вы легко можете редак- тировать назначения, связанные с размещением проекта в конкретной микросхеме. В нашем примере вы переназначите размещенный компи- лятором контакт цепи clock на другой внешний контакт микросхемы и повторно скомпилируете проект. Для редактирования назначения контакта цепи clock: 1. Выберите Find Text (найти текст) из меню Utilities. На экране отобразится диалоговое окно Find Text. 2. Наберите clock в окне Search For (найти). 3. Выключите опцию АН (все) под Types of Text -to Find (тип эле- мента для поиска). 4. Включите опцию Pin & Node Names (имена контактов и цепей) под Types of Text to Find.
154 Часть 2 5. Нажмите ОК. Контакт цепи clock выделится на экране и в поле Selected Node(s) & Pin(s) (выделенные цепи и контакты) отобра- зится информация "clock@43(Global CLK)". f* У микросхемы EPM7032LC44 контакт номер 43 является global Clock (тактовый сигнал, общий для всех макроячеек микросхемы). Компилятор автоматически назначил цепь clock этому контак- ту при компиляции проекта на занятии 7. 6. Включите Show Moved Nodes in Gray (показать перемещенные цепи серым цветом) в меню Options. 7. С помощью кнопки 1 переместите выделенную цепь clock от контакта 43 к любому свободному контакту ввода/вывода по вашему выбору. Назначение цепи на новое место будет обозначено серым цветом, как показано на рис. 2.46. Имя и местополо- жение выбранного элемента отобра- жаются в поле Selected Node(s) & Pin(s) Переназначенная на другой кон- такт цепь Clock Рис. 2.46 За более подробной информацией по использованию редактора физического размещения обратитесь к "Back-Annotating Assign- ment for a Project" (назначение для проекта размещения, сделанного при последней компиляции) и "Finding Nodes & Pins in the Floorplan Editor" (поиск цепей и контактов), используя Search for Help on (поиск справки no) из меню Help.
Самоучитель САПР MAX+plus II 155 3. Перекомпиляция проекта После того, как вы отредактировали назначение внешнего контакта для цепи clock, вам нужно повторно компилировать chiptrip, чтобы проверить допустимость этого назначения для микросхемы EPM7032LC44. 1. 2. 3. 4. Откройте окно компилятора путем выбора Compiler (компилятор) из меню MAX+plus II. Нажмите кнопку Start Компилятор начнет обработку проекта с новым назначением контакта. Затем компилятор остановится, ин- формируя вас о том, что он не может разместить данный проект, и спросит вас, нс хотите ли вы отменить какие-либо существующие настройки или назначения. Нажмите Yes. Появится диалоговое окно Override User Assignments (отвергнуть назначения, сделанные пользователем) с сообщением: Illegal assignment - global clock ’clock’ on pin <number> (недопустимое назначение ‘clock' на контакте <номер>). Нажмите кнопку Edit Pin Assignments & LCELLs (редактировать назначения контактов и логических ячеек). На экране отобразится диалоговое окно Edit Pin Assignments & LCELLs (редактировать назначения контактов и логических ячеек). а) Щелкните кнопку 1 на имени clock в списке для его выделения, как показано на рис. 2.47. Ь) Включите опцию Ignore Pin Assignment (отменить назначение контакта) внизу диалогового окна. с) Нажмите ОК для закрытия диалогового окна Edit Pin Assign- ments & LCELLs (редактировать назначения контактов и логи- ческих ячеек). Edit Pin Assignments & LCELLs Insert Ignore Fin User Pin I/O LCELL Assignment Assignment Type Pin Name Input accel 5 Output at altera 1 12 Input clock. 36 Input dirO 37 Input dirl 34 Input enable 38 Input reset 26 Output ticketO 32 Output ticket 1 31 Output ticket? 39 Output tickets 33 Output timeO 24- Outnirt tim*1 £ancel LCELL Assignment Рис. 2.47
156 Часть 2 5. Нажмите ОК для закрытия диалогового окна Override User As- signments (отвергнуть назначения, сделанные пользователем). Компилятор продолжит обработку проекта и, когда он ее закончит, на экране отобразится сообщение, информирующее, что компиля- ция проекта прошла успешно. 6. Для возврата в окно редактора физического размещения выберите Floorplan Editor (редактор физического размещения) из меню MAX+plus II. 7. Выберите Last Compilation Floorplan (физический уровень раз- мещения для последней компиляции) из меню Layout (располо- жение). Цепь clock окажется снова размещенной на контакте 43. 8. Back-annotate (скопируйте результаты компиляции) в ACF файл, как описано в шагах 2-4 на стр. 153. 4. Просмотр связей логических элементов в окне редактора физического размещения Редактор физического размещения отображает связи выбранных logic cells (логических ячеек), pins (контактов) и assignment bins (карманов со сделанными назначениями). Вы также можете просматривать routing statistics (информацию об использовании внутренних ресурсов микросхе- мы для соединения логических элементов) для любой части данного чипа. Для отображения на экране информации о входных и выходных связях логических элементов выполните следующие действия: 1. Нажмите кнопку Show Node Fan-In (показать входные связи логических элементов) или Show Node Fan-Out (показать выход- ные связи логических элементов) из меню Options. Быстрый вызов: Нажмите кнопку Show Node Fan-In (показать входные связи логических элементов) или Show Node Fan-Out (показать выход- ные связи логических элементов) на панели инструментов, как показано на следующей иллюстрации. 2. Используйте LAB View (вид логических блоков) и выделите одну или несколько logic cells (логических ячеек), pins (контактов) или assignment bins (карманов с назначениями). Редактор физического размещения отображает входные (розовые) и выходные (голубые) связи выделенных логических ячеек. На рис. 2.48 показаны эти линии для элемента |speed_ch:2|speed~1, который располо- жен в LC4 (логической ячейке 4). Линии входных и выходных связей логических элементов обновляются автоматически, если вы изменяете назначения для цепей или контактов. Если при этом включена команда Show Moved Nodes in Gray (показать перемещенные цепи серым цве- том) из меню Options, то новые назначения выделяются серым цветом.
Самоучитель САПР MAX+plus II 157 __________MAX+plus II - d:\max2work\tutorial\chiptrip - [Floorplan Editor - (Last Compilation)} MAX* plus II file Ldit View Layout Assign Utilities Options Window Help v ir*. m ггтп пг5ёгт^т^л7?ст^1 nsmrr^Tran nsrran Chip Name: chiplnp (EPM7032LC44) Пики Legend — □ Unassigned О Untouled 1 г 1 Llnattigned Nodes & Pins: '_! Device-Wide Гоп-Out Selected Nodc(s) It Pints): |£pGEd cn 2|speed"! (§ LC4 Кнопка отображения размещения для последней компиляции — Кнопка Show— Node Fan-In (показать входу- ные связи логических элементов) AdO Local LAD Гan*Out Only Кнопка текущих назначений для размещения________ проекта а rChb»lCfeM)O life'* О— (I/O] VO) roffctfz Mir’. Кнопка Show Node Fan-Out (показать выходные связи _________[логических гс^осст элементов "** T-* CfkOj IUJJ tkoj |кЛ Г~О|Т0) 4—0 rime J IVO1 •kfcefl <ыо-< **лк4 j—Orlmdi UO(!/OJ т Кнопка Show Path (показать путь между выделенными элементами) Рис. 2.48 Вы также можете просматривать только сигнальные пути между двумя или несколькими выделенными логическими элементами без разделения входных и выходных связей. Для этого: / Включите Show Path (показать путь) из меню Options. Эта команда позволяет вам увидеть только наличие или отсутствие связи межу выделенными логическими элементами и является удобной для трассировки путей, критических к временным параметрам. Когда включена команда Show Path (показать путь), автоматически выклю- чаются Show Node Fan-In, Show Node Fan-Out и наоборот. Быстрый вызов: Нажмите кнопку Show Path (показать путь) на инструментальной панели, как показано на рис. 2.48. Для отображения на экране routing statistics (информации об ис- пользовании внутренних ресурсов микросхемы для соединения логических элементов) для одной или нескольких логических ячеек, контактов пли карманов с назначениями: 1. Выделите одну или несколько логических ячеек, контакт или карман с назначениями. 2. Выберите Routing Statistics (информация об использовании внут- ренних ресурсов микросхемы для соединения логических элементов) из меню Options, затем нажмите кнопку Calculate Most Congested Areas (вычислить область микросхемы, где ос-
158 Часть 2 талось меньше всего ресурсов). На экране отобразится диалоговое окно Routing Statistics, как показано на рис. 2.49. В данном примере приводится информация для логического элемента | speed_ch: 21 speed" 1, который размещается в logic cell 4 (четвертой логической ячейке) Routing Statistics "Information on Selected Node/Pin/LAB Name is: |speed_ch: 2|speed~2~1 Number is: LC4 How is: LAB is: Column is: Logic Cell Fan-In. Logic Cell Fan-Out: Carry-Out: Cascade-Out. Logic Cell Total Shared Expanders Used: Embedded Cell Depth (Bits): LAB Total Shared Expanders Used: LAB External Interconnect Used: 1/16 (6X) 10/16 (62X1 11/36(30X) Column Interconnect Channels Used: Full Row Interconnect Channels Used: Half Row Interconnect Channels Used Logic Cell Inputs Borrowed from LC1: OK Calculate Most Congested Areas » "Most Congested Areas in Current Chip Most Congested LAB (or EAB) is: В LAB (or EAB) External Interconnect Used: 23/36 (63X) Most Congested Row is: Row Interconnect Channels Used Most Congested Column is: Column Interconnect Channels Used: Рис. 2.49 Быстрый вызов: Двойной щелчок кнопки 1 на элементе является быстрым вызовом для открытия диалогового окна Routing Statistics. 3. Нажмите ОК для закрытия диалогового окна Routing Statistics. 5. Просмотр уравнений и связей логических элементов при помощи Report File Equation Viewer (окна для просмотра уравнений файла отчета) Редактор физического размещения имеет команду Report File Equa- tion Viewer (просмотр уравнении из файла отчета), которая позволяет вам увидеть для выделенных контактов и логических ячеек уравнения из Report File (.rpt) (файла отчета) и информацию об их входных и выходных связях. Для этого вы можете либо выделять отдельные логические элементы в окне редактора физического размещения, либо использовать кнопки переходов в Report File Equation Viewer window (окне просмотра уравнений из файла отчета). Данная команда позволяет
Самоучитель САПР MAX+plus II 159 вам увидеть логику, которая реализуется на входе и на выходе выде- ленной логической ячейки. На этом шаге вы увидите информацию для контакта time2 и затем для контакта timeO, используя кнопку.перехода в окне Report File Equation Viewer. Для просмотра уравнения для контакта time2 выполните следующие действия: 1. Выберите Full Screen (полный экран) из меню Layout (располо- жение) для увеличения на экране поля с изображением микро- схемы. 2. Выберите Report File Equation Viewer (просмотр уравнений файла отчета) из меню Layout (расположение). Появится окно Report File Equation Viewer внизу редактора физического размещения. 3. Щелкните кнопку 1 на контакте time2 в окне редактора физиче- ского размещения. Когда указатель мыши находится над соответствующим контактом (контакт 31), то появляется текст в контуре time2@31(1/0). После компиляции проекта chiptrip помер контакта может быть другим. Уравнение, входная и выходная логика для time2 появится в окне Report File Equation Viewer, как показано на рис. 2.50. _________ MAX* plus II - d:\fnnx2workVtrtorinHr.hipfrip - (Floorplan Editor - (I nst Compilation]] MAX*plus II file Edit View Layout Assign Utilities Options Window Help + ADD Equation* (2| fO} (Gcbttiooa iMrt' WWO Cfk’Ol (MOI (1O tTiro; bitted Эти числа — показывают коли- чество входных и выходных связей Для выбранного элемента ________Fan-In (5) IM clock IN enoble OUT. tmeO OUT; t me! Cir- troe2 lirne?-TFFt( EC(W ' ; veer ; EOC09 * enable & ttmsO & time I; Уравнения показывают логические функции выбранного элемента .OBAl( dock) VCC, VCC UM'S - tiW Fan-Out [SJ CUT ttne? CUT: time 3 OUT nme4 CUT tme5 OUT brnw6 CUT time? I 1 i Типы цепей. IN (входной контакт), — OUT (выходной контакт) BIDIR (двунаправленный контакт), REG (цепь с триггером), COMB (комби- наторная цепь) или МЕМ (цепь памяти) Контакт time2 Рис. 2.50
160 Часть 2 ? Если команды Show Node Fan-In (показать входные связи ло- гического элемента) и Show Node Fan-Out (показать выходные связи логического элемента) из меню Options включены, то редактор физического размещения отображает линии, которые соответствуют связям логических элементов, перечисленных в окне Report File Equation Viewer. 4. Щелкните кнопку 1 на "OUT:timeO" в окне под надписью Fan-in и нажмите кнопку <Go То. Появится уравнение, входная и вы- ходная логика для контакта timeO в окне Report File Equation Viewer Контакт timeO выделится подсветкой в окне редактора физического размещения, и на экране отобразятся линии, пока- зывающие его входные и выходные связи. Быстрый вызов: Двойной щелчок кнопки 1 на имени цепи в окне под заголовком Fan-in или Fan-out приводит к тем же действиям, что и выделение этой цепи и нажатие кнопки Go То. Для получения дополнительной информации о редакторе физи- ческого размещения обратитесь к разделу "Floorplan Editor Procedures" (команды редактора физического размещения), ис- пользуя Search for Help on (поиск справки по) из меню Help. 2.6. Обзор моделирования 2.6.1. Что такое моделирование? Ввод и компиляция проекта - это только часть процесса разработки. Моделирование является не менее важным его этапом. Успешная ком- пиляция гарантирует только то, что для вашего проекта будет создан файл программирования, а не то, что этот проект будет работать так, как вы этого ожидаете. Тем не менее, многие проектировщики избегают моделирования, так как считают его долгим и трудным процессом. В САПР MAX+plus II моделирование так же просто, как ввод проекта или его компиляция. Используя моделирование, вы сэкономите время и усилия, проверяя работу вашего проекта. Моделирование позволяет полностью протестировать ваш проект, чтобы убедиться, что он пра- вильно функционирует при всех возможных ситуациях, перед тем, как вы запрограммируете его в микросхему Для моделирования вы задаете симулятору -MAX+plus II входные вектора. Симулятор использует их для формирования выходных сиг- налов, которые запрограммированная микросхема должна была бы сфор-
Самоучитель САПР MAX+plus II 161 мировать при тех же условиях. Обычно при моделировании создается несколько наборов входных векторов для проверки результирующих значений на выходе. С помощью MAX+plus II вы можете выполнять функциональное или временное моделирование и моделирование нескольких связанных про- ектов. Функциональное моделирование проверяет только логику работы проекта. Временное моделирование проверяет помимо этого и временные параметры проекта, реализованного па конкретной микросхеме. При моделировании нескольких связанных проектов выполняется функцио- нальное и временное моделирование на уровне печатной платы. В дан- ном самоучителе вы выполните временное моделирование. 2.6.2. Моделирование проекта chiptrip Занятия по моделированию проекта chiptrip в этом самоучителе проводятся в виде игры но вождению. Входные сигналы для chiptrip (направление, ускорение и тактовые импульсы) порождают выходные сигналы, которые соответствуют вашему местоположению на карте, изображенной па рис. 2.51. Задавая входные сигналы, вы перемещаетесь по ней с определенной скоростью. Ваш офис -------Жилая улица, разрешена только нормальная скорость, любое ускорение приводит к штрафу за нарушение скоростного режима Коммерческая дорога: второе ускорение приводит к штрафу, при этом неважно через сколько тактов оно будет сделано 7 - ~ 7 Автострада: разрешается любое число ускорений Рис. 2.51 Как и в реальной жизни, существуют правила управления автомо- билем (законы физики) и правила поведения на дорогах различного типа (законы штата). Излишне говорить, что их нарушения могут привести к различным последствиям. Управление вашим транспортным средством Управление вашим транспортным средством осуществляется с по- мощью входных сигналов dir[1. 0] (направления) и ассе! (ускорение). Входные сигналы на контактах направления определяют следующее
162 Часть 2 местоположение вашего транспортного средства с учетом его текущего положения. Например, если вы начинаете движение из YC (Your Com- pany — офис вашей компании) и движетесь один квартал на восток и один квартал на север, то вы должны будете проехать перекресток GDF и достигнуть перекрестка EPLD. Входной сигнал ускорение перемещает ваш автомобиль или с нор- мальной или с удвоенной скоростью в выбранном вами направлении. Когда accel имеет низкий уровень, вы идете с нормальной скоростью, то есть один квартал за один период тактового сигнала, например, от YC к GDF. Когда accel имеет высокий уровень, вы движетесь с удво- енной скоростью, то есть два квартала за один период тактового сигнала, например, от YC к CNF. В процессе движения входной сигнал clock обозначает время, а входной сигнал enable позволяет счетчику его отсчитывать. Удерживая высокий уровень на контакте enable вы можете определить время, которое вам потребуется для движения через город. Дороги Вы можете перемещаться по дорогам трех типов, как показано на рис. 2.51. Дороги в жилых кварталах являются узкими, по обеим сторонам расположены дома, среди которых играют дети. Если вы хотя бы один раз ускорились на них, то полиция сразу же выпишет вам штраф. Коммерческие улицы, такие как от CNF через ЕРМ к офису фирмы Altera, типичны для деловой части города. Здесь вы можете ускориться только один раз, при этом вы получите предупреждение. Если вы ускоритесь во второй раз, то полиция выпишет вам штраф. На автостраде есть пять полос для движения в каждом направлении. Количество ускорений не ограничено. Не беспокойтесь, — полиция вас не остановит. 2.6.3. Цели моделирования Вы будете задавать входные сигналы, чтобы провести ваше транс- портное средство из начальной точки до пункта назначения Занятия 9-11 поведут вас извилистым путем по предложенной карте, чтобы познакомить вас с процессом моделирования. Если вы почувствуете, что управлять движением вашего автомобиля достаточно легко, то вы можете задать свои собственные входные зна- чения для моделирования так, чтобы добраться до офиса фирмы Altera как можно быстрее и с наименьшим количеством штрафов. Как и в реальной жизни, есть много дорог для достижения конечной цели. Вам нужно найти ту, которая будет лучшей для вас.
Самоучитель САПР MAX+plus II 163 Занятие 9. Создание Simulator Channel File (файла временных диаграмм) В ходе этого занятия вы изучите, как с помощью Waveform Editor (редактора временных диаграмм) MAX+plus II создавать и редактиро- вать входные вектора для моделирования. Будет показано, как создавать и редактировать Simulator Channel File (файл временных диаграмм) с расширением (.scf), используя команды быстрого вызова. С помощью файла chiptrip.scf вы совершите неспешную поездку от офиса вашей компании до офиса фирмы Altera через перекрестки RPT, MPLD, EPLD, GDF, CNF и ЕРМ (рис. 2.52). Также будет показано, как задавать входные значения направления и ускорения для достижения желаемого местоположения. Жилая улица: разрешена только нормальная скорость, любое ускорение приводит к штрафу за нарушение скоростного режима Коммерческая дорога: второе ускорение приводит к штрафу, при этом неважно через сколько тактов оно будет сделано Автострада: разрешается любое число ускорений Рис. 2.52 Потренировавшись в создании и редактировании входных векторов при моделировании проекта с использованием файла chiptrip.scf, вы будете готовы создать свой собственный SCF файл с именем finish.scf для достижения офиса компании Altera за минимальное время и с наименьшим количеством штрафов. При создании файла finish.scf вы повторите те же шаги, что и при создании, редактировании и модели- ровании файла chiptrip.scf.. 11g3 Если у вас что-либо не будет получаться или вы захотите сократить время при изучении данного раздела, то вы можете скопировать файлы chiptrip.scf и finish.scf из подкаталога \max2work\chiptrip в ваш подкаталог \max2work\tutorial. (На рабочих станциях UNIX директория maxplus2 является подка- талогом директории /usr.) Данное занятие включает следующие шаги: 1. Создание Simulator Channel File (файла временных диаграмм). 2. Добавление Nodes (цепей) или Groups (групп) в SCF файл. 3. Изменение порядка отображения Nodes (цепей) и Groups (групп).
164 Часть 2 4. Редактирование временных диаграмм для входных цепей. 5. Сохранение и закрытие файла. Используя текстовый редактор MAX+plus И или Ору гой тексто- вый редактор ASCII вы можете задать входные значения для моделирования в Vector File (векторном файле) (лес), однако эта процедура не описывается в данном самоучителе. За более полной информацией о векторных файлах обратитесь к разделу "Vector File" (векторный файл) в справочной системе MAX+plusИ, используя Search for Help on (поиск справки по) из меню Help. 1. Создание Simulator Channel File (файла временных диаграмм) Для откомпилированного проекта вы можете создать SCF файл, содержащий некоторые или все цепи из Simulator Netlist File (файла списка соединений симулятора) с расширением (.snf). Затем этот SCF файл редактируется, чтобы задать входные значения для моделирования. Для создания SCF файла выполните следующие действия: 1. Выберите New из меню File, выделите Waveform Editor file (файл для редактора временных диаграмм), выделите расширение .scf в окошке раскрывающегося списка и нажмите ОК для создания нового файла без названия. 2. Если нужно, щелкните кнопку 1 на значке Maximize (увеличение размера окна) в строке заголовка Waveform Editor (редактора временных диаграмм) для увеличения размеров окна. 3. Выберите End Time (время окончания моделирования) из меню File и наберите 800 ns для данного файла. Это время определяет, когда симулятор прекратит использование входных векторов в процессе моделирования. 4. Выберите Grid Size (размер сетки) из меню Options, наберите 50 ns и нажмите ОК. 5. Выберите Enter Nodes from SNF (ввод цепей из SNF файла) из меню Node. На экране отобразится диалоговое окно Enter Nodes from SNF (рис. 2.53). Быстрый вызов: Нажатие кнопки 2 в информационной области или в области рисо- вания временной диаграммы и выбор Enter Nodes from SNF (ввод цепей из SNF файла) в появляющемся меню является быстрым вызовом для открытия диалогового окна Enter Nodes from SNF. 6. Выключите - опцию Group (группа) под заголовком Туре (тип). Опции Inputs (входы) и Outputs (выходы) должны остаться включенными.
Самоучитель САПР MAX+plus If 165 Показывает цепи и груп- пы, содержащиеся в те- кущем SNF файле, имена которых удовле- творяют условию в поле Node/Group, а тип — выделенному в поле Туре типу, информация появляется после нажа- тия кнопки List “ Определяет текстовую строку, которая содержит имена цепей, групп или сино- нимов имен В этом поле воз- можно использование символов для группового выделения Формирует список цепей в окошке Available Nodes & Groups (доступные цепи и группы), имена которых удовле- творяют условию в поле Node/Group, а тип — выделен- ному в поле Туре типу Enter Nodes from SNF Показывает все цепи и группы, выбранные для размещения в SCF файле _ Ayaik bie Nodes & Groups: Node ’ Group: П Registered Q Coffibmotoual LI Memory Bit □ Memory Word Гуре L Inputs Selected Node» 1 Groups: IXj preserve Existing Nodes Li Show All Node Name Synonyms Определяет,---- какой тип цепей или групп будет отображаться в окошке Available Nodes & Groups после нажатия кнопки List (сформировать список) Cigar £ancel № Рис. 2.53 7. Нажмите кнопку List (сформировать список) для получения спи- ска доступных входных (I) и выходных (О) цепей. 8. Нажмите кнопку 1 на имени самой верхней цепи в окошке Avail- able Nodes & Groups (доступные цепи и группы) и переместите мышь вниз для выделения входных цепей reset, enable, dir1, dirO, clock и accel. 9. Нажмите кнопку (=>) для копирования выделенных цепей в окошко Selected Nodes & Groups (выбранные цепи и группы). 10. Прокрутите до конца список доступных цепей для отображения цепи at_altera. И. Дважды щелкните кнопку 1 на выходной цепи at_altera для ее копирования в окошко Selected Nodes & Groups (выбранные цепи и группы). 12. Под заголовком Туре (тип) выключите опции Inputs (входы) и Outputs (выходы) и включите опцию Group (группа). 13. Нажмите кнопку List (сформировать список) для получения спи- ска доступных групп. 14. Выделите следующие три внутренние (В) группы в окошке Available Nodes & Groups (доступные цепи и группы): time_cnt:4|count[7. .0], autojnax:!(street jnap и |speed_ch:21speed. Вы можете нажать Ctrl
166 Часть 2 во время щелчка кнопки 1 на этих именах для их выделения, так как они не являются соседними по отношению друг к другу в списке. Перед иерархическими именами групп и цепей стоит иерархи- ческий путь, состоящий из |<symbol name>.<syinbol ID>\. Ваши реальные symbol ID (идентификационные номера символов) могут быть другими, если вы вводили символы в порядке, отличном от порядка, описанного при создании файла chiptrip .gdf. 15. Нажмите кнопку (=>) для копирования выбранных групп в окошко Selected Nodes & Groups (выбранные цепи и группы). 16. Нажмите ОК. Редактор временных диаграмм добавит выбранные цепи и группы в SCF файл без названия. Все временные диаграммы для входных цепей по умолчанию имеют низкий (0) логический уровень, и все временные диаграммы для выходных и внутренних цепей по умолчанию имеют неопределенный (X) логический уро- вень, как показано на рис. 2.54. Поле имени Значки для изменения размеров поля Неопределенный (X) Низкий (0) логический логический уровень уровень для всех вход- д ля всех выходных ных цепей и внутренних цепей ___________MAX+plus II - d.’Vn^ZwtirkyutoriaHchiptrip - MAX* pl us II file Edit Vi Mode Assign Util Ref j( -Ons Name Значок _____ входной цепи 0.0ns ime O.Ofit Value- О - о о о о о {Waveform Editor - chiptrip.se lj ties Options Window tie Ip !C - ли—---- " II ГН II = 25C Chs 500.0ns ...j. 750 0ns i ----1--, т I I Значок ------ выходной цепи Значок -------- внутренней цепи Н показывает, - что основание системы счисле- ния при отобра- жении значения этой группы — HEX (16) |lime_crK4,couni{T.OJ auto_max 1lsire9t_map (speed ch 2|speed Tn Временная диаграмма для группы показывает групповое значение цепей Рис. 2.54 нхх нх нх 17. По желанию, с помощью кнопки Т переместите значок для изме- нений размеров поля вправо или влево для изменения ширины поля Name (имени) или поля Value (значения).
Самоучитель САПР MAX+plus II 167 18. Выберите Save as (сохранить как) из меню File. Название chiptrip.scf автоматически появится в окошке File Name (название файла). 19. Нажмите ОК для сохранения файла chiptrip.scf. 2. Добавление Nodes (цепей) или Groups (групп) в SCF файл Вы можете добавить цепь или группу к вашему SCF файлу с помощью команды Insert Node (вставка цепи) из меню Node (цепь). Для добавления цепи или группы: 1. Дважды щелкните кнопку 1 в пустом пространстве полей имени или значения под введенными цепями и группами. На экране отобразится диалоговое окно Insert Node (вставка цепи) (рис. 2.55). Формирует список цепей в окон • ? Nodes & Group from SNF (цепи и группы из SNF файла), имена которых удовлетворяют условию в поле Node/Group, а тип — выделенному в поле Туре типу — Insert Node Mode Name: [ Определяет текстовую строку, которая содержит имена цепей, групп или синонимов имен. В этом поле возможно использование символов для группового выделения Default Value: 0 " I/O Type О Input Pin <•> Output Pin О fiutied Node Показывает цепи и труп-- пы, содержащиеся в те- кущем SNF файле, имена которых удовлетворяют условию в поле Node/Group, а тип — выделенному в поле Туре типу. Информация появляется после нажатия кнопки List For Simulator Channel File (SCF) Only Nod&/Group: [* Nodes & Groups from SNF: Г Type □ Show AU Node Name Synonym* ►3 E><3 Inputs О fiegistered E Outputs L3 Combinatorial Group П Memory. Bit Q Memory V£ord Определяет, какой тип цепей или групп будет отображаться в окошке Nodes & Group from SNF (цепи и группы из SNF файла) после нажатия кнопки List (сформировать список) Рис. 2.55 Быстрый вызов: Нажатие кнопки 2 в любом месте информационной области или в области рисования временной диаграммы и выбор Insert Node (вставка цепи) из появляющегося меню является быстрым вызовом для открытия диалогового окна Insert Node. 2. Выключите опции Input и Output под заголовком Туре. Опция Group должна остаться включенной.
168 Часть 2 3. Нажмите List (сформировать список) для перечисления доступных групп. 4. Выделите выходную группу ticket[3..0]. 5. Выделите X в окошке раскрывающегося списка Default Value (значение по умолчанию). 6. Нажмите ОК. В выбранном вами месте появится диаграмма до- бавленной группы. 3. Изменение порядка отображения Nodes (цепей) и Groups (групп) Для удобства работы с файлом вы можете разместить временные диаграммы ценен и групп в нужном вам порядке. В этом примере нужно расположить цепи и группы в следующем порядке: входы, выходы и внутренняя логика. Для перемещения группы ticket[3. .0]: 1. Нажмите кнопку! на значке выходной группы ticket[3..0], как показано на рис. 2.54. 2. Переместите мышь вверх. Горизонтальная линия, представляющая перемещаемый элемент (элементы), сдвигается вверх. При пере- мещении мыши вниз горизонтальная линия сдвигается вниз. 3. Поместите эту линию между выходной цепью at_altera и внут- ренней группой |time_cnt:4|count[7. .0] и отпустите кнопку 1. Группа ticket[3. .0] разместится между ними. MAX+plus II» d:\max?WfMkViitoriaiy-.hiptrip - [Waveinrm Editor - ch'ptrip.srf) i MAX*plus H EHe Edit View Mode Assign Utilities Options Window Help Кнопка задания высокого уровня (1) оП Кнопка - задания тактовых импульсов Name' ЭООО Interval 0.0ns 750.0ns 250.0ns Value- О нх нх о о о о о о X нх й)* Hime_cnt'4|ccur>t[7 0) auto_max. 1 |st reetjnapl Ispesdjch 2|speed XX 503 0ns 1 к т Рис. 2.56
Самоучитель САПР MAX+plus И 169 4. Редактирование временных диаграмм для входных цепей Чтобы задать исходные данные для моделирования, вы должны отредактировать временные диаграммы входных цепей. В процессе мо- делирования симулятор автоматически переписывает неопределенные логические уровни внутренних и выходных цепей на значения, которые получаются в результате обработки входных сигналов. С^= Для получения дополнительной информации по каждому из описываемых шагов просмотрите еще раз занятие 4: "Созда- ние файла проекта, описанного временными диаграммами" на стр. 122. Для редактирования временных диаграмм: 1. Переместите указатель выделения на поле Value (значение) для входной цепи enable и щелкните кнопку 1, выберите Overwrite High (1) (задание высокого уровня) из меню Edit, чтобы задать высокий логический уровень на всем интервале моделирования для этой цепи. Данный сигнал дозволяет "часам" в вашем авто- мобиле сосчитать, за сколько тактовых импульсов вы доберетесь до офиса фирмы Altera. Быстрый вызов: </ Выделите всю временную диаграмму пли интервал временной диаграммы п нажмите кнопку Overwrite High (1) (задание высокого уровня) на инструментальной панели с левой стороны окна редактора временных диаграмм, как показано на рис. 2.56. или 7 Переместите указатель выделения в поле Value (значение) вре- менной диаграммы (для выделения всей временной диаграммы) или выделите часть временной диаграммы, нажмите кнопку 2 и выберите Overwrite High (1) из появившегося меню. 2. Задайте положительные импульсы на интервале от 200 до 400 нс для dirt и на интервале от 200 до 500 нс для dirO. Эти входные сигналы направят ваше транспортное средство на север, юг, восток и снова на север по зигзагообразному пути к офису фирмы Altera. 3. Для создания временной диаграммы тактовых импульсов с перио- дом 100 нс (размер сетки 50 нс) выделите всю временную диаграмму clock путем щелчка кнопки 1 на поле Value (значение) и выберите Overwrite Clock (задать тактовые импульсы) из меню Edit. На экране отобразится диалоговое окно Overwrite Clock. Нажмите ОК для принятия параметров по умолчанию.
170 Часть 2 Быстрый вызов: / Выделите всю временную диаграмму или ее часть и нажмите кнопку Overwrite Clock на инструментальной панели с левой стороны окна редактора временных диаграмм, как показано на предыдущей иллюстрации. или / Переместите указатель выделения в поле Value (значение) вре- менной диаграммы (для выделения всей временной диаграммы) или выделите часть временной диаграммы, нажмите кнопку 2 и выберите Overwrite Clock из появившегося меню. На входах reset и accel остаются низкие (0) логические уровни, поскольку ваше транспортное средство не будет ускоряться во время моделирования с использованием файла chiptrip.scf. Окно редактора временных диаграмм с введенными тестовыми воздействиями показано на рис. 2.57. —I___________MAXtpius H - d:)max2wofHtutorialjchiptiip - (Waveform Editor - chiptrip.scf) -J MAX*plus» £ilc Ldit tfew Mode Assign Utilities options Window Help Ref |00п Name ж Inteivai. 0 ‘3ns 750 0ns I 500 Ous 250.0is HX 0 fl n 0 cet(3 IT 6F* |tine_cnf4|ccu4l(7 0} euio_max tsireetjnap cB> |speed_ch 21speed HX HX Time: |0One 00ns Value 0 r Pnc. 2.57 5. Сохранение и закрытие файла Для сохранения и закрытия файла выполните следующие действия: 1. Выберите Save (сохранить) из меню File 2. Выберите Close (закрыть) из меню File. Если вы хотите просмотреть, как в SCF файле перепишутся диаграммы для выходных и внутренних цепей, вам следует оста- вить окно с этим файлом открытым. При этом может увеличиться время моделирования.
Самоучитель САПР MAX+plus II 171 Занятие 10. Моделирование проекта В ходе этого занятии вы будете моделировать проект chiptrip с по- мощью Simulator (симулятора) MAX+plus II. Моделирование может су- щественно сократить время, затраченное на настройку вашего проекта с запрограммированной микросхемой, поскольку позволяет проверить работоспособность проекта до его аппаратной реализации. Симулятор использует Simulator Channel File (файл временных диа- грамм) с расширением (.scf) или Vector File (векторный файл) с рас- ширением (.vec) в качестве источника входных векторов для модели- рования. В этом примере вы будете использовать файл chiptrip.scf созданный в ходе занятия 9. Данное занятие включает следующие шаги: 1. Открытие окна симулятора. 2. Задание генерации дополнительных выходных файлов. 3. Включение проверки setup and hold times (времен предустановки и удержания сигналов). 4. Запуск симулятора. 5. Создание Table File (табличного файла). Igg3 Вы можете запустить симулятор в пакетном режиме. Для получения полной информации о настройке симулятора для ра- боты в пакетном режиме обратитесь к разделу "Running а Batch-Mode Simulation" (моделирование в пакетном режиме), ис- пользуя Search for Help on (поиск справки по) из меню Help. 1. Открытие окна симулятора Для открытия окна симулятора: / Выберите Simulator (симулятор) из меню MAX+plus II. Simulator Netlist File (файл списка соединений симулятора) с рас- ширением (.snf) для текущего проекта chiptrip загружается автоматически при открытии симулятора. Кроме того, автоматически загружается chiptrip.scf (файл временных диаграмм), созданный в ходе занятия 9, поскольку у него такое же имя, как и у проекта (рис. 2.58). 2. Задание генерации дополнительных выходных файлов Команда Inputs/Outputs (вводные/выводные файлы) из меню File позволяет вам определить файл, который будет источником входных векторов для моделирования и два выходных файла: History File (файл истории) с расширением (.hst) и Log File (файл регистрации) с рас- ширением (.log). Log File (файл регистрации) записывает все команды, опции и кнопки, которые использовались в процессе моделирования.
172 Часть 2 History File (файл истории) записывает эту же информацию плюс результаты выполнения команд и все сообщения, генерируемые во время моделирования. Вы можете переименовать Log File в файл с расширением ,cmd и использовать его в качестве Command File (ко- мандного файла) (.cmd) для повторения моделирования в пакетном режиме. Показывает имя SCF или Vector File (векторного файла), содержащего входные вектора для моделирования При первом открытии симулятора автоматически загружается SCF или векторный файл (Vector File) с таким же именем, как и проект Рис 2.58 Показывает время, прошедшее с начала моделирования Показывает время окончания модели- рования для текущего SCF или Vector Fil Индикатор выполнения моделирования Для создания History и Log файлов : 1. Выберите Inputs/Outputs из меню File' или дважды щелкните кнопку 1 в поле Simulation Input (входные вектора для модели- рования) в окне симулятора. На экране отобразится диалоговое окно Inputs/Outputs (рис. 2.59). В окошке Input (.scf or лес) под заголовком Vector Files появляется имя файла chiptrip.scf с временными диаграммами входных сиг- налов. Если вы хотите использовать Vector или SCF-файл с име- нем, отличным от имени проекта, вы должны его указать в этом окошке. Результаты моделирования автоматически сохраняются в том же SCF файле, в котором были входные вектора. 2. Включите опции History (.hst) и Log (Jog) под заголовком Output Files. Имена файлов chiptrip.hst и chiptrip.log автоматически поя- вятся в окошках History (.hst) и Log (Jog). 3. Нажмите OK.
Самоучитель САПР MAX+plus II 173 Определение источника входных векторов_____ Результаты моделирования автоматически сохранятся в указанном SCF файле Задание генерации History и Log-файлов Inputs/Outputs Vector Files - Input (.scf or .vec): ® Ichiptrip.scf Output Output Files History ( hstJ О chiptrip.hst chiptrip, scf Directory is: d:\max2work\tutorial chiptrip.scf Перечисляет — файлы текущей директории с указанным расширением Симулятор авто- матически повторяет название текущего проекта (chiptrip) и добавляет соответ- стующее расширение Перезаписывает имеющиеся History и Log файлы если они существуют. Если в окошке New (новый) нет отметки (опция не включена) и указанный файл существует, то информация добавля- ется к уже записанной Рис. 2.59 3. Включение проверки setup and hold times (времен предустановки и удержания сигналов) Вы можете проверить проект па нарушение времен предустановки и удержания сигналов во время моделирования. Для этого: / Включите опцию Setup/Hold в окне симулятора. 4. Запуск симулятора Для моделирования проекта: 1. Нажмите кнопку Start. Симулятор начнет моделировать проект chiptrip. По мере того, как он обрабатывает входные вектора, индикатор выполнения перемещается к 100%, поле Simulation Time (время моделирования) динамически обновляется и временные диаграммы выходных сиг- налов записываются в файл chiptrip.scf. Симулятор работает в фоновом режиме, освобождая ваш компь- ютер для другой работы. Моделирование этого примера происходит быстро, и вам ие придется долго ждать его окончания. Если вы моделируете более сложный проект, то можно начать моделиро- вание, а затем переключиться на другое приложение для продол- жения своей работы.
174 Часть 2 Если вы хотите видеть, как результаты моделирования запи- сываются в файл chiptrip.scf, то вы можете оставить его открытым в окне редактора временных диаграмм. При этом время моделирования может увеличиться. После того как симулятор закончит свою работу, он отобразит на экране следующее сообщение (рис. 2.60). MAX+plus II - Simulator Project simulation was successful Circuit stabilized at 762.0ns--- Simulation ended at 800.0ns Simulation coverage: 51% - 0 errors 0 warnings После моделирования вашего примера числа могут отличаться OK Рис. 2.60 2. Нажмите ОК. Сообщения, которые появляются в message box (окно сообщений), также записываются в файл истории chiptrip.hst. Simulation coverage (процентное покрытие при моделировании) показывает, сколько цепей в проекте изменили логические уровни во время моделирования. Си- мулятор также создает файл регистрации chiptrip.log. Вы можете просмотреть оба файла с помощью текстового редактора MAX+plus II или другого стандартного текстового редактора. В занятии 11 "Анализ результатов моделирования” на стр. 175 рассказывается, как можно открыть и просмотреть файлы истории и регистрации. 5. Создание Table File (табличного файла) В Table File (табличном файле) с расширением (.tbl) временные диаграммы из SCF файла представлены с помощью ASCII символов. Для создания табличного файла сделайте следующее: 1. Выберите Create Table File (создать табличный файл) из меню File. На экране отобразится диалоговое окно Create Table File, показанное на рис.'2.61. 2. Нажмите ОК. 3. Появится сообщение, что табличный файл был успешно создан. Нажмите ОК. Вы можете просмотреть табличный файл с помощью текстового редактора MAX+plus II или другого стандартного текстового редактора. В занятии И "Анализ результатов моделирования" рассказывается, как открыть и просмотреть табличный файл.
Самоучитель САПР MAX+plus II 175 Create Table File Автоматически отображает имя текущего SCF файла и соответствующее расширение FileMame: |chipttip-tbl Directory t«: d:\jnax2workAtutorial Files: -_tbl Automatic Extension: Рни. 2.61 Занятие 11. Анализ результатов моделирования В ходе этого занятия вы будете просматривать результаты модели- рования с помощью Waveform Editor (редактора временных диаграмм) и Text Editor (текстового редактора) MAX+plus II. Данное занятие включает следующие шаги: 1. Просмотр Simulator Channel File (файла временных диаграмм). 2. Просмотр History, Log и Table Files (файлов истории, регистрации и табличного файла). 3. Повторное редактирование вашего SCF файла, если это необходимо. 4. Создание, моделирование и анализ finish.scf файла. 1. Просмотр Simulator Channel File (файла временных диаграмм) У Нажмите кнопку OpenSCF (открыть SCF файл) в окне симу- лятора для открытия SCF файла текущего проекта. В нашем примере - это файл chiptrip.scf. Kg3 Если вы не закрыли chiptrip.scf в конце занятия 9, вы можете также выбрать Waveform Editor (редактор временных диа- грамм) из меню MAX+phisII для активизации окна редактора временных диаграмм. После моделирования вы имеете определенные логические уровни для выходных цепей. На следующей иллюстрации показаны временные
176 Часть 2 диаграммы файла chiptrip.scf, созданные в результате моделирования проекта chiptrip. Используйте кнопки прокрутки влево и вправо или команды Zoom In (увеличение размеров изображения) или Zoom Out (уменьшение размеров изображения) из меню View (просмотр) для просмотра данного файла (рис. 2.62). Кнопки перемещения опорной временного маркера Опорный временной маркер Низкий ЛОГИ’ ческий уровень на входе accel (ускорение) приводит к от- сутствию штра- фов (сигналы ticket[3. .0]) — Входные сиг- - налы dir1 и dirO определяют прохождение перекрестков по зигзаго- образному пути Низкий логический уровень на входе accel (ускорение) определяет состояние ‘legal” (законный) для цепи speed (скорость) Рис. 2.62 Входные сигналы направления dirl, dirO и тактовые импульсы clock определяют диаграмму переходов цепи |auto_max:1|streetjnap, которая представляет продвижение вашего транспортного средства зигзагооб- разным путем к офису фирмы Altera. Состояния конечного автомата streetjnap изменяются при каждом тактовом импульсе в следующем порядке: ус, rpt, mpld, epld, gdf, cnf, epm и altera (согласно карте на рис. 2.52 на стр. 163). Поскольку входной сигнал accel имеет низкий уровень в течение всего периода моделирования, конечный автомат | speed_cti: 21speed находится в состояние legal и группа ticket[3. .0] имеет значение 0 (ноль), т.е. штрафов за нарушение скоростного режима не было. Для определения точного времени каждого изменения логического уровня выполните следующие действия: 1. Если нужно, нажмите кнопку 1 па значке опорного временного маркера и переместите его в начало файла.
Самоучитель САПР MAX+plus II 177 2. Щелкните кнопку 1 на значке перемещения опорного временного маркера вправо, как показано на предыдущей иллюстрации, для его перемещения к первому изменению логического уровня. 3. Щелкая кнопку 1 на значке перемещения опорного временного маркера вправо, вы можете перемещаться к последующим изме- нениям логических уровней сигналов. Точное время, соответствующее положению опорного временного маркера, отображается сверху над ним и в поле Reference. 2. Просмотр History, Log и Table Files (файлов истории, регистрации и табличного файла) Вы можете просмотреть файлы истории, регистрации и табличный файл для получения дополнительной информации о моделировании вашего проекта. Файл истории с расширением (.hst) используется для просмотра последовательности действий и сообщений об их выполнении во время процесса моделирования. Файл регистрации с расширением (Jog) похож на файл истории, но он не содержит сообщений о ре- зультатах выполнения команд. Этот файл может быть сохранен как Command File (командный файл) с расширением (.cmd) и использован для моделирования в пакетном режиме. Табличный файл с расширением (,tbl) — это текстовый файл, который содержит такую же информацию, что и текущий SCF пли WDF файл. Табличный файл имеет тот же формат, что и векторный файл (Vector File) с расширением (.vec). Результаты - моделирова- ния сохраня- ются в фор- мате Vector File (векторного файла) Рис. 2.63
178 Часть 2 Для просмотра History, Log и Table Files (файлов истории, регист- рации и табличного файла): 1. Выберите Open из меню File. 2. Выделите Text Editor files и выберите расширение .hst, .log, или .tbl в окошке раскрывающегося списка. 3. Дважды щелкните -кнопку. 1 на соответствующем chiptrip файле в окошке Files. MAX+plus II автоматически откроет окно’Text Editor (текстового редактора) и отобразит на экране выбранный вами файл. На рис. 2.63 показан табличный файл chiptrip.tbl. 3. Повторное редактирование вашего SCF, если это необходимо Вероятнее всего потребуется редактировать входные вектора и мо- делировать ваш проект повторно. Даже очень опытные проектировщики моделируют свои проекты много раз с различными входными векторами, чтобы убедиться в правильном функционировании проекта, прежде чем вы запрограммируете его в микросхему. 4. Создание, моделирование и анализ finish.scf Для того, чтобы закрепить свои навыки, вернитесь к занятию 9: "Создание Simulator Channel File (файла временных диаграмм)" и соз- дайте другой SCF файл с названием finish.scf. Ваша задача будет заключаться в том, чтобы, используя карту на рис. 2.52, добраться от вашего офиса до компании Altera как можно быстрее с наименьшим количеством штрафов за превышение скорости. Поскольку finish.scf содержит такие же цепи и группы, как и chiptrip.scf, вы можете использовать команду Save as (сохра- нить как) из меню File для сохранения chiptrip.scf как finish.scf и продолжить редактировать временные диаграммы входных цепей. Возможно также скопировать finish.scf из подкаталога \max2work \chiptrip Если вы успешно справились с предыдущим заданием, то можно попытаться выполнить следующие или построить свой собственный маршрут: Нужно добраться от вашей компании к офису фирмы Altera как можно быстрее, пройдя через все перекрестки, с наименьшим количеством штрафов. Нужно добраться от вашей компании к офису фирмы Altera как можно быстрее, независимо от штрафов.
Самоучитель САПР MAX+plus II 179 Занятие 12. Анализ временных параметров проекта В ходе этого занятия для оценки временных параметров проекта chiptrip будет использоваться Timing Analyzer (анализатор временных параметров). С его помощью можно получить значения трех типов: Типы временных параметров: Delay Matrix (матрица задержек) Registered Performance (быстродействие регистровой логики) Setup/Hold Matrix (матрица времен предустановки и удержания сигналов) Описание: Определяются задержки распростране- ния между различными источниками и приемниками сигналов. Определяются задержки в логике между регистрами* минимальный период и мак симальная частота тактового сигнала Определяются минимально допустимые значения времен предустановки и удер- жания сигналов для информационных входов триггеров, защелок и асинхрон- ной памяти. Для анализа задержек распространения сигналов в проекте chiptrip вы будете использовать timing Simulator Netlist File с расширением (.snf), созданный на занятии 6 "Компиляция проекта" стр. 138. Данное занятие включает следующие шаги: 1. Открытие окна Timing Analyzer (анализатора временных параметров). 2. Запуск Timing Analyzer (анализатора временных параметров). 3. Получение списка задержек распространения сигнала. 4. Отображение пути распространения сигнала в Floorplan Editor (редакторе физического размещения). 5. Отображение пути распространения сигнала в Design files (про- ектных файлах). 6. Определение других временных параметров. /. Открытие окна Timing Analyzer (анализатора временных параметров) Для открытия окна Timing Analyzer: 1. Выберите Timing Analyzer (анализатор временных параметров) из меню MAX+plus II. 2. Если нужно, для увеличения размеров окна щелкните кнопку 1 на значке Maximize (увеличение размеров окна) в строке заголовка окна. 3. Если Delay Matrix (матрица задержек) не отображается на экране, выберите Delay Matrix из меню Analysis.
180 Часть 2 Timing Analyzer (анализатор временных параметров) автоматически загружает timing SNF файл для проекта chiptrip. Текущий проект загружается автоматически г J___________________MAX+phjs И - d:\mnx?workVutorial\cbiptnp - [Timing Analyzer] i MAX* plus II £ile Mode Analysis Assign Utilities Options Window Help Если времен- - ные параметры определяются по умолчанию, источники и приемники сигналов не отображаются до тех пор. пока не будет запущен анализатор временных параметров с о U J Delay Matrix Deebnator F— — — - ( i । - — - - l_ -1 — - — 1 i w ) - .г j—j —, I — 1 1 i : t ! I - I 1 ; 1 r , 1 » L Pnc. 2.64 По умолчанию Timing Analyzer (анализатор временных параметров) вычисляет задержки распространения, сигналов для Delay Matrix (мат- рицы задержек) между входными и выходными контактами текущего проекта. При этом их названия становятся видимыми только после запуска Timing Analyzer (анализатора временных параметров). Каждый из трех типов временных параметров отображается на экране по-своему и имеет свои собственные цепи и сигналы по умолчанию. Вы можете пометить цепи и сигналы для анализа с помощью Timing Analyzer (анализатора временных параметров) в Floorplan Editor (ре- дакторе физического размещения) пли в Graphic Editor (графическом редакторе), Text Editor (текстовом редакторе), Waveform Editor (ре- дакторе временных диаграмм), работая с design files (проектными файлами). Для этого нужно использовать команды Timing Analysis Source (источник при временном анализе) и Timing Analysis Destination (приемник при временном анализе), доступные во всех этих программ- ных модулях MAX+plus II. Выберите кнопку контекстно-зависимой справки |>t?| и щелкните кнопку 1 в любом месте матрицы задержек Уля перехода к разделу "Delay Matrix Display" (отображение матрицы задержек) в справочной системе MAX+plus II.
Самоучитель САПР MAX+plus II 181 2. Запуск Timing Analyzer (анализатора временных параметров) Для запуска анализа временных параметров: 1. Включите команду Cut Off I/O Feedback (исключить обратную связь через контакты ввода/вывода) из меню Options. Когда эта команда включена, Timing Analyzer (анализатор временных пара- метров) воспринимает двунаправленные контакты ввода/вывода только как источник или приемник при временном анализе. При этом обратная связь внутри устройства исключается 2. Выключите команду Cut Off Clear & Preset Paths (исключить задержки для цепей сброса и предустановки) из меню Options. Когда эта команда выключена, Timing Analyzer (анализатор вре- менных параметров) вычисляет задержки распространения сигналов для D-триггеров, проходящие через входы Clear (сброс) и Preset (предустановка). Если в проекте нс используются сигналы Clear (сброс) и Preset (предустановка) для D-триггеров или не нужно учитывать их задержки распространения, то эту команду можно включить. 3 Нажмите Start. Timing Analyzer (анализатор временных парамет- ров) начнет вычислять минимальные и максимальные задержки распространения между каждой парой входных и выходных кон- тактов текущего проекта. Индикатор выполнения перемещается к 100%. Вы также можете запустить анализ временных параметров путем выбора Analyze Timing (анализ временных параметров) из меню Utilities в Graphic Editor (графическом редакторе), Text Editor (текстовом редакторе) или Waveform Editor (редакторе временных диаграмм). Timing Analyzer (анализатор временных параметров) работает в фо- новом режиме, освобождая ваш компьютер для другой работы. Ана- лиз данного проекта не требует много времени. Если анализируется более сложный проект, возможно запустить Timing Analyzer и пере- ключиться на другое приложение для продолжения своей работы. 4. При появлении на экране сообщения Timing analysis completed (анализ временных параметров закончен) нажмите ОК Задержки распространения сигналов для каждой пары контактов отображается в ячейках Delay Matrix (матрицы задержек), как показано на рис. 2.65. Времена задержек для этого проекта могут отличаться от указанных в иллюстрации. Значения, которые вычисляет Timing Analyzer (анализатор временных параметров) зависят от содер-
182 Часть 2 жимого Device Model Files (модельных файлов микросхем) с расширением (.dmf). Эти файлы могут иметь отличия в разных версиях MAX+plus IL I Наличие только- одного значения задержки озна- чает, что все пути сигналов для этой пары контактов имеют одну и ту же длину е. 5 3 Delay Matrix —I_______________________MAX*plus It - d'\max2workV< toriafichlptrip ♦ [Timing Analyzer] *1 MAX* plus It Bic Mode Analysis Assign Utilities Options ffindow Help a-. .atoa ticket! ticke<2 bekai iwneO асзе! 9 «teeh — 17 Ort 80ns 8.Cns ' 8.0m drO - - «1 ensfcle r l-*_ -1 I _ _ _ 1 Stop List Paths »— I II "Ь '1 Start Открывает окно Message Processor (процессора сообщений) и формирует список всех путей сигналов и значений задержек для указанной пары контактов Рис 2.65 Если пути распространения сигнала имеют различную длину, то в ячейке Delay Matrix (матрицы задержек) появляются два значения задержки, соответствующие самому короткому и самому длинному пути. Это означает, что в схеме имеются гонки сигналов. Когда в исходном проектном файле источник и приемник сигнала разделяются информа- ционным входом D-триггсра, задержка вычисляется через Clock (тактирующий) или Preset (устанавливающий в единицу) входы, а не через D (инфомационный) вход. 3. Получение списка задержек распространения сигнала Для получения списка задержек распространения сигнала для вы- бранной нары контактов: 1. Выделите ячейку соответствующую контактам clock и at_altera. 2. Включите команду List Only Longest Path (указать самый длин- ный путь) из меню Options. Если вы включили эту команду до того, как нажали кнопку List Paths (отобразить список путей), Timing Analyzer (анализатор временных параметров) покажет в окне Message Processor (процессора сообщений) максимальную задержку распространения сигнала для выбранной пары контактов.
Самоучитель САПР MAX+plus II 183 3. Нажмите кнопку List Paths (отобразить список путей). Откроется окно Message Processor (процессора сообщений), и в нем появится значение максимальной задержки распространения сигнала между цепями clock и at_altera. 4. На экране появится сообщение Finished listing longest delay path(s) (сообщение о максимальной задержке готово). Нажмите ОК. 5. Если нужно, выберите Message Processor (процессор сообщений) из меню MAX+phis II для активизации окна процессора со- общений. Задеожка _ _—- paci tрос гранения сигнала между цепями clock и at_altera составляет 17 0 нс !У| Л-.Я’.- j-L--m 1'11' д.-В ‘Г.. S1" Т '1' А,, г.; = Iff.j Mk -г,. -»_____МДХ+plus И - d:Vnax2wod^tutori*l\chiptrip - {Messages - Timing Analyzer] MAX* plus II Eilc feasign Qptionsy/indow Hclp bJgjgjS)FTНаиЖ®1 Z_ C-Ь.. ~ . n ahis < Mcssogc ► 0 of I < Locate p Vofl) CZ Lucatr in Floorplan Editor Locate AH ’ Hflp on Message Рис. 2.66 4. Отображение пути распространения сигнала в Floorplan Editor (редакторе физического размещения) Message Processor (процессор сообщений) может показать путь распространения сигнала для выделенного сообщения в Floorplan Editor (редакторе физического размещения). При этом возможно либо полное, либо последовательное его отображение. Для полного отображения в Floorplan Editor (редакторе физического размещения) пути распространения сигнала для выделенного сообщения: 1. В окне Message Processor (процессора сообщений) щелкните кнопку 1 на сообщении или на правом треугольнике кнопки Mes- sage (сообщение) для выделения сообщения Info: Delay path from ‘clock’ to ‘at_altera’ 17.0 ns. 2. Включите опцию Locate in Floorplan Editor (определить местопо- ложение в редакторе физического размещения). Кнопка Locate All (отображение полного пути) станет активной.
184 Часть 2 3. Нажмите кнопку Locate АП (отображение полного пути). MAX+plus II автоматически откроет окно Floorplan Editor (редак- тора физического размещения) и выделит путь распространения сигнала. 4. Проверьте, чтобы были включены следующие команды: LAB View (просмотр LAB) и Last Compilation Floorplan (физический уровень последней компиляции) из меню Layout (расположение) и Show Path (показать путь) из меню Options. Команду Report File Equation View (просмотр уравнений файла отчета) из меню Layout (расположение) можно выключить. На экране отобразиться пол- ный путь сигнала от контакта clock до контакта at_altera, как показано на рис. 2.67. : MAX+plus II-d.VnaxZworHtutoriallchiptrip - (Floorplan Editor-(Last Compilation] j MAX*plus II Eile Edit View Layou^ Assign______________Utilities Options ffiindow Help_________ Unassigned Nodes I Pins: ' Selected Nude(*i 1 Pint®! Chip Name: chiphip (EPM7032LC-44-6) ColcN Legend — D llnacsigned О Untouted Л DevicH-Wirfe Fan-ПиГ ! db PofoVcl Expanders «Multiple Herrs (3)> Show Path (показать путь) Local LAB Fan-Out Only Pnc. 2.67 5. После того, как вы закончите просмотр Floorplan Editor (редактора физического размещения), закройте его окно и активизируйте Timing Analyzer (анализатор вре.менных параметров). 5. Отображение пути распространения сигнала в Design files (проектных файлах) Message Processor (процессор сообщений) может показать путь распространения сигнала для выделенного сообщения в Design Files (проектных файлах). Для определения местоположения цепей пли узлов, входящих в путь распространения сигнала для выделенного сообщения, в Design Files (проектных файлах) выполните следующее:
Самоучитель САПР MAX+plus II 185 1. В окне процессора сообщений щелкните кнопку 1 на сообщении или на правом треугольнике кнопки Message (сообщение) для выделения сообщения Info: Delay path from ‘clock’ to 'at_altera'; 17.0 ns. 2. Выключите опцию Locate in Floorplan Editor (определение место- положения в редакторе физического размещения). 3. Щелкните кнопку 1 на правом треугольнике кнопки Locate (оп- ределить местоположение) для определения местоположения первого из четырех узлов, входящего в путь распространения сигнала для данного сообщения. MAX+plus II автоматически от- кроет файл chiptrip.gdf в окне Graphic Editor (графического редактора) и выделит входной контакт clock. 4. Определите местоположение каждого из трех оставшихся узлов путем щелчка кнопки 1 на правом треугольнике клавиши Locate. MAX-eplus II автоматически откроет соответствующий редактор с проектным файлом для каждого последующего узла. Теперь вы можете закрыть окна редакторов и Message Processor (процессора сообщений) и активизировать Timing Analyzer (анализатор временных параметров). Выделите следующую ячейку Delay Matrix (матрицы задержек) и повторите шаги 3, 4, 5 этого занятия 6. Определение других временных параметров / Активизируйте окно Timing Analyzer (анализатор временных параметров), выберите Registered Performance (быстродействие регистровой логики) или Setup/Hold Matrix (матрица времен предустановки и удержания сигналов) из меню Analysis и на- жмите кнопку Start для определения других временных пара- метров проекта chiptrip. 2.7. Программирование микросхемы Занятие 13. Программирование микросхемы фирмы Altera В ходе данного занятия вы будете использовать программный модуль Programmer (программатор) пакета MAX+plus II для программирования проекта chiptrip в микросхему Altera EPM7032LC44, которая была автоматически выбрана компилятором. Это занятие включает следующие шаги: 1. Открытие окна Programmer (программатора). 2. Создание выходного файла Programmer Log File (файл регистрации программатора). 3. Программирование микросхемы.
186 Часть 2 1. Открытие окна Programmer (программатора) Убедитесь, что к вашему компьютеру подключены аппаратные сред- ства программирования. Для открытия окна Programmer (программатора): / Выберите Programmer (программатор) из меню MAX+plus II. Откроется окно Programmer (программатора), как показано на рис. 2.68. Записать в микросхему дан- ные из файла, ука- занного в поле File Считать данные из микросхемы и срав- нить их с данными из файла для про- . граммирования Examine program Verify Programmer Verity Examine / Blank-Check £onfigure Чтение данных из микросхемы и сохранение их в буфере Проверка микросхемы на отсутствие записан- ной информации Загрузка конфигураци онных данных в SRAM- based микросхемы Slop □ Security ВИ- File: chi ptrip. pot Device: EPM7032LC44 Checksum: 0005D8B6 Open SCF ЮО Индикатор выполнения Установка бита защиты для запрещения чтения данных . из микросхемы Имя программирую- щего файла текущего проекта Выполнение функ- ционального тести- рования запрограм- мированной микро- схемы, используя входные вектора из текущего SCF файла, Vector File (векторно- го файла) или Programming File (программирующего файла) о Рис. 2.68 Поле File отображает текущий Programmer Object File (объектный файл программатора) с именем chiptrip.pof Если chiptrip.pof не отображается, используйте команду Select Programming File (выбор программирующего файла) из меню File для выбора chiptrip.pof. Если появится вопрос, хотите ли вы изменить текущий проект на chiptrip, нажмите ОК. 2. Создание выходного файла Programmer Log File (файл регистрации программатора) MAX-rplus II может записывать все действия и сообщения во время программирования в Programmer Log File (файл регистрации програм- матора) с расширением (.plf). Для создания выходного PLF файла; 1. Выберите Inputs/Outputs (входы/выходы) из меню File. На экране отобразится диалоговое окно Inputs/Outputs (входы/выходы), пока- занное на рис. 2.69.
Самоучитель САПР MAX+plus II 187 Inputs/Outputs Определяет— источник вход- ных векторов для функцио- нального тести- рования 7 Vector Input File О Input File: О chiptrip.scf - Г Show in Files List О £uiaulalor Channel Files (*.scf) О Rector Files (*.vec] О Current Progiamming File Генерация ------ Programmer Log File (файла реги- страции програм- матора) Output File S Log fpU) <•) chiptnp.plf Программный модуль Programmer (програм- матор) автоматически повторяет название текущего проекта и до- бавляет соответствую- щее расширение файле Directory is: d:\aax2work\tuiorial f iles: ’.set Qwectones: chiptrip.scf |p=> d:\ max2work t __ __ Driyes: Если опция New включена, то PLF файл перезаписывается, если он существует. Если New не включена, a PLF файл сущест- вует, то команды и сообщения добавля- ются в него Cancel Рис. 2.69 2. Если нужно, включите опцию Log (.plf) под строчкой Output File, Название файла chiptrip.plf появится автоматически в окошке Log (.plf). 3. Нажмите ОК ’*•« Нажмите F1, когда на экране отображается диалоговое окно Inputs/Outputs (входы/выходы) для перехода к разделу "Inputs/ Outputs Command" (команды ввода/вывода) в справочной системе MAX+plus II. 3. Программирование микросхемы Для программирования микросхемы: 1. Вставьте микросхему EPM7032LC44-6 в "панельку". 2. Нажмите кнопку Program. Программатор проверит микросхему на отсутствие записанной информаци, запрограммирует проект chiptrip в микросхему и срав- нит данные, считанные из микросхемы, с данными из файла chiptrip.pof. После того как программирование завершено, можно просмотреть PLT файл. Информацию о том, как открыть и про- смотреть текстовые файлы можно найти на стр. 177 в разделе 2
188 Часть 2 "Просмотр History, Log и Table Files (файлов истории, регистрации и табличного файла)". 3. Щелкните кнопку 1 на значке Close (закрыть) для закрытия окна Programmer (программатора). Обратитесь к разделам "Inserting a Device into Socket" (установка микросхемы в "панельку") и "Programming a Single Device with the Master Programming Unit" (программирование микросхемы с помощью программатора фирмы Altera), используя Search for Help on (поиск справки по) из меню Help. 2.8. Дополнительная практика Поздравляем с окончанием изучения самоучителя! Если вы хотите еще попрактиковаться на основе изученного материала, то вы можете выполнить следующие задания: Попробуйте создать те же самые подпроекты, используя различные методы ввода. Например, создайте подпроект speed_ch как Text Design File (текстовый проектный файл) с расширением (.tdf). Перекомпилируйте проект chiptrip для других микросхем и вы- полните анализ временных параметров. Перекомпилируйте и промоделируйте проект для одной и той же микросхемы, но с разными градациями быстродействия и выпол- ните анализ временных параметров.
Часть 3 Самоучитель САПР Quartus II Данное учебное пособие познакомит вас с функциональными воз- можностями и основными характеристиками программного пакета Quartus, представляющего систему автоматизированного проектирования цифровых устройств на СБИС программируемой логики фирмы Altera. 3.1. Обзор учебного пособия В учебном пособии описывается типовая процедура проектирования на примере разработки цифрового фильтра с конечной импульсной характеристикой (КИХ-фильтра). Проект fir_filter. Представленный проект создается по нисходящей иерархической ме- тодологии проектирования. Файлы описания проекта создаются в тек- стовом и графическом редакторах пакета. В начале создается общая блок-схема верхнего уровня иерархии; затем выполняются описания отдельных составляющих проекта; после этого файлы проекта объединяются. Затем определяются и анализируются требования к временным ха- рактеристикам проекта, и выполняется его компиляция. После этого проводится моделирование проекта (с учетом внутрисхемных задержек) и выполняется анализ временных характеристик. В конечном итоге конфигурация созданного проекта загружается в микросхему семейства APEX™ фирмы Altera®.
190 Часть 3 Данное учебное пособие и рассматриваемый в нем проект fir_filter помогают быстро освоить работу с программным пакетом Quartus. По- собие хорошо структурировано и имеет модульную структуру, ориенти- рованную на поэтапное освоение материала. Материал представлен следующими разделами: В разделе Ввод описания проекта вы научитесь создавать файл блок-схемы проекта (Block Design File). Файл блок-схемы *.bdf создается с помощью графического редактора блок-схем (Block Editor). В этом разделе также создаются несколько текстовых файлов описания модулей проекта низших уровней иерархии на языке Verilog HDL. Файлы имеют расширение *.v и создаются в текстовом редакторе пакета Quartus с использованием встро- енного мастера мегафункций MegaWizard™. Раздел Компиляция научит вас выполнять компиляцию проекта и управлять процессом компиляции с помощью соответствующих параметров. Вы также научитесь просматривать топологию про- екта, показывающую созданные компилятором размещение проекта и его разводку на кристалле ПЛИС. Кроме того, будет показано, как выполнять назначения ресурсов реализации отдель- ных частей проекта. Раздел Анализ временных характеристик проекта научит вас анализировать характеристики быстродействия проекта, включая режим многотактового анализа. Раздел Моделирование научит вас создавать файлы *.vwf вре- менных диаграмм (Vector Waveform File), содержащие векторы входных воздействий для моделирования. Вы также научитесь управлять моделированием и анализом временных характеристик с помощью соответствующих настроек. Раздел Программирование научит вас использовать программатор Quartus для конфигурирования микросхем Altera. Файлы учебного пособия При установке (Installation) пакета Quartus все файлы учебного пособия и рассмотренного в нем учебного проекта автоматически ко- пируются на жесткий диск (винчестер). Файлы- учебного пособия, расположены в следующих подкаталогах корневого каталога пакета Quartus: Название каталога: \qdesigns \qdesigns\tutorial Описание: Рабочий каталог Quartus. Содержит все файлы этого учебного пособия. В каталоге находится файл readme.txt, описывающий текущие изме- нения и дополнения, сделанные в учебном пособии.
Самоучитель САПР Quartus II 191 Название каталога: \qdesigns\fir_filter Описание: Каталог, в котором вы будете создавать учебный проект fir Jitter. Используйте этот каталог для предотвращения каких-либо изменений исходного набора рабочих файлов в каталоге \qdesigns\tutorlal. О3 На рабочих станциях платформы UNIX каталог qdesigns явля- ется подкаталогом /usr. Сокращения команд Многие команды Quartus имеют варианты сокращенного (быстрого) вызова (shortcuts). Однако в этом учебном пособии используются исходные команды, без сокращений. Для информации о доступных командах мыши, клавиатуры, панели инструментов обратитесь непо- средственно к меню пакета Quartus, команде Toolbar (панель инструментов) в меню Toolsmenu (меню инструментальных средств) и непосредственно к справочной системе Help пакета Quartus. Вызов справки В данном учебном пособий ссылки на справки пакета Quartus обо- значаются рисунком следов (”*«). В справочной системе содержится много самой новой и полной информации о пакете Quartus. Для быстрого получения справки удобно пользоваться контекстной справкой (Context Sensitive Help), а также поиском информации по ключевым словам (Search Index). Для поиска необходимой информации можно также воспользоваться содержанием (Contents) справочной системы Help. 1. Контекстная справка Контекстная справка (Context Sensitive Help) позволяет моментально получить справочную информацию по необходимым вопросам. Для получения контекстной справки можно использовать следующие методы: Метод вызова: Описание: Клавиши Нажмите клавиши Shift+F1, укажите интересующий вас элемент на Shift+F1 экране, ключевое слово в тексте или в командном меню и затем нажмите левую клавишу мыши. Клавиша Для получения справки по выделенной команде меню, открытому диа- FI лотовому окну, открытому или всплывающему окну сообщений, нажмите клавишу F1. Нажатие клавиши F1 в активном окне подси- стемы Quartus позволяет получить общую информацию по данной под- системе, а также справку по относящимся к ней ключевым словам.
192 Часть 3 Метод вызова: Описание: Команда Для получения справки по отображаемым в окне Messages сообще- Help ниям, выделите нужное сообщение (message), нажмите правую кнопку мыши и во всплывающем меню выберите команду Help. 2. Поиск тематической информации по ключевым словам В справочной системе Quartus имеется указатель (Index) ключевых слов (Keywords), который удобно использовать для быстрого поиска тематической информации. Для поиска тематических разделов (Help topic) выполните следую- щие действия. 1. В меню Help (справка) пакета Quartus выберите команду Index (ключевые слова). Если окно справочной системы Quartus уже открыто, можно сразу перейти на вкладку Index (рис.3.1). Вкладка поиска информации по ключевым словам Заголовок и содержание справочного раздела Welcome to Quartus! introduction, Quartus software Block Editor Compiler EDA interfaces Embedded Logic Analyzer Floorplan Editor Messages window Programmer Report window SignatTap Simulator Г 11 he Quartus™ development software provides a ’ I cmplete design environment that easily adapts ►o your specific design needs. Regardless of I i vhether you use a personal computer or a L orkstation, the Quartus software ensures easy J Resign entry, fast processing, and straightforward j [device programming. i Г he Quartus software is a fully integrated, ] t rchiteoture-independent package for designing logic with Altera^ programmable logic devices, » J including APEX™ devices The Quartus software offers a full spectrum of logic design abilities: Рис. 3.1 2. В поле Type in the keyword to find введите искомое ключевое слово. 3. Для отображения раздела выделите его заголовок и нажмите кноп- ку Display (показать) или дважды щелкните левой кнопкой мыши на выделенном заголовке раздела. 3. Содержание справки Справочная система пакета Quartus имеет содержание (Contents List), обеспечивающее поиск информации по разделам (category)
Самоучитель САПР Quartus II 193 Чтобы просмотреть содержание справочного раздела, выполните сле- дующие действия. 1. В меню Help (справка) окна Quartus выберите команду Contents (содержание). Если окно справочной системы Quartus уже откры- то, вы можете сразу перейти на вкладку Contents (рис. 3.2). Вкладка содержания справочной системы S Using Quartus Help Effectively s| Quartus Help Introduction fl s] Contacting Altera P Specifying a License File В Щ Copyright Notice В S Fl Starting Projects 4 SI Г?1 Getting Information About Projects < GI |T1 Creating and Editing Block Diagrams ' 4 Cj Creating and Editing Design Files Щ Creating a Design File with the Meg : 1 Gf |71 Initializing Embedded Memory ЕЗ Cl Editing Text Designs Hi Fl Scripting Заголовок и содержание справочного раздела 4-4^ X ?- L--j ' Welcome to Quartus! X ue Quartus™ development software provides a complete design environment that easily adapts t о your specific design needs. Regardless of Lhether you use a personal computer or a Lo kstation, the Quartus software ensures easy 'design entry, fast processing, and straightforward \ device programming. > И" he Quartus sortware is a fully integrated, architecture-independent package for designing j logic with Altera® programmable logic devices, j including APEX™ devices. The Quartus software ► fers a full spectrum of logic design capabilities: M Щелчок на символе “+" раскрывает содержание справочного раздела Рис. 3.2 2. Для раскрытия оглавления нужного раздела щелкните значок 3. Для просмотра тематической статьи (topic) щелкните на ее заголовке. 4. Поиск справочной информации во всем тексте справки Справка пакета Quartus предоставляет возможность поиска инфор- мации во всем тексте (Full-Text) справки. Для поиска справочной информации во всем тексте выполните сле- дующие действия: 1. В меню Help (справка) окна Quartus выберите команду Search (поиск). Если окно Help уже открыто — прейдите на вкладку Search (рис. 3.3). 2. В поле Type in the word(s) to search for введите искомое слово (слова). 3. Для расширения или сужения границ поиска используются сле- дующие опции:
194 Часть 3 — Search previous results (искать в найденном) — используется для ограничения поиска среди слов, найденных на предыдущем этапе; — Match similar words (искать похожие слова) — используется для поиска сходных слов; — Search titles only (искать только среди заголовков) — исполь- зуется для ограничения области поиска по заголовкам 4. Для начала поиска нажмите List Topics (список статей) — в поле Select topic появятся заголовки тематических справочных статей соответствующие критерию поиска. 5, Для отображения статьи выберите ее имя и нажмите Display (показать) или дважды щелкните на выбранном имени правой кнопкой мыши. Вкладка поиска во всем тексте справки Искомые слова Заголовок и содержание спр* ючной статьи elcome to Quartus amplete design environment that easily adapts Л И r our sPeot^c design needs, Regardless of 11 -hether you use a arsenal computer or a 1 l > erkstation, V i ЦЦ . ftware ensures easy I n asign entry, fast processing, and straightforward device programming. ШПо Слова, введенные в окне поиска, выделяются в тексте справки e come to Quartus! Quartus elcome to Quart _... Quartus Help 2 ohiteoture-independent packag- designing 1 •gio with Altera® programmable logic devices, I eluding APEX™ devices. The ВКИ software ffers a full spectrum of logic design capabilities: Рис. 3.3 3.2. Ввод описания проекта Проект в пакете Quartus представляет собой полный набор файлов проекта, файлов назначений, файлов моделирования, системных уста- новок и информации об иерархической структуре проекта. На примере учебного проекта, который вы создадите с помощью этого пособия, демонстрируется методология нисходящего проектирования. В пяти следующих разделах пособия описываются этапы создания учебного проекта fir_filter. В начале создается файл *.bdf (Block Design File) верхнего уровня иерархии, содержащий блок-схему проекта. Блок-
Самоучитель САПР Quartus II 195 схема проекта включает в себя блоки более низких уровней иерархии. Затем создаются текстовые файлы *.v (Verilog Design Files), описы- вающие блоки проекта на языке Venlog HDL Описание функциональ- ных блоков низших уровней иерархии будет также создано на основе готовых мегафункций (Custom megafunction variation). Урок 1. Запуск пакета Quartus В первом уроке вы запустите пакет Quartus и приступите к созданию вашего первого проекта. В этом учебном пособии предполагается, что рабочий каталог Quartus, имеющий по умолчанию имя qdesigns, расположен на диске D: вашего компьютера. Если вы установили рабочий ка- талог Quartus в другое место или/и под другим именем — измени- те соответствующий путь или имя рабочего каталога. Для запуска пакета Quartus выполните следующие действия: 1. В меню Start операционной системы Windows выберите Programs > Altera > Quartus. Для запуска из командной строки введите quartus и нажмите клавишу Enter (ввод) — откроется окно пакета Quartus. 2. Разверните окно пакета Quartus на весь экран (Maximize) нажа- тием соответствующей стандартной кнопки окна (рис. 3.4). ilation Hierarchies Окно подсистемы Projekt Navigator Кнопка закрытия окна Projekt Navigator Закрыть Развернуть I 4QOnU\/TUl I Окно ---- сообщений Рис, 3.4
196 Часть 3 Урок 2. Определение имени проекта и его основных параметров Для облегчения создания нового проекта пакет Quartus имеет встро- енный мастер создания проекта (New Project Wizard). Для создания проекта с помощью мастера New Project, выполните следующие действия. 1. В меню File (операции с файлами) выберите New Project Wizard (мастер создания проекта). Откроется окно New Project (новый проект). При первом запуске окна New Project, отображается окно заставки. Для перехода к окну первого этапа создания проекта нажмите кнопку Next (следующий). В окне первого этапа создания проекта указывается имя рабочего каталога проекта, текущее имя проекта и имя файла верхнего уровня иерархии (рис. 3.5). Ъа» Ш cBntaindesignftes and - othetre . ..Hdwtj,. '_:je cxi . .„у'.' ...... I \qdesignsVfir_ filter В * н*. ! Имя рабочей директории проекта <пед 4 j • ъщ*' Vjrуоцад^>._. сап Имя проекта n__filter Имя объекта —Л верхнего уровня иерархии < п inaticafr c • ЙН аЫ Sr .. о - i с. fm tM you specify in ‘ Ifrxrr**- я m >4- '•?'- - - - "— ________________________________________________________ I iltref Рис. 3.5 Ком мен то рии: Фраза над окном каталога Как называется рабочий каталог проекта? Этот каталог должен содержать файлы проекта и другие, связанные с проектом фай- лы. Если вы введете имя несуществующего каталога, Quartus создаст его автоматически.
Самоучитель САПР Quartus II 197 Фраза над окном имени проекта Фраза над окном имени высшего блока иерархии проекта Какое имя этого проекта? Вы можете использовать имя файла веохнего уровня иерархии. Какое имя блока верхнего уровня иерархии проекта? Quartus автоматически создает установки компиляции и моделирования для блока, указанного в этом окне. После создания проекта вы сможете добавить другие объекты верхних уровней иерархии и создать для них установки компиляции и моделирования при помощи меню Processing. 2. В строке ввода рабочего каталога проекта (верхняя строка ввода) введите имя каталога или выберите его, используя кнопку обзора Browse (—). В данном примере вам необходимо задать каталог d: \qdesigns\f i r_f ilte г. 3. В строке ввода имени проекта (средняя строка ввода) введите имя проекта. В этом примере необходимо задать имя fir_f liter. 4. В строке ввода имени блока верхнего уровня иерархии (нижняя строка ввода) введите f lit ref. Заданное имя проекта по умолчанию присваивается блоку верх- него уровня иерархии. Однако можно задать и имя, отличное от имени блока верхнего уровня иерархии. 5. Нажмите кнопку Next (следующий) — появится окно второго этапа создания нового проекта (рис. 3.6). м пшпеб» • I... есгаг. , v • * г» f Рис. 3.6
198 Часть 3 Ком мен та рии: Надпись Выберите файлы, которые вы хотите включить в свой проект, над окном Нажмите кнопку Add АН, чтобы добавить в рабочий каталог проекта все файлы. Предупреждение: если вы не имеете файлов проекта в других каталогах или файлы, имя которых отлично от имени проекта, то добавлять файлы в этом окне не обязательно. Подпись Если ваш проект включает библиотеки специализированных под окном функций, укажите их пути. 6. Для добавления всех файлов проекта в рабочий каталог проекта нажмите Add All (добавить все файлы). На данном этапе список файлов пуст, поскольку проект fir_filter — новый и для него еще не создано файлов. Если вы хотите добавить к новому проекту существующие файлы или другие источники, то для их выбора вы можете нажать кнопку обзора Browse (•), выбрать нужные файлы и добавить их, нажав кнопку Add (добавить). Рис. 3.7 7. Нажмите кнопку Next (следующий) — появится сводное окно заданных вами параметров проекта. В этом окне отображаются установки, заданные в мастере New Project: рабочий каталог, имя
Самоучитель САПР Quartus II 199 проекта, блок верхнего уровня иерархии и ряд служебных файлов проекта таких, как информация о пользовательских библиотеках, используемых средствах электронных САПР (EDA), выбранном семействе и типе ПЛИС и др. (рис. 3.7). 8. Нажмите кнопку Finish (готово) - новый проект создан. Имя блока верхнего уровня иерархии появится в строке Hierarchies (иерархия) окна Project Navigator (навигатор проекта) (рис. 3.8). Имя объекта верхнего уровня иерархии Рис. 3.8 Урок 3. Создание блок-схемы В этом разделе описываются этапы создания блок-схемы верхнего уровня иерархии. Запустите файл filtref.bdf. Если вами уже освоена работа в редакторе блок-схем (Block Editor), вы можете пропустить этот раздел и сэкономить свое время, скопировав следующие готовые файлы из подкаталога \qdesigns\tutorial в подкаталог \qdesigns\fir_filter. Имя файла: Описание: fHtretbdf Файл блок-схемы верхнего уровня иерархии (Block Design File). mult.v Текстовый файл описания умножителя на языке Verilog HDL, созданный на базе готовой библиотеч- ной мегафункции lpm_mult с помощью встроенного мастера MegaWizard. На блок-схеме f lltretbdf этот файл представлен в виде блока mult Рекомендуется копировать файлы учебного пособия следующим об- разом: открыть файл в пакете Quartus с помощью команды Open (открыть) меню File, затем выбрать команду Save As (сохранить файл как ...) меню File, в появившемся окне установить ключ Add file to current project (добавить файл к текущему проекту), а затем сохранить файл в подкаталоге \qdesigns\fir_filter. Скопировав предлагаемые готовые файлы, вы можете сразу перейти к уроку 4: "Создание описания на языке Verilog HDL".
200 Часть 3 В этом уроке описываются следующие этапы проектирования: создание графического файла *.bdf (Block Design File) блок- схемы проекта; создание функционального блока; ввод примитивов и мегафункций; настройка и изменение свойств экрана; программы работы с блоками; ввод символов входных/выходных выводов; присвоение имен входным/выходным выводам; соединение графических обозначений и блоков; распределение сигналов между блоками. 1. Создание файла блок-схемы проекта (Block Design File) В этом подразделе вы создадите новый графический файл *.bdf (Block Design File) блок-схемы проекта с именем filtref.bdf. Этот файл является файлом верхнего уровня иерархии проекта fir_filter. Для создания нового BDF-файла выполните следующие действия: 1. В меню File (операции с файлами) выберите команду New (создать новый файл) — автоматически появится вкладка Design Files (файлы проекта). 2. На вкладке Design Files (файлы проекта) выберите Block Diagram/ Schematic File (файлы блок-схемы/схемотехнические файлы). 3. Нажмите кнопку ОК — откроется окно редактора блок-схем (Block Editor). 4. В меню File (операции с файлами) выберите команду Save As (сохранить файл как). 5. Выберите каталог, где вы хотите сохранить BDF-файл. В окне Save As автоматически выделен рабочий каталог проекта d:\qdesigns\fir_filter. 6. Если необходимо — введите имя flit ref в поле File name (имя файла). 7. Если необходимо — включите опцию Add file to current project (добавить файл к текущему проекту). 8. Нажмите кнопку Save (сохранить) — теперь файл сохранен и добавлен к проекту. 2. Создание функционального блока Для создания нового блока (файл filtref.bdf) выполните следующие действия: 1. На панели инструментов редактора блок-схем (Block Editor) на- жмите клавишу Block Tool (рисование блока). Кнопки панели инструментов показаны на рис. 3.9.
Самоучитель САПР Quartus II 201 Указатель выделения Ввод текста Ввод символа функционального элемента Ввод блока Рисование ортогональных проводников Рисование ортогональных шин Масштабирование объектов Отображение во весь экран Поиск объектов Горизонтальное отражение объектов Вертикальное отражение объектов Поворот вправо на 90° Рисование прямоугольников Рисование эллипсов Рисование прямых Рисование дуг Рис. 3.9 2. Нажмите на белом поле в области редактора блок-схем (Block Editor) левую кнопку мыши и, удерживая ее, выделите прямо- угольную область, соответствующую требуемому размеру создавае- мого блока. Для коррекции своих действий вы можете использовать команды Undo (отмена действия) и Redo (повтор действия) в меню Edit (редактирование). Вид созданного блока в редакторе блок-схем (Block Editor) показан на рис. 3.10. Графическое обозначение блока (графический символ блока) Таблица портов ввода-вывода блока (поскольку порты еще не выбраны - таблица пустая) Рис. 3.10
202 Часть 3 3. Нажмите клавишу указателя выбора (Selection Tool). На панели инструментов редактора Block Editor указатель Selection Tool выглядит в виде стрелки. 4. Наведите указатель на созданный блок и дважды щелкните левой кнопкой мыши — откроется диалоговое окно Block Properties (свойства блока). 5. Перейдите на вкладку General (основные) (рис. 3.11). Рис. 3.11 6. В поле Name (имя) введите имя блока — taps и оставьте без изменений имя Inst. 7. Откройте вкладку I/Os (входы/выходы). 8. Под надписью I/O (входы/выходы) в поле Name (имя) введите имя первого вывода — elk, а в поле Туре (тип выводов) выберите INPUT (вход). 9. Нажмите кнопку Add (добавить) — вывод с именем elk появится в списке выводов блока Existing block I/Os (существующие входы/ выходы блока) (рис. 3.12). 10. Для присвоения имени каждому из выводов, приведенных ниже, повторите действия 8 и 9: Вы также можете ввести в строке имена всех входных выводов через запятую, а затем нажать кнопку Add (добавить).
Самоучитель САПР Quartus II 203 Имя: Cl к (уже введено) Reset sel[1..0] newt d[7..0] x[7. .0] Тип: INPUT INPUT INPUT INPUT INPUT OUTPUT Рис. 3.12 11. Нажмите кнопку OK. Теперь вы определили входные и выходные выводы блока taps. Блок taps входит в блок-схему проекта, соз- дание которой описывается в уроке 4. 12. Выберите блок taps и нажмите правую кнопку мыши. 13. Во всплывающем меню выберите команду AutoFit. Эта команда ус- танавливает размер рамки блока taps по таблице портов входа/вы- хода, чтобы вся информация о блоке была хорошо видна (рис. 3.13). 14. Для создания трех следующих блоков: statejn, hvalues и асе повторите действия 1-13. Порты блоков приведены ниже. Порты блока hvalues. Имя: Тип: sel[1..0] INPUT h[2..O] OUTPUT
204 Часть 3 Пор ты бло ко асе. Имя: xh[10..0J elk first yn[7..O] Тип: INPUT INPUT INPUT OUTPUT Порты бло ко Имя: elk reset newt next First state Ж. Тип: INPUT INPUT INPUT OUTPUT OUTPUT OUTPUT Рис. 3.13 15. Для перемещения любого из блоков на новое место на панели инструментов редактора Block Editor выберите Selection Tool (указатель выделения) или нажмите клавишу Esc Наведите ука- затель на нужный блок, затем нажмите левую кнопку мыши и, удерживая ее, перетащите блок на новое место. После окончания создания четырех блоков, расположите их примерно так, как показано на рис. 3.14. 16. Для сохранения изменений в файле проекта в меню File (операции с файлами) выберите команду Save (сохранить файл).
Самоучитель САПР Quartus II 205 Рис. 3.14 * 3. Создание графических обозначений примитива и мега функции Помимо блоков, созданных в этом примере, файл *.bdf (Block Design File) блок-схемы проекта может содержать графические обозначения других функциональных узлов, включая примитивы, библиотеки пара- метризованных модулей (Library of Parameterized Modules — LPM) и другие мегафункции (megafimctions). Все эти элементы вы можете использовать при создании блок-схем в редакторе Block Editor Для добавления в схему проекта (файл filtref.bdf) D-триггера (при- митив DFF) выполните следующие действия: 1. Дважды щелкните левой кнопкой мыши на пустом пространстве в окне редактора Block Editor. 2 В появившемся диалоговом окне Symbol (графические обозначе- ния), в списке Libraries (библиотеки), откройте раздел библиотек d:\Quartus\libraries, щелкнув символ Откройте подразделы primitives (примитивы) и storage (элементы памяти). 3. В подразделе storage выберите примитив dff (D-триггер), графическое обозначение выбранного примитива появится в пра- вом окне (рис. 3.15). Вы также можете ввести имя требуемого примитива (dff) непосредственно с клавиатуры в поле Name (имя). 4. Нажмите кнопку ОК — графическое обозначение примитива DFF будет привязано к указателю мыши.
206 Часть 3 Рис. 3.15 5. Поместите символ DFF на нужное место в окне редактора Block Editor и щелкните левой кнопкой мыши. Теперь примитив DFF добавлен к блок-схеме проекта. 6. Чтобы ввести в файл filtref.bdf символ DFFE (D-триггер со входом разрешения записи), повторите действия 1-5. Следующий функциональный элемент, который необходимо ввести, — умножитель. Он будет создан на базе (как экземпляр) мегафункции lpm_mult. Для создания умножителя вы можете использовать встроенный мастер мегафункций MegaWizard. Мастер MegaWizard обеспечивает создание и редактирование файлов функциональных узлов проекта, на основе специализированных готовых мегафункций, включая функции библиотек параметризованных модулей (LPM). Мастер MegaWizard помогает легко и просто настроить параметры вашего узла. При создании очередного функционального узла мастер MegaWizard предлагает вы- брать значения его параметров и свойства входных/выходных портов. После создания умножителя с помощью мастера MegaWizard вы смо- жете использовать его в файле проекта. Для создания описания умножителя mult с помошью мастера Mega- Wizard выполните следующие действия: 1. Дважды щелкните левой кнопкой мыши на свободном месте поля редактора Block Editor (редактор блок-схем).
Самоучитель САПР Quartus II 207 2. В диалоговом окне Symbol щелкните по надписи MegaWizard Plug-In Manager. Откроется первая страница мастера MegaWizard, показанная на рис. 3.16. Рис. 3.16 Ком мен то рии: Верхняя надпись: Мастер MegaWizard помогает вам создавать или дорабатывать файлы проекта на основе мегафункций (файлы, представляю- щие собой настроенные экземпляры мегафункций). Надпись над Какое действие вы хотите выполнить? ключами: Верхний ключ: Создать новый вариант мегафункции. Нижний ключ: Редактировать существующий вариант мегафункции. 3. Выберите Create a new custom megafunction variation (создать новый вариант мегафункции) и нажмите кнопку Next (следующий шаг). 4. В списке Available Megafunctions (доступные мегафункции) на- жмите значок "+", чтобы раскрыть каталог arithmetic (арифмети- ческие мегафункции), затем выберите LPM_MULT (мегафункция умножителя). 5. На вопрос Which type of output file do you want to create? (какой тип выходного файла вы хотите создать?) выберите Verilog HDL (файл текстового описания на языке Verilog HDL). 6. На вопрос What name do you want for the output file? (какое имя вы хотите присвоить выходному файлу?) введите d:\qdesigns\fir_filter\mult.v и нажмите кнопку Next. 7. На вопрос How wide should the ‘dataa’ input bus be? (какой разрядности должна быть входная шина dataa?) введите 8. 8. На вопрос How wide should the ‘datab’ input bus be? (какой разрядности должна быть входная шина datab?) введите 3.
20 Часть 3 9. Для принятия по умолчанию всех остальных вопросов и создания графического обозначения (symbol) блока нажмите кнопку Finish, графическое обозначение созданного блока показывается в правом окне Symbol. 10. Нажмите кнопку ОК. Графическое обозначение (символ) умно- жителя mult будет прикреплено к указателю мыши. 11. Чтобы разместить графическое обозначение в поле редактора блок- схем Block Editor, щелкните на рабочем поле окна редактора. 12. Чтобы сохранить изменения в файле проекта в меню File (операции с файлами), выполните команду Save (сохранить). Текущий вид создаваемой в редакторе Block Editor блок-схемы проекта показан на рис. 3.17. Рис. 3.17 4. Настройка и изменение свойств экрана При необходимости вы можете изменить параметры окна Block Editor. Для изменения настроек экрана выполните следующие действия: 1. В меню Tools (инструментальные средства) выберите команду Options.
Самоучитель САПР Quartus II 209 2. В списке Category (разделы), под строкой Block/Symbol Editor (свойства редактора блок-схем/графических обозначений), выбе- рите раздел General (основные) (рис. 3.18). Рис. 3.18 Ком мен та рии: Shou guidelines Guideline spacing Snap to greed Use rabberbanding Show paranetr assignments Show block I/O tables Show maper tables Показывать направляющие Шаг направляющих Привязать к сетке Использовать "резиновые" связи Показывать значения параметров Показывать таблицы входов-выходов блока Показывать отображение таблиц
210 Часть 3 3. В разделе General (основные) задайте необходимые вам установки. 4. Для изменения цветов и шрифтов редактора Block Editor, выберите Colors (цвета) или Fonts (шрифты) в списке Category. 5. Нажмите кнопку ОК. Уменьшение или увеличение изображения осуществялется с помо- щью инструмента масштабирования Zoom (кнопка Zoom Tool на панели инструментов Block Editor), а также с помощью команд Zoom, Zoom In (увеличить), Zoom Out (уменьшить) и Fit in Window (вписать изображение в окно) в меню View (вид). 5. Создание обозначений входных/выходных выводов Для создания обозначений выводов выполните следующие действия: 1. Нажмите клавишу Symbol Tool на панели Block Editor. Появится диалоговое окно Symbol, которое вы использовали для ввода функциональных элементов DFF и DFFE. Заметим, что при открытии этого окна с помощью кнопки панели инструментов будет включен режим Repeat-insert mode (режим повторной вставки элементов). * РЗГ При использовании режима Repeat-insert mode (режим повтор- ной вставки) обозначение выбранного функционального элемента сразу привязывается к указателю мыши. Это упрощает размеще- ние на экране нескольких копий обозначения функционального элемента. Для завершения вставки копий элемента необходимо нажать клавишу Esc или нажать правую кнопку мыши и в поя- вившемся всплывающем меню выбрать команду Cancel (отмена). 2. Для раскрытия в списке Libraries (библиотеки) диалогового окна Symbol раздел d:\Quartus\libraries, щелкните значок Раскрой- те также раздел primitives (примитивы), а затем — раздел pin (выводы). 3. В разделе pin (выводы) выберите примитив input (вход). 4. Нажмите кнопку ОК. 5. Для создания пяти обозначений входов Input щелкните левой кнопкой мыши пять раз подряд на пустом месте в левой части рабочего поля. Выводам автоматически будут присвоены имена вида pin_name<numter> с номерами в порядке возрастания. Нажмите кнопку Esc. 6. Повторите действия 1-5 для создания и расположения обозначений трех выходов (Output) в правой части рабочего поля (рис. 3.19). 7. Выберите команду Save (сохранить) в меню File (операции с файлами).
Самоучитель САПР Quartus II 211 pmlpame pnjnamt? nnarn о w- datafc(2 0? pin_n3mei3 pinname12 ffirftyr"“~.j......£ pinjrameii i ptnj-ramefi <WF t Рис. 3.19' 6. Присвоение имен выводам блоков -w- :<ш-.17Д1 st inst2 асе pi.lT'filT Теперь созданным выводам необходимо присвоить имена. Для на- значения имен выполните следующие действия: 1. Наведите указатель на первый входной вывод и дважды щелкните левой кнопкой мыши. В диалоговом окне Pin Properties (свойства выводов) откроется вкладка General (основные) (рис. 3.20). 2. Переименуйте выводы, заменив присвоенное по умолчанию имя первого вывода (pin_name), введя в строке Pin name(s) (имена вывода(ов)) имя clkx2. 3. Нажмите кнопку ОК 4. Для переименования всех выводов согласно таблице 3.1 повторите действия 1-3. Тоблица 3.1 Тип вывода Назначаемое имя Описание INPUT clkx2 (уже введен) INPUT elk Вторичный тактовый сигнал проекта FIR filter. Основной (первичный) тактовый сигнал проекта FIR filter. INPUT d[7..0] Входная шина данных проекта FIR filter.
212 Часть 3 “ 1 1 1 F Окончание табл. 3.1 Тип вывода Назначаемое имя Описание INPUT reset Сигнал сброса проекта FIR filter. INPUT newt Входной сигнал записи данных d[7.. 0] в блок taps. OUTPUT yn_out[7..0] Выходная шина данных проекта FIR filter. OUTPUT yvalid Сигнал подтверждения нормального состояния выхода уп[7.. 0] функции асе. OUTPUT next Сигнал готовности FIR filter к приему следующего байта (8-бит) данных. ’ ' Г1 Рис. 3.20 Ком мен та рий Надпись над окнами Для создания многоразрядных выводов введите имя в формате шины AHDL, например, паше[3.. 0] или список выводов, разделенных запятой. 5. Разместите графические обозначения (Simbols) всех выводов Input (вход) и Output (выход) так, чтобы они совпали с соответствую- щими обозначениями других функциональных элементов или блоков схемы (рис. 3.21). 6. Сохраните файл блок-схемы, выбрав команду Save (сохранить) в меню File (операции с файлами).
Самоучитель САПР Quartus If 213 clkx2 elk d[7.. 0] yn_out[7..0] yvalid I ОЖ w reset newt next Рис. 3.21 ! »«Я да state rr urn •we an ‘Лапа ‘jJLlJM 7. Соединение функциональных элементов и блоков Связи, соединяющие функциональные элементы и блоки, включают Nodes (проводники, сигнальные линии), Buses (шины) и Conduits (каналы). Conduits (каналы) - это шины, включающие один или более сигналов. Большинство необходимых линий соединения функциональных эле- ментов (Symbols) и блоков (Blocks) на блок-схеме (графическом файле BDF) можно нарисовать с помощью автоматически изменяемого ука- зателя "smart" Selection Tool. Указатель "smart" Selection Tool автоматически переключается на указатель инструмента рисования необходимых линий при наведении его на обозначение вывода или на границу блока. Например, при наведении на обозначение вывода, автоматически появляется указатель рисования ортогональных линий (Orthogonal Node Tool), а при наве- дении на границу блока — указатель инструмента рисования ортогональных шин (Orthogonal Bus Tool). Вы также можете самостоя- тельно выбирать нужные инструменты рисования ортогональных шин и линий на соответствующей панели инструментов. Система Quartus автоматически создает связи между соединенными блоками, а также между сигналами шины и входами/выходами блоков. Таким, шина. ’рьдт таюта для лтооого числа
214 Часть 3 сигналов. Для получения дополнительной информации о каналах (Con- duits) и о распределителях сигналов (mappers) см. раздел "Распределе- ние сигналов между блоками". Для рисования линий шины (Bus) или канала (Conduit) выполните следующие действия: 1. На панели инструментов (Toolbar) редактора блок-схем (Block Editor) нажмите кнопку Orthogonal Bus Tool (рисование ортого- нальных шин). 2. Для определения начала шины щелкните левой кнопкой мыши на обозначении входа elk, затем, переместите указатель, для ри- сования линии, до границы блока taps. При соединении шины с блоком, на краю блока taps автоматически появится символ рас- пределителя (mapper). Распределитель позволяет назначать входныс/выходные порты блока определенным сигналам шины. Для получения дополнительной информации об использовании распределителей сигналов блоков (block mappers) см. раздел "Рас- пределение сигналов между блоками". 3. Для создания других необходимых соединений функциональных элементов (Symbols) и блоков (Blocks), приведенных в табли- це 3.2, повторите действия 1, 2 Для облегчения выполнения соединений вы можете посмотреть рис. 3.22 или использовать готовый файл filtref.bdf. Таблица 3.2 Начало связи Входной (INPUT) вывод elk Шина, соединяющая вывод elk (INPUT) с блоком taps Входы st (INPUT) выводы d[7..O] Конец связи Блок taps (уже введен) Блок state m Шина, соединяющая блок taps с блоком state го Г 1^11 * Входной (INPUT) вывод reset Входной (INPUT) вывод newt Блок statejn Вывод Q примитива триггера DFFE Шина, соединяющая блок taps с блоком statejn Шина, соединяющая блок taps с блоком statejn Выходной (OUTPUT) вывод next Выходные (OUTPUT) выводы ynj)ut[7. .0] Для проведения линии, соединяющей провод или шину с уже существующими проводом или шиной, вы можете использовать инструменты Orthogonal Node Tool (рисование ортогональных проводов) или Orthogonal Bus Tool (рисование ортогональных
Самоучитель САПР Quartus И 215 шин). Эти инструменты расположены на панели инструментов (Toolbar) редактора Block Editor (см рис. 3.9, поясняющий назначения кнопок панели инструментов). При рисовании соеди- нений проводов или шин с уже существующими проводами или шинами точка их соединения рисуется автоматически. 4. Нажмите кнопку Selection Tool (указатель выбора) на панели инструментов редактора Block Editor (редактор блок-схем) 5. Для создания других соединений между функциональными эле- ментами и блоками, приведенными в таблице 3.3, повторите действие 2. Для облегчения выполнения соединений вы можете посмотреть рис. 3.22 или использовать готовый файл filtref.bdf. Таблица 3.3 Начало связи Блок taps Конец связи Блок hvalues Шина, соединяющая блок taps с блоком hvalues Шина, соединяющая входной вывод elk (INPUT) с блоком taps Блок state m Блок state m Блок асе Блок асе Блок taps Вход dataa[7. .0] функционального элемента mult Блок hvalues Вход datab[7.. 0] функционального элемента mult Выход result[10. .0] символа mult Блок асе 6. На панели инструментов редактора Block Editor выберите инст- румент рисования ортогональных линий (Orthogonal Node Tool). 7. Проведите линию от входа D функционального элемента DFF до границы блока statejn. 8. Для создания других соединений блоков и функциональных эле- ментов, показанных в следующей таблице, повторите действие 7. Для облегчения выполнения соединений вы можете посмотреть рис. 3.22 или использовать готовый файл filtref.bdf. Таблица 3.4 Начало связи Конец связи Блок state m Блок асе Вход 0 функционального элемента OFF (уже проведена) Вход D функционального элемента DFFE
rWTST —ей». •». (V I , reset я=в »} :? newt inst INPUT Точка соединения eset 1.01 wt 3ls hvalues INPUT INPUT INPUT INPUT OUTPUT 1Ш mult ^еЫ20. 10 0] (wwfwW***» aec xh(io tq dk______ fr^t yn[7 Д] INPUT INPUT №JT" OUTPUT т »# mst3 * b^uf Проводник, который позже будет соединен по имени Шина или канал Рис. 3.22 216 Часть 3
Самоучитель САПР Quartus II 217 Поскольку вход D символа DFF соединен с блоком statejn - эта связь может рассматриваться как канал. Но, поскольку она включает в себя единственный сигнал, правильнее будет обозна- чить это соединение не толстой линией шины, а тонкой орто- гональной линией. 9. Выберите шину (Bus) или канал (Conduit), соединяющий входной вывод elk с блоком taps, нажмите правую кнопку мыши и во всплывающем меню откройте Properties (свойства). 10. В диалоговом окне Conduit Properties (свойства канала) перейдите на вкладку Signals (сигналы). В списке Connections (соединения) показываются все соединения в выделенных каналах (рис. 3.23). newt • newt newt Рис. 3.23 По умолчанию цвета раскраски выходных сигналов отличаются от цветов раскраски входных. 11. Убедитесь, что все сигналы описаны правильно и нажмите кнопку ОК. Для создания проводника (Node) выполните следующие действия: 1. На панели инструментов редактора Block Editor выберите инст- румент Orthogonal Node Tool (инструмент рисования ортогональ- ных проводов).
218 Часть 3 2. Проведите линию от выходного вывода 0 функционального эле* мента DFF к выходному выводу yvalid. 3. Для создания других соединений между выводами и примитивами, указанными в таблице 3.5. повторите действия 1, 2. Таблица 3.5 Начало связи Конец связи Выход 0 примитива DFF Выходной контакт yvalid (уже прове- дена) Входной контакт clkx2 Соединение выхода Q примитива DFF с выходным выводом yvalid Вход clock примитива DFFE Вход enable (ENA) примитива DFFE 4. Для создания соединения по имени (Connection by Name) про- ведите линию от соединения входа clock с символом DFF на пустое место. Выполнение соединений по имени (Connections by Name) подробно описано в разделе "Распределение сигналов между блоками". 5. Сохраните файл проекта, выбрав в меню File (операции с файлами) команду Save (сохранить файл). 8. Разводка сигналов между блоками Пакет Quartus предоставляет различные пути разводки сигналов (map signals) между блоками (Blocks) и функциональными элементами (Symbols) (таблица 3.6). В этом разделе учебного пособия показано, как развести шесть сигналов, которые не были разведены автоматически в режиме smart Также показано, как выполнить соединение двух сигналов по имени и как выполнить соединения в явном виде для четырех других сигналов С помощью разводки smart выполните следующие соединения в файле filtref.bdf (называть эти соединения не надо) (таблица 3.7). Таблица 3.6 Метод разводки Автоматическое соединение Smart Описание Если имена сигналов входов/выходов (I/Os) одного блока совпадают с именами соответствующих сигна- лов другого блока, соединения формируются авто- матически. Вам не надо рисовать линии этих шин (Buses) или каналов (Conduits). Вам необходимо лишь указать, какие сигналы блоков должны оста- ваться неприсоединенными. Это необходимо для предотвращения автоматического выполнения их соединений.
Самоучитель САПР Quartus II 219 Окончание табл. 3.6 Метод разводки Описание Connection by name (соеди- нение по именам проводов или шин) Задание соединений в явном виде с помощью распредели- телей сигналов (mappers) Если имена соединяемых входов/выходов (I/O) бло- ков различны, то вы можете соединить их с каналом или шиной по имени (by Name). Для этого необхо- димо назначить каналу имя, соответствующее имени присоединяемого входа/выхода. Этот способ удобен для соединения каналов без отрисовки их линий на схеме. Для создания соедине- ния между такими каналами и блоками сначала необходимо проверить, чтобы каждый такой канал соединялся с блоком одним концом и не имел физического соединения с другим блоком или функ- циональным элементом. Соединения двух каналов по имени (connection by name) можно выполнить, присвоив им одинаковые имена (полагая, что эти имена соответствуют име- нам соединяемых входов/выходов блоков). Таким же способом можно соединять по имени и отдельные проводники. Если имена входов/выходов соединяемых блоков различны, но блоки физически соединены — распределение сигналов можно задать в явном виде. Для этого необходимо присвоить имена выводов блоков сигналам шины, а затем распределить сиг- налы по соединяемым выводам блоков. Таблица 3.7 Начало связи Входной (INPUT) вывод elk Входные (INPUT) выводы d[7. .0] Входной (INPUT) вывод reset Входной (INPUT) newt Блок входов/выходов I/O с именем sel[7..0] блока taps Блок входов/выходов I/O с именем first блока statejn Блок входов/выходов I/O с именем next блока statejn Конец связи Блок входов/выходов (I/Os) с именами elk в блоках, соединенных с выводом elk. Блок входов/выходов (I/Os) с именем d[7. .0] в блоке taps Блок входов/выходов (I/Os) с именами reset в блоках taps и statejn Блок входов/выходов (I/Os) с именами newt в блоках taps и statejn Блок входов/выходов (I/Os) с именами sei[7.. 0] в блоках hvalues и statejn Блок входов/выходов (I/Os) с именем f i rst в блоке асе Выходной (OUTPUT) вывод с именем пех Чтобы назначить имена ряду сигналов для возможности соединения их по имени (Connection by Name) или логического соединения (Logical connection), выполните следующие действия:
220 Часть 3 1. С помощью указателя выбора (Selection Tool) выделите проводник, соединяющий блок state_m со входом D примитива DFE 2. Нажмите правую кнопку мыши и во всплывающем меню выберите Properties (свойства). 3. Если необходимо — перейдите на вкладку General (основные) в диалоговом окне Conduit Properties (свойства каналов). 4. В поле Conduit name (имя канала) введите имя next. (рис. 3.24). Рис. 3.24 Ком мен та рий.- Hide name in block design file Скрыть имя в файле блок-схемы проекта 5 Нажмите кнопку ОК — сигнал next автоматически добавится к каналу и его имя появится под линией канала. Добавление этого имени создает логическое соединение между блоком state_m и входом D примитива DFE 6. Для именования проводов, соединенных с входом Clock примитива DFF, выполните действия 1—5. Назовите вывод elk так, чтобы вы могли создать логическое соединение или "соединение по имени" (Connection by Name) между входным выводом elk и входом Clock примитива DFF. 7. Нажмите Save (меню File)
Самоучитель САПР Quartus II 221 - •' - - - - - - - - -----I -- -- _ - — -- -- ~ - -— . , t —- ’ I ' I Чтобы система Quartus могла правильно соединить функциональный элемент mult с другими блоками проекта необходимо точно развести четыре оставшихся соединения. Для выполнения соединений между блоками, имеющими различные имена, выполните следующие действия: 1. На шине, соединяющей блок taps со входом dataa[7. .0] функцио- нального элемента mult, дважды щелкните по обозначению mapper (распределитель сигналов) на конце шины блока taps (рис. 3.25) — откроется диалоговое окно Mapper Properties (свойства распреде- лителя), показанное на рис. 3.26. Символ распределителя (трассировщика) сигналов Рис. 3.25 2. Если необходимо — откройте в этом диалоговом окне вкладку General (основные) (рис. 3.26). Рис. 3.26
222 Часть 3 3. В списке Туре (тип вывода) выберите OUTPUT (выход). 4. Откройте вкладку Mappings. 5. В списке I/O on block (входы/выходы блока) выберите х[7. .0]. 6. В поле Signals in conduit (сигналы в канале) введите dataa[7. .0]. 7. Для выполнения соединения нажмите кнопку Add — соединение появится в списке Existing mappings (рис. 3.27). Рис. 3,27 8. Нажмите кнопку ОК — сигнал dataa[7..O] добавится к шине и появится таблица, в которой будут показаны сигналы, соединенные со входом dataa[7. .0] функционального элемента mult (рис. 3.28). — Таблица трассировок —Символ трассировщика Рис. 3.28
Рис. 3.29 Самоучитель САПР Quartus II 223
224 Часть 3 9. Для создания других необходимых соединений повторите действия 1-8 (таблица 3.8). Для облегчения выполнения соединений вы мо- жете посмотреть рис. 3.2 или использовать готовый файл filtref.bdf. Таблица 3.8 Связь Тип вывода Входы/выходы (I/O) блока Сигналы в канале Шина от блока taps к входу dataa[7.. 0] функционального элемента mult (уже проведена) OUTPUT (выход) х[7..О] dataa[7..0] Шина от блока hvalues к входу datab[7..0] mult OUTPU’ (выход) h[2..O] datab[2..0] Шина из выхода result[ 10. .0] функционального элемента mult к блоку асе. INPUT (вход) xh[1O..0] result[10..0] Шина от блока асе к входу D примитива DFFE. BIDIR (двунаправленный) УП[7..О] уп[7..О] 10. Для сохранения файла блок-схемы проекта (Block Design File) выполните команду Save (сохранить) меню File. Текущая блок- схема создаваемого проекта показана на рис. 3.29. Урок 4. Создание описания на языке Verilog HDL После создания блока необходимо создать файл описания этого блока (если описание еще не создано). Система Quartus позволяет сначала создать файл с основной (типовой) структурой описываемого блока, а затем наполнить эту структуру конкретным содержанием. СЗГ Если вами уже хорошо изучено создание файлов на языке Verilog HDL в текстовом редакторе (Text Editor) пакета Quartus, вы можете скопировать готовые файлы hvalues.v, taps.v, state m.v и асе л из подкаталога \qdesigns\tutorial в подкаталог \qdesigns\firJilter. Рекомендуется копировать файлы учебного пособия следующим образом: открыть файл в пакете Quartus с помощью команды Open (открыть) меню File, затем выбрать команду Save As (сохранить файл как ...) меню File, в появив- шемся окне установить ключ Addfile to current project (добавить файл к текущему проекту), а затем сохранить файл в подка- талоге \qdesigns\firJilter. Этот урок учебного пособия описывает следующие действия:
Самоучитель САПР Quartus II 225 1. Создание текстового файла Verilog Design File для блока hxfalues. 2. Создание текстовых файлов Verilog Design File для других блоков. 1. Создание описания блока hvalues на языке Verilog HDL Для создания структуры текстового файла Verilog Design File (.v) блока hvalues выполните следующие действия: 1. Выделите блок hvalues. 2. Нажмите правую кнопку мыши и во всплывающем меню выберите команду Create Design File (создать файл проекта). 3. Под надписью File type (тип файла) выберите Verilog HDL (файл на языке Verilog HDL). 4. Включите функцию Add the new design file to the current project (добавить новый файл к текущему проекту). 5. Проверьте, чтобы в строке File name (имя файла) отображался файл hvalues .v, расположенный в рабочем каталоге проекта fir_filter (рис. 3.30) Рис. 3.30 6. Нажмите кнопку ОК. Система Quartus сообщит об успешном создании файла и автоматически откроет окно текстового редак- тора (Text Editor) с загруженным в него новым файлом. Фрагмент созданного файла показан ниже Файл включает шаблон объявления модуля с именами портов соответствующим опреде- ленным в блоке данным. В тексте описания содержится несколько пар созданных систе- мой комментариев, которые начинаются со слов "ALTERA" и заканчиваются словами "DO NOT REMOVE THIS LINE!" He вводите текст между этими комментариями, поскольку он впо- следствии может быть изменен системой Quartus.
226 Часть 3 Пример файла hvalues.v: И Module Declaration module hvalues Ц {{ALTERA_ARGS_BEGIN}} DO NOT REMOVE THIS LINE! sei, h // {{ALTERA_ARGS_END}} DO NOT REMOVE THIS LINE! ); // Port Declaration // {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE! input [1:0] sei; output [2:0] h; // <{ALTERA_IO_END}} DO NOT REMOVE THIS LINE! endmodule 7 Для выполнения описания блока hvalues.v перед выражением end module введите следующие строки: reg [2:0]h; always @(sel) case (sei) 2’b 00 : h = 3’b 111; 2’b 01 h = 3’b 101; 2’b 10 : h = 3’b 011; 2’b 11 : h = 3’b 001; endcase Теперь описание hvalues.v примет следующий вид: // Module Declaration module hvalues // {{ALTERA_ARGS_BEGIN}} DO NOT REMOVE THIS LINE! sei, h // {{ALTERA_ARGS_END}} DO NOT REMOVE THIS LINE! ); // Port Declaration // {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE! input [1:0] sei: output [2:0] h; // {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE! reg [2:0]h; always @(sel)
227 в***-ж^» Самоучитель САПР Quartus II case (sei) 2’b 00 : h = 3’b 111: 2’b 01 : h = 3’b 101: 2’b 10 . h = 3‘b 011; 2'b 11 : h = 3’b 001: enclcase endmodule 8. Сохраните файл проекта, выбрав в меню File (операции с файлами) команду Save (сохранить). 2. Копирование файлов текстового описания (Verilog Design File) других блоков Для сокращения времени можно воспользоваться готовыми файлами (Verilog Design Files) описания блоков statejn и асе на языке Verilog HDL. Скопируйте файлы taps.v, statem.v и acc.v из каталога \qdesigns\tu- torial в каталог \qdesigns\fir_filter. Файлы учебного пособия рекомен- дуется копировать следующим образом: открыть файл в пакете Quartus с помощью команды Open (открыть) меню File, затем выбрать команду Save As (сохранить как ...) меню File, в появившемся окне установить ключ Add file to current project (добавить файл к текущему проекту), а затем сохранить файл в подкаталоге \qdesigns\fir_filter. Урок 5. Создание функционального блока при помощи мастера мегафункций MegaWizard Для рассматриваемого проекта необходимо создать функцию 12-раз- рядного арифметического сумматора. Вы можете создать ее на основе стандартной мегафункции lpm_add_sub. Например, так создана функция accum, представляемая файлом acc.v. Для создания таких функций удобно пользоваться встроенным в пакет Quartus мастером мегафункций MegaWizard. Для дополнительной информации о мастере мегафункций MegaWizard см. раздел "Создание графических обозначений примитива и мегафункции". Если вы уже знакомы с использованием мастера MegaWizard — можете скопировать готовые файлы из каталога \qdesigns\tutorial в каталог \qdesigns\firJilter. Файлы рекомен- дуется копировать следующим образом: открыть файл в пакете Quartus с помощью команды Open (открыть) меню File, затем выбрать команду Save As (сохранить как ...) меню File, в появившемся окне установить ключ Add file to current project
228 Часть 3 (добавить файл к текущему проекту), а затем сохранить файл в подкаталоге \qdesigns\ftrJitter. После копирования файлов можно сразу переходить к разелу "Компиляция проекта". Имя файла Описание: accum.v Функциональный блок на языке Verilog HDL, созданный на основе мегафункции 1 pre add_sub с помощью мастера мегафункций MegaWizard. асситлпс Включаемый текстовый файл ASCII, автоматически создан- ный мастером MegaWizard и используемый при компиля- ции. Файл содержит объявление имени созданного блока и его входов и выходов на языке Verilog HDL В этом уроке рассматриваются следующие действия: функции. 2. Подключение к проекту файлов, созданных мастером MegaWizard. 1. Создание текстового Verilog HDL-описания блока на основе мегафункции Чтобы создать описание Verilog HDL функционального блока на ос- нове готовой мегафункции lpm_add_sub с помощью мастера MegaWizard выполните следующие действия: 1. В меню Tools (инструментальные средства) выберите команду MegaWizard. Появится окно мастера MegaWizard (рис. 3.31). I he MegaWizard Plug-Jri Маиад г hefcsyou create or modify des' z files'that contai ustom va atom of meoafu ctons i> hich au n * you wart to pe form? • _ -ueariftw.. «mmegal. , Г Et- ♦ n mega unction va H. n Copy ight (c) Altera Cuporation 1988'1998. AS rights reserv d -•V < Рис. 3.31 2. На вопрос: "Which action do you want to perform?" (какое действие вы хотите выполнить?) выберите Create a new custom megafunc- tion variation (создать новый блок на основе мегафункции), нажмите кнопку Next (следующий шаг).
Самоучитель САПР Quartus II 229 3. В списке Available Megafunctions (доступные мегафункции) рас- кройте папку арифметических мегафункций, щелкнув по значку "+", и затем выберите мегафункцию LPM_ADD_SUB (мегафунк- ция сумматора/вычитателя). 4. На вопрос: "Which type of output file do you want to create?" (какой тип выходного файла вы хотите создать?) выберите Verilog HDL. 5. На вопрос: "What name do you want for the output file?" (как вы хотите назвать выходной файл?) введите d:\qdesigns\fir_fil- ter\accum.v и нажмите кнопку Next (следующий шаг). 6. На вопрос: "How wide should the input buses be?” (какова тре- буемая разрядность входных шин ‘dataa’ и ‘datab’?) введите 8. 7. На вопрос: "Which operating mode do you want for the adder/ subtractor?" (каков требуемый режим работы сумматора/вычита- теля) выберите Addition only (только суммирование) и нажмите кнопку Next (следующий шаг). 8. На вопрос: "Is the ‘dataa’ or ‘datab’ bus value a constant?" (является ли шина dataa’ или datab’ константой?) выберите No (нет) — оба значения переменные, и нажмите кнопку Next (следующий шаг). 9. На вопрос: "Do you want any optional inputs or outputs?” (хотите использовать какие-либо дополнительные входы или выходы?) удостоверьтесь, что все дополнительные входы/выходы выключе- ны и нажмите кнопку Next (следующий шаг). 10. На вопрос: "Do you want to pipeline the function?" (хотите реализовать эту функцию с использованием конвейера?) выберите No (нет) и нажмите Next (следующий шаг) Появится итоговая страница со списком файлов созданных встроенным мастером 11. Нажмите кнопку Finish (готово) — мастер MegaWizard создаст файл accum.v. готовый к использованию в вашем проекте. 2. Подключение к проекту файлов, созданных мастером MegaWizard Для того чтобы добавить созданные файлы acumen.v и mult.v к проекту fir_filter, выполните следующие действия: 1. В меню Project (проект) выберите команду Add Files to Project (добавить файлы к проекту). Автоматически появится вкладка Add Files. 2. В поле File Name (имя добавляемого файла) введите файл accum.v и, при необходимости, файл mult.v (рис. 3.32). 3. Нажмите кнопку ОК. Теперь вы создали все необходимые файлы и добавили их к проекту fir_filter.
230 Часть 3 Рис. 3.32 3.3. Компиляция проекта Компилятор пакета Quartus состоит из ряда модулей, выполняющих следующие функции: проверка проекта на наличие ошибок, логический синтез, размещение и разводка проекта в ПЛИС, генерация выходных файлов для моделирования проекта, анализа временных характеристик и программирования ПЛИС. В начале компиляции из проекта извлекается информация об ие- рархических связях между составляющими его файлами и описание проекта проверяется на наличие основных ошибок. Затем создается организационная карта проекта и все файлы преобразуются в единую базу данных, с которой впоследствии будет работать система. Компиляция может выполняться с учетом заданных требований: обеспечение требуемых временных характеристик проекта, увеличение быстродействия, оптимизация используемых ресурсов ПЛИС. Компи- лятор создает файлы для программирования или конфигурирования ПЛИС Altera. Промежуточные и окончательные результаты компиляции в системе Quartus можно просмотреть в окне Compilation Report (отчет о ком- пиляции).
Самоучитель САПР Quartus II 231 Программирование или конфигурирование ПЛИС Altera может быть выполнено как с номощыо встроенных средств пакета Quartus (Pro- grammer), так и с использованием стандартных промышленных средств программирования. Следующие уроки учебного пособия посвящены: настройке компиля- тора; компиляции файла верхнего уровня иерархии проекта; просмотру с помощью редактора физического размещения (Floorplan) созданной во время последней компиляции (Last Compilation Floorplan) компоновки проекта в ПЛИС; назначению реализации логических функций в блоке встроенной памяти (ESB) и повторной компиляции (recompile) проекта после внесенных изменений. Урок 6. Настройка компилятора Система Quartus позволяет выполнять компиляцию как всего проекта, так и любой его составляющей. Для компилирования может быть выбрана любая часть иерархии проекта. При настройке компилятора определяются компилируемая часть проекта (Compilation focus), тип компиляции, семейство и тип ПЛИС, а также другие управляющие компиляцией параметры. При создании нового проекта система Quartus по умолчанию устанавливает значения всех необходимых параметров. Параметры, заданные по умолчанию, вы можете переопределить в соответствии с вашими требованиями. Кроме того, вы можете выбирать различные параметры настройки при выпол- нении компиляции. В данном уроке описываются следующие действия: 1. Просмотр основных параметров компилятора 2. Определение семейства и типа ПЛИС. 3. Определение режима компиляции. 4. Определение и настройка параметров логического синтеза и раз- водки. 5. Определение параметров верификации проекта на этапе компи- ляции. Здесь описываются действия по просмотру и редактированию параметров настройки компилятора с помощью меню и диалоговых окон. Однако параметры настройки компилятора можно также определить с использованием мастера пошаговой настройки ком- пилятора Compiler Settings Wizard. Запуск мастера Compiler Settings Wizard осуществляется в меню Processing (обработка). 1. Просмотр и настройка основных свойств компилятора Вкладка General (основные параметры) диалогового окна Compiler Settings (параметры компилятора) позволяет выбрать нужную группу
232 Часть 3 " -и-ll- параметров, определить и сохранить новую группу параметров, выбрать объекты компиляции или удалить существующие параметры настройки. Для просмотра заданных по умолчанию значений основных пара- метров компиляции текущего проекта выполните следующие действия: 1. Убедитесь, что находитесь в режиме компиляции Compile, выбрав команду Compile Mode (режим компиляции) в меню Processing (обработка). 2. В меню Processing (обработка) выберите Compiler Settings (па- раметры компилятора). В появившемся окне автоматически откроется вкладка General (основные параметры). В этом случае на вкладке General показаны только основные пара- метры компилятора, заданные пакетом Quartus по умолчанию при создании проекта fir_filter с помощью мастера Ney’ ЭТИ Пара- метры по умолчанию назначены объекту filtref верхнего уровня иерархии проекта (рис. 3.33). Имя файла текущих настроек компилятора Задание иерархичес- кого имени объекта компиляции Рис. 3.33 2. Выбор семейства и типа микросхемы На вкладке Chips & Devices диалогового окна Со I! jjilet Settings. (па- раметры компилятора) можно выбрать семейство ПЛИС (Device Family) и тип ПЛИС (Device), на которой вы хотите реализовать ваш проект. Чтобы выбрать семейство и тип микросхемы, выполните следующие действия:
Самоучитель САПР Quartus II 233 1. Перейдите на вкладку Chips & Devices в диалоговом окне Compiler Settings (параметры компилятора). 2. В списке Family (семейство) выберите АРЕХ20К. 3. В поле Target Device (ПЛИС для реализации проекта) выберите Specific device selected in "Available devices" list (ПЛИС из списка доступных микросхем). 5. Из списка Available devices (доступные типы микросхем) выберите тип EP20K100QC208-1. 6. В правой части поля Available devices выберите следующие пара- метры: а) из списка Package (корпус) выберите корпус PQFP; Ь) из списка Pin count (количество выводов) выберите 208: с) из списка Speed Grade (градация быстродействия) выберите ”-1" (рис. 3.34). Рис. 3.34 7. Нажмите кнопку Apply (применить выбранные параметры \ 3. Выбор режима компиляции Вкладка Mode (режим) диалогового окна Compiler Settings (пара- метры компилятора) позволяет вам задать параметры, определяющие тип компиляции, скорость ее выполнения и требуемый для компиляции объем дискового пространства.
234 Часть 3 Для того чтобы выбрать режим компиляции, выполните следующие действия: 1. В диалоговом окне Compiler Settings (параметры компилятора) перейдите на вкладку Mode (режим). 2. В поле Compilation level (вид компиляции) выберите Full com- pilation (полная компиляция). 3. Для сокращения времени компиляции в поле Compilation speed/ disk usage tradeoff (выбор между скоростью выполнения компи- ляции и используемым дисковым пространством) выберите Smart compilation/more disk space (ускоренная, частичная компиляция). В режиме Smart compilation компилируются только измененные части проекта. 4. Проверьте, включена ли функция Preserve fewer node names to save disk space (для экономии дискового пространства запретить использование для узлов нескольких имен) (рис. 3.35). 5 Рис. 3.35 г+#а>*** -«suf я 4. Определение параметров логического синтеза и компоновки проекта Вкладка Synthesis & Fitting (синтез и разводка) диалогового окна компилятора позволяет вам определять параметры, определяющие реа- лизацию проекта в ПЛИС. В этом диалоговом окне можно также
Самоучитель САПР Quartus II 235 определить выполнение компоновки проекта с учетом заданных требо- ваний к быстродействию. Чтобы определить параметры синтеза и разводки, выполните сле- дующие действия: 1. В диалоговом окне Compiler Settings (параметры компилятора) перейдите на вкладку Synthesis & Fitting (синтез и разводка) 2. Убедитесь, что включена опция Use timing-driven compilation to achieve performance goals (компиляция с использованием времен- ных характеристик для достижения заданного быстродействия проекта) (рис. 3.36). Рис. 3.36 5. Определение параметров верификации На вкладке Verification (верификация) диалогового окна Compiler Settings (параметры компилятора) можно задать опции автоматического запуска анализа временных характеристик и/или запуска моделирования (Simulation) после окончания компиляции. Для того чтобы определить параметры верификации проекта, выпол- ните следующие действия: 1. В диалоговом окне Compiler Settings (параметры компилятора) откройте вкладку Verification (верификация).
236 Часть 3 2 Убедитесь, что опция Run timing analyses (запускать анализ вре менных характеристик) включена (рис. 3.37). Рис. 3.37 3. Нажмите кнопку ОК — заданные вами параметры компиляции сохранятся в установках проекта filtref. После запуска компилятора эти параметры будут использованы по умолчанию. Урок 7. Компиляция проекта Во время компиляции проекта используются текущие установленные для него параметры компиляции. Компилятор автоматически распознает и обрабатывает все файлы, относящиеся к объекту компиляции: файлы *.inc — включаемые файлы, содержащие описания функций на языке AHDL; файлы *.mif файлы инициализации памяти; файлы *.hex — файлы инициализации памяти в шестадцатиричном формате Intel; фай- лы *.psf, *.esf, *.and, *.csf — содержащие параметры проекта и компиля- тора. Генерируемые в процессе компиляции предупреждения (Warnings) и сообщения об ошибках (Error messages) автоматически появляются в окне Messages (сообщения). В этом уроке описываются следующие действия: 1. Запуск компилятора. 2. Локализация (определение положения) источников сообщений 3. Просмотр сообщений компилятора
Самоучитель САПР Quartus II 237 1. Запуск компилятора Для компиляции объекта проекта filtref выполните следующие действия: 1. В меню Processing (обработка) выберите Start Compilation (запуск компиляции). Начнется компиляция объекта проекта filtref и всех входящих в него объектов с использованием определенных для проекта filtref текущих параметров компилятора. Степень завер- шенности компиляции и продолжительность каждого ее этапа автоматически отображается в окне Status (рис. 3.38). Processing Т otal i- Initialization В Compiler Т otal I Database Buitdei ' • Logic Synthesize , Fitter_________ 5 Assembler 5 Delay Annotator Timing Analyzer O I J Д03'52 J 100:00:08 □ 0:03: П 4:01:37 ~1 0:01 ^|j 00:00:06 PW 0:00:03 Ш 0:00:03 Рис. 3.38 Полное время компиляции Время, компиляции конкретных модулей Кроме того, результаты компиляции отображаются в окне Com- pilation Report (отчет о компиляции). Компиляция выполняется в фоновом режиме. Это позволяет при большом времени компиляции работать с другими окнами пакета Quartus, а также с другими запущенными в операционной системе программными пакетами. Однако компиляция текущего объекта filtref не занимает много времени. 2. После успешного завершения компиляции на экран будет выведено соответствующее сообщение. Нажмите кнопку ОК. 2. Локализация источников сообщений В течение компиляции все сообщения появляются во вкладке Proc- essing (обработка) окна Messages (сообщения). Выводимые в окне Messages сообщения могут относиться к определенному месту в файле проекта или в другом исходном файле. Чтобы найти (локализовать) источник сообщения компилятора, вы- полните следующие действия: 1. В окне Messages (сообщения) разверните подкаталог d:\qdesigns\fir_filter\acc.v, нажав значок "+", и просмотрите ин- формационное сообщение (рис. 3.39).
238 Часть 3 Информационное сообщение Развернутое информационное сообщение Processing л/ Analyzing source file dAqdesigns\hr_fi Рис. 3.39 0 d:\qdesigns\fir_filter\acc.v defines 1 design units and 1 entities. Analyzing source file d:\qdesigns\hr_filter\accum.v 0 *X> dAqdesignsVir_filter\accum.v defines 1 design units and 1 entities. •Л/ Entity 1: accum ® dAqdesignsVirjilterMfltref.bdf defines 1 design units and 1 enttes. 2. Дважды щелкните по развернутому информационному сообщению Entity 1:асс. В окне Text Editor (текстовый редактор) откроется файл acc.v, и в нем цветом будет выделен источник сообщения — раздел Module Declaration (объявление модуля) (рис. 3.40). с у Module Declare!ю Port Declaration reg reg [7:0]уп; [11:0] у nm, inter, result, а_т; zz {{ALTERA.IO JBEGIN}} DO NOT REMOVE THIS LINE! input [10:0] xh; input elk; input first; output [7:0] -yn, zz {{ALTERA.IO.END}} DO HOT REMOVE THIS LINE! Рис. 3.40 Источник сообщения, выделенный в исходном файле проекта £ г 31 zz {{ALTERA.ARGS.BEGIN}} DO NOT REMOVE THIS LINE! xh, elk, first, yn zz {{ALTERA.ARGS.END}} DO NOT REMOVE THIS LINE! 3. После просмотра источника сообщения закройте окно текстового редактора (Text Editor). 3. Просмотр отчета о компиляции Информация о текущей компиляции автоматически выводится в окне Compilation Report (отчет о компиляции). При первом отобра- жении этого окна, в правой его области, появляется раздел Summary (сводная информация). В этом разделе отображается сводная инфор- мация о компиляции: заданные временные характеристики, имена всех откомпилированных объектов проекта, общее количество используемых логических ячеек и выводов ПЛИС, а также общий объем использо- ванной памяти.
Самоучитель САПР Quartus II 239 Разделы отчета о компиляции (Compilation Report) организованы в иерархическую древовидную структуру и предоставляют следующую информацию: в разделе floorplan (топология) показывается выполненная компилятором компоновка проекта в ПЛИС: размещение элементов проекта и связи между ними, использование выводов и логических элементов ПЛИС, реализуемые ими логические выражения, использо- вание глобальных синхросигналов и сигналов управления; макси- мальную рабочую частоту переключений времена установки и удер- жания сигналов, задержки распространения сигнала между выводами ПЛИС; время компиляции и др. Для просмотра нужного раздела отчета о компиляции выполните следующие действия: 1. Чтобы развернуть раздел окна Compilation Report (отчет о ком- пиляции) в левой части окна, щелкните по значку "+" у соот- ветствующего раздела (рис. 3.41). Левая область: выбор раздела отчета о ком- пиляции Правая область: отображение содержания раздела отчета о компиляции 1 Tirrang Analyses Рис. 3.41 Summary Hierarchy 'Sg Device Options Resource Section State Machines 2. Выберите (выделите) нужный раздел отчета — информация дан- ного раздела появится в правой области окна. Дополнительную информацию о результатах анализа временных характеристик (Timing Analysis) можно посмотреть в уроке 10 учебного пособия "Просмотр результатов анализа временных ха- рактеристик ". Дополнительную информацию можно также найти в справочной системе пакета Quartus в разделе "Overview Viewing the Results of a Compilation or Simulation in the Report Window" (просмотр информации о компиляции или моделировании в окне отчета).
240 Часть 3 Урок 8. Просмотр текущей компоновки проекта созданной компилятором В системе Quartus возможны два режима просмотра компоновки проекта. Current Assignments floorplan — размещение, соответствующее текущим пользовательским назначениям ресурсов проекта. В дан- ном режиме размещение доступно для редактирования. Last Compilation floorplan — текущее размещение проекта, соз- данное компилятором при последней компиляции. В данном режиме размещение недоступно для редактирования. Редактор физического размещения (Floorplan Editor) позволяет про- смотреть распределение проекта по логическим ячейкам (Logic cells) ПЛИС, логическим блокам (LAB), структурам MegaLAB, а также увидеть схематическое изображение корпуса и расположение выводов исполь- зуемой ПЛИС. ftjg3 Размещение и разводка проекта в ПЛИС могут отличаться от показанных на иллюстрациях из-за усовершенствований в новых версиях пакета Quartus. 1. Открытие текущей топологии проекта, созданной последней компиляцией В этом уроке описываются следующие действия: 1. Открытие текущей топологии проекта, созданной последней ком- пиляцией. 2. Отображение информации о разводке внутренних связей в ПЛИС. 3. Отображение логических выражений, реализующих составляющие проекта в ПЛИС. 4. Отображение структур MegaLAB. Чтобы открыть текущую топологию проекта, созданную последней компиляцией, выполните следующие действия: 1. В меню Processing (обработка) выберите команду Open Last Compilation Floorplan (открыть текущее размещение проекта, соз- данное компилятором). 2. Для увеличения размера окна редактора Floorplan Editor (редактор физического размещения) включите в меню View функцию Full View. По умолчанию топология показывается в режиме отобра- жения логических ячееек (Logic Cell). Показываются логические ячейки каждого массива логических блоков (LAB — Logic Array
Самоучитель САПР Quartus II 241 Block). Неиспользуемые логические ячейки отображаются белым цветом, используемые — определенными цветами. 3. Информация о назначении используемых цветов выводится в окне Color Legend Window (окно цветовых обозначений), которое вызывается соответствующей командой в меню View редактора Floorplan Editor (редактор физического размещения). 2. Отображение информации о разводке связей проекта Редактор физического размещения позволяет просмотреть входящие связи (Fan-In) и выходящие связи (Fan-out) каждого узла ПЛИС. Для просмотра входящих и исходящих связей, выполните следующие действия: 1. В меню View выберите команду Routing > Show Node Fan-In & Fan-Out. 2. В первом LAB (логическом блоке) — LABI, выберите седьмую сверху логическую ячейку (Logic Cell) - LC7. Входящие связи логической ячейки обозначены темно-сиреневыми линиями, а вы- ходящие — темно-синими. Направление связей обозначается стрелками (рис. 3.42). Входящие и выхо- дящие связи ло- гических ячеек — Логическая ячейка — N7 (LC_1_A1) Рис. 3.42 3. Для отображения задержек на путях распространения сигналов, включите Routing > Show Routing Delays (меню View). Задержки, относящиеся к выбранным логическим ячейкам, показываются на топологии проекта рядом с входящими и выходящими связями.
242 Часть 3 4. После просмотра входящих и выходящих связей, выберите в мей! View команду Routing > Hide Routing (разводка > не показывай (спрятать) разводку). 3. Информация, отображаемая в окне Equations Окно Equations размещается в нижней части окна редактора FloorplaA Editor (редактор физического размещения). В окне Equations отображаются логические выражения, а также тек- стовое описание входящих и выходящих связей выбранных логичес <1 ячеек либо выводов ПЛИС. Чтобы посмотреть информацию для входного вывода reset, выпо». ните следующие действия: 1. Включите отображение окна Equations, выбрав в меню View коман ду Equations. 2. В режиме Last Compilation Floorplan (размещение, созданное последней компиляцией), в верхнем левом углу топологии, выбе рите вывод reset. В окне Equations будет выведено выражение, а также выходящие связи вывода reset. Обратите внимание, что левая часть окна Fan-In (входящие связи) остается пустой, по- скольку reset является входом и у него нет входящих связей, но есть только выходящие (рис. 3.43). Число источников и приемников сигналов выделенного объекта Список входящих связей Список логических выражений Рис. 3.43 **' п ^ E1L1Q (|state_m:inst1 Htei~28) J <ME1L2Q (lstate_m: instl Ker~29) wE1L3Q (Istatejn: instl |filter~30) I I О E1L4Q flstate_nrinst1|filter~31) • «.-» ; . ! Список выходящих связей 3. Для просмотра информации об узле E1L1Q( (statejn - inst-1 |filter~28) выполните следующие действия: а) вверху списка Fan-Out (выходящие связи) выберите имя ре- гистрового узла E1L1Q(|statejn:instl|filter~28); b) нажмите Go To (перейти) — в списке Equations появятся реали- зуемые узлом логические выражения; с) для раскрытия содержания терма щелкните левой кнопкой мыши на первом, помеченным синим цветом, терме выражения из списка Equations (рис. 3.44).
Самоучитель САПР Quartus II 243 Выделенная связь Развернутое логическое выражение Рис. 3.44 4. Отображение блоков MegaLAB Блоки MegaLABs реализованы в микросхемах семейства APEX 20К. Каждый блок MegaLAB представляет собой структуру, объединяющую 16 логических блоков LAB (Logic Array Block), один блок встроенной памяти ESB (Embedded System Block) и систему внутренних соеди- нений блока MegaLAB (MegaLAB Interconnect). Для просмотра блоков MegaLABs в окне редактора физического размещения (Floorplan Editor) выполните следующие действия: 1. В меню View выберите MegaLAB Interior (режим отображения блоков MegaLAB). Блоки MegaLAB в редакторе топологии ото- бражаются в виде прямоугольников. Неиспользованные ресурсы блоков MegaLAB по умолчанию показываются белым цветом. Ис- пользуемые ресурсы — цветами, обозначающими использованные для разводки внутренние соединения (рис. 3.45). Столбец 1 Строка А I 1.ГГ1 Блок MegaLABJX Рис. 3.45 Щелчок на символе м+" раскрывает содержимое блока MegaLAB ГПГ Г ГТ I м
244 Часть 3 2 Чтобы развернуть структуру MegaLAB_Al, щелкните по символу "+" рядом с прямоугольником блока, расположенного в строке 1 столбца А. Блок MegaLAB раскроется, и станут видны его LAB (логические блоки). 3. В меню View выключите режим Full View (полный вид). 4. В меню View выберите Interior Cells (внутренние ячейки). 5. Закройте топологию созданную последней компиляцией (Last Compilation Floorplan), выбрав в меню File команду Close. Урок 9. Реализация логических функций в блоках ESB Система Quartus позволяет задать принудительное размещение ло- гики составляющих проекта в блоках встроенной памяти ESB (Embedded System Block). Блоки встроенной памяти ESB реализованы в микросхемах семейства АРЕХ20К и могут быть использованы для организации встроенной оперативной (RAM) либо постоянной (ROM) памяти, а также для реализации определенных логических функций в макроячейках матрич- ной логики блоков ESB. В этом уроке описываются следующие действия: 1. Сохранение (копирование) назначений ресурсов проекта, выпол- ненных компилятором. 2. Изменение сохраненных назначений ресурсов. 3. Выполнение локальных назначений ресурсов проекта. 4. Перекомпиляция проекта после внесенных изменений. 5. Просмотр размещения проекта на ПЛИС, выполненного компи- лятором. 1. Сохранение назначений ресурсов, выполненных компилятором Для сохранения назначений ресурсов, выполненных компилятором используется функция back-annotation. Эта функция позволяет сохра- нить (скопировать) выполненные компилятором назначения выбранных ресурсов в качестве текущих пользовательских. Эту функцию удобно использовать при необходимости изменения назначений ресурсов проекта. При этом сначала выполненные компи- лятором назначения сохраняются в качестве текущих пользовательских, затем последние подвергаются корректировке в соответствии с требо- ваниями разработчика. Для сохранения назначений выводов и типа ПЛИС выполните сле- дующие действия: 1. В меню Processing выберите пункт Back-annotate Assignments (сохранение назначений ресурсов).
Самоучитель САПР Quartus II 245 2. В диалоговом окне Back-annotate Assignments под строкой Assignment(s) to Back-annotate (сохраняемые назначения ресур- сов) выберите Pin &' device assignments (назначения выводов и типа ПЛИС) (рис. 3.46). Рис. 3.46 3. Нажмите кнопку ОК. 2. Проверка сохранения назначений ресурсов Чтобы убедиться, что функция back-annotation сохранила выпол- ненные компилятором назначения ресурсов, откройте в редакторе Floorplan Editor (редактор топологии) топологию Current Assignments Floorplan (топологию, заданную назначениями пользователя). Для проверки сохранения назначений ресурсов выполните следующие действия: 1. В меню Processing откройте Current Assignments (текущие на- значения ресурсов). 2. В меню View включите режим Full Screen (отображение на весь экран). В верхней части окна отображается список имен (Chip Name), присвоенных ПЛИС и заданный вами (пользователем) тип ПЛИС (Device) - EP20K100QC208-1. Кроме того, теперь на топологии Current Assignments floorplan (размещение, заданное назначениями пользователя) отображаются назначения выводов, выполненные компилятором при последней компиляции и соответствующие назначениям выводов в топологии Last Compilation floorplan (текущее размещение, созданное компи- лятором). Обратите внимание, поскольку при выполнении функции Back- annotate не было выбрано сохранение назначений логических ячеек (Logic Cells), все логические ячейки на топологии Current Assignments floorplan (топологии, соответствующей текущим на- значениям ресурсов) пусты (отображаются белым цветом). 3. Выключите в меню View режим Full Screen (полный экран). 4. Закройте редактор размещения (Floorplan Editor), выбрав в меню File команду Close (закрыть).
246 Часть 3 3. Назначения реализации логических функций в блоках встроенной памяти Чтобы назначить реализацию логики объекта statejn: instl в блоках ESB, выполните следующие действия: 1. В навигаторе проекта (Project Navigator) перейдите на вкладку Hierarchies (иерархия). Окно подсистемы Project Navigator появляется автоматически при запуске системы Quartus. Однако при необходимости Project Navigator можно вызвать через меню View > Auxiliary Windows > Project Navigator (вид > вспомогательные окна > навигатор проекта). 2. Раскройте иерархию проекта filtref, щелкнув по символу "+" на вкладке Hierarchies (рис. 3.47) Иерархия блока Filtre Имя объекта проекта Рис. 3.47 3. Выберите в иерархии проекта filtref имя объекта statejn:instl. 4. Нажмите правую кнопку мыши и во всплывающем меню выберите Assignment Organizer (организатор назначений ресурсов). Откро- ется диалоговое окно Assignment Organizer. В окне будет выбрана опция Edit specific entity & node settings for: (редактировать параметры указанного объекта и узла). В окне Name будут пока- заны иерархический путь и имя объекта statejn:instl. 5. В списке Assignment Categories (категории назначений ресурсов), щелкните по символу чтобы развернуть Options for Entities Only (параметры только объектов). 6. Щелкните по Click here to add a new assignment text. 7. Под Assignment (назначения ресурсов), в списке Name (имя), выберите Technology Mapper (технологический разводчик). 8. В списке Setting (установки), выберите Product term (матричная логика) (рис. 3.48). 9. Нажмите Add (добавить). Назначение появится в списке Assign- ment Categories (категории назначений ресурсов). 10. Нажмите ОК.
Самоучитель САПР Quartus II 247 Кнопка обзора (Browse), открывающая окно поиска объектов (Node Finder) мН* я ie [stale m in “ Рис. 3.48 Морж ] Ass gnments for: |fiitref|state_m’.inst1 IS- Locations ф-Timing Ф Cliques Ф Logic Options (Debug Build only) ф Options for Ind'vidud Nodes Only Ф Options for Nodes & Entities Й Options for Entities Only Й - Local Routing (Debug Build only] Ё Parameters Й-- Simulation « д •: fo-э й1 th * xfcsyice. roduct I erm 4. Перекомпиляция проекта Чтобы перекомпилировать проект с новыми сделанными вами на- значениями ресурсов, в меню Processing (обработка) выберите Start Compilation (запуск компиляции). 5. Просмотр текущей компоновки проекта, созданной компилятором Для просмотра текущей компоновки проекта, созданной компилято- ром при последней компиляции, выполните следующие действия: 1. Откройте топологию, выбрав в меню Processing (обработка) Last Compilation Floorplan (текущее размещение, созданное последней компиляцией).
248 Часть 3 2. Для увеличения размера окна редактора Floorplan Editor (редак- тора физического размещения) в меню View (вид) включите режим Full Screen (полный экран). Обратите внимание, что на- значения выводов сохранились от предыдущей компоновки, однако теперь логика реализована в блоках встроенной памяти — ESBs 3. Щелкните по кнопке Selection Tool (инструмент выбора) на панели инструментов редактора Floorplan Editor. 4 Указателем Selection Tool укажите на некоторые из используемых встроенных блоков памяти ESBs, расположенные в центре стро- ки 1. В окнах всплывающего текста ("bubble text”) будут показаны относящиеся к этим блокам названия сигналов. Обратите внимание, что поскольку все сигналы относятся к объ- екту statejn, их имена начинаются со "statejn" (рис. 3.49). Блоки встроенной памяти (ESB) Рис. 3.49 5. Выключите режим Full Screen (отображение на весь экран) в ме- ню View (вид). 3.4. Анализ временных характеристик проекта С помощью подсистемы Timing Analyzer (анализатор временных ха- рактеристик) пакета Quartus вы можете анализировать быстродействие всей синтезированной компилятором логики. Можно проследить пути распространения сигналов в редакторе физического размещения (Floor- plan Editor) и определить критические для быстродействия пути сигнала.
Самоучитель САПР Quartus II 249 Анализатор временных характеристик (Timing Analyzer) пакета Quar- tus автоматически запускается по окончании компиляции. Кроме того, Timing Analyzer можно запустить вручную, перед этим необходимо хотя бы раз выполнить компиляцию проекта. По умолчанию анализатор временных характеристик вычисляет сле- дующие характеристки: максимальную частоту /тах переключений каждого регистра, критические задержки на путях "регистр-регистр" для наихудшего случая, времена установки входных сигналов, времена удержания входных сигналов для каждого входного регистра, задержки tco на пути "тактовый сигнал — выход" (clock-to-output) для каждого выходного регистра в иерархии проекта. Кроме того, анализируются все пути распространения сигналов "вывод-вывод" (pin-to-pin) и вычисля- ются транспортные задержки tPD сигнала между выводами. После окончания компиляции, информация о результатах анализа временных параметров приводится в соответствующем разделе отчета компилятора (Compilation Report) (рис. 3.50). W-"5tl Compilation Report R Legal Notice Pro''**4 Resows ror 'filtref" Compler Settings И Compiler Settings g Hierarchy Floorplan View tsu (Input Setup Times) th (Input Hold Times) tcofClock to Output Delays] Processing Time Timing Analyses J Й fmax. (not incl. delays to/from pinsp Resource Section State Machines Раздел отчета анализа временных характеристик ч Рис. 350 В уроках 10-15 описываются следующие действия: просмотр результатов анализа временных Характеристик в окне отчета о компиляции; определения требований к быстродействию; выполнения многотактового анализа временных характеристик; назначения ветвей многотактовой синхронизации.
250 Часть 3 Урок 10. Просмотр результатов анализа временных характеристик После компиляции проекта результаты анализа временных характе- ристик (Timing analysis results) можно посмотреть в отчете о компиля- ции (Compilation report). Ниже рассматривается выполнение следующих действий: 1. Просмотр максимальной частоты внутренних переключений 2. Просмотр списка временных путей fnax. 3. Локализация временных путей на топологии проекта /П1ах. 4. Просмотр времен установки входных сигналов tsu. Информацию о просмотре других временных характеристик см. в справочной системе пакета Quartus в разделе "Viewing Timing Analysis Results ip Jhe sRp&iP ~ (просмотр результатов ере-лепк&х характеристик в окне отчета). 1. Просмотр максимальной частоты внутренних переключений В разделе отчета Compilation Report (отчет о компиляции) показываются ограничения по частоте внутренних переключений и быстродействию проекта для наихудшего случая. Показывается, учиты- ваются ли при вычислении частоты задержки сигнала на входящих и выходящих связях выводов ПЛИС, которые могут быть заданы на вкладке Clock Settings (параметры тактового сигнала) диалогового окна Timing Settings (задание временных характеристик), вызываемого из меню Project (проект). Чтобы открыть раздел отчета о выполните следующие действия: 1. Отчет о компиляции можно открыть, выбрав в меню Processing (обработка) команду Open Compilation Report (открыть отчет о компиляции). 1 Чтобы раэвадггь содержимое раздела Timing Analyses (анализ временных характеристик), щелкните по символу "+" соответст- вующего раздела в левой области окна Compilation Report (отчет о компиляции). 3. В разделе Timing Analyses (анализ временных характеристик) выберите подраздел — информация о появится в таблице. Красным цветом отображаются фактические значения временных характеристик, не удовлетворяющие заданным требованиям. 4. Чтобы развернуть список регистров, синхронизируемых тактовым сигналом, щелкните по символу "+". По умолчанию в списке показаны 10 регистров с наименьшими частотами переключений.
Самоучитель САПР Quartus II 251 « Дополнительную информацию о настройке сообщений анализа- тора временных характеристик см. в справочной системе (Help) пакета Quartus в разделе "Specifying Timing Analysis Reporting Restrictions" (уточнение сообщений анализа временных характе- ристик). 2. Просмотр списка временных путей Чтобы просмотреть список временных путей выполните следую- щие действия: 1. Для раскрытия списка и отображения путей от регистров-источ- ников к регистрам-приемникам сигнала, щелкните по символу "+". При этом в разделе fX№SL раскроется имя первого регистра-прием- ника. По умолчанию в списке показывается 10 самых медленных регистров (рис. 3.51). one опо None tate. m:in$I1 r iTter~29 lstatqjn:in$t1 КеГЗО m:inst1 lfilter~28 j • [1 ]~reg ? |teps:in4|xn~1 [1 freg ns 62.88 MHz ,eriod = 15.904 ns j 63.02 MHz (period = 15.869 ns None None None one iwne None None None 91.34 MHz (pried» 10.948 ns) 91.58MHz (period = 10.920ns) 91.63MHz(p nod = 10.914 ns) 91.96 MHz (period = 10.874 ns) 92.52 MHz (p..icd» 10.808 ns) 92.93 MHz (period» 10.761 Actual (period) I- lto»:insfen_1 ~1 [1 ] "reg > |taps:in&tNn_2~1 [1 peg |taps:in$tlxn~1 [ОГгед tapszi »stU i_1 ~1 [О]~гед —— . X 5 > . ^kaps:inst|xn_ None 93.34 MHz (period -10.713 ns \Г..ПГл1_1П... ..‘ --~~~ Рис. 3.51 Фактический источник и/или имена регистров-источников могут отличаться от показанных на этом рисунке из-за усовершен- ствований сделанных в новых версиях пакета Quartus после выхода этого учебного пособия. 2. Выберите имя первого регистра-источника в списке. 3. Во всплывающем меню щелкните по правой кнопке мыши и вы- берите список путей (List Paths). Во вкладке System (система) окна Messages (сообщения) будут показаны задержки распростра- нения сигналов для регистра-источника, включая среднюю за- держку на путях сигнала. 4. Чтобы раскрыть сообщение о частоте /пих в окне Messages (со- общения) щелкните по символу "+". В окне будут показаны наибольшая задержка "регистр-регистр", наименьшая крутизна фронта тактового сигнала и сообщения о задержках установки сигналов.
252 Часть 3 5 Чтобы растянуть сообщение о максимальной задержке "регистр- регистр", щелкните по символу "+". Для вычисления отображенной в этом окне задержки на всем пути распространения сигнала используются средние приращения времени задержки. На следую- щем рисунке показан пример типовых сообщений о задержках. Значения для конкретной ситуации могут существенно отличаться от показанных (рис. 3.52). Рис. 3.52 3. Локализация временных путей fniax в редакторе топологии Для локализации источника сообщений о задержках на путях распро- странения сигналов на топологии Last Compilation floorplan (текущее размещение, созданное компилятором) выполните следующие действия: 1. В окне Messages (сообщения) выберите сообщение Longest reg- ister to register (наиболее длинный путь "регистр-регистр"). в £ Рис. 3.53
Самоучитель САПР Quartus II 253 2. Во всплывающем меню щелкните по правой кнопке мыши и вы- берите Locate (локализовать). На топологии проекта выделится путь данных и рядом появится общее время задержки сигнала на этом пути (рис. 3.53). Фактический путь и задержка сигнала могут отличаться от показанных на рисунке из-за усовершенствований сделанных в новых версиях пакета Quartus после выхода этого учебного пособия. 3. Для закрытия топологии Last Compilation floorplan (текущее размещение, созданное компилятором) в меню File (операции с файлами) выберите Close (закрыть). 4. Просмотр отчета о временах установки сигналов В разделе tsv отчета о компиляции (Compilation Report) отобража- ются заданные и фактические значения времени установки tSu сигналов на выводах связанными со входами данных или входами разрешения синхронизации триггеров (регистров)-приемников. Чтобы открыть раздел отчета о временах ?Sy, выполните следующие действия: 1. Для раскрытия раздела Timing Analyses (анализ временных ха- рактеристик) отчета о компиляции (Compilation Report) щелкните по символу "+" в левой области соответствующего окна. 2. В разделе Timing Analyses (анализ временных характеристик) выберите раздел tSy. В таблице будет отображена информация о временах установки входных сигналов. 3. Чтобы раскрыть список и увидеть имена регистра и связанных с выводами тактовых сигналов, щелкните по символу "+". 4. Чтобы вернуться к блок-схеме прректа filtref.bdf, закроите окно Compilation Report (отчет о компиляции). Eg* Выполняя действия, аналогичные описанным выше, вы можете также просматривать в отчете Compilation Report пути ре- гистр-регистр для времен Гц, tco> и rPD. Дополнительную информацию см. в справочной системе (Help) пакета Quartus в разделе "Viewing Timing Analysis Results in the Report Window" (просмотр результатов анализа временных характеристик в окне отчета).
254 Часть 3 Урок 11. Задание требуемых временных характеристик Пакет Quartus позволяет задавать требуемые временные характери- стики (Timing Requirements) проекта в целом, а также индивидуально для каждого объекта, узла и вывода Например, вы можете задать требуемые времена: tsu установки сигналов (setup time), удержания (hold time), задержек tco "тактовый сигнал — выход" (clock-to-output), задержек £PD распространения сигналов между выводами (pin-to-pin), а также максимальную частоту внутренних переключений f^. Требуемые временные характеристики (Timing Requirements) про- екта в целом определяются в окне Timing Settings, вызываемого из в меню Project. Требования к временным характеристикам индивидуально для объектов, узлов и выводов определяются с помощью Assignment Organizer из меню Tools. В этом уроке описываются следующие действия: 1. Определение, требуемой частоты Jnay. 2. Исключение временных путей (timing paths) из анализа. ВЗГ Здесь рассматривается определение требуемых временных ха- рактеристик, а также других параметров анализа временных характеристик через команды меню и соответствующие им диалоговые окна. Однако для упрощения работы можно исполь- зовать встроенный мастер Timing Wizard (мастер задания временных характеристик), вызываемый соответствующей ко- мандой из меню Project. 1. Задание требуемой fmax Вы можете задать требуемую частоту внутренних переключений для реализации проекта на выбранной микросхеме с помощью установки /шах- Задание значения можно выполнить как для всего проекта, так и для выбранных частей проекта. Чтобы определить требуемое значение выполните следующие действия: 1. В меню Project выберите Timing Settings (временные характери- стики) — автоматически откроется вкладка Clock Settings (параметры тактового сигнала) (рис. 3.54). 2. Под надписью Specify circuit frequency as (определить частоту схемы как...) выбрать Default required fmax (частота fnax, заданная по умолчанию). 3. В поле Default required fmax (частота /т1Х, заданная по умолча- нию), введите значение 45 и выберите MHz (мегагерцы) из списка единиц измерения (рис. 3.54).
Самоучитель САПР Quartus II 255 S »vera5 default frequency farthe projector the settingstor each clock that u pa t of the Задание используемого по умолчанию значения частоты /max С. Е tm dock Name г Jfahfe external delaysto and-ftom device Dins infmax calculabom й Рис. 3.54 (Eg3 После определения требуемой для проекта в целом, вы можете изменить эти назначения индивидуально для конкретных тактовых сигналов, как описано в уроке 12 "Анализ временных характеристик при многотактовой синхронизации". 2. Исключение временных путей из анализа При выполнении анализа временных характеристик вы можете ис- ключать из анализа определенные пути сигнала на вкладке Other Requirements & Options (другие требования и параметры). Чтобы исключить определенные категорий путей или определенные пути по принципу "от точки — к точке", вы можете выбрать опции Cut Timing Path в диалоговом окне организатора назначений Assignment Organizer. Чтобы отключить обратную связь через двунаправленные выводы, выполните следующие действия: 1. В диалоговом окне Timing Settings (установка временных харак- теристик) щелкните по вкладке Other Requirements & Options (другие требования и установки). 2. Убедитесь, что пункт Cut off feedback from I/O pins (отключение обратной связи через двунаправленные выводы) включен. 3. Нажмите кнопку ОК. Теперь при анализе временных характеристик все обратные связи (через I/O pins) ПЛИС будут проигнорированы.
256 Часть 3 Дополнительную информацию по установке значений tsu, tco и ZpD см. в справочной системе (Help) пакета Quartus в разделе "Specifying Project-Wide Timing Requirements" (определение тре- буемых временных характеристик всего проекта). Урок 12. Анализ временных характеристик проектов с многотактовой синхронизацией Подсистема Timing Analyzer (анализатор временных характеристик) пакета Quartus в процессе компиляции автоматически выполняет анализ временных характеристик для одного тактового сигнала. Однако воз- можно также выполнение анализа временных характеристик проектов, использующих сложную многотактовую синхронизацию. Чтобы выполнить анализ временных характеристик при многотак- товой синхронизации, сначала необходимо определить соотношения между всеми используемыми тактовыми последовательностями. Для определения этих соотношений необходимо определить основные (пер- вичные) синхросигналы (absolute clocks), нс зависящие от других синхросигналов, а какие вторичные синхросигналы (derived clocks), являющиеся производными от других синхросигналов. Пакет Quartus позволяет определить требования к каждому тактовому сигналу. В этом уроке описываются следующие действия: 1. Задание параметров тактового сигнала. 2. Привязка параметров тактового сигнала к выводам микросхемы. 3. Повторное выполнение анализа временных характеристик. 4. Просмотр раздела Clock Requirement (требования к тактовому сигналу). 1. Задание параметров тактового сигнала Для определения характеристик первичного тактового сигнала, вы- полните следующие действия: 1. В меню Project выберите команду Timing Settings (установка временных характеристик) — автоматически открывается вкладка Clock Settings (установки тактовых сигналов). 2. Под надписью Specify circuit frequency as (определить частоту схемы как...) выберите Settings for individual clock signals (ин- дивидуальная установка параметров тактовых сигналов). 3. Нажмите на кнопку New (новые). Откроется новое диалоговое окно New Clock Settings (новые установки тактового сигнала). 4. В поле Clock settings name (имя группы параметров тактового сигнала) в качестве названия новой группы параметров тактового сигнала введите clocka.
Самоучитель САПР Quartus II 257 5. Чтобы определить параметры тактового сигнала как параметры первичного тактового сигнала, убедитесь, что под надписью Re- lationship to other clock settings (отношение к другим тактовым сигналам) выбран тип Independent of other clock settings (неза- висимый от параметров других тактовых сигналов). 6. Для определения требуемой первичного тактового сигнала, в поле Required fmax (требуемая /„их), введите 50 и из списка единиц измерения выберите MHz (мегагерц) (рис. 3.55). Задание имени группы параметров тактового сигнала Требуемая частота первичного тактового гигняпя Рис 3.55 7. Нажмите кнопку ОК — параметры сигнала clocka появятся в списке Existing clock settings (существующие параметры тактового сигнала). Чтобы установить параметры зависимого (вторичного) тактового сигнала, выполните следующие действия: 1. Нажмите на кнопку New. Откроется новое диалоговое окно New Clock Settings (новые параметры тактового сигнала). 2. Нажмите на кнопку New. Откроется новое диалоговое окно New Clock Settings введите clockb. 3. Под надписью Relationship to other clock settings (отношение к другим тактовым сигналам) выберите Based on (основанный на...) и выберите из списка clocka. 4. Чтобы определить требуемые характеристики вторичного (зави- симого) тактового сигнала, выберите Derived Clock Requirements (требования к зависимому (вторичному) тактовому сигналу). От- кроется диалоговое окно Derived clock Requirements 5. Чтобы задать частоту /11ИХ вторичного тактового сигнала в два раза большую частоты основного тактового сигнала, выберите 2 в окне Multiply base absolute clock fmax by (умножить частоту основного тактового сигнала на...).
258 Часть 3 6. Чтобы задать смещение вторичного тактового сигнала относитель- но основного тактового сигнала, введите 1.0 и выберите ns (наносекунды) в диалоговом окне Offset from base absolute clock finax (смещение относительно основного абсолютного тактового сигнала /т) (рис. 3.56). Рис. 3.56 7. Нажмите кнопку ОК. 8. Чтобы добавить параметры тактового сигнала clockb к сущест- вующему списку параметров тактовых сигналов в окне New Clock Settings нажмите кнопку ОК. 9. В диалоговом окне Timing Settings (временные характеристики) нажмите кнопку ОК 2. Привязка параметров тактового сигнала к выводам ПЛИС После выполнения установок первичного и вторичного тактовых сигналов, необходимо применить эти установки к соответствующему тактовому сигналу(ам) проекта. Для создания, удаления, редактирования и просмотра назначений параметров проекта вы можете использовать команду Assignment Organizer (организатор назначений) меню Tools (инструментальные средства). Для привязки параметров clocka к выводу elk выполните следующие действия: 1. В меню Tools (инструментальные средства) выберите Assignment Organizer (организатор назначений). Автоматически появится вкладка By Node (по узлам).
Самоучитель САПР Quartus II 259 2. Под надписью Mode (режим) выберите Edit specific entity and node settings (редактирование заданного объекта и параметров узла) (рис. 3.57). imeH а*4* Кнопка открытия окна поиска узлов (Node Finder) О ф Рис. 3.57 3. Нажмите кнопку Browse (...) (обзор) рядом с полем имени — откроется диалоговое окно Node Finder (окно поиска узлов). 4. Чтобы найти нужный узел, в окне Node Finder (окно поиска узлов) из списка Filter выберите Pins: all (все выводы) и нажмите кнопку Start (рис. 3.58). 5. В списке Nodes Found (найденные узлы) дважды щелкните по имени вывода elk. 6. Чтобы скопировать имя вывода elk из диалогового окна Node Finder в диалоговое окно Assignment Organizer, нажмите кнопку ОК — вы возвратитесь к диалоговому окну Assignment Organizer.
260 Часть 3 Имя искомого сигнала Текущее состояние фильтра поиска Настроить фильтр поиска Список всех найденных выводов и сигналов Выбор уровня иерархии поиска Имена сигналов, скопированных из списка найденных Рис, 3.58 7. Чтобы раскрыть раздел Timing (временные характеристики), в списке Assignment categories (категории назначений) щелкните VV I И по символу + . 8. Чтобы добавить новый текст, щелкните на надписи click here (щелкнуть здесь). 9. Убедитесь, что в списке Name (имя) под надписью Assignment (назначения) выделено Clock Settings (параметры тактового сигнала). 10. Чтобы убедится, что назначаемые параметры тактового сигнала соответствуют нужному выводу, проверьте, что в списке Settings выделен clocka. 11. Нажмите Add: (добавить) — новое назначение появится в списке Assignment Categories (рис. 3.59). 12. Нажмите кнопку ОК. 13. Чтобы назначить параметры clockb выводу clkx2, повторите дей- ствия 1-12. Вы можете также определить много других типов индивиду- альных временных параметров. Дополнительную информацию о назначениях временных параметров см. в справочной системе (Help) пакета Quartus в разделе "Making Individual Timing As- signments" (выполнение индивидуальных назначений временных параметров).
Самоучитель САПР Quartus II 261 ^Assignments for:) < reflck S Locations ? =• • Pin (organized by device package Й • Timing Click here to add a new asstgnmi p honr 4 - 6r defied dock characteristics to a signal To -* Ign ta signal as a clou you must a named group of | 0 ttings'and assign th-m to a • y- twith Ihrs optt n. Y. о . Sbidrn as ignm nhfor и » Й- Cliques ffi- Logic Options (Debug Build only) Й Options for Individual Nodes Only Й Options for Nodes & Entities Options for Entities Only Й Local Routing (Debug Build only) Й • Parameters Й Simulation • m tance only *hi$ instance in all ex (trances of its parent enhy Г* A ~ к 0*** Customize л pm I* Г Рис. 3.59 3. Повторный запуск анализа временных характеристик Для повторного запуска анализа временных характеристик выполните следующие действия: 1. В меню Processing выберите Start Timing Analysis (запуск анализа временных характеристик). 2. В диалоговом окне появится вопрос "Want to recompile before starting timing analyses" (хотите перекомпилировать проект перед запуском анализа временных характеристик), щелкните No (нет). Анализ временных характеристик будет выполнен без перекомпи- ляции проекта. г* Вопрос о перекомпиляции проекта задается потому, что пере- определение требований к быстродействию затрагивает разме- щение и разводку проекта в ПЛИС, если используется компиляция
262 Часть 3 с оптимизацией по быстродействию. Однако для этого учебного проекта перекомпиляция не требуется. 3. По окончании анализа в диалоговом окне будет выведено сооб- щение о том, что анализ временных характеристик был неудачен Нажмите кнопку ОК. Выполненный анализ показал, что заданные требования к быстродействию не были достигнуты. В следующих разделах будет показано, как обеспечить требуемые временные характеристики. 4. Просмотр раздела требований к тактовом сигналам При анализе проектов со сложной синхронизацией для каждого так- тового сигнала автоматически создается раздел Clock Requirement (тре- бования к тактовым сигналам). Раздел Clock Requirement показывает критические пути проекта, для которых временные характеристики имеют пограничные значения (т.е. могут удовлетворять заданным требованиям, а могут и не удовлетво- рять). Черным цветом отображаются критические пути, удовлетворяю- щие заданным требованиям, красным — не удовлетворяющие. Чтобы просмотреть раздел Clock Requirement для сигнала clkx2, выполните следующие действия: 1. В левой области окна Compilation Report (отчет о компиляции) щелкните по символу чтобы раскрыть раздел Timing Analyses (анализ временных характеристик). 2. В разделе Timing Analyses выберите подраздел Clock Requirement для сигнала clkx2. Информация о результатах анализа будет по- казана в таблице. При необходимости размеры столбцов таблицы могут быть изменены путем перетаскивания их границ (рис. 3.60) • * 1 > а Ji | i * * . . 1 « J < г ' ' a * -*• ntt * ~ *• J' 1 I • < Тите ♦ 1 < 1 V ’ % ’ <Л: W ^•4 |acc:inst3|accuminst_1 |l |inst5[0] |clk |clkx2 1.000 ns” 0.220 ns 1.553 ns -1 .333 ns Ц |» : inst3|accum: insM |l |inst5[2] |dk |clkx2 1.000 ns 0.220 ns 1.505 ns -1 285 ns | • :inst3|accum1nst_1 |l Pnst5(3] I elk |clkx2 1.000 ns 0 220 ns 1.505 ns -1 .285 ns j |» :inst3f«ccurn:inst_1 |l |lnst5[5] jctk |clkx2 1.000 ns 0.220 ns 1.482 ns и .262 ns! |s :inst3| xcum:inst_1|l |inst5[1] |dk |cikx2 1.000 ns 0.220 ns 1.466 ns -1 .246 ns j I. :inst3|.- ccurrinsM |l |hist5[4] |dk |clkx2 1.000 ns 0.220 ns 1.446 ns -1 .226 ns I I - ' nst3 accuminst|l jinstS[6] |clkx2 1.000 ns 0.220 ns 1.445 ns -1 .225 ns |e : inst3|accum: inst_1 |l |mst5[7] |clk |clkx2 1.000 ns 0.220 ns 1.257 ns -1 .037 ns |u *4 |inst5[0] |dk |clkx2 1.000 ns 0.220 ns 1.102 ns -0.882 ns |i 4 |inst5[2] ]clk |clkx2 1.000 ns 0.220 ns 1.102 ns -0.882 ns T ->ng analysis restricts To change the limit u Требование к установке сигнала — минимальный сдвиг между сигналами в 1.0 нс, определяемый настройками тактового сигнала clockb Красный цвет обозначает, что значения параметров не удовлетворяют задан- ным требованиям Рис. 3.60
Самоучитель САПР Quartus II 263 Фактические значения параметров могут отличаться от при- веденных на рисунке из-за усовершенствований, сделанных в пакете Quartus после выпуска настоящего учебного пособия. Раздел Clock Requirement для сигнала clkx2 отображает крити- ческие времена красным цветом, поскольку требование к /ПК1Х не было достигнуто. В уроке 13 и последующих описывается решение этой проблемы введением путей multicycle path многотактовой синхронизации. Урок 13. Определение путей Multicycle многотактовой синхронизации В проекте fir_filter сдвиг на 1.0 нс. заданный для тактового сигнала clockb, заставляет систему реализовывать невыполнимые требования по быстродействию. Это обусловлено тем, что при анализе временных характеристик учитывается требование надежного защелкивания данных в тактируемых регистрах. При многотактовой синхронизации вводятся самые жесткие условия анализа, обусловленные устанавливаемыми по умолчанию соотношениями фронтов установки и записи сигналов в триггеры. В проектах с многотактовой синхронизацией задержка на пути сиг- нала определяется для каждого тактового сигнала, синхронизирующего регистры-источники. При анализе проекта fir_filter по умолчанию счи- тается, что запись сигнала, в регистры осуществляется первым после момента установки сигнала фронтом тактовой последовательности clkx2. В этом случае минимальные отличия временного положения фронтов тактовых последовательностей определяют максимально жесткие тре- бования к времени задержки. Соотношения фронтов тактовых последовательностей в проекте fir_fiiter показаны на рис. 3.61. Фронт Фронт установки сигнала защелкивания сигнала Сдвиг между сигналами в 1 нс, определяемый установками Рис 3.61
264 Часть 3 Вы можете задать многотактовую синхронизацию при назначении временных характеристик конкретного пути. Двум или более регистрам, тактируемым сигналом clkx2, можно назначить многотактовую синхронизацию, изменив установки по умол- чанию и назначив запись сигнала вторым после момента его установки фронтом тактовой последовательности clkx2. Соотношения сигналов после изменения установок показаны на рис. 3.62. Фронт Фронт установки сигнала защелкивания сигнала Ниже описываются следующие действия: 1. Задание назначений многотактовой синхронизации. 2. Повторный запуск анализатора временных характеристик. 3. Просмотр раздела требований к тактовому сигналу. 1. Задание назначений многотактовой синхронизации При создании назначения "точка-точка" (point-to-point) соотношений двух тактовых сигналов, заданное назначение автоматически применя- ется ко всем путям "регистр-регистр". Чтобы назначить многотактовую синхронизацию всем путям регистр- регистр для сигналов elk и clkx2, выполните следующие действия: 1. Если необходимо открыть блок-схему filtref.bdf — в меню File выберите команду Open (открыть) и затем выберите файл filtref.bdf. 2. В блок-схеме filtref.bdf выберите входной вывод clkx2. 3. Во всплывающем по правой кнопке мыши меню выберите As- signment Organizer (организатор назначений) — откроется диалоговое окно Assignment Organizer с выделенной опцией Edit specific entity & node settings for (изменить параметры заданного объекта или узла) и с иерархическим путем и именем вывода clkx2, показанным в поле Name. 4. В списке Assignment Categories (категории назначений) щелкните по символу "+” чтобы раскрыть раздел Timing (синхронизация).
Самоучитель САПР Quartus II 265 5. Чтобы добавить новое назначение, щелкните надпись Click here (щелкнуть здесь). 6. Под строкой Assignment (назначение) из списка Name выберите Multicycle (многотактовая). 7. Чтобы определить путь с многотактовой синхронизацией (по вто- рому периоду), в поле Setting (установки) введите значение 2. 8. Определите назначение Point-to-point (точка-точка). В блоке Fed by (вести от) введите имя сигнала elk или нажмите Browse (...), чтобы выбрать его с помощью Node Finder (окна поиска узла). 9. Нажмите кнопку Add (добавить) — теперь назначение появится в списке Assignment Categories. 10. Нажмите кнопку ОК. i 2. Повторный запуск анализа временных характеристик Для повторного запуска анализа выполните следующие действия: 1. В меню Processing выберите Start Timing Analysis (запуск анализа временных характеристик). 2 Будет выведен вопрос: "Want to recompile before starting timing analysis" (хотите перекомпилировать проект перед запуском ана- лиза временных характеристик?) Нажмите кнопку No (нет), анализ запустится без перекомпиляции проекта. 3. Будет выведено сообщение: "timing analysis was successful" (анализ временных характеристик прошел успешно), нажмите кнопку ОК. Временной анализ был завершен успешно потому, что временные характеристики проекта удовлетворяют заданным требованиям. 3. Просмотр результатов анализа временных характеристик: требования к тактовому сигналу Чтобы просмотреть результаты анализа временных характеристик и увидеть, как назначение многотактовой синхронизации повлияло на выполнение заданных требований к временным характеристикам, вы- полните следующие действия: 1 . Чтобы раскрыть раздел Timing Analysis (анализ временных ха- рактеристик), щелкните по символу "+" в левой области окна Compilation Report (отчет о компиляции). 2 В разделе Timing Analysis выберите подраздел Clock Requirement (требования к тактовому сигналу) для сигнала clkx2. В разделе Clock Requirement критические временные характеристики теперь отображаются черным цветом, это означает, что после отмены заданных по умолчанию параметров и назначения многотактовой синхронизации временные характеристики удовлетворяют задан- ным требованиям (рис. 3.63).
266 Часть 3 Ча», > <«. - : ./л** -Су >f,; * * — yi .Ъ -X <7? Л - • v ' •9 .a r -r <' • ’ Л /'П. у > >• *' *x a Trf ttXlkXOli SI ' '-к - - V»’-< J 11 ; 1 L ж jClocicWaime ж'* w * |acc: inst3|accum:instj |lp linstSfO] |dk |clkx2 11.000 ns 10.220 ns 1.553 ns 8.667 ns j |acc: mst3|accum: nstJ |lp |inst5[2] |dk |dkx2 11.000 ns 10.220 ns 1.505 ns 8.715 ns ; |a instS^accun: inst_1 Pp |mst5(3] (elk (ckx2 11.000 ns 10.220 ns 1.505 ns 8.715ns | |a inst3 accunrinsM |lp |inst5{5] (elk |ckx2 11.000 ns 10.220 ns 1.482 ns 8.738 ns |a nst3Jaccurrc inst_1 |lp (nst5[1] Jclk |ckx2 11.000 ns 10.220 ns 1.466 ns 8.754 ns |a nst3|accurTrinst_1 |lp pnst5[4] |cik |clkx2 11.000 ns 10.220 ns 1.446 ns 8.774 ns - |a nst3|accum:inst_1 |lp pnst5[6] |clk |clkx2 11.000 ns 10.220 ns 1.445 ns 8.775 ns |a inst3|acctffn:inst_1 (Ip |mst5[7] |dk |ckx2 11.000 ns 10220 ns 1.257 ns 8.963 ns |ir— t finst5[01 (elk |clkx2 11.000 ns 10.220 ns 1,102 ns 9.118ns lir’M |inst5[2] |43». (clkx2 11 WO ns 10.220 ns 1.102 ns 9.118 ns Ti ig analysis restHcted To change the limit - -W- « «*• ' * "Я «-ж < ж * I*wn< ««T*-» -«u -I. > " Значения минимальных времен Выделение черным цветом, установки соответствуют заданному режиму 2-тактовой синхронизации (Multicycle 2) означает, что значения параметров удовлетворяют заданным требованиям Рис, 3.63 Фактические значения синхронизации могут отличаться от при- веденных на рисунке из-за усовершенствований, сделанных в пакете Quartus после выхода этого учебного пособия. 3.5. Моделирование проекта Моделирование (Simulation) позволяет полностью проверить проект и убедиться в правильности его функционирования перед программи- рованием или конфигурированием ПЛИС. Исходными данными для моделирования являются воздействия в виде входных векторов. Подсистема моделирования (Simulator) пакета Quartus моделирует выходные сигналы, соответствующие реакции про- екта на заданные входные воздействия, которая очень близка к реакции запрограммированной ПЛИС. В типовых задачах разработчик задает наборы входных векторов и анализирует полученные в результате моделирования выходные сигналы. В зависимости от решаемых задач, подсистема моделирования (Simula- tor) позволяет выполнять функциональное моделирование (Functional Simulation) либо моделирование с учетом временных параметров ПЛИС (Timing Simulation). При функциональном моделировании проверяется правильность описания и логического функционирования проекта. При моделировании с учетом временных параметров проверяется не только ло- гическое функционирование проекта, но и его функционирование с учетом параметров выбранной ПЛИС в самых жестких временных условиях. В следующих уроках рассматривается создание векторного файла *.vwf для анализа временных характеристик, определение параметров моделирования, запуск моделирования с учетом временных параметров и анализ результатов моделирования.
Самоучитель САПР Quartus II 267 Урок 14. Создание временных диаграмм сигналов,для моделирования Векторные файлы *.vwf (Vector Waveform Files) можно создавать с помощью редактора временных диаграмм (Waveform Editor). Файлы *.vwf описывают входные и выходные векторы сигналов в графическом виде с помощью временных диаграмм (Waveforms). Входные воздействия можно задать и в текстовом виде в векторных файлах (Vector File) *.vec. Система Quartus позволяет работать с файлами обоих указанных типов. Если вы уже знакомы с созданием vwf-файлов с помощью ре- дактора временных диаграмм (Waveform Editor), вы можете сэкономить время и скопировать готовый файл finvwf из под- каталога \qdesigns\tutorial в подкаталог \qdesigns\fir.filter. Рекомендуется копировать файлы учебного пособия следующим образом: открыть файл в пакете Quartus с помощью команды Open (открыть) меню File, затем выбрать команду Save As (сохранить как...) меню File, в появившемся окне установить ключ Add file to current project (добавить файл к текущему проекту), а затем сохранить файл в подкаталоге \qdesigns\firfiilter. Если вы скопировали предоставленный файл, можете сразу переходить к разделу: "Определение параметров моделирования". В текущем уроке рассматриваются следующие действия: 1. Создание файла временных диаграмм. 2. Добавление к временным диаграммам входных и выходных узлов. 3. Редактирование временных диаграмм входных сигналов. 1. Создание временных диаграмм Для создания файла *.vwf временных диаграмм выполните следую- щие действия: 1. В меню File (файл) выберите команду New (новый). 2. На вкладке Other Files (другие файлы) выберите тип создаваемого файла — Vector Waveform File (векторный файл временных диаграмм). 3. Нажмите кнопку ОК: откроется редактор временных диаграмм (Waveform Editor) с пустым окном временных диаграмм (рис. 3.64). 4. В меню Time (время) командой End Time (конечное время) задайте конечное время интервала рисования временных диаграмм 5. В появившемся окне в поле Time (время) введите значение 700 и выберите в списке единиц измерения ns (наносекунды). 6. Нажмите кнопку ОК.
268 Часть 3 Рис. 3.64 7. Сохраните файл под именем fir.vwf, для чего в меню File выберите команду Save As, в поле Name, открывшегося окна введите fir и нажмите кнопку Save. 2. Добавление входов и выходов к временным диаграммам После создания файла *.vwf, необходимо ввести в него входы и выходы, а также другие узлы для которых будут создаваться временные диаграммы. Для добавления узлов к временным диаграммам выполните следую- щие действия: 1. Для нахождения вводимых узлов удобно пользоваться окном по- иска узлов (Node Finder). Вызов окна осуществляется в меню View > Auxiliary Windows > Node Finder (вид > вспомогательные окна > окно поиска узлов). 2. В окне Node Finder (окно поиска узлов), в списке Filter (фильтр типов узлов), выберите Pins all: (все типы выводов). 3. Для поиска узлов нажмите кнопку Start (старт) (рис. 3.65). 4. В списке Nodes Found (найденные узлы) выберите выводы elk, clkx2, d, newt, reset, yvalid, next, yn_out и перетащите их в колонку Name (имя) временных диаграмм *.vwf. Большие непрерывные группы имен из нескольких частей можно выбрать левой кнопкой мыши с нажатой клавишей Shift, а большие группы имен, состоя- щие из нескольких отдельных частей, можно выбрать левой кнопкой мыши с нажатой клавишей Ctrl. 5. Закройте окно поиска узлов через меню View > Auxiliary Windows > Node Finder. С помощью окна поиска узлов вы можете также задавать собственные фильтры поиска узлов в проекте. Подробные инет-
Самоучитель САПР Quartus II 269 рукции по созданию таких фильтров можно получить в справочной системе пакета Quartus в разделе "Creating a Custom Filter" (создание заданного фильтра). Рис. 3.65 3. Редактирование временных диаграмм входных сигналов Входные векторы для моделирования создаются путем задания ло- гических уровней на временных диаграммах соответствующих узлов. Для того, чтобы отредактировать временную диаграмму входа elk, выполните следующие действия: 1. На панели инструментов редактора временных диаграмм (Waveform Editor) щелкните по кнопке Selection Tool (указатель выбора). 2. Чтобы выбрать и выделить полный временной интервал диаграммы входа elk, щелкните левой кнопкой мыши на маркере elk, рас- положенном на левом краю окна (рис. 3.66). ___ Manizon ni/ruana Списки имен входных и выходных сигналов и шин Рис. 3.66
270 Часть 3 3. В меню Value (величина) выберите Clock (тактовый сигнал). 4. Под надписью Base waveform on (основывать временную диа- грамму на...) выберите Clock Settings (установки тактового сигнала) и выберите из списка clocka (рис. 3.67). Рис. 3.67 5. Нажмите кнопку ОК — будет создана временная диаграмма elk с использованием параметров тактового сигнала clocka. Для того, чтобы отредактировать временную диаграмму входа clkx2, выполните следующие действия: 1. На панели инструментов редактора временных диаграмм (Wave- form Editor) щелкните по кнопке Selection Tool (указатель выбора). 2. Чтобы выбрать и выделить полный временной интервал диаграммы входа clkx2, щелкните левой кнопкой мыши на маркере узла elk, расположенном на левом краю окна (рис. 3.66). 3. В меню Value (значение) выберите Clock (тактовый сигнал). 4. Под надписью Base waveform on (основывать временную диа- грамму на...) выберите Clock Settings (установки тактового сигнала) и выберите из списка clockb (рис. 3.67). 5. Нажмите кнопку ОК — теперь временная диаграмма elk будет создана с использованием параметров тактового сигнала clockb. Чтобы отредактировать временную диаграмму входной шины Ь, вы- полните следующие действия: 1. Чтобы выбрать и выделить полный временной интервал диаграммы входной шины d, щелкните левой кнопкой мыши на маркере шины, расположенном на левом краю окна (рис. 3.66). 2. В меню Value (величина) выберите Arbitrary Value (произвольная величина).
Самоучитель САПР Quartus II 271 3. В списке Radix (тип системы счисления) выберите Unsigned Decimal (десятичное положительное). 4. В списке Numeric or Named value (числовая или именованная величина) введите 16 (рис. 3.68). Рис. 3.68 5. Нажмите ОК — на временной диаграмме входной шины d будет отображено значение 16 в двоичном коде. Чтобы отредактировать временную диаграмму входа newt, выполните следующие действия: 1. Чтобы выбрать и выделить полный временной интервал диаграммы входной шины newt, щелкните левой кнопкой мыши на маркере шины, расположенном на левом краю окна (рис. 3.66). 2. В меню Value (величина) выберите Clock (тактовый сигнал). 3. Под надписью Base waveform on (основывать временную диа- грамму на...) выберите Time period (период времени) и выберите из списка. 4. В поле Period (период) введите 80, а из списка единиц измерения выберите ns (наносекунды). 5. Из списка Duty Cycle (коэффициент заполнения) выберите 25. 6. Нажмите кнопку ОК - на временной диаграмме ввода newt будет показана импульсная последовательность с периодом 80 нс и коэф- фициент заполнения 25%. Чтобы отредактировать временную диаграмму входа reset выполните следующие действия: 1. С помощью указателя выбора (Selection Tool) выделите на вре- менной диаграмме входа reset интервал 0-20 нс, для чего поместите указатель в позицию 0 ns, нажмите левую кнопку мыши и, удерживая ее, переместите указатель в позицию 20 ns. 2. На выделенном интервале нажмите правую кнопку мыши и во всплывающем меню выберите Value > Forcing Low (низкий ло- гический уровень). 3. С помощью указателя выбора (Selection Tool) выделите на вре- менной диаграмме входа reset интервал 20-40 нс, для чего поместите указатель в позицию 20 ns, нажмите левую кнопку мыши и, удерживая ее, переместите указатель в позицию 40 ns.
272 ЧастьЗ 4 На выделенном интервале нажмите правую кнопку мыши и во всплывающем меню выберите Value > Forcing High (высокий логический уровень). 5. Чтобы увидеть временную диаграмму на всем временном интер- вале, в меню View выберите Fit in Window (вписать в окно). 6. С помощью указателя выбора (Selection Tool) на временной диа- грамме входа reset выделите интервал от 40 нс до конца временной диаграммы, для чего поместите указатель в позицию 40 ns, нажмите левую кнопку мыши и, удерживая ее, переместите указатель к концу временной диаграммы. 7. Нажмите на выбранном интервале правую кнопку мыши, во всплы- вающем меню выберите Value > Forcing Low (низкий логический уровень). 8. Сохраните файл, выбрав в меню File (операции с файлами) ко- манду Save (сохранить). Созданные временные диаграммы показаны на рис. 3.69. Рис. 3.69 ilS Iclk В1 If vvTJiruwmw r f I-P 1 r * " < 1 1 n—1 * I r ? L=- r 11 । a !T—1 1 11—— f 1 It—I t ( r li t 1 I f -* E I f I Iclkx2 BO 1 w r»y вь 1 H V* AM At— *<!*□•** У? 4 ....... i p-a . . . a - . r* i . . у . « ... i.s J «“* 'X iniwiowiiw f V» M «n T ”* ** «T"~* *1* f*'"- ** *' *"*/ ** •" ** □ Id В 00... 1 . . : : i : : s s lit II is OoJiOlOO : : s 1 : 1 В 1 1 В 1 fl 1 fl f 1 I 1 В 1 J __l Inewt BO I H 11 П I I FT] j r~I j i rf j i П - »!- ,, T M 1 j 1 п I П ! ' I(reset во I H till ( nt till» ♦ l i i f » t I1 i i b i > i i в f j i * i I i t i i t » — 4 r »—"I’""- ‘v " "V1 i 11 i i “r т —.f. .. ,— 1 1 j-. ma^Wad 1 1 1 1 L waad 1 1 ! L 1 ll’v aaiMaaJ L 1 1 t Я «аа»«м| г г 1 г Г 1 1 1 I- -4 J 1. 1 ! Г 1 Г*?" Г » (yvalid BU j T.. _ , B iti i s r » i ж • » ж > a a a « • » » • . . a > _ 1- т 1 r "1 1 t " 1 1— 1 1 1 » 1,7‘f 1 1 1 “F —< у 1- HF" I- T r- 1 1 I —1 Г T V f i it I iB fi i ft it ii i|h » 1’ ii i < i t < | t I it ! 1 i a i i j * в i i __ в t i, t I— i _ ,tU i t J t i. fit i > i ,_/ _ - t- Л R - — . -[, - - -- -- T Г , -Л— »- а- -и- П1%г 11 Ы M AM WAAWbMrA •Z*-*VX**4w Ъ«4МнМ 5 н 1 RO Inext в u J ' Г ”1" 7| 1 1 < 1 « I > < f < Г 1 * 1 — Ч 1 'Г ’'Г T 1 |- | 1 1 1 I > ' 1 Г •I'lTT" 1 I 1 i f < - f v t I i I i fl i iiiti »I 1 i Illi» i ill t i t j_ _ < i i _ _ _ i t fl U i i » ,. * ? r 't r- r—-r~—i i . t, ♦—T ‘ i‘Г 1 r i _ v’L,L1- T I:, j .. - , I j • . в ж. а . я», а а ! •»« а ! 1* К" Ш |yn_otrt в и... I -Лк* -Ч| ТР Г flt ' р г1 i """< ""Ч "' j > г" " । 1 । j г—v В i 1 I 1 1 1 в 1 1 1 g । .. . j । _ i t i / Р, г . f 1 1 1 1 1 fl В f t J 1 1 t ill i f i < 1 t 1 1 1 1 1 I 1 t 1 i i 1 * i 1 i i i в в ill i i i । i fliiiiiiiii | Урок 15. Определение параметров моделирования Система Quartus позволяет осуществлять моделирование всего про- екта или любой его составляющей. Вы можете назначить любой объект верхнего уровня иерархии проекта в качестве моделируемой части проекта (Simulation Focus). Настройки моделирования определяют моделируемую часть проекта (Simulation Focus), тип моделирования, интервал времени моделиро- вания, векторы входных воздействий и другие параметры. Параметры моделирования автоматически назначаются системой Quartus при создании нового проекта, кроме того, вы можете самостоя- тельно определять группы параметров моделирования.
Самоучитель САПР Quartus II 273 В этом уроке рассматриваются следующие действия: 1. Просмотр основных параметров подсистемы моделирования (Simulator). 2. Задание временных параметров и параметров векторов. 3. Задание режима моделирования. 4. Установка дополнительных параметров моделирования. Ниже поясняется выполнение просмотра и редактирования па- раметров моделирования с использованием меню и диалоговых окон. Для облегчения процесса настройки моделирования удобно использовать встроенный мастер настройки моделирования (Simulator Settings Wizard). Данный мастер вызывается соот- ветствующей командой меню Processing (обработка). 1. Просмотр основных параметров моделирования На вкладке General (основные) диалогового окна Simulation Settings (рис. 3.70), вызываемого из меню Processing (обработка), осуществляется выбор групп параметров моделирования, определение и сохранение новой группы параметров, определение моделируемой части проекта (Simulation Focus), а также удаление существующих параметров настройки. Файл текущих настроек моделирования _______ Имя текущего объекта для моделирования и настройки компилятора Отображение существующих настроек моделирования вашего проекта Рис. 3.70 Для просмотра заданных по умолчанию основных параметров моде- лирования текущего проекта выполните следующие действия:
274 Часть 3 1. Сначала необходимо перейти в режим моделирования (Simulate Mode), выбрав соответствующую команду в меню Processing (обработка). 2. В меню Processing выберите Simulator Settings (установки под- системы моделирования) — автоматически откроется вкладка General (основные, общие). На вкладке General отображаются основные параметры модели- рования, установленные пакетом Quartus при создании вашего проекта (рис. 3.70). 2. Задание интервала моделирования и параметров входных векторов На вкладке Time/Vectors диалогового окна Simulator Settings под- системы моделирования (Simulator) задается интервал времени моделирования и генерации входных векторов. Входные воздействия для моделирования задаются векторными файлами *.vwf временных диаграмм или векторных файлов *.vec с текстовым описанием входных векторов, входные воздействия можно также задавать в окне Tel Console. Чтобы определить интервал времени моделирования и источник входных сигналов, выполните следующие действия: 1. В диалоговом окне Simulator Settings подсистемы моделирования (Simulator) перейдите на вкладку Time/Vectors (время/вектора). 2. Под надписю Simulation period (интерват моделирования) в поле Start time (начальное время) введите 0 и из списка единиц измерения выберите ns (наносекунды) 3. Убедитесь, что под надписью End time (конечное время) выбран пункт Run simulation until all vector stimuli are used (выполнять моделирование до тех пор, пока не будут использованы все входные вектора). 4. Под надписью Vectors (вектора) в поле Source of Vector Stimuli (источник векторов входных воздействий) введите D:\qdesigns\fir_filter\fir.vwf или выберите файл, нажав кнопку Browse (...) (обзор). Igg3 При запуске моделирования система автоматически ищет век- торные файлы (*.vwf, *.vec, или *.tbl) с именем, указанным в параметрах настройки. Поэтому не надо специально указывать файл, если eto имя совпадает с именем, указанным в текущих параметрах настройки, 5. Убедитесь, что под надписью Vectors (векторы) включены опции Automatically add pins to simulation output waveforms (автомати- ческое добавление к временным диаграммам выходных выводов) (рис. 3.71).
Самоучитель САПР Quartus II 275 Отображение заданных параметров моделирования Рис. 3.71 3. Задание режима моделирования На вкладке Mode (режим) диалогового окна Simulator Settings подсистемы моделирования (Simulator) определяется тип выполняемого моделирования. Существует два типа моделирования: Functional simu- lation (функциональное моделирование) и Timing Simulation (модели- рование с учетом временных параметров). При функциональном модели- ровании проверяется логическое функционирование проекта. Это по- веденческое моделирование, соответствующее извлеченным из файлов проекта спискам соединений. При моделировании с учетом временных параметров используются списки соединений после полной компиляции, включающие информацию о временных характеристиках ПЛИС. В по- следнем случае проверяется не только логика проекта, но и характе- ристики его быстродействия. Для определения режима моделирования Timing Simulation (моде- лирование с учетом временных параметров) выполните следующие дей- ствия: 1. В диалоговом окне Simulator Settings перейдите на вкладку Mode (режим). 2. В списке Simulation mode (режим моделирования) выберите Timing (с учетом временных параметров). В поле Description (описание)
276 появится описание моделирования с учетом временных параметр, (рис. 3.72). Рис. 3.72 Комментарий: Текст в окне Во время моделирования с учетом временных параметров использу- Description ется список соединений, включающий информацию о предположитель- ных или реальных задержках внутри ПЛИС. Этот список может быть списком только после синтеза и содержать предполагаемые задержки либо списком соединений после полной компиляции и содержать точно рассчитанные временные характеристики. Вы можете использовать команды Тс! и описания на макроязыке для контроля моделирования и обозначения входных векторов. Также вы можете задавать входные вектора из файла векторов временных диа- грамм (.vwf) или текстовых векторных файлов (.vec). Этот тип модели- рования также пригоден для расчета времени установки и удержания, выявления неполадок и проверки границ моделирования (отношение моделируемых точек к общему числу точек в проекте). 4. Установка дополнительных параметров моделирования На вкладке Options (дополнительные параметры) диалогового окна Simulator Settings устанавливаются дополнительные параметры для отслеживания обнаруженных при моделировании рисков (критических состязаний сигналов).
Самоучитель САПР Quartus II 277 Для установки параметров отслеживания рисков (критических со- стязаний) выполните следующие действия: 1. В диалоговом окне Simulator Settings перейдите на вкладку Op- tions (параметры). 2. Включите установку Simulation coverage report (сообщать об обнаруженных при моделировании рисках) (рис. 3.73). Рис. 3.73 3. При нажатий кнопки ОК все определенные вами для проекта filtref параметры и опции моделирования будут сохранены. Урок 16. Выполнение моделирования Чтобы запустить моделирование выполните следующие действия: 1. В меню Processing (обработка) выберите команду Run Simulation (запуск моделирования). После этого начинается моделирование объекта filtref верхнего уровня иерархии проекта, а также всех вложенных объектов проек- та, с использованием заданных для filtref параметров и векторного файла входных воздействий fir.vwf. При моделировании проекта автоматически открывается окно Status (состояние), в котором показывается ход моделирования. Кроме того, результаты моде- лирования показываются в окне Simulation Report (отчет о ком-
278 Часть 3 пиляции), содержимое которого изменяется в соответствии с теку- щим состоянием моделирования. Моделирование выполняется в фоновом режиме. Во время моде- лирования компьютер может быть использован для других задач. Моделирование проекта filtref не занимает много времени, поэтому вам не придется долго ждать. При работе со сложными проектами вы можете запустить моделирование, а затем переключиться на работу с другими окнами и программами. 2 После успешного завершения моделирования на экран будет выве- дено соответствующее сообщение. После этого нажмите кнопку ОК. 9 Дополнительную информацию можно получить в справочной сис- теме (Help) пакета Quartus в разделах "Creating a Breakpoint" (создание контрольных точек) и "Updating Embedded Memory" (обновление содержимого встроенной памяти). Урок 17. Анализ результатов моделирования В процессе моделирования автоматически появляется окно Simulation Report. Сообщения о моделировании отображают необходимую информа- цию о текущем моделировании. По умолчанию область временного анализа моделирования отображается в окне Simulation Report. При выборе раздела Simulation Waveform окна Simulator Report показываются полученные при моделировании временные диаграммы заданных выходов. Окно Simulation Report содержит также другие необходимые разделы, предоставляющие различную информацию, включая параметры модели- рования, генерируемые при моделировании сообщения, а также сообще- ние о затраченном на моделирование времени. В этом уроке описываются следующие действия: 1. Просмотр полученных при моделировании временных диаграмм. 2. Создание временных маркеров (Time Ваг). 1. Просмотр временных диаграмм моделирования После выполнения моделирования объектов выбранной части проекта вы можете просмотреть и проанализировать временные диаграммы за- данных выходных сигналов. Для просмотра полученных при моделировании временных диаграмм выполните следующие действия: 1 . В левой области окна Simulation Report выберите раздел Simu- lation Waveform (временные диаграммы моделирования). 2 . Чтобы увидеть временную диаграмму на всем временном интер- вале, в меню View выберите Fit in Window (вписать в окно)
Самоучитель САПР Quartus II 279 Временная диаграмма появится в правой области окна Simulation Report (рис. 3.74). Щелчок раскры- вает группу (шину) и показывает отдельные бито- вые сигналы шины । Кнопки перемещения опорного временного маркера 1 Кнопка перетаскивания опорного временного маркера Рис. 3.74 В редакторе Waveform Editor (редактор временных диаграмм) можно выполнять следующие действия с отображаемыми данными: можно выбирать систему счисления, используемую для отобра- жения значений групп (шин). Для этого выделите нужную группу, нажмите правую кнопку мыши и во всплывающем меню выберите Properties (свойства), а затем в списке Radix (основание системы счисления) выберите нужную систему счисления; вы можете перемещать по событиям на временной оси опорный временной маркер, нажимая на стрелки перемещения, как показано на рисунке. Кроме того, вы можете также перетаскивать временной маркер на нужное место непосредственно мышью за специальную кнопку на самом маркере; вы можете изменять масштаб отображения с помощью кнопки Zoom Mode Tool панели инструментов редактора Waveform Editor (редактор временных диаграмм), а также с помощью команд Zoom In (увеличить), Zoom Out (уменьшить), Fit In Window (вписать в окно) и команды Zoom (увеличение) в меню View; вы можете создавать дополнительные временные маркеры и ис- пользовать их для измерения временных интервалов (см. сле- дующий раздел).
280 Часть 3 2. Создание временных маркеров и измерение интервалов Для создания временного маркера выполните следуюшие действия: 1. Наведите указатель на кнопку перемещения опорного временного маркера (Master Time Bar handle), нажмите левую кнопку мыши и перетащите маркер до совмещения со вторым фронтом сигнала elk. Временное положение маркера отображается вверху окна и составляет 30.0 нс. 2. Переместите указатель на время 160 нс. Соответствующее поло- жению указателя мыши время 160.0 ns отображается вверху окна в поле Pointer (указатель). Интервал между опорным временным маркером и текущим положением указателя мыши 130.0 ns ото- бражается в поле Interval (интервал). 3 Нажмите правую кнопку мыши в области временных диаграмм и во всплывающем меню выберите Insert Time Ваг (вставить вре- менной маркер). 4. В поле Time (время) введите 160 и выберите из списка единиц измерения ns (наносекунды) (рис. 3.75). Рис. 3.75 5. Нажмите кнопку ОК. Созданный временной маркер появится на временной диаграмме в точке 160.0 ns. Над маркером отображается интервал +130.0 ns между первым и вторым временными марке- рами (рис. 3.76). Кнопка перетаскивания Кнопка перетаскивания опорного временного маркера нового временного маркера 11^1 |l. ni' ин ilfijionii .ii । Idkx2 Inewt Ireset |yva id Inext |yn_OLtl BOO. 0.0 ns r IfcAJ *» +130.0 ns .t.r.t."'1 ..1' ' " i" "' t.. г ЛПЛЛЛ ПЛЛПЛЛЛЛПЛПЛПЛП- лплпллллллл J HlWfllW TinnijniTOTOJinnW I i i i ("’’0 1 i ij i : i : i _ i i j ' u “ПГ I I "Г" •r'* I 1 I A 1“'—r>—T-----------------r 11-1» 11 I J 1 Il I 1 > I I I 1 I 4 1 t « ft II 11 Г.4...............- ..i t « H 1 I i l> * ... > I I* Ьи® 0ПЦ ------——- I 1 I 1 i t t 1 < f 1 1 t I > » 1 В I l I I t I _ I r... I-- Г1— a 1. T”T I 4 N U-4 f 4 I r « V 1 I ,, Л t 1 b. I l: < 1 в I I 1 i 1 i 1 в 1 _ i ГАф *¥**'*' -r I I —_ . I 1 1 J 1 У “--It Д-.’.'-у у. r—м™’7—*i *- it* r 1 4 I 1 I Г Jt 11 11 I 1 It 11 ^-***r«*-tMT****TA^^^ ------.----------- 1 I 1 I I I I I I I t 1 J f 1 t 1 г ШШоЬой ‘Г‘. Y~T“ 1 I 1 к 1 «"‘-‘Г Г"Т .... I В 1 1 I I ill 111 < .1 1 » i IK irillttil * I i I I I I t““-----T----r I Рис. 3.76
Самоучитель САПР Quartus II 281 При перемещении созданных временных маркеров по временной оси, соответственно будут изменяться отображаемые значения временных интервалов. 3.6. Программирование и конфигурирование ПЛИС Конфигурирование ПЛИС (например, АРЕХ20К), а также програм- мирование конфигурационных ПЗУ типа ЕРС2 выполняются в пакете Quartus с помощью подсистемы программирования Programmer (про- грамматор). Физически загрузка конфигурационной информации в микросхемы выполняется с помощью аппаратных устройств MasterBlaster или Byte- BlasterMV, подключаемых к соответственно к последовательному или параллельному порту персонального компьютера. Программатор (Programmer) пакета Quartus позволяет также выпол- нить следующие операции с конфигурационными ПЗУ ЕРС2 типа EEPROM: (Blank-check: проверить отсутствие в микросхеме записанной кон- фигурационной информации; (Examine: считать конфигурационную информацию из микросхемы; (Verify: сравнить конфигурационную информацию, считанную из запрограммированной микросхемы, и информацию из файла про- граммирования. Конфигурационная информация генерируется компилятором (Com- piler) пакета Quartus в виде одного или нескольких конфигурационных файлов. Последние затем используются программатором (Programmer) пакета для конфигурирования ПЛИС (например, АРЕХ20К) или про- граммирования конфигурационных ПЗУ ЕРС2. Программатор может использоваться для конфигурирования или программирования как одной, так и нескольких микросхем. Конфигурирование микросхем семейства APEX 20К может быть выполнено в следующих двух режимах: 1. Последовательный пассивный режим (Passive Serial configuration mode). 2. Режим JTAG (JTAG mode). В режиме JTAG может быть выполнена конфигурация одной либо нескольких микросхем. При этом конфигурация микросхем выполняется в порядке, указанном в окне подсистемы программирования (Programmer). В этом учебном пособии рассматривается программирование одной микросхемы.
282 Часть 3 Урок 18. Программирование микросхем фирмы Альгера В этом уроке описывается выполнение следующих действий: 1. Открытие окна подсистемы программирования (Programmer). 2. Установка пассивной последовательной цепочки конфигурирования. 3. Конфигурирование микросхемы. 4. Изменение режимов программирования. 5. Добавление микросхемы в цепочку конфигурирования. Перед выполнением описанных в данном разделе действий необхо- димо выполнить компиляцию проекта. 1. Открытие подсистемы программирования (Programmer) При подготовке к программированию или конфигурированию мик- росхем необходимо открыть окно программатора (Programmer) и создать файл *.cdf (Chain Description File