quartus что это такое
Quartus
Основным программным продуктом фирмы Altera является САПР Quartus – среда для проектирования и отладки проектов на СБИС ПЛ Altera. До версии 15.0 среда имела наименование Quatus II. Начиная с версии 15.1 она называется Quartus Prime. Последняя вышедшая на данный момент версия – Quartus Prime v18.1. Основные особенности Quartus Prime v18.1 представлены в новостном блоке нашего сайта.
Все версии САПР Quartus Prime доступны для скачивания с сайта Altera в трех вариантах: Quartus Prime Lite Edition (аналогичен Quartus II Web Edition), Quartus Prime Standard Edition (аналогичен Quartus II Subscription Edition) и Quartus Prime Pro Edition, предназначеный исключительно для работы с семействами Cyclone 10 GX, Arria 10 и Startix 10. Различия между вариантами Quartus Prime приведены в сравнительной таблице (формат pdf).
Варианты лицензий Quartus II Subscription Edition / Quartus Prime Standard Edition:
Варианты лицензий Quartus Prime Pro Edition:
Лицензия Pro включает в себя лицензию Standard, то есть имея лицензию Quartus Prime Pro Edition можно работать как в САПР Quartus Prime Pro Edition, так и в САПР Quartus Prime Standard Edition.
Также есть возможность апгрейда лицензии Quartus Prime Standard Edition до Quartus Prime Pro Edition, соответствующие артикулы приведены в списке артикулов ПО Altera.
Quartus II, начало знакомства
Программа на vhdl уже есть, теперь расскажу что с ней делать.
Вам нужен Quartus II Web Edition (если собираетесь работать с ПЛИС фирмы Altera), скачивайте по ссылке https://www.altera.com/download/dnl-index.jsp. Новую версию качать смысла не вижу, у меня 8.1 и я полностью доволен, в 9 версии отключили поддержку старых чипов, а в 10 уже нет симуляции.
С установкой проблем не должно быть.
При запуске программа предлагает создать новый проект или открыть существующий
выбираем “Create a New Project”, если уже зашли в программу, тогда
File->New Project Wizard…
Не думаю что вы увидите что-то новое: выбор каталога и название проекта, добавление файлов к проекту, выбор чипа, финиш.
Теперь нужно создать файл (основываясь на статью Что такое VHDL. Простейший пример создания логического элемента в ПЛИС) создаем файл vhdl
File->New->VHDL File
Копипастим в него весь код, сохраняем. Теперь указываем программе что это главный файл проекта
Project->Set as Top-Level Entity
(без этого ничего не получится).
Можно компилировать.
Processing->Start Compilation (Ctrl+L)
либо фиолетовый треугольник вверху на панели.
Выводится отчет о компиляции, если все хорошо – идем дальше.
Перед прошивкой нужно назначить соответствие между сигналами входа и выхода в проекте и пинами чипа. Заходим
Assignments->Pins
Внизу видим название наших сигналов. В поле Location просто выбираем нужный пин, либо клацнуть два раза на пине (где изображение микросхемы) и выбрать нужное имя.
В ПЛИС все пины равноправные, могут быть как входом, так и выходом, или двунаправленные. Некоторые выводы могут быть источником глобального клока, глобальным сбросом или глобальным enable. В нашем проекте есть все эти виды сигналов, конечно не обязательно их подключать к этим пинам, но в большем проекте где тактовый сигнал идет на много модулей это будет эффективней, поскольку физически они так построены внутри чипа. Также в зависимости от конкретной микросхемы можно выбирать нагрузочную способность вывода, подключать подтягивающий резистор или защитный диод.
После назначений выводов можно приступать к программированию
Tools->Programmer
Когда проект состоит из множества файлов (а это чаще всего), тогда удобно чтобы главным был файл схемотехнического описания. Создаем
File->New->Block Diagram/Schematic File
Сохраняем, назовем его main.
Чтобы добавить туда наш vhdl файл, надо создать с него символьный файл. Для этого выбираем vhdl файл, жмем
File->Create/Update->Create Symbol File for Current File
Возвращаемся к нашему main.bdf, жмем Symbol Tool (кнопочка в виде логического элемента И).
Программа создала 2 символьных файла, поскольку в vhdl два entity. Собственно то что мы описали в entity мы видим в образе этого символьного файла, некий черный ящик у которого есть входы и выходы, а то что в нем происходит описано в architecture.
Теперь добавляем пины, даем им какое-то осмысленное название.
Должно получится что-то типа этого:
Здесь можно добавлять различные интересные штуки, такие как микросхемы стандартной логики или различные сумматоры, мультиплексоры и т. д.
Также в зависимости от используемой микросхемы ее «фарш» в виде памяти, или как в семействе MAX II, встроенный генератор на 5 МГц. Все добавляется и соединяется проводами, причем в чипе оно также будет физически соединено.
Сохраняем файл, снова проделываем
Project->Set as Top-Level Entity
Теперь мои замечания и доработки проекта.
Здесь 2 entity будут лишними, поскольку в схемотехническом файле можно соединять все блоки привычным образом и одни сигнал пускать куда угодно.
Также здесь не нужно подключать библиотеку, т. к. она не используется (в ней описаны сигналы типа std_logic).
Наш файл упрощается до такого
теперь внесу свои 5 копеек в код
советую прочитать статью по симуляции и самостоятельно протестировать эту программу.
http://marsohod.org/index.php/ourblog/11/86-quartussim
Отмазки
Исторически сложилось что я описал создание проекта в Квартусе по первой статье о vhdl, хотя лучше было бы по второй. Но так как у меня были замечания по этой статье, а также хотелось Ultrin’у показать как создается проект в Квартусе я решил ничего не переделывать.
Intel Quartus Prime — все что нужно для работы с FPGA Intel
В 2015 году Intel приобрела компанию Altera — одного из известнейших разработчиков FPGA и SoC. Постепенно все продукты Altera — как аппаратные, так и программные — сменили свое название, в частности, ПО для дизайна FPGA-систем Altera Quartus стало именоваться Intel Quartus Prime. Мы часто упоминали о нем в связи с выходом очередных FPGA Intel, но никогда не описывали подробно. Сейчас есть время это сделать, тем более что со времен смены имени вышло уже несколько больших релизов, принесших новый функционал и поддержку новых устройств.
Итак, Intel Quartus Prime содержит все что вам нужно для разработки дизайна систем на базе Intel FPGA, SoC и Complex Programmable Logic Device (CPLD), начиная с самых основ и включая далее отладку взаимодействия, оптимизацию, верификацию и моделирование. В настоящее время предлагается три варианта поставки Quartus Prime:
Устройства | Pro | Standard | Lite |
---|---|---|---|
Stratix IV, V | ✓ | ||
Intel Stratix 10 | ✓ | ||
Arria II | ✓ | ||
Arria II, V | ✓ | ||
Intel Arria 10 | ✓ | ✓ | |
Cyclone IV, V | ✓ | ✓ | |
Intel Cyclone 10 LP | ✓ | ✓ | |
Intel Cyclone 10 GX | ✓ | ||
Intel MAX series | ✓ | ✓ |
Теперь об основном функционале — опять-таки применительно к различным версиям Intel Quartus Prime. Более подробную информацию можно найти на страничке продукта.
Quartus II
Программное обеспечение Quartus II предоставляет полный цикл для создания высокопроизводительных систем на кристалле. Quartus II объединяет в себе проектирование, синтез, размещение элементов, трассировку соединений и верификацию, связь с системами проектирования других производителей.
LogicLock
NativeLink
PowerFit
Технология размещения элементов и трассировки соединений PowerFit в программном обеспечении Quartus II использует временные параметры, заданные разработчиком, для оптимального составления схемы и размещения логических элементов. Интеллектуальный алгоритм трассировки по временным параметрам в программном обеспечении Quartus II уделяет первостепенное внимание соединениям, критичным к временным параметрам. Критичные к временным параметрам соединения оптимизируются в первую очередь, для уменьшения задержек и достижения максимальной производительности (fMAX). Дальнейшее улучшение параметра fMAX достигается использованием новейшей архитектуры, такой как в семействе устройств Stratix. Эта передовая технология размещения элементов и трассировки соединений помогает пользователям программного обеспечения Quartus II достичь максимальной производительности, и обладает самым малым временем компиляции проекта среди подобных средств разработки.
Верификация
Проверка или верификация проекта может оказаться самой продолжительной стадией в процессе разработки высокопроизводительных систем на кристалле (SOPC). Однако, используя Quartus II, возможно сократить время верификации, поскольку это программное обеспечение обладает набором собственных средств верификации, интегрированных с последними средствами верификации сторонних фирм.
Анализ
Altera разработала два метода, для того, чтобы помочь разработчикам проанализировать состояние внутренних точек и входов/выходов устройства. Это отладочное средство SignalProbe и логический анализатор SignalTap. Технологии SignalTap и SignalProbe могут работать совместно со средствами синтеза сторонних производителей и не требуют внесения изменений в исходный HDL файл проекта.
SignalProbe
Доступная в последних версиях программного обеспечения Quartus II технология аппаратной отладки SignalProbe позволяет пользователям последовательно соединять внутренние точки устройства со свободными зарезервированными выводами для анализа с помощью осциллографа или логического анализатора. При использовании технологии SignalProbe сохраняются все временные параметры и межсоединения устройства.
SignalTap
Для многих разработчиков, которые используют корпуса BGA с большим количеством входов/выходов, верификация системного уровня занимает очень много времени и иногда сильно затруднена. Логический анализатор SignalTap производит верификацию, с помощью интеграции функциональности логического анализатора в программном обеспечении. SignalTap позволяет разработчикам собрать данные с любых внутренних точек и входов/выходов устройства в режиме реального времени при работе системы. Quartus II вставляет в проект мегафункцию, содержащую логический анализатор. Данные собираются и сохраняются в блоках встроенной памяти устройства и направляются в программное обеспечение Quartus II через загрузочный кабель. Разработчики также могут подать внутренние сигналы на выводы устройства для дальнейшего мониторинга. Логический анализатор SignalTap позволяет существенно снизить время верификации, что позволяет в более короткие сроки выпускать новые продукты.
PowerGauge
Поддержка
Информация о поддержке семейств ПЛИС Altera в ПО Quartus II представлена в таблице 1.
Версии Quartus II Web Edition и Subscription Edition находятся на диске ALTERA, который можно заказать на сайте компании Гамма.
Intel Quartus Prime
В этой обзорной статье я постараюсь рассказать какие действия выполняются тем или иным пунктом меню САПР Quartus Prime. Я сделаю акцент только на самых часто используемых действиях, так что это будет не полное руководство, а скрорее краткий справочник. Тем не менее, такое, даже поверхностное знакомство поможет лучше ориентироваться в программе начинающим разработчикам. Некоторые пункты меню САПР Quartus являются совсем тривиальными, такими же как и в других программах вроде офисных пакетов, а некоторые очень специфичными. В целом среда Quartus не является очень сложной для освоения.
1. Меню File.
Пункт меню Create / Update еще много чего позволяет создавать, но описанные выше действия пожалуй самые распространенные.
2. Меню Edit.
Тут ничего нового, самое скучное меню. Такое же, как и в других программах, хоть даже в обычном текстовом редакторе:
3. Меню View.
Тут интереснее, так как это меню позволяет показывать или скрывать некоторые специфичные окна в среде Quartus Prime. Часто бывает, что какое-то окно случайно закрыл, а потом не знаешь, как его опять показать. Вот они все здесь. Самые часто используемые окна:
4. Меню Project.
Здесь довольно много всего. Я расскажу только про самые основные команды.
5. Меню Assignments.
Очень важный пункт меню. Именно отсюда делаются основные настройки проекта.
В этом диалоге довольно удобно показаны ресурсы микросхемы FPGA по объему памяти, количесву логики, умножителей, PLL. При разработке нового проекта для новой платы можно предусмотреть возможность размещения на одной и той же печатной плате разных, но совместимых микросхем с помощью кнопки Migration Devices.. Особое внимание так же рекомендую уделить следующему диалогу, который открывается по нажатию кнопки Device and Pin Options. Там делаются назначения для неиспользуемых в проекте выводов. Я рекомендую ставить Unused Pins в состояние Tristate Input (Хотя альтера рекомендует Output Zero). Здесь не буду расписывать подробно, я про эту опцию уже как-то писал.
На рисунке выше показано, как выглядит документ с назначениями сигналов. Тип назначения Location определяет местоположение сигнала на корпусе микросхемы. Но есть и другие типы назначений, например, можно сделать входной сигнал чуть подтянутым к питанию: Weak Pull-Up Resistor.
В меню Assignments есть и другие подпункты меню, но самые важные я кратко привел выше. Остальные пункты не так важны или даже мало применимы.
6. Меню Processing.
7. Меню Tools.
В этом меню очень много специфичных команд. Кратко опишу только те, которыми сам часто пользуюсь.
Поскольку каждый из этих пунктов важен и сложен, то хорошо было бы расписать их подробнее. Возможно я сделаю это в отдельных статьях.
8. Меню Help.
Это меню довольно заурядное, но хотел бы обратить внимание на пункты:
Это ссылки на обучающие материалы для пользователей VHDL и Verilog HDL. Материалы на английском языке, но это и не плохо на самом деле. Многие переводные материалы грешат неточностями и корявым переводом. Ну а разработчику для ПЛИС знать английский, конечно, желательно.
Пожалуй на этом краткий обзор пунктов меню САПР Intel Quartus Prime можно завершить.