форум electronix
Главная > Quartus II по-русски

  Работа в среде Quartus II помимо очевидных плюсов, заложенных инженерами Altera, таит некоторые нюансы, связанные с тонкостями настройки приложений программы и организации ведения проектов Quartus II. Неочевидным минусом является то, что программа и документация к ней написаны на родном языке её авторов, а значит на неродном для большинства русскоговорящего контингента инженеров. Нарастающая сложность проектов требует внимания к деталям, а значит научиться думать на двух языках одновременно. Избежать возможной неопределённости можно с помощью документов раздела "Quartus II по-русски".
Приятного чтения!

СОДЕРЖАНИЕ
"Вводный курс Quartus II для пользователей Verilog"
"Инкрементная компиляция в Quartus II для иерархических и командных проектов"
"Tcl скриптирование"
"Симуляция проекта с помощью инструментов EDA"
"Поддержка Mentor Graphics ModelSim/QuestaSim"
"Временной анализатор Quartus II TimeQuest"
"Лучшие примеры для временного анализатора Quartus II TimeQuest"
"Экосистема отладки в чипе"
"Быстрая отладка проекта с помощью SignalProbe"
"Отладка в системе с использованием встроенного логического анализатора SignalTap II"
"Отладка в системе с использованием внешних логических анализаторов"
"Обновление памяти и констант в системе"
"Отладка в системе с помощью исходников и пробников в системе"
"Отладка цепей приёмопередатчика с помощью System Console"
в содержание
Вводный курс Quartus II для пользователей Verilog
Это небольшой самоучитель по проектированию в программе Quartus II. Существуют две версии этого самоучителя: для разработчиков на языке VHDL и для разработчиков на языке Verilog HDL. Я "прикипел" именно к Verilog HDL, а между двумя этими файлами отличие только в синтаксисе языка HDL. Вводный курс очень полезен начинающим разработчикам.
Введение
1 Начнём    4
  1.1 Он-лайн помощь Quartus II    5
2 Старт нового проекта    6
3 Ввод проекта с использованием кода Verilog    10
  3.1 Использование текстового редактора Quartus II    12
    3.1.1 Использование шаблонов языка Verilog    14
  3.2 Добавление файлов к проекту    14
4 Компиляция кода Verilog    17
  4.1 Ошибки    20
5 Использование RTL-просмоторщика    22
6 Определение временных ограничений    24
7 Окна в Quartus II    29
в содержание
Инкрементная компиляция в Quartus II для иерархических и командных проектов
Это мой перевод 2 главы 1 раздела 1 тома Quartus II Handbook. Volume 1: Design and Synthesis. 2.Quartus II Incremental Compilation for Hierarchical and Team-Based Design
Без средства "инкрементная компиляция" сложно представить современный проект на ПЛИС. Инкрементная компиляция позволяет зафиксировать уже разработанные части проекта, чтобы они не загружали компилятор, пока будут разрабатываться другие модули; позволяет обмениваться готовыми модулями между разработчиками; планировать размещение будущего проекта в чипе, резервируя место под модули. Облегчает достижение проектом временных ограничений. В общем, значительно экономит ваше время.
Титульный
Введение  2-1
Решим, стоит ли использовать процесс инкрементной компиляции   2-1
  Линейный процесс компиляции без создания разделов   2-2
    Интеллектуальная компиляция Quartus II   2-3
  Процесс инкрементной компиляции с разделами проекта   2-3
  Нисходящая версия процесса восходящей компиляции   2-6
Руководству по быстрому старту – общий подход к процессу инкрементной компиляции   2-7
  Подготовка проекта к нисходящей инкрементной компиляции   2-8
  Компиляция проекта с использованием инкрементной компиляции   2-9
Решим, какие блоки проекта будут его разделами   2-9
  Влияние разделов проекта на оптимизацию проекта   2-10
  Отчёты статистики разделов   2-11
  Временные отчёты разделов   2-13
  Советник по инкрементной компиляции   2-13
  Использование разделов с помощью инструментов синтеза сторонних разработчиков   2-15
    Synplicity Synplify Pro/Premier и Mentor Graphics Precision RTL Plus   2-15
    Другие инструментарии синтеза   2-15
  Сравнение Назначений разделов проекта и Назначений физического размещения   2-15
Создание назначений разделов проекта   2-16
  Создание разделов проекта с помощью Планировщика разделов проекта   2-16
  Создание разделов проекта в Окне разделов проекта   2-18
  Создание разделов проекта в Навигаторе проекта   2-18
  Создание разделов проекта с помощью Tcl скриптов   2-19
  Имя раздела   2-19
Установка типа списка соединений для раздела проекта  2-19
  Уровень сохранения компоновки   2-21
  Пустые разделы   2-22
  Где хранятся базы данных списков соединений?   2-23
  Какие изменения перезапускают автоматический синтез раздела?   2-23
    Определим, когда в разделах перезапускается синтез при изменении исходного кода   2-24
    Форсированное использование списка соединений пост-компоновка после внесения изменений в раздел   2-25
Создание архитектуры проекта с назначениями локализации LogicLock   2-25
  Привлекательные преимущества Начальной Временной Оценки   2-28
  Какие изменения в LogicLock перезапускают компоновку?   2-28
Экспорт и импорт разделов   2-29
  Файлы экспорта разделов Quartus II (.qxp)   2-30
  Общие сведения об инкрементной компиляции в восходящем проектировании   2-30
    Подготовка проекта для инкрементной компиляции в восходящем проектировании   2-31
    Создание и компиляция проектов нижнего уровня   2-31
    Экспорт низкоуровневых проектов   2-32
    Включение или импорт низкоуровневых проектов в головной проект   2-32
    Выполнение инкрементной компиляции в головном проекте   2-32
  Типы списков соединений для импортированных разделов   2-33
  Экспорт низкоуровневого раздела для использования его в головном проекте   2-34
  Экспорт низкоуровневого блока внутри проекта   2-35
  Использование .qxp файла в качестве исходного файла в головном проекте   2-36
  Импорт низкоуровневого раздела в головной проект   2-36
  Импорт назначений и расширенные настройки импорта   2-38
    Свойства разделов проекта после импортирования   2-38
    Импортирование назначений раздела из подпроекта   2-38
    Файлы Ограничений Проекта Synopsys для временного анализатора Quartus II TimeQuest   2-38
    Импортирование назначений LogicLock   2-38
    Импорт других назначений для блоков   2-39
    Импорт глобальных назначений   2-39
    Расширенные настройки импорта   2-39
      Позволить создавать новые назначения   2-39
      Снабдить назначениями все модули в импортированном блоке   2-39
      Назначение разрешения конфликтов: регионы LogicLock   2-39
      Назначение разрешение конфликтов: прочие назначения   2-40
  Генерация скриптов раздела восходящего проектирования для менеджера проекта  2-40
    Создание проекта   2-41
    Исключенные разделы   2-41
    Назначения из головного проекта   2-41
    Назначения виртуальных выводов   2-42
      Временные и локальные назначения для виртуальных выводов   2-42
      Назначения регионов LogicLock   2-43
      Назначения продвижения глобальных сигналов   2-43
      Генерация сборочного файла   2-44
  Импорт SDC ограничений из низкоуровневого проекта   2-45
    Создание .sdc файла с общими ограничениями для проекта   2-46
      Пример первого шага: Руководитель проекта создает файл .sdc с общими ограничениями проекта для проекта нижнего уровня   2-47
    Создание .sdc файла со специальными ограничениями для проекта   2-47
      Пример второго шага: Разработчик проекта нижнего уровня создает файл .sdc со специальными ограничениями раздела <   2-48
    Объединение SDC файлов в головном проекте   2-48
      Пример третьего шага: Руководитель проекта выполняет окончательный временной анализ и заканчивает работу   2-48
Рекомендованные процессы проектирования и примеры компиляции  2-49
  Уменьшение времени компиляции при изменении исходного файла для одного раздела   2-49
  Оптимизация размещения для критичных ко времени разделов для достижения временного завершения   2-50
  Сохранение результатов для выбранных разделов перед добавлением других разделов   2-51
  Инкрементная отладка с помощью Логического Анализатора SignalTap II   2-52
  Выполнение командного проекта в восходящем проектировании   2-53
    Разрешение конфликтов назначений во время импорта   2-55
    Импортирование раздела для многократного использования   2-55
  Выполнение итерации проекта в восходящем проектировании   2-56
  Создание макроса на аппаратном уровне (или предкомпилированных блоков проекта) для повторного использования IP   2-57
  Использование экспортированного раздела для передачи проекта без включения исходных файлов   2-59
Ограничения в инкрементной компиляции  2-60
  Сохранение точных временных характеристик   2-61
  Когда размещение и разводка не могут быть в точности сохранены   2-61
  Использование инкрементной компиляции с архивными файлами Quartus II   2-61
  Поддержка формальной верификации   2-61
  Импорт зашифрованного IP ядра в восходящем проектировании   2-61
  Выводы SignalProbe и менеджер инженерных изменений в Планировщике Чипа   2-62
    Разделы, связанные с выводами SignalProbe или изменениями ЕСО   2-62
    Экспортируемые разделы   2-63
  Встроенный логический анализатор SigalTap II в процессе восходящей компиляции   2-64
  Интерфейс логического анализатора в процессе восходящей компиляции   2-64
  Миграция проекта с разделами в различные чипы   2-64
  Компиляция HardCopy и процесс миграции   2-65
    Чипы HardCopy APEX и HardCopy Stratix   2-65
    Процесс миграции HardCopy ASIC   2-65
    Автономные компиляции HardCopy ASIC   2-65
  Назначения, сделанные в исходном коде HDL в восходящем проектировании   2-65
  Ограничения в разделах мегафункций   2-65
  Упаковка регистров и границы разделов   2-66
  Упаковка I/O регистров   2-66
  Ограничения в скриптах раздела восходящего проектирования   2-66
    Предупреждения о дополнительных тактах в отношении скриптов раздела восходящего проектирования   2-67
    Файл ограничения проекта Synopsys для временного анализатора TimeQuest в скриптах раздела восходящего проектирования   2-67
    Поддержка дикой карты в скриптах раздела восходящего проектирования   2-67
    Полученные такты и PLL в скриптах раздела восходящего проектирования   2-67
    Назначение выводов для блоков GXB и LVDS в скриптах раздела восходящего проектирования   2-68
    Временные назначения для виртуальных выводов в скриптах раздела восходящего проектирования   2-68
    Порты головного проекта, ведущие к множеству выводов проектов нижнего уровня в скриптах раздела восходящего проектирования   2-68
Поддержка скриптов  2-69
  Подготовка проекта для инкрементной компиляции   2-69
  Создание разделов проекта   2-69
  Настройка свойств разделов проекта   2-70
  Создание назначений локализации архитектуры – исключение или фильтрация определенные элементов чипа (таких как блоки памяти и DSP)   2-71
  Генерация скриптов раздела восходящего проектирования   2-71
    Поддержка командной строки   2-72
  Экспорт раздела для использования в головном проекте   2-73
  Импорт раздела нижнего уровня в головной проект   2-74
  Создатель файлов   2-74
  Рекомендуемый процесс разработки и примеры приложений компиляций – скриптирование и операции с командной строкой   2-74
    Уменьшение времени компиляции, когда изменяется исходный файл для одного раздела – пример с командной строкой   2-75
    Оптимизация размещения для критичных ко времени разделов   2-75
Заключение   2-76
Tcl скриптирование
Это мой перевод 3 главы 1 раздела 2 тома Quartus II Handbook. Volume 2: Design Implementation and Optimization Chapter 3. Tcl Scripting
Скрипты представляют более детальный подход в организации и управлении проектом. Они позволяют значительно экономить время за счёт автоматизации некоторых процессов разработки. В этой главе описаны общие вопросы использования Tcl скриптов в проекте Quartus II, а также описаны основы языка TCL.
Введение   3-1
    Что такое Tcl?   3-2
Quartus II Tcl пакеты   3-2
    Загрузка пакетов   3-3
Quartus II Tcl API помощь   3-3
    Опции командной строки: -t, -s, и --tcl_eval   3-6
        Запуск Tcl скрипта   3-6
        Режим интерактивной оболочки   3-6
        Определение в качестве Tcl   3-7
    Использование окна Quartus II Tcl консоли   3-7
Сквозной процесс проектирования   3-7
Создание проектов и назначений
  3-8
    Проекты в чипах HardCopy   3-8
Компиляция проектов   3-9
    Пакет flow   3-9
    Компиляция всех версий   3-9
Отчёты   3-10
    Создание .csv файлов для Excel   3-11
Временной анализ   3-12
Автоматическое исполнение скрипта   3-12
    Примеры исполняемых компонентов   3-13
    Контролирование процессов   3-14
    Отображение сообщений   3-14
Другие средства скрипта
  3-14
    Обычное наименование шины   3-15
    Опция сокращения имён   3-15
    Использование коллекции команд   3-15
        Команда foreach_in_collection   3-16
        Команда get_collection_size   3-16
    Использование команды post_message   3-16
    Доступ к аргументам командной строки   3-17
        Использование пакета cmdline   3-17
Использование оболочки Quartus II Tcl в интерактивном режиме   3-19
Использование оболочки tclsh   3-20
Основы Tcl скриптов
  3-20
    Пример “Hello world”   3-20
    Переменные   3-20
    Подстановка   3-21
        Подстановка значения переменной   3-21
        Подстановка вложенной команды   3-21
        Подстановка обратным слешем   3-21
    Арифметика   3-21
    Списки   3-22
    Массивы   3-22
    Контролирующие структуры   3-23
    Процедуры   3-24
    Входные/выходные файлы   3-25
    Синтаксис и комментарии   3-25
в содержание
Симуляция проекта с помощью инструментов EDA
Это мой перевод 1 главы 1 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 1. Simulating Designs with EDA Tools
После того, как фирма Altera прекратила поддержку собственного встроенного симулятора, разработчики были вынуждены выбрать себе альтернативный симулятор: ModelSim, QuestaSim, Active-HDL, Riviera-PRO, VCS, VCS MX или NCSim. В этой главе рассказывается о настройках программы Quartus II в разделе симуляции, о том, какие библиотеки симуляции потребуются для выполнения функциональной симуляции, временной на уровне вентилей и симуляции списка соединений пост-синтез. А также о настройках и использовании средства NativeLink, которое позволяет автоматизировать процесс запуска симулятора в оболочке Quartus II.
Введение   1-1
PLD процесс проектирования   1-2
    Процесс функциональной симуляции RTL   1-3
    Процесс временной симуляции на уровне вентилей   1-4
    Конвертирование формата BDF в формат HDL   1-4
Библиотеки симуляции   1-5
    Функциональная симуляция RTL   1-5
    Временная симуляция на уровне вентилей   1-6
    Файлы симуляции списков соединений   1-6
    Генерация файлов списков соединений для пост-синтез симуляции   1-7
    Генерация файлов списков соединений для временной симуляции на уровне вентилей   1-7
    Генерация файлов списков соединений для временной симуляции в различных временных моделях   1-8
EDA компилятор библиотек симуляции   1-9
    Запуск EDA компилятора библиотек симуляции в графической оболочке   1-10
    Запуск EDA компилятора библиотек симуляции из командной строки   1-11
Использование средства NativeLink   1-11
    Установка пути к исполняемым файлам EDA симулятора   1-11
    Конфигурирование настоек NativeLink   1-12
    Запуск RTL функциональной симуляции с помощью средства NativeLink   1-14
    Запуск временной симуляции на уровне вентилей с помощью средства NativeLink   1-14
    Установка файлов тестовых стендов в средстве NativeLink   1-14
Заключение   1-16
в содержание
Поддержка Mentor Graphics ModelSim/QuestaSim
Это мой перевод 2 главы 1 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 2. Mentor Graphics ModelSim/QuestaSim Support
В этой главе содержатся подробные инструкции, как симулировать ваш проект в программах ModelSim-Altera®, Mentor Graphics® ModelSim и Mentor Graphics QuestaSim. Рассматривается три способа симуляции: функциональная, пост-синтез и временная на уровне вентилей. Подробно рассмотрены различные способы симуляции с чипами, имеющими встроенные передатчики. Изложены инструкции по выполнению симуляции: в графической оболочке, из командной строки и с помощью Tcl скриптов.
Программные требования   2-1
Процесс проектирования с программой ModelSim-Altera или ModelSim/QuestaSim   2-2
Библиотеки симуляции   2-2
    Предварительно скомпилированные библиотеки симуляции в программе ModelSim-Altera   2-2
    Файлы библиотек симуляции в программе Quartus II   2-3
    Запрещение временных нарушений в регистрах   2-3
Выполнение симуляции в программе ModelSim-Altera   2-3
    Выполнение функциональной симуляции   2-3
        Установка проекта Quartus II для программы ModelSim-Altera   2-4
        Компиляция и загрузка проектов в программе ModelSim-Altera   2-4
        Выполнение симуляции   2-4
    Выполнение пост-синтез симуляции   2-4
    Выполнение временной симуляции на уровне вентилей   2-4
Выполнение симуляции в программе ModelSim/QuestaSim   2-5
    Симуляция VHDL проектов в графической оболочке   2-5
        Выполнение функциональной симуляции   2-5
        Выполнение пост-синтез симуляции   2-6
        Выполнение симуляции на уровне вентилей   2-7
    Симуляция Verilog HDL проектов в графической оболочке   2-7
        Выполнение функциональной симуляции   2-7
        Выполнение пост-синтез симуляции   2-8
        Выполнение симуляции на уровне вентилей   2-9
    Симуляция VHDL проектов в командной строке   2-9
        Выполнение функциональной симуляции   2-9
        Выполнение пост-синтез симуляции   2-11
        Выполнение симуляции на уровне вентилей   2-12
    Симуляция Verilog HDL проектов в командной строке   2-13
        Выполнение функциональной симуляции   2-13
        Выполнение пост-синтез симуляции   2-14
        Выполнение симуляции на уровне вентилей   2-15
    Передача параметрической информации от Verilog HDL к VHDL   2-15
    Ускорение симуляции   2-16
Симуляция проектов, имеющих передатчики   2-16
    Функциональная симуляция чипов Stratix GX   2-17
        Выполнение функциональной симуляции VHDL (ModelSim-Altera)   2-17
        Выполнение функциональной симуляции VHDL (ModelSim/QuestaSim)   2-17
        Выполнение функциональной симуляции Verilog HDL (ModelSim-Altera)   2-17
        Выполнение функциональной симуляции Verilog HDL (ModelSim/QuestaSim)   2-17
    Временная симуляция на уровне вентилей для чипов Stratix GX   2-18
        Выполнение временной симуляции на уровне вентилей VHDL (ModelSim-Altera)   2-18
        Выполнение временной симуляции на уровне вентилей VHDL (ModelSim/QuestaSim)   2-18
        Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim-Altera)   2-18
        Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim/QuestaSim)   2-19
    Функциональная симуляция чипов Stratix II GX   2-19
        Выполнение функциональной симуляции VHDL (ModelSim-Altera)   2-19
        Выполнение функциональной симуляции VHDL (ModelSim/QuestaSim)   2-19
        Выполнение функциональной симуляции Verilog HDL (ModelSim-Altera)   2-20
        Выполнение функциональной симуляции Verilog HDL (ModelSim/QuestaSim)   2-20
    Временная симуляция на уровне вентилей для чипов Stratix II GX   2-20
        Выполнение временной симуляции на уровне вентилей VHDL (ModelSim-Altera)   2-20
        Выполнение временной симуляции на уровне вентилей VHDL (ModelSim/QuestaSim)   2-20
        Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim-Altera)   2-21
        Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim/QuestaSim)   2-21
    Функциональная симуляция чипов Stratix IV GX   2-21
        Выполнение функциональной симуляции VHDL (ModelSim-Altera)   2-21
        Выполнение функциональной симуляции VHDL (ModelSim/QuestaSim)   2-21
        Выполнение функциональной симуляции Verilog HDL (ModelSim-Altera)   2-22
        Выполнение функциональной симуляции Verilog HDL (ModelSim/QuestaSim)   2-22
    Временная симуляция на уровне вентилей для чипов Stratix IV GX   2-22
        Выполнение временной симуляции на уровне вентилей VHDL (ModelSim-Altera)   2-22
        Выполнение временной симуляции на уровне вентилей VHDL (ModelSim/QuestaSim)   2-22
        Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim-Altera)   2-23
        Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim/QuestaSim)   2-23
    Функциональная симуляция чипов Stratix V GX   2-23
        Выполнение функциональной симуляции VHDL (ModelSim-Altera)   2-24
        Выполнение функциональной симуляции Verilog HDL (ModelSim-Altera)   2-24
        Выполнение функциональной симуляции Verilog HDL (ModelSim/QuestaSim)   2-24
    Транспортные задержки   2-24
Использование средства NativeLink с программой ModelSim-Altera или ModelSim/QuestaSim   2-24
Верификация сообщений об ошибке в ModelSim/QuestaSim   2-25
Генерация файла дампа изменений временных значений (.vcd) для PowerPlay Power Analyzer   2-25
Просмотр временных диаграмм из .wlf файла   2-26
Поддержка скриптов   2-26
    Генерирование списка соединений для пост-синтез симуляции в ModelSim/QuestaSim   2-27
        Tcl команды   2-27
        Командная строка   2-27
    Генерирование списка соединений для временной симуляции на уровне вентилей в ModelSim/QuestaSim   2-27
        Tcl команды   2-27
        Командная строка   2-28
Лицензирование программы и установка лицензии в ModelSim-Altera Subscription Edition   2-28
    Переменная LM_LICENSE_FILE   2-29
Заключение   2-29
в содержание
Временной анализатор Quartus II TimeQuest
Это мой перевод 7 главы 2 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 7.The Quartus II TimeQuest Timing Analyser
Средство TimeQuest - обязательный инструмент разработки любого более-менее сложного проекта. Временной анализатор Quartus II TimeQuest – это следующее поколение инструментария временного анализа, который поддерживает формат промышленного стандарта SDC и позволяет разработчикам создавать, управлять и анализировать сложные временные ограничения, а также выполнять расширенную временную верификацию.
Титульный
Введение   7-1
Начало работы с временным анализатором Quartus II TimeQuest   7-2
  Установка временного анализатора Quartus II TimeQuest   7-2
Процесс компиляции с указаниями временного анализатора Quartus II TimeQuest   7-2
Запуск временного анализатора Quartus II TimeQuest   7-4
  Непосредственно из программы Quartus II   7-4
  В автономном режиме   7-4
  В режиме командной строки   7-4
Общий вид временного анализатора   7-6
  Анализ тактов   7-10
    Контроль времени установки   7-10
    Контроль удержания тактов   7-11
    Восстановление и удаление   7-12
  Мультицикловые пути   7-14
  Метастабильность   7-15
  Пессимизм общих тактовых путей   7-16
  Такты в качестве данных   7-18
Руководство по процессу временного анализа в Quartus II   7-19
  Создание временного списка соединений   7-20
  Прочитать файл ограничений проекта Synopsys   7-20
  Обновление временного списка соединений   7-20
  Генерация временных отчётов   7-20
Коллекции   7-21
  Примеры приложений   7-22
Файл ограничения SDC   7-22
  Компоновка и временной анализ с помощью файлов SDC   7-22
  Определение SDC файлов для размещения и разводки   7-23
  Определение SDC файлов для статического временного анализа   7-23
  Первенство файла ограничений Synopsys   7-23
Спецификация тактов   7-24
  Такты   7-24
    Сгенерированные такты   7-25
  Виртуальные такты   7-28
  Мульти-частотные такты   7-29
  Автоматическое детектирование тактов   7-30
  Получение тактов PLL   7-30
  Ограничения тактов по умолчанию   7-33
  Тактовые группы   7-33
  Эффективные характеристики тактов   7-35
    Задержка тактов   7-35
    Неопределённость тактов   7-36
  Вычисление тактовой неопределённости   7-37
    Межтактовые переходы   7-38
    Внутритактовые переходы   7-38
    Тактовые переходы интерфейса I/O   7-38
Спецификация I/O   7-39
  Задержки входа и выхода   7-39
    Установка входной задержки   7-39
    Установка выходной задержки   7-41
Спецификация задержки и расфазировки   7-42
  set_net_delay   7-42
  set_max_skew   7-43
Временные исключения   7-44
  Приоритеты   7-44
  Ложный путь   7-44
  Минимум задержки   7-45
  Максимум задержки   7-46
  Мультицикловый путь   7-47
  Аннотированная задержка   7-48
  Примеры применения   7-50
Удаление ограничений и исключений   7-51
Временные отчеты   7-51
  report_timing   7-52
  report_exceptions   7-55
  report_metastability   7-57
  report_clock_transfers   7-57
  report_clocks   7-58
  report_min_pulse_width   7-59
  report_net_timing   7-60
  report_sdc   7-61
  report_ucp   7-61
  report_bottleneck   7-62
  report_datasheet   7-64
  report_rskm   7-64
  report_tccs   7-65
  report_partitions   7-66
  report_path   7-66
  report_net_delay   7-68
  report_max_skew   7-69
  check_timing   7-70
  report_clock_fmax_summary   7-73
  create_timing_summary   7-73
Средства временного анализа   7-74
  Многоугольный анализ   7-74
  Расширенные временные назначения I/O и модели трассировки платы   7-76
  Назначение "дикой карты" и коллекции   7-76
  Сброс проекта   7-78
  Межпробник   7-78
    locate   7-78
Графическая оболочка (GUI) временного анализатора TimeQuest   7-79
  Интерфейс и опции программы Quartus II   7-80
  Панель вида   7-81
    Панель вида: Дробление   7-81
    Панель вида: удаление разделённых окон   7-82
  Панель задач   7-83
    Открытие проекта и запись файла ограничений проекта Synopsys   7-83
    Папка установки списка соединений   7-83
    Папка отчётов   7-84
    Папка макросов   7-84
  Панель консоли   7-85
  Панель отчётов   7-85
  Ограничения   7-85
  Поиск по имени   7-87
  Панель объектов   7-88
  Редактор SDC   7-89
Заключение   7-89
в содержание
Лучшие примеры для временного анализатора Quartus II TimeQuest
Это мой перевод 8 главы 2 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 8.Best practices for the Quartus II TimeQuest Timing Analyser
В этой главе в очень сжатом виде преподносится информация о применении временных ограничений в проекте. Рассматриваются примеры написания TCL скриптов различных временных ограничений. Определённый минимум навыков.
Титульный
Введение   8-1
Тактовые ограничения   8-1
  Базовые такты   8-2
  Производные такты   8-2
  Виртуальные такты   8-2
I/O требования   8-4
  Входные требования   8-4
  Выходные требования   8-4
Исключения   8-5
  Ложные пути   8-5
  Минимум и максимум задержек   8-6
  Мультициклы   8-6
Заключение   8-7
в содержание
Экосистема отладки в чипе
Это мой перевод вводной главы 4 раздела 3 тома Quartus II Handbook. Volume 3: Verification. In system debugging
Даётся вводная информация о средствах отладки проекта в системе. Приводится методика выбора оптимального средства отладки с точки зрения использования доступных ресурсов и скорости получения данных. Приведено краткое сравнение таких средств: SignalProbe,встроенный логический анализатор SignalTap II, использование внешних логических анализаторов, редактор памяти и констант в системе, исходники и пробники в системе.
Введение   IV-1
  Экосистема отладки в чипе   IV-1
    Инструменты анализа для RTL узлов   IV-3
    Использование ресурсов   IV-4
    Использование выводов   IV-5
    Улучшенное удобство в применении   IV-6
  Инструменты, оказывающие воздействие   IV-8
    Исходники и пробники в системе   IV-8
    Редактор содержимого памяти в системе   IV-8
    Мегафункция интерфейса виртуального JTAG   IV-9
  Заключение   IV-9
в содержание
Быстрая отладка проекта с помощью SignalProbe
Это мой перевод 13 главы 4 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 13. Quick Design Debugging Using SignalProbe
SignalProbe, или пробники сигналов, - это действительно быстрый способ "установить" щуп осциллографа на выход практически любого регистра в проекте. При этом отсутствует какое-либо влияние от размещения SignalProbe на внутреннюю логику проекта и использование сетей линий трассировки сигнала.
Введение   13-1
  Отладка с использованием средства SignalProbe   13-1
    Резервирование выводов SignalProbe   13-2
    Выполнение полной компиляции   13-3
    Назначение исходников для выводов SignalProbe   13-3
    Добавление регистров линиям пути до вывода SignalProbe   13-4
    Выполнение SignalProbe компиляции   13-5
    Анализ результатов SignalProbe компиляции   13-5
Процессы SignalProbe ECO   13-6
    Процесс SignalProbe ECO с инкрементной компиляцией Quartus II   13-6
    Процесс SignalProbe ECO без инкрементной компиляции Quartus II   13-7
  Общие вопросы о средстве SignalProbe   13-8
Поддержка скриптов   13-11
    Создание вывода SignalProbe   13-11
    Удаление вывода SignalProbe   13-11
    Разрешение вывода SignalProbe   13-11
    Запрещение вывода SignalProbe   13-11
    Выполнение SignalProbe компиляции   13-11
    Перемещение предыдущих выводов SignalProbe в версии программы Quartus II 6.0 и старше   13-12
    Пример скрипта   13-12
    Использование SignalProbe для семейства чипов APEX™   13-12
    Добавление исходников SignalProbe   13-12
    Выполнение SignalProbe компиляции   13-13
    Запуск SignalProbe в интеллектуальной компиляции   13-13
    Осмысление результатов SignalProbe компиляции   13-14
    Средства анализа разводки SignalProbe   13-15
    Поддержка скриптов SignalProbe для чипов APEX   13-15
Резервирование выводов SignalProbe   13-16
    Добавление исходников SignalProbe   13-16
    Назначение стандартов I/O   13-16
    Добавление регистров к линиям пути   13-16
    Автоматический запуск SignalProbe   13-17
    Ручной запуск SignalProbe   13-17
    Разрешение или запрещение всей SignalProbe разводки   13-17
    Запуск SignalProbe в интеллектуальной компиляции   13-17
    Позволять SignalProbe модифицировать результаты предыдущей компоновки   13-17
  Заключение   13-18
в содержание
Отладка в системе с использованием встроенного логического анализатора SignalTap II
Это мой перевод 14 главы 4 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 14. Design Debugging Using the SignalTap II Embedded Logic Analyzer
Этот логический анализатор помогает отлаживать проект FPGA путём пробирования состояний внутренних сигналов без использования внешней обвязки. Все захваченные сигналы данных легко сохраняются в памяти чипа, пока вы не будете готовы для чтения и анализа данных. Обладая достаточными ресурсами внутренней памяти и логических элементов FPGA, вы достаточно просто сможете построить любую схему события (или последовательности событий), по которому данные будут защёлкиваться в памяти встроенного анализатора. SignalTap II - это наиболее экономичный способ получения многофункционального логического анализатора для быстрой и эффективной отладки проектов любой сложности.
Введение   14-1
    Требования к программе и оборудованию   14-2
Процесс разработки с использованием встроенного логического анализатора SignalTap® II   14-4
Задачи процесса встроенного логического анализатора SignalTap® II   14-4
    Добавление встроенного логического анализатора SignalTap® II в ваш проект   14-5
    Конфигурирование встроенного логического анализатора SignalTap® II   14-5
    Определение состояний триггеров   14-6
    Компиляция проекта   14-6
    Программирование выбранного чипа или чипов   14-6
    Запуск встроенного логического анализатора SignalTap II   14-6
    Наблюдение, анализ и использование захваченных данных   14-6
Добавление встроенного логического анализатора SignalTap® II в ваш проект   14-6
    Создание и разрешение файла SignalTap II   14-7
        Создание файла SignalTap II   14-7
        Разрешение или запрещение файла SignalTap II в текущем проекте   14-8
    Встраивание нескольких анализаторов в один FPGA   14-9
    Мониторинг ресурсов, используемых встроенным логическим анализатором SignalTap II   14-9
    Использование менеджера плагинов MegaWizard для создания вашего встроенного логического анализатора   14-10
        Создание HDL описания с использованием менеджера плагинов MegaWizard   14-10
        Порты мегафункции SignalTap II   14-13
        Размещение встроенного логического анализатора SignalTap II в вашем HDL коде   14-14
Конфигурирование встроенного логического анализатора SignalTap® II   14-14
    Назначение такта захвата   14-14
    Добавление сигналов в файл SignalTap II   14-15
        Сохранение сигнала   14-17
        Назначение сигналов данных с помощью поиска узлов   14-17
        Назначение сигналов данных с помощью обозревателя технологической карты   14-18
        Использование опций для сигналов из списка узлов   14-19
        Защищённые от захвата сигналы   14-19
    Добавление сигналов с помощью плагина   14-19
    Добавление регистров состояний конечного автомата   14-20
        Изменение и восстановление мнемонических таблиц для конечных автоматов   14-22
        Дополнительные возможности анализа   14-22
    Определение глубины замеров   14-23
    Сбор данных в RAM определённого типа   14-23
    Выбор режима для буфера сбора данных   14-23
        Несегментный буфер   14-24
        Сегментный буфер   14-24
    Использование средства квалификации памяти   14-25
        Режим входной порт   14-27
        Переходный режим   14-28
        Условный режим   14-29
        Режим старт/стоп   14-30
        Базовое состояние   14-31
        Показ прерываний данных   14-31
        Запрещение квалификатора памяти   14-31
    Менеджер нескольких файлов SignalTap II и конфигураций   14-32
Определение триггеров   14-33
    Создание базовых состояний триггера   14-33
    Создание расширенных состояний триггера   14-34
        Примеры выражений расширенных состояний триггера   14-35
    Контроль процесса состояний триггера   14-36
        Последовательный триггер   14-36
        Настраиваемые триггеры базовых состояний   14-38
        Язык описания процесса триггера SignalTap II   14-42
        Метки состояний   14-42
        Булевы соотношения   14-43
        Список действий   14-43
        Действия манипуляции с ресурсами   14-43
        Действия контроля буфера   14-44
        Действие перехода состояния   14-44
        Использование средства квалификатора памяти базовых состояний   14-45
    Определение позиции триггера   14-48
    Создание триггера включения   14-49
        Разрешение триггера включения   14-49
        Управление и конфигурирование состояний триггера включения и триггера в запущенном времени   14-50
    Использование внешних триггеров   14-51
        Входной триггер   14-51
        Выходной триггер   14-51
        Использование выхода триггера одного анализатора как входа триггера другого анализатора   14-52
Компиляция проекта   14-53
    Быстрые компиляции с инкрементной компиляцией Quartus II   14-53
        Разрешение инкрементной компиляции в вашем проекте   14-54
        Использование инкрементной компиляции со встроенным логическим анализатором SignalTap II   14-55
    Предотвращение изменений вынужденной перекомпиляции   14-57
    Сохранение временных параметров во встроенном логическом анализаторе SignalTap II   14-57
    Анализ ресурсов и характеристик   14-57
Программирование выбранного чипа или чипов   14-59
    Программирование одного чипа   14-59
    Программирование нескольких чипов для отладки нескольких проектов   14-60
Запуск встроенного логического анализатора SignalTap II   14-60
    Запуск с триггером включения   14-62
    Запуск с триггером в запущенном времени   14-62
    Выполнение форсированного триггера   14-62
    Опции реконфигурации в запущенном времени   14-63
    Статусные сообщения SignalTap II   14-65
Наблюдение, анализ и использование захваченных данных   14-66
    Наблюдение захваченных данных   14-66
    Захват данный с использованием сегментных буферов   14-67
    Создание мнемоники для последовательности битов   14-69
    Автоматическая мнемоника с плагином   14-69
    Локализация узлов в проекте   14-69
    Сохранение захваченных данных   14-70
    Конвертация захваченных данных в другие форматы файлов   14-70
    Создание файла списка SignalTap II   14-71
Другие средства   14-71
    Использование функции SignalTap II MATLAB MEX для захвата данных   14-71
    Использование SignalTap II в лаборатории   14-73
    Удалённая отладка с использованием встроенного логического анализатора SignalTap II   14-73
        Установка оборудования   14-73
        Установка программы на удалённом ПК   14-73
        Установка программы на локальный ПК   14-74
        Установка SignalTap II на локальный ПК   14-75
    Использование встроенного логического анализатора SignalTap II в чипах с конфигурацией Bitstream Security   14-75
    Обратная совместимость с предыдущими версиями программы Quartus II   14-76
Поддержка скриптов в SignalTap II   14-76
    Опции командной строки SignalTap II   14-76
    Опции Tcl команд SignalTap II   14-78
Пример проекта: использование встроенного логического анализатора SignalTap II в системах разработки SOPC   14-79
Примеры приложений процесса настраиваемого триггера   14-79
    Пример проекта 1: Определение позиции настраиваемого триггера   14-80
    Пример проекта 2: Захват, когда срабатывает triggercond1 ожидать десять тактов между triggercond2 и triggercond3   14-80
Заключение   14-81
в содержание
Отладка в системе с использованием внешних логических анализаторов
Это мой перевод 15 главы 4 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 15. In-System Debugging Using External Logic Analyzers
Это средство отладки имеет ряд отличий от встроенного логического анализатора SignalTap II. Внешний логический анализатор использует минимум логики чипа FPGA для реализации управляемых мультиплексоров, на которые поступают пробники сигналов. Он использует внешний тактовый сигнал, позволяя асинхронно контролировать пробники. Глубина захвата данных не зависит от внутренних ресурсов FPGA (в отличии от SignalTap II). Однако скорость получения данных меньше, чем в SignalTap II. И для размещения выводов анализатора приходиться резервировать внешние выводы FPGA, тогда как SignalTap II использует для отладки стандартные выводы JTAG. В этой главе содержится полная информация по элементов LAI и подводу к ним пробников. А также описано использование LAI в инкрементной компиляции Quartus II.
Введение   15-1
Выбор логического анализатора   15-1
    Необходимые компоненты   15-2
    Поддержка чипов FPGA   15-3
Отладка вашего проекта с использованием интерфейса логического анализатора   15-3
    Создание LAI файла   15-4
        Создание нового файла логического анализатора   15-5
        Открытие существующего файла интерфейса внешнего анализатора   15-5
        Сохранение файла интерфейса внешнего анализатора   15-5
    Конфигурирование основных параметров файла интерфейса логического анализатора   15-5
    Разводка выводов файла интерфейса логического анализатора по доступным I/O выводам   15-6
    Разводка внутренних сигналов к банкам интерфейса логического анализатора   15-7
    Использование поиска узлов   15-7
    Разрешение интерфейса логического анализатора перед компиляцией вашего проекта Quartus II   15-8
    Компилирование вашего проекта Quartus   II 15-8
    Программирование вашего FPGA, используя интерфейс логического анализатора   15-9
    Использование интерфейса логического анализатора с несколькими чипами   15-10
    Конфигурирование банков в файле интерфейса логического анализатора   15-10
    Получение данных в вашем логическом анализаторе   15-10
Расширенные средства   15-11
    Использование интерфейса логического анализатора в инкрементной компиляции   15-11
    Создание различных элементов интерфейса логического анализатора в одном FPGA   15-11
Выводы   15-12
в содержание
Обновление памяти и констант в системе
Это мой перевод 16 главы 4 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 16. In-System Updating of Memory and Constants
Это прекрасное средство отладки. С его помощью можно просматривать данные во внутренней памяти Altera, а также в реальном времени изменять их. Удобное средство для обновления программы встроенного процессора, а также для подбора коэффициентов цифрового фильтра.
Введение   16-1
Общее представление   16-1
Поддержка мегафункций чипом   16-2
Использование обновления в системе памяти и констант в вашем проекте   16-2
Создание модифицируемых в системе памяти и констант   16-3
Запуск редактора содержимого памяти в системе   16-3
    Менеджер элемента   16-4
    Редактирование данных в редакторе Hex   16-6
    Импорт и экспорт файлов памяти   16-6
    Просмотр содержимого памяти и констант   16-6
    Поддержка скриптов   16-8
    Программирование чипа, используя редактор содержимого памяти в системе   16-8
    Пример использования редактора содержимого памяти в системе вместе с встроенным логическим анализатором SignalTap II   16-9
Заключение   16-9
в содержание
Отладка в системе с помощью исходников и пробников в системе
Это мой перевод 17 главы 4 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 17. Design Debugging Using In-System Sources and Probes
Данное средство дополняет использование SignalTap II и SignalProbe. С его помощью вы можете создать исходные стимулы и проследить реакцию на их воздействие. Таким образом, оно позволяет создавать примитивное воздействие, например, нажатие на виртуальную кнопку или срабатывание виртуального датчика, с тем, чтобы уже в более мощных средствах отладки проследить реакцию на это воздействие.
Введение   17-1
Общее представление 17-1
    Требования к программным и аппаратным средствам 17-3
Процесс разработки с использованием исходников и пробников в системе   17-3
    Конфигурирование мегафункции altsource_probe 17-4
    Обработка мегафункции altsource_probe 17-6
    Компиляция проекта 17-6
Запуск редактора исходников и пробников в системе   17-7
    Программирование вашего чипа с использованием окна конфигурации цепи JTAG 17-8
    Менеджер элементов 17-8
    Окно редактора исходников и пробников 17-10
        Чтение данных пробников 17-10
        Запись данных 17-10
        Организация данных 17-10
Поддержка Tcl   17-11
Пример проектирования: Динамическая реконфигурация PLL   17-14
Заключение 17-17
в содержание
Отладка цепей приёмопередатчика с помощью System Console
Это мой перевод 11 главы 3 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 11. Transceiver Link Debugging Using the System Console
Средство Transceiver Toolkit появилось в 10 версии программы Quartus II. Оно предназначено для отладки и настройки цепей высокоскоростных приёмопередатчиков. Transceiver Toolkit позволяет проводить тестирование между платами, тестирование между чипами на одной отладочной плате, а также тестирование внутренней обратной связи в одном канале, без необходимости использования внешних обратных связей. Критерием тестирования является частота появления ошибочных битов (BER).
Введение в Transceiver Toolkit   11-1
    Интерфейс пользователя Transceiver Toolkit   11-2
Примеры проектов отладки цепи приёмопередатчика   11-3
    Установки тестов для цепи отладки   11-3
    Компиляция примеров проектов   11-8
    Изменение назначений выводов   11-8
Настройки тестовой цепи в Transceiver Toolkit   11-9
    Загрузка проекта в System Console   11-9
    Компоновка аппаратных ресурсов   11-9
    Создание каналов   11-10
    Запуск тестов цепи   11-11
    Просмотр результатов в средстве EyeQ   11-12
Использование Tcl в System Console   11-13
    Запуск Tcl скриптов   11-14
Использование сценариев   11-14
    Линковка одного проекта с одним чипом, подключение через один кабель USB-Blaster   11-15
    Линковка двух проектов с двумя отдельными чипами на одной плате (цепь JTAG), подключение через один кабель USB-Blaster   11-15
    Линковка двух проектов с двумя отдельными чипами на разных платах, подключение через отдельные кабели USB-Blaster   11-15
    Линковка одного проекта с двумя отдельными чипами   11-15
    Линковка несвязанных проектов   11-16
    Сохранение ваших установок в виде Tcl скриптов   11-16
    Проверка корректности каналов после создания цепи   11-16
    Использование рекомендованного DFE процесса   11-17
    Запуск синхронных тестов   11-17
    Разрешение внутренней последовательной обратной связи   11-18
Быстрый проводник по использованию Transceiver Toolkit в программе Quartus II   11-18
    Подготовка к использованию Transceiver Toolkit   11-18
    Работа с примерами проектов   11-19
    Редактирование примеров проектов   11-20
    Задание цепи в Transceiver Toolkit для тестов высокоскоростных цепей   11-21
    Запуск тестов Auto Sweep   11-22
    Запуск тестов EyeQ   11-22
    Запуск ручных тестов   11-23
    Использование обычного процесса   11-23
    Посмотрите онлайн демонстрацию   11-24
Заключение   11-24
в содержание