Это первая часть цикла посвященная программируемой логике и среде разработки Quartus компании Altera. В ней разбирается процесс получения дистрибутива бесплатной редакции IDE Quartus. А также процесс создания нового проекта в данной среде.
Следующая часть цикла: ПЛИС Altera. Часть 2: проектирование цифровой схемы.
Во второй части разбирается процесс добавления к проекту новых файлов. Визуальное проектирование цифровой схемы.
Данный цикл статей ориентирован на работу с платой CTRL-CPLD-EPM570 на чипе Altera Max II. Эта плата не является строго необходимой для успешного освоения материала, так как описываемый в нем проект не использует каких-то специальных возможностей Max II.
Для загрузки проекта в микросхему используется недорогой программатор совместимый c Altera USB Blaster.
Внимание! В 2015 году Altera была приобретена компанией Intel. Бренд Altera прекратил существование в июле 2018 года, адрес сайта altera.com теперь никуда не ведет. Новое имя Altera – Intel Programmable Solutions Group (PSG). Вся документация и ПО необходимые для работы с ПЛИС Altera теперь доступны на сайте intel.com
Для создания проектов под ПЛИС Altera используется фирменная IDE — Quartus. Версий Quartus существует бесчисленное множество, и требуется выбрать правильную под имеющуюся микросхему. Altera регулярно выкидывает поддержку старых чипов из новых версий своего ПО. В свою очередь, в новых версиях Quartus меняются требования к программному и аппаратному обеспечению компьютера. Например, Quartus 13.1 является последней версией работающий как 64‑х так и 32‑х разрядных системах.
Данная серия статей ориентирована на Quartus версии 13.1. Так как с одной стороны, он не имеет специальных требований к разрядности операционной системы. С другой — он поддерживает микросхемы серии MAX II.
Для получения дистрибутива Quartus необходимо иметь аккаунт на сайте intel.com или intel.ru К сожалению, в настоящее время (в декабре 2018 года) процедура регистрации на сайте Intel несколько затруднена. Форму регистрации отыскать непросто. На нее можно выйти только на заключительном этапе загрузки дистрибутива. Также, в процессе регистрации Вам понадобится предоставить действующий адрес электронной почты, номер сотового телефона и обязательно придумать сложный пароль.
Пока идет активный процесс слияния Intel и Altera лучше воспользоваться сторонними ресурсами для загрузки Quartus. Дистрибутив выложен в общий доступ на Yandex‑диск, ссылка для загрузки: https://yadi.sk/d/bcrz7IAAKY6dQg
Для работы с микросхемой MAX II потребуется сам Quartus, и пакет для поддержки MAX II и MAX V. Это файлы «QuartusSetupWeb-13.1.0.162.exe» и «max_web-13.1.0.162.qdz» соответственно.
В конце статьи доступна и старая версия инструкции по загрузке дистрибутива: (Архив) Получение дистрибутива Altera Quartus. По ней можно получить примерное представление о том, как загрузить дистрибутив с сайта intel, так как на сайте Intel используется Software Selector от Altera. И также как у Altera, Software Selector перенаправляет пользователя на страницу входа при попытке скачать любой файл, в случае если пользователь предварительно не зашел на сайт со своей учетной записью.
Данная страница входа — единственное место, которое содержит ссылку на форму регистрации на сайте Intel. Ссылки для регистрации располагаются в правой части страницы. Для рядовых пользователей можно использовать ссылку «Register now for an individual account». Ссылка обозначена на рисунке ниже.
Установка САПР Quartus II не таит каких‑либо сюрпризов и проходит по отработанному алгоритму «Next → Next → Finish».
Параметры установки изменять не требуется. В дальнейшем предполагается что Quartus II был установлен с параметрами по умолчанию.
По окончании установки среда Quartus запустится автоматически. Этот автозапуск активирован по умолчанию.
При первом запуске САПР Quartus будет предложено настроить отправку телеметрии в Altera (здесь это называется TalkBack) и выбрать тип лицензии.
Отключение или включение «TalkBack» задается галочкой «Enable sending TalkBack data to Altera», которая доступна и после установки Quartus через меню Tools → Options → Internet Connectivity → кнопка «TalkBack Options…».
При запросе типа лицензии необходимо просто выбрать второй пункт: «Run the Quartus II software». Таким образом Вы выберете бесплатную лицензию.
На этом установка и первичная настройка ПО завершена и можно переходить к созданию своего первого проекта.
Первым делом создайте папку для нового проекта. Назовите ее «firstproject».
Внимание! Путь до директории проекта не должен включать кириллических символов! С поддержкой кириллицы у Quartus II 15 и 13 версии имеются проблемы. Другие версии не тестировались.
Теперь запустите Quartus II. При запуске свежеустановленного Quartus II Вас встретит окно, вид которого представлен ниже.
По центру окна приводятся ссылки для быстрого доступа к некоторым функциям среды и основным разделам сайта Altera.
Для создания нового проекта воспользуйтесь мастером доступным по кнопке «New Project Wizard» или через меню File → New Project Wizard.
При запуске мастера будет выведено окно, в котором представлено краткое перечисление параметров проекта, настраиваемых в процессе работы мастера.
Нажмите «Next» и будет выполнен переход к окну представленном на скриншоте ниже. В этом окне необходимо указать рабочую директорию («What is the working directory for this project?») и название всего проекта в целом («What is the name of this project?»). А также имя его главного модуля («What is the name of the top-level design entity for this project? …»).
В качестве имени главного модуля мастер автоматически подставляет название проекта и это общая рекомендация для проектов в Quartus II, от которой не стоит отклоняться без реальной необходимости.
Пара слов о самом «главном модуле». Проект Quartus II может включать в себя множество файлов (модулей) описывающих различные функциональные блоки проектируемой интегральной схемы. И среди этого множества обязательно выделяется один файл, в котором описываются взаимосвязи между всеми блоками схемы — top‑level design entity. Для небольших проектов, содержащих всего один файл, этот единственный файл будет являться и главным модулем проекта.
На следующем шаге мастер предложит добавить в новый проект файлы из каких-либо ранее созданных проектов. Так как это первый Ваш проект, то просто перейдите к третьему шагу.
Третий шаг один из самых важных. Здесь необходимо указать конкретную модель используемой Вами микросхемы ПЛИС. Окно мастера на данном шаге представлено на скриншоте ниже. В этом окне доступно множество параметров для поэтапного отбора необходимой микросхемы из обширного списка доступных. Начать лучше всего с блока «Device Family». Здесь нужно выбрать семейство к которому относится Ваш чип. На плате CTRL-CPLD-EPM570 установлен чип EPM570T100C5N, который относится к семейству Max II.
В блоке справа – «Show in ‘Available devices’ list», можно настроить фильтр для сокращения перечня микросхем, который располагается в нижней части окна. Можно указать тип корпусировки микросхемы. Количество выводов ее корпуса. А также скорость работы ядра в условных единицах. Предпоследним идет фильтрация по названию микросхемы. Удобнее всего будет использовать именно её, так как название микросхемы уже точно известно. Но по маркировке EPM570T100C5N никаких микросхем к выбору не предлагается. Сократите название до EPM570T100C5, и выберите в появившемся списке микросхему с этим названием как ближайшую совместимую.
Если обратится к даташиту, то выяснится что последняя буква N в маркировке микросхемы обозначает лишь отсутствие свинца в упаковке чипа. Данный факт не имеет значения для Вашего проекта в Quartus II так как ядро у EPM570T100C5N и EPM570T100C5 абсолютно идентично.
Перейдите к следующему, четвертому шагу – «EDA Tool Settings». Здесь можно настроить интеграцию с различными средствами автоматизированного проектирования от сторонних разработчиков, которые используются профессиональными проектировщиками микросхем. Так как целью этой статьи является помощь в освоении САПР Quartus II, а не целого пакета приложений стоимостью многие тысячи долларов, то просто перейдите к заключительному шагу.
На последнем шаге выводится обобщенный список параметров Вашего нового проекта. Проверьте чтобы были верно заданы такие параметры как: имя и рабочая директория проекта, top-level design entity, маркировка используемой микросхемы. После чего нажмите кнопку «Finish». На этом все! Проект создан.
Возможно, Вы обратили внимание что кнопка «Finish» доступна для нажатия уже с первого шага мастера. И ее действительно можно нажать уже на первом шаге, задав только рабочую директорию, имя проекта и главного модуля. Только эта информация является абсолютно необходимой для создания нового проекта. Все остальные параметры доступны для настройки в любое время, из главного меню программы. Так, чтобы добавить еще файлов в свой проект (второй шаг мастера) используйте меню Project → Add/Remove Files in project. Для выбора или изменения модели микросхемы под которую создается проект (третий шаг мастера) используйте меню Assignments → Device. Интеграция с дополнительными инструментами разработки (предпоследний шаг мастера) – это Assignments → Settings → EDA Tool Settings.
Вообще, все настройки проекта собраны в окне, вид которого представлен на скриншоте ниже. Окно вызывается через меню Assignments → Settings.
Пункт Files – именно это окно вызывается и из главного меню программы (Project → Add/Remove Files in project). EDA Tool Settings – аналогично. Выбор микросхемы доступен по кнопке «Device…» в правом верхнем углу окна настроек проекта.На этом первая часть статьи по обучению работе с ПЛИС компании Intel (Altera) завершается.
Следующая часть цикла: ПЛИС Altera. Часть 2: проектирование цифровой схемы.
Для получения дистрибутива Quartus зайдите в свой аккаунт myAltera на сайте altera.com: кнопка «LOG IN» в правом верхнем углу сайта, рядом со строкой поиска.
Если у Вас еще нет аккаунта myAltera, то Вы можете создать его просто перейдя по ссылке в самом низу формы регистрации, строка «Don’t have an account? Create one».
После входа в myAltera перейдите в центр загрузки сайта. Ссылка на момент написания: https://www.altera.com/downloads/download-center.html
Если ссылка окажется нерабочей, то перейдите в центр загрузки через домашнюю страницу своего аккаунта. Для этого выберите раздел «SUPPORT» и в нем перейдите по ссылке «Downloads», которая и приведет Вас в центр загрузки.
В центре загрузки есть прямые ссылки на загрузку последней версии Quartus в различных редакциях. Ниже располагается блок «Software Selector», прокрутите страницу до него.
В Software Selector реализовано несколько способов выбора необходимого дистрибутива Quartus, вкладки: «Select by Version» (прямой выбор по требуемой версии ПО), «Select by Device» (выбор версии ПО по наличию поддержки конкретной микросхемы), «Select by Software» (выбор программного продукта по его названию).
Наиболее удобным вариантом представляется выбор по наличию поддержки имеющейся микросхемы.
Например, если используется микросхема Altera Max II, то необходимо выбрать вкладку «Select by Device», и в блоке «Devices» раскрыть пункт «MAX series». В появившемся списке выбрать Max II.
Справа от блока Devices будет выведен список редакций и версий Quartus включающих поддержку Max II. Бесплатной редакцией является только Web Edition.
При выборе версии обратите внимание на тот факт, что Quartus II начиная с версии 14.0 работает только в 64‑битных системах. По этой причине рекомендую остановится на Quartus II 13.1. Далее будет описана работа и процесс установки именно для тринадцатой версии.
После выбора версии Вы перейдете на страницу параметров загрузки дистрибутива Quartus II Web Edition.
Рекомендуемые параметры для загрузки приведены на скриншоте выше.
«Operating System» — Windows.
«Download Method» выбирайте по своему усмотрению. Отличие «Akamai DLM3 Download Manager» от «Direct Download» в том, что в первом случае перед загрузкой файлов самого Quartus нужно будет сначала загрузить и запустить дополнительное приложение под ОС Windows. Это приложение позволяет выбрать к загрузке одновременно несколько файлов, а также поддерживает их докачку. При выборе режима загрузки «Direct Download» файлы можно будет загружать отдельно, каждый по своей ссылке, силами Web-браузера.
На скриншоте выше выбран вариант загрузки «Direct Download».
Загрузите файлы «Quartus II Software» и «MAX II, MAX V device support». Это необходимый минимум для работы с микросхемой MAX II.
Вконтакте
Начинающим часто непросто бывает разобраться с процессом установки среды разработки Quartus II для программируемых логических интегральных схем, или ПЛИС, фирмы Altera. Это руководство поможет сделать первый шаг в освоении такого непростого, но интересного дела, как разработка для ПЛИС.
Для начала нужно выбрать подходящую версию среды разработки Quartus II. Выбор зависит от того, какую именно ПЛИС вы будете использовать в своей работе: устаревшие ПЛИС не поддерживаются в самых последних выпусках Квартуса. Заходим на официальный сайт фирмы Altera и внизу страницы в разделе «Software Selector» смотрим, какая версия Quartus поддерживает вашу конкретную модель ПЛИС.
Выбираем подходящую версию Quartus IIНужно помнить, что «Subscription Edition» – это платная версия. Мы должны скачать бесплатную версию Quartus II – «Web Edition». Выбираем версию Quartus II в зависимости от семейства ПЛИС, которое будем использовать
Нас переводят на страницу с выбором операционной системы и компонентов Quartus II. Можно выбрать нужные компоненты по отдельности, скачать как DVD или как пакет. Проще всего зайти на ссылку «Combined Files» и скачать нужный архив с поддержкой всех требуемых устройств, кликнув по иконке с картинкой загрузки.
Выбор компонентов Quartus IIДля продолжения нам предложат зарегистрироваться на сайте Altera. Регистрируемся. Процедура стандартная. Начинается загрузка, ждём ей окончания. Время загрузки зависит от скорости вашего интернет-соединения. Объём скачиваемых данных примерно 3-4 Гб
Регистрация на официальном сайте AlteraКогда всё загрузилось, запускаем файл QuartusSetupWeb.exe. Выбираем место расположения Quartus II.
В пути к директории установки Quartus II не должно быть кириллицы и пробелов (например, «Мои документы» – плохое место для установки Квартуса), иначе в будущем это может вызвать проблемы при работе с ПЛИС. Хороший вариант пути для установки C:/Altera/.
Далее выбираем компоненты для установки. В зависимости от параметров вашего компьютера, процесс установки может занять до часа. Дожидаемся окончания процесса установки среды разработки Quartus II на компьютер.
Установка среды разработки Quartus IIВсё, среда разработки Quartus II установлена! Запускаем её по ярлыку на рабочем столе или в меню «Пуск».
Окончание установки Quartus iiПЛИС чувствительны к статическому электричеству, так что применяйте соответствующие меры предосторожности.
В публикации рассказывается о том, как произвести установку САПР Altera Quartus II Web Edition (далее просто Quartus) в пакетном режиме на компьютер, работающий под управлением ОС Debian Linux amd64. Автор использует Quartus для работы с платами семейства Марсоход, так что в публикации также приведён небольшой обзор этого семейства, и то, какие версии Quartus для каких плат Марсоход годятся.
Материал будет полезен всем, кто начинает работать с Quartus под ОС GNU/Linux.
На сайте marsohod.org имеется инструкция по установке Quartus, однако прошло больше 5 лет с момента публикации этой инструкции, а кроме того, в инструкции приводится описание установки Quartus для ОС семейства Windows. Скачав с сайта Altera несколько версий Quartus для Linux я убедился в том, что установка Quartus не является чем-то сверхсложным, но на первых порах может вызывать затруднения: количество версий этого самого Quartus’а велико, требуется осуществлять манипуляции с гигабайтными файлами — допустить ошибку довольно легко. Отдельно меня очень расстраивала невозможность установить Quartus в пакетном режиме — т.е. подготовить в текстовом файле/скрипте конфигурацию, запустить установку и заниматься другими делами, а не ждать, когда установщик соизволит задать свой новый, неожиданный вопрос.
Для того, чтобы сделать установку совсем несложной были написаны соответствующие скрипты (см. ниже) и создана эта публикация.
Однако прежде чем устанавливать Quartus надо проделать предварительные расчёты — определиться с тем, для чего будет использоваться Quartus и уточнить, под какой ОС будем Quartus запускать.
Марсоход2 | Марсоход2bis | Марсоход3 | Марсоход3bis | |
---|---|---|---|---|
Семейство ПЛИС | Cyclone III | Cyclone IV | MAX10 | MAX10 |
ПЛИС | EP3C10E144C8 | EP4CE6E22C8 | 10M50SAE144C8GES | 10M08SAE144C8GES |
— Логических элементов (LE) | 10’320 | 6’272 | 49’760 | 8’064 |
— Встроенная память, бит | 423’936 | 276’480 | 1’677’312 | 387’072 |
— USER I/O | 91 | 94 | 101 | 101 |
версия Quartus II Web Edition | <= 13.1 | <= 15.0 | >= 15.0 | >= 15.0 |
Примечание: плата Марсоход в таблицу не вошла, использованная в ней ПЛИС MAX II относится совсем к иному классу нежели ПЛИС Cyclone и MAX10. Уточню лишь, что для работы с пока MAX II годятся как сравнительно старые так и новейшие версии Quartus.
Замечание: конечно же для работы с Cyclone III можно установить более старую, нежели 13.1 версию Quartus, однако попытка установить какую-нибудь немолодую версию навроде 9.1 может выявить отсутствие каких-то древних системных библиотек в современной версии Debian, а разбираться с этий без должных оснований ой как не хочется.
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/altera/13.1/quartus/linux/jre/lib/i386/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory ... Error: Wizard "Altera PLL v13.1" cannot be launched.
# apt-get install libxtst6:i386
Error (11371): Compiling a design on Cyclone V 5CSEMA5 requires at least a 64-bit version of the Quartus II software.
$ lscpu | grep "^CPU op-mode" CPU op-mode(s): 32-bit, 64-bit
flags:
в /proc/cpuinfo
: если там присутствует флаг lm, то процессор поддерживает 64-разрядный режим.dpkg --add-architecture i386 apt-get update apt-get install libc6:i386 apt-get install libpng12-0:i386 apt-get install libfreetype6:i386 apt-get install libsm6:i386 apt-get install libxrender1:i386 apt-get install libfontconfig1:i386 apt-get install libxext6:i386 apt-get install libxtst6:i386
apt-get install expect
quartus-linux-install
:git clone https://github.com/open-design/quartus-linux-install
quartus-linux-install
имеется два подкаталога: Quartus-13.1
и Quartus-15.0
. В них следует посместить отдельные файлы дистрибутива Quartus и файлы из Updates. Списки файлов для скачивания из Altera Download Center можно просмотреть в файлах MD5SUMS.md5sum
, вот пример для Quartus 13.1:$ cd quartus-linux-install/Quartus-13.1 Quartus-13.1 $ md5sum -c MD5SUMS arria_web-13.1.0.162.qdz: OK cyclonev-13.1.0.162.qdz: OK cyclone_web-13.1.0.162.qdz: OK max_web-13.1.0.162.qdz: OK ModelSimSetup-13.1.0.162.run: OK QuartusSetup-13.1.4.182.run: OK QuartusSetupWeb-13.1.0.162.run: OK
Quartus-13.1# unset DISPLAY Quartus-13.1# ./install-quartus-13.1.4.182.exp /opt/altera/13.1
Какой бы проект для CPLD или FPGA мы ни делали: сложный или простой, всегда полезно произвести его симуляцию. Симуляция – это программное тестирование проекта, всегда делается до его проверки в железе. Микросхема имеет входы и выходы. Если мы зададим, например, последовательность и длительность входных импульсов, то система проектирования сможет просчитать результирующие сигналы на всех выходах. И не только на выходах! С помощью симуляции можно заглянуть внутрь всех модулей проекта и посмотреть на процессы, происходящие внутри чипа. Так, еще до тестирования в реальном чипе можно понять правильно работает проект или нет – ведь вы же знаете какие сигналы должны быть на выходах вашей микросхемы?
Этот урок про средство разработки Altera Quartus II и про симуляцию проекта. Дальше будет очень много картинок!
Сразу сделаю оговорку: я буду описывать симуляцию именно средствами Quartus II. Существуют дополнительные программные инструменты сторонних разработчиков, подключаемые к Qaurtus II. Они, возможно, имеют большие возможности, но и сложнее. Один из лидеров в разработке средств тестирования электронных проектов – компания Mentor Graphics. Они, совместно с Altera, разработали программный продукт ModelSim-Altera. На сайте Альтеры можно скачать свободную версию этого продукта, но она имеет ограничение на размер проекта (кажется 10000 строк кода). Основная версия – платная, стоит около 1000$. Однако, как я сказал, мы сейчас не будем использовать ModelSim, а будем использовать встроенные в Quartus II средства.
Теперь вопрос – что мы будем симулировать. Я предлагаю сделать элемент D-триггер на логических элементах И-НЕ и посмотреть, как он работает. Я выбрал этот пример не случайно. Вот D-триггер:
На самом деле D-триггер буквально мистическое устройство. Без него нет цифровых микросхем. Элемент D-триггер запоминает один бит информации. В современных сложных схемах их многие многие тысячи. В чипе платы Марсоход их всего 240. Триггера запоминают состояние входной линии данных именно в момент фронта сигнала тактовой частоты. Это свойство чувствительности именно к перепаду уровня сигнала (от логического нуля до логической единицы или наоборот) тактовой частоты очень ценно.
Состояние цифровой схемы в каждый момент схемы описывается значениями записанными в триггера. По каждому фронту тактовой частоты триггера переключаются в новое состояние, сохраняя новое, вычисленное комбинаторными функциями значение. Так как запоминание
В 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:
Это пятая часть цикла посвященная программируемой логике и среде разработки Quartus II компании Intel (Altera).
Ссылки на предыдущие части:
ПЛИС Altera. Часть 1: установка и настройка среды разработки.
ПЛИС Altera. Часть 2: проектирование цифровой схемы.
ПЛИС Altera. Часть 3: первая компиляция проекта
ПЛИС Altera. Часть 4: доработка схемы и плата CTRL-CPLD-EPM570
В первой части рассказывалось о загрузке и установке Quartus II Web Edition 13.1, создании пустого проекта с помощью мастера.
Во второй части рассматривалось проектирование цифровой схемы, определялась последовательность шагов для создания конфигурации ПЛИС.
В третьей части описывался процесс компиляции проекта и работа с окном сообщений выводимых при компиляции. Там же выполнялась настройка главного модуля проекта.
Четвертая часть целиком посвящена электрической части проекта: плате CTRL-CPLD-EPM570 и пробной схеме с кнопками и светодиодами.
В пятой части рассказывается о настройке выводов микросхемы ПЛИС.
Напоминаю, что процесс создания конфигурации ПЛИС предполагает следующие этапы:
проектирование цифровой схемы;
анализ созданной схемы на наличие ошибок;
привязка входов и выходов схемы к конкретным выводам ПЛИС;
компиляция проекта и создание двоичных файлов для конфигурирования ПЛИС;
конфигурирование ПЛИС посредством USB Blaster.
Первые два этапа были подробно описаны в предыдущих частях. Пятая часть полностью посвящена третьему этапу.
Настройка выводов ПЛИС выполняется с помощью инструмента «Pin Planner». Он используется для привязки спроектированной в Quartus II схемы к физическим выводам микросхемы ПЛИС. Здесь же настраиваются их электрические параметры: стандарт ввода‑вывода и максимальный рабочий ток.
«Pin Planner» можно вызвать либо из главного меню программы, Assigments → Pin Planner. Либо с помощью кнопки на стандартной панели инструментов. Эта кнопка обозначена на следующем рисунке.
Само окно «Pin Planner» представлено на рисунке ниже. В центре окна располагается схематичное представление чипа Altera. Изображение корпуса микросхемы может выводится в двух режимах: «Top View» и «Bottom View».
Режим «Top View» выводит изображение с видом сверху на корпус микросхемы, первая ножка располагается в левом верхнем углу корпуса. «Bottom View» – это вид снизу, первая ножка располагается в правом верхнем углу. Указанные режимы можно переключать с помощью меню View → Show → Package Top и View → Show → Package Bottom соответственно. Пункты Package Top и Package Bottom доступны и из контекстного меню изображения чипа. Название текущего режима отображения выводится в первой строке на изображении микросхемы. По умолчанию включен – «Top View».
Помимо режима отображения на корпусе микросхемы указываются:
«Wire Bond» – название способа соединения кристалла микросхемы с ее корпусом, проволокой микронной толщины.
«MAX II» – серия используемой микросхемы.
«EPM570T100C5» – наименование модели чипа.
По периметру корпуса расположены условные обозначения выводов микросхемы. Расшифровка обозначений выводов приводится в окне «Pin Legend». Окно «Pin Legend» находится в правой части окна «Pin Planner», оно выделено блоком под номером один на рисунке выше. Если окно «Pin Legend» отсутствует, то его можно вызвать с помощью меню View → Pin Legend Window.
В окне «Pin Legend» перечисляются следующие варианты обозначения выводов, доступные для выбранной модели микросхемы:
«User I/O» – эти выводы доступны для использования в создаваемых пользователем схемах.
«User assigned I/O» – эти выводы уже выбраны пользователем для схемы.
«Fitter assigned I/O» – данные выводы выбраны средой Quartus автоматически. Автоматический выбор выводов выполняется во время полной компиляции, в том случае, если в схеме имеются входы или выходы, для которых пользователь не задал выводов микросхемы.
«Unbonded pad» – эти выводы не используются (не соединены с кристаллом) в выбранной микросхеме.
«Reserved pin» – настраиваются пользователем. Эти выводы не будут использоваться в синтезированной схеме. Данная настройка переопределяет глобальную настройку по умолчанию для неиспользуемых выводов в среде Quartus. О зарезервированных выводах рассказывается ниже.
«DEV_OE», «DEV_CLR», «CLK_n» – выводы с предопределенной функцией. Они имеют особую разводку на кристалле микросхемы и могут использоваться для выполнения специальных функций. «DEV_OE» – для перевода в высокоимпендансное (High‑Z) состояние всех выводов. «DEV_CLR» – для сброса в исходное состояние всех регистров микросхемы. «CLK_n» – как вход тактового сигнала схемы. Тем не менее их можно использовать и как обычные входы/выходы пользовательской схемы. Но не стоит этого делать без особой необходимости.
«TDI», «TCK», «TMS», «TDO», «VCCINT», «VCCIO», «GNDINT», «GNDIO» – группа выводов с жестко заданной функцией. Эти выводы нельзя использовать для пользовательской схемы. Так «VCCINT» и «GNDINT» это выводы питания ядра ПЛИС. А «TDI», «TCK», «TMS», «TDO» используются для подключения программатора.
Для того чтобы выбрать конкретные выводы микросхемы для своей схемы используйте окно «All pins». Это окно находится в нижней части окна «Pin Planner», на предыдущем рисунке оно обозначено блоком под номером два. Если окно «All pins» закрыто, то его можно вызвать с помощью меню View → All Pins List.
Окно «All pins» оформлено в виде таблицы из семи колонок: «Node Name», «Direction», «Location» и «I/O Bank», «I/O Standart», «Reserved», «Current Strength».
Ячейки этой таблицы редактируются как привычным двойным кликом левой кнопки мыши, так и с помощью специализированного поля «Edit:» в верхней части окна «All pins».
Ячейки в колонках «Node Name» и «Location» допускают ввод новых значений с клавиатуры. В остальных колонках реализован выбор значений из выпадающего списка.
При непосредственном редактировании ячейки, ввод нового значения подтверждается клавишей «Enter», после чего выполняется автоматический переход на ячейку строкой ниже. Это может немного дезориентировать, так как выделена будет не та ячейка что была изменена.
По сравнению с этим, использование поля «Edit:» выглядит более предсказуемым, так как выделение никуда автоматически не перемещается. Для ввода нового значения с использованием «Edit:» сначала необходимо выбрать ячейку. После, выполнить двойной клик на значении ячейки в поле «Edit:» и задать новое значение. Подтверждение ввода выполняется кликом на кнопке с зеленой галочкой. Отмена — красный крестик. Кнопки активны только во время редактирования. Описанный порядок действий обозначен на рисунке выше.
Рассмотрим назначение каждого столбца окна «All pins».
В первой колонке – «Node Name» перечисляются входы и выходы спроектированной схемы. Все существующие выводы схемы добавляются сюда автоматически после выполнения «Analysis & Synthesis». Список выводов в «Node Name» автоматически обновляется и при выполнении каждой новой компиляции. Следовательно, можно отредактировать схему: добавить или удалить несколько выводов. Запустить анализ и синтез схемы. В результате, среда автоматически добавит новые или удалит отсутствующие на схеме выводы. Удалять выводы из списка можно и вручную с помощью меню Edit → Delete, или кнопкой «Del» на клавиатуре.
Добавлять входы и выходы можно вручную, просто выполнив двойной клик на ячейке с текстом <<new node>> и введя имя вывода с клавиатуры. Аналогично можно отредактировать названия уже добавленных выводов схемы. Но имя вывода в «Node Name» должно до буквы совпадать с его именем на схеме, иначе Quartus не сможет выполнить их сопоставление и во время компиляции обозначит этот вывод как неизвестный.
Вторая колонка – «Direction» заполняется системой автоматически после анализа и синтеза схемы. Она недоступна для редактирования и несёт информационную функцию. В этой колонке указывается тип вывода схемы: «Input» – вход, «Output» – выход, «Bidir» – двунаправленный вывод и «Unknown» – вывод тип которого не удалось определить.
Выводы с типом «Unknown» — это свидетельство ошибок проектирования. Если «Direction» вывода – «Unknown», то это говорит о том что, либо был удален контакт схемы, с которым этот вывод был связан, либо это неправильно настроенный зарезервированный вывод.
Следующая пара колонок: «Location» и «I/O Bank». Именно в них определяется принадлежность входов и выходов схемы конкретным ножкам микросхемы.
Столбец «Location» дает возможность задать назначение для входа/выхода схемы с точностью до конкретной ножки чипа. Новое значение «Location» можно как ввести с клавиатуры, так и выбрать из выпадающего списка. Кнопка вызова выпадающего списка появляется при редактировании ячейки. Пример выпадающего списка «Location» представлен на следующем рисунке.
В списке доступны следующие варианты:
EDGE_BOTTOM, EDGE_LEFT, EDGE_RIGHT, EDGE_TOP: указывают что настраиваемый вывод схемы будет автоматически выбран из выводов на нижней, левой, правой или верхней грани корпуса чипа соответственно.
I/O BANK 1, I/O BANK 2: настраиваемый вывод схемы будет автоматически выбран из первого или второго банка выводов.
PIN_номер: назначение выводу схемы конкретной ножки микросхемы.
Первые две группы вариантов не определяют конкретной ножки микросхемы. Здесь выбор ножки остается за Quartus. Вывод микросхемы будет назначен средой автоматически при выполнении полной компиляции на этапе «Fitter (Place & Route)». Данные настройки предназначены для работы с широкими сигнальными шинами, когда множество дорожек должны идти от чипа рядом друг с другом. Параметр «EDGE_…» является более общим по сравнению с «I/O BANK X», так как по одному краю корпуса чипа могут идти выводы разных банков.
Группировка же выводов в банки обуславливается внутренним устройством микросхемы Max II. Внутри чипа предусмотрены цепи для преобразования входного напряжения питания в различные по уровню выходные напряжения логических единицы и ноля. В EPM570T100C5 таких преобразователей всего два. Поэтому все доступные пользователю выводы разделены на две группы. Рабочее напряжение любой ножки в каждой из групп может настраиваться в широких пределах от 1,5 до 3,3 В. Но это напряжение должно быть одинаковым для всех ножек в пределах одного банка.
Для схем с небольшим числом входов и выходов наиболее удобным вариантом настройки является прямое указание конкретной ножки микросхемы — третий вариант. Эта настройка может быть выполнена как прямой правкой значения в «Location», так и простым перетаскиванием конкретного вывода схемы из столбца «Node Name» на требуемую ножку на изображении корпуса микросхемы.
Следующая колонка — «I/O Bank» позволяет указать банк выводов микросхемы. Этот параметр является взаимосвязанным с параметром «Location». При указании номера банка в колонке «I/O Bank», в «Location» будет автоматически подставлен соответствующий банк ввода‑вывода. И наоборот, при выборе банка или вывода в «Location» значение банка будет определено автоматически. Так как для малых проектов нет необходимости работать с банками ввода‑вывода, то подойдет и автоматически подставляемое значение «I/O Bank».
А вот следующий параметр «I/O Standart» является важным для любого проекта. Здесь настраивается стандарт ввода‑вывода для выбранной ножки микросхемы. Стандарт ввода‑вывода определяется его электрическими характеристиками, в первую очередь — это максимально допустимые уровни напряжения и тока. Как уж говорилось выше, ПЛИС Max II может работать в широком диапазоне напряжений, и очень важно выбрать правильное напряжение для своей схемы. Если напряжение сигнала приходящего на вход ПЛИС окажется выше заданного, то оно может вывести из строя как отдельную ножку ПЛИС, так и ядро микросхемы в целом. И наоборот, чрезмерно высокое выходное напряжение на ножке ПЛИС может вывести из строя подключенное к ней устройство.
Уровень тока задается в колонке «Current Strength». Его максимальное значение напрямую зависит от выбранного стандарта ввода‑вывода. Стандарты TTL (ТТЛ — основана на биполярных транзисторах) являются более энергоемкими, работают с большими токами. Появившаяся следом технология CMOS (КМОП — основана на использовании полевых транзисторов) является гораздо более экономичной, и соответственно, работает с в разы меньшими токами.
Последняя из рассматриваемых — колонка «Reserved», она полезна для больших проектов. Зарезервированные выводы используются в случаях когда планируется расширение функционала спроектированного устройства. В этом случае можно развести плату. Подключить еще незадействованные выводы ПЛИС к схеме, и изготовить устройство не дожидаясь реализации всех запланированных возможностей. А позже, просто обновить конфигурацию ПЛИС. Но если зарезервированные выводы не присоединены к схеме внутри ПЛИС, то какие сигналы будут на них? Именно сигнал и задается в колонке «Reserved». Вывод можно подключить к питанию («As output driving VCC»), к «земле» («As output driving ground»), настроить как неподключенный вход («As input tri-stated») и так далее.
Теперь, когда Вам известно назначение основных параметров «All pins», можно выполнить настройку выводов ПЛИС.
Значения параметров «I/O Standart» и «Current Strength» установленные по умолчанию: 3.3-V LVTTL и 16mA соответственно, хорошо подходят для первой схемы. Параметры «Node Name» и «Direction» определяются системой автоматически. «Node Name» обычно не нуждается в ручной правке, а «Direction» не предоставляет такой возможности. И так как проект довольно мал, то производить назначения контактов микросхемы целыми банками или использовать зарезервированные выводы не требуется. Таким образом, единственным параметром требующим ручной настройки остается — «Location».
Просто укажите в «Location», с помощью выпадающего списка или посредством «Drag & Drop», контакты микросхемы для подключения кнопок и светодиодов. Выбирайте контакты из множества «User I/O», согласно легенды в «Pin Planner». Не используйте те контакты, что уже заняты ресурсами платы CTRL‑CPLD‑EPM570.
Окно «All pins» с настроенными выводами представлено на следующем рисунке.
Теперь, когда все необходимые выводы микросхемы настроены, нужно проверить корректность сделанных настроек. Проверка настроек выводов в «Pin Planner» выполняется во время процесса «I/O Assignment Analysis». Запуск анализа выполненных назначений ввода‑вывода осуществляется с помощью главного меню «Pin Planner»: Processing → Start I/O Assignment Analysis. Либо с помощью одноименной кнопки на панели «Pin Planner», которая располагается у левой границы окна «Pin Planner» (имя панели совпадает с именем окна «Pin Planner»). Данная кнопка (вторая снизу) выделена на следующем рисунке.
При запуске анализа назначений ввода‑вывода Quartus автоматически переключится на основное окно программы, где в уже знакомых окнах «Tasks» и «Messages» будут отображены прогресс и результат выполнения анализа.
Наиболее частые ошибки, которые могут быть выявлены в процессе анализа:
Но так как единственной настройкой, которую Вы сделали, было «Location». То и единственная ошибка, которую Вы могли допустить – это пропустить настройку одного из выводов.
Но даже не смотря на безупречную настройку всех выводов Вы обязательно получите предупреждение следующего содержания: «Warning: The Reserve All Unused Pins setting has not been specified, and will default to ‘As output driving ground’.» Из него следует, что в Вашем проекте остаются какие-то ненастроенные выводы, которым будет задан некий параметр по умолчанию? О каких именно выводах идет речь?
Речь идет обо всех контактах микросхемы, которые не используются в Вашем проекте. Настройка таких контактов выполняется не в «Pin Planner», а в параметрах проекта.
В проекте используется всего лишь 8 контактов из почти сотни доступных для пользователя. А как известно оставлять неподключенными входы микросхемы нельзя. И так как почти любой контакт ПЛИС можно настроить и как выход, и как вход, то необходимо обеспечить корректный уровень напряжения на каждом из них. Для этого не понадобятся десятки резисторов, ведь ПЛИС Max II позволяет соединить любой из неиспользуемых контактов с плюсом или минусом питания с помощью своих внутренних цепей. Такое соединение настраивается с помощью параметра «Reserve all unused pins:».
Для изменения настройки «Reserve all unused pins:» необходимо открыть окно «Device» (главное меню Quartus → Assignments → Device). В окне «Device», среди уже известных параметров, можно увидеть кнопку «Device and Pin Options…». Она выделена на следующем рисунке.
Эта кнопка отсутствует в аналогичном окне мастера создания проекта.
С помощью «Device and Pin Options…» вызывается окно «Device and Pin Options», в котором перечисляются параметры проекта относящиеся к микросхеме ПЛИС: включение/выключение сигналов «DEV_CLRn» и «DEV_OE» (вкладка «General»), компиляция дополнительных файлов конфигурации (вкладка «Programming Files»), стандарт ввода‑вывода по умолчанию (вкладка «Voltage») и, среди прочего, вкладка «Unused pins». Именно эта кладка содержит параметр «Reserve all unused pins:». Вкладка «Unused pins» обозначена цифрой 1 на следующем рисунке.
По умолчанию параметр «Reserve all unused pins:» имеет значение «As output driving ground», на рисунке оно обозначено цифрой 2. Это означает что все незадействованные в проекте контакты будут подключены к «земле» – минусу питания. Не самый удачный вариант. Ведь, если один из таких выводов окажется случайно соединен снаружи с плюсом питания, то получится короткое замыкание. Здесь лучше выбрать вариант «As input tri-stated» или «As input tri-stated with weak pull-up» (обозначен на рисунке цифрой 3).
Выводы «As input tri-stated» переключаются в высокоимпендансное (High‑Z) состояние. В таком состоянии выводы практически полностью отключаются от внешних цепей, как если бы они не были подключены к ним физически. Недостаток такого режима работы в снижении помехоустойчивости схемы. Поэтому вариант «As input tri-stated with weak pull-up» оказывается более предпочтительным в большинстве случаев. При использовании вывода со слабой подтяжкой к питанию (weak pull‑up) в связанных с ним цепях гарантируется наличие напряжения высокого логического уровня, до тех пор пока оно не будет изменено извне каким-либо подключенным устройством.
После настройки состояния неиспользуемых контактов еще раз выполните анализ сделанных назначений ввода‑вывода. Его можно запустить и из меню основного окна Quaturs: Processing → Start → I/O Assignment Analysis. Предупреждение «The Reserve All Unused Pins setting has not been specified…» исчезло. Осталась лишь пара коммерческих предупреждений устраняемых исключительно за деньги.
Таким образом, Вы успешно выполнили настройку контактов ПЛИС и можете переходить к заключительной части работы над проектом: его полной компиляции и загрузки скомпилированной конфигурации в ПЛИС.
Конфигурирование ПЛИС будет описано в следующей части.
Вконтакте
1. Теоретические сведения.
Программный пакет Quartus® II фирмы Altera® представляет собой полную, многоплатформенную среду проектирования, легко адаптируемую к требованиям конкретного проекта. Это комплексная среда для разработки систем на программируемом кристалле (SOPC). Пакет Quartus II включает в себя все утилиты, необходимые для работы с микросхемами FPGA и CPLD. На Рисунке 1 показаны основные этапы проектирования в среде Quartus II.
Следующая последовательность действий описывает типичный порядок проектирования в среде Quartus II с помощью графического интерфейса пользователя:
Создание нового проекта, указание типа используемой микросхемы или семейства с помощью команды New Project Wizard (меню File).
Создание исходного файла проекта на языках Verilog HDL, VHDL, или Altera Hardware Description Language (AHDL) с помощью текстового редактора (Text Editor). Кроме того, можно создать блок-схему проекта в графическом редакторе (Block Editor) используя символы, представляющие другие исходные файлы проекта или логические элементы. С помощью команды MegaWizard® Plug-In Manager (менюTools) можно создавать различные варианты мегафункций и IP-ядер для включения их в файл проекта.
Указание начальных настроек проекта с помощью редактора назначений (Assignment Editor), диалогового окна Settings (меню Assignments), редактора топологии (Floorplan Editor), и/или применяя фиксированные логические блоки(LogicLock™) .
Создание проекта на системном уровне с помощью генератора систем на кристалле (SOPC Builder) или генератора систем ЦОС(DSP Builder).
Создание программных файлов для процессорного ядра Nios® с помощью редактора программного обеспечения (Software Builder).
Синтез проекта с помощью модуля анализа и синтеза (Analysis & Synthesis).
Выполнение функционального моделирования проекта с помощью симулятора (Simulator) и команды Generate Functional Simulation Netlist.
Выполнение размещения и трассировки проекта с помощью модуля трассировки (Fitter).
Проведение предварительного анализа потребляемой мощности с помощью программы PowerPlay Power Analyzer.
Проведение анализа временных задержек проекта с помощью программы анализатора временных задержек (Timing Analyzer).
Выполнение моделирования проекта с учетом временных задержек с помощью симулятора.
Улучшение временных характеристик проекта с помощью повторного физического синтеза, использования фиксированных логических блоков, настроек в диалоговом окне Settings и в редакторе назначений.
Создание файла для программирования микросхемы с помощью модуля ассемблера (Assembler).
Программирование микросхемы с помощью утилиты программатора (Programmer) и оборудования Altera; или преобразование формата файла для программирования.
Отладка проекта с помощью встраиваемого логического анализатора (SignalTap® II Logic Analyzer), генератора контрольных точек (SignalProbe™ ).
Основной рабочей единицей в среде Quartus II является проект. Он создается с помощью специальной утилиты (New Project Wizard меню File). При создании нового проекта задается рабочая директория, назначается имя проекта и имя файла верхнего уровня иерархии. Дополнительно можно указать исходные файлы проекта, пользовательские библиотеки, используемые САПР сторонних фирм, выбранное семейство микросхем (или использовать автоматический выбор семейства компилятором Quartus II).
2. Порядок выполнения работы.
Шаг 1: Создание нового проекта для использования в цикле лабораторных работ.
Запустите САПР Quartus II. В меню Пуск выберите Все программы->Altera ->Quartus II 7.2.->Quartus II 7.2 (32-Bit), для запуска.
Вызовите утилиту New Project Wizard. В меню File выберите New Project Wizard…. Откроется новое окно. Если на экране появилось страница Introduction, нажмите Next.
Приступите к созданию проекта с помощью утилиты New Project Wizard. На странице 1 задайте информацию, представленную в таблице 1.
Таблица 1. Настройки страницы 1 New Project Wizard
Рабочая директория проекта | <lab_install_directory> \Pipemult\ |
Имя проекта | pipemult |
Файл верхнего уровня иерархии | pipemult |
Страница 1 утилиты New Project Wizard должна выглядеть подобным образом.
4. Нажмите Next, чтобы перейти на следующую страницу.
5. На странице 2 нажмите кнопку и выберите файл верхнего уровня иерархии pipemult.bdf. Он располагается в рабочей директории проекта. Нажмите Open, затем Add, чтобы добавить файл в проект. Нажмите Next.
Обратите внимание, данное действие не является обязательным, т. к. данный файл уже находится в рабочей директории. Новый проект автоматически подключил бы его как составную часть проекта. Добавление файлов или каталогов с файлами (библиотеками) необходимо выполнять в том случае, если они не находятся в рабочей директории проекта.
6. На странице 3, выберите семейство (Family) Cyclone II. В правой части окна, в разделе Show in ‘Available device’ list, установите следующие значения: в строке Package выберите FBGA, Pin count выберите 256, Speed grade выберите Fastest. Эти настройки ограничивают список доступных микросхем. В окне Available devices выберите микросхему EP2C5F256C6. Нажмите Next.
7. На странице 4 (см. выше), вы можете указать дополнительно используемые САПР сторонних производителей. В данном цикле упражнений мы работаем только в среде Quartuis II. Нажмите Next для продолжения.
8. Перед собой вы видите итоговую страницу. Нажмите Finish. Проект создан.
Выходить из среды Quartus II нет необходимости, если вы собираетесь продолжить выполнение упражнения. Закрытый проект всегда модно открыть с помощью команды File ->Open Project. Команда File -> Open позволяет открыть отдельный файл (вместо проекта), предотвращая выполнение различных действий, связанных с обработкой проекта, например компиляцию.
На рисунке 1 изображено схематическое представление файла верхнего уровня иерархии, который вы должны реализовать. Он состоит из умножителя и блока оперативной памяти RAM. Данные подаются на умножитель от внешнего источника, а результат сохраняется в блоке памяти, который тоже управляется от внешнего источника. Затем данные читаются из блока оперативной памяти, используя независимую шину адреса для чтения.
Рисунок 1.
Шаг 1: Создайте умножитель 8х8 с помощью утилиты MegaWizard® Plug-in Manager.
Выберите Tools -> MegaWizard Plug-In Manager. В открывшемся окне выберите опцию Create a new custom megafunction variation. Нажмите Next.
2. Выберите нужную мегафункцию. На странице 2 (как показано выше), раскройте папку Arithmetic и выберите LPM_MULT.
3. В выпадающем меню справа укажите используемое семейство микросхем Cyclone II.
Выбор семейства микросхем позволяет утилите MegaWizard Plug-In Manager определить ее доступные ресурсы и доступные мегафункции для него. Можно создать мегафункцию для другого семейства микросхем, при этом необходимо выбрать соответствующее семейство и создать для него новый проект.
4. Выберите язык описания интерфейса мегафункции (VHDL или Verilog HDL) и укажите рабочую директорию, где будет сохранена мегафункция. Если вы разрабатываете схемотехнический проект, выберите VHDL или Verilog по желанию.
5. Задайте имя выходного файла – mult. Вы можете добавить его в конце выбранного пути к нужной директории или не указывать полный путь для автоматического сохранения файла в рабочей директории проекта.
6. Нажмите Next.
7. На странице 3 (General) укажите разрядность входных шин данных dataa и datab (они могут быть установлены автоматически). В нашем примере разрядность 8 бит. Нажмите Next.
8. На странице 4 (General 2) оставьте все настройки по умолчанию (datab не является константой, используется беззнаковое умножение и способ реализации умножителя выбирается по умолчанию). Нажмите Next.
9. На странице 5 (Pipelining) выберите Yes, I want an output latency of 2 clock cycles (задержка выдачи результата на 2 цикла тактовой частоты). Нажмите Next.
10. Сейчас вы должны перейти на страницу 6 (вторая закладка – EDA). Здесь указывается файл Lpm, который используется сторонними САПР для моделирования мегафункции LPM_MULT (например, в САПР ModelSim-Altera). В нашем упражнении мы не будем применять сторонние САПР для моделирования. Нажмите Next.
11. На странице 7 необходимо отметить создаваемые файлы согласно таблице 2, приведенной ниже:
Тип исходного файла проекта | Файлы, которые необходимо создать в MegaWizard Plug-In |
Schematic | mult(.vhd or .v) & mult.bsf |
12. Нажмите Finish для завершения создания мегафункции.
Умножитель создан.
Если, по некоторым причинам, мегафункция создана некорректно или вы что-то пропустили, откройте снова MegaWizard Plug-In Manager в меню Tools. Выберите опцию редактирования мегафункции и исправьте ошибки. Нажмите Finish.
Шаг 2:
Создайте 32×16 RAM с помощью утилиты MegaWizard Plug-In Manager
1. Еще раз откройте MegaWizard Plug-In Manager (Tools -> MegaWizard Plug-In Manager). Выберите Create a new custom megafunction variation и нажмите Next.
2. Выберите соответствующую мегафункцию. На странице 2 (см. выше) раскройте папку Memory Compiler и выберите RAM: 2-PORT.
3. Как и для реализации умножителя, выберите семейство микросхем Cyclone II и язык файла описания мегафункции – VHDL или Verilog HDL.
4. В строке имени выходного файла укажите ram.
5. Нажмите Next.
6. На странице 3, выберите With one read port and one write port, в разделе указания способа использования двухпортовой памяти. Остальные настройки оставьте по умолчанию (размер памяти определяется количеством слов). Нажмите Next.
7. На странице 4 (Widths/Blk Type), установите разрядность входного порта data_a равную 16 бит (в разделе Read/Write Ports). Затем выберите 32 – количество 16-разрядных слов памяти (16-bit words of memory). Примечание: вы будете видеть надпись “8-bit words of memory” до тех пор, пока не измените значение разрядности входного порта. Остальные настройки оставьте по умолчанию. Нажмите Next 2 раза.
8. На странице 6 (Regs/Clkens/Aclrs), отключите опцию Read output port(s) ‘q’, чтобы исключить установку выходных регистров для порта q. Остальные настройки оставьте по умолчанию и нажмите Next 2 раза.
9. На странице 8 (Mem Init) выберите Yes, чтобы указать файл инициализации блока памяти. После того, как поле стало доступным, впишите имя файла: ram.hex. Мы создадим этот файл позже, но нам ничего не мешает указать сейчас его имя. Нажмите Next.
10. На странице 11 отображается файл altera_mf, необходимый для моделирования этой мегафункции с помощью сторонних САПР. Нажмите Next.
11. Выберите те же файлы для создания мегафункции ram, которые вы выбирали для мегафункции mult ранее (Шаг 1, пункт 11)
Теперь у вас есть два созданных компонента, необходимых для данного проекта. Далее необходимо создать НЕХ файл, описывающий содержимое для инициализации оперативной памяти RAM.
Шаг 3: Создайте НЕХ файл с помощью редактора Memory Editor
1. В меню File выберите команду New или нажмите знак в рабочей панели инструментов.
2. В открывшемся диалоговом окне перейдите к закладке Other Files и выберите Hexadecimal (Intel-Format) File. Нажмите OK.
3. В диалоговом окне настроек размера области памяти установите следующие значения: количество слов – number of words – 32, размер слова – word size – 16. Нажмите Ok.
Открывшееся окно редактора памяти Memory Editor отображает заданное вами пространство памяти. Если пространство памяти отображается не так, как показано выше, можно изменить количество ячеек в ряду (меню View) на 16 и формат отображаемых значений на Hexadecimal.
Выделите всю область памяти, нажмите правую кнопку мыши и выберите Custom Fill Cells в открывшемся контекстном меню.
С помощью диалогового окна Custom Fill Cells, введите нужные значения для инициализации области памяти. Можно выбрать одно из следующих действий:
Повторяющаяся последовательность: Введите последовательность значений, которые будут повторяться в памяти, отделяя их пробелом или запятой.
Нарастающая/убывающая последовательность: Введите начальное значение и значение величины, на которую будет изменяться каждое последующее значение (увеличиваться или уменьшаться).
Сохраните файл как ram.hex. Закройте его.
Добавьте блоки в проект и создайте нужные связи.
1. Откройте файл pipemult.bdf. Можно использовать команду Open в меню File, или нажать значок на рабочей панели инструментов, или дважды нажать на имени файла в окне навигатора проекта Project Navigator.
Это файл верхнего уровня иерархии для данного проекта. На самом деле, вам было бы необходимо выбрать блоки ram и mult и выполнить вручную их соединение. В интересах экономии времени, для вас создан почти завершенный файл, который не имеет блоков ram и mult, а также выходной шины q[15..0].
2. Нажмите дважды левой кнопкой мыши в любом свободном месте схемотехнического окна. В открывшемся окне Symbol, нажмите , чтобы раскрыть папку Project. Дважды нажмите левой кнопкой мыши на элементе mult. Затем нажмите левую клавишу мыши в поле чертежа, чтобы вставить выбранный элемент в указанное место.
Примечание: Три входных порта в левой части умножителя должны совпадать со входами, присутствующими на схеме. Если это не так, вы возможно, неправильно создали мегафункцию. В этом случае нажмите Esc, чтобы отменить вставку символа, откройте снова утилиту MegaWizard Plug-In Manager и выберите опцию Edit an existing megafunction variation. Укажите элемент mult и исправьте ошибки. Повторите установку символа в нужном месте.
3. Правой клавишей мыши нажмите на блок mult и выберите команду Properties в контекстном меню. В диалоговом окне Symbol Properties, в строке Instance name, измените имя inst на mult_inst.
4. Нажмите OK.
5. Снова откройте окно Symbol. Выберите элемент ram и установите его в указанное место.
Примечание: 4 нижних входа блока ram должны совпасть с входными портами. Вход data должен остаться не подключенным.
6. Также, как и для блока mult, для элемента ram откройте диалоговое окно Symbol Properties и измените имя inst на ram_inst.
7. Откройте окно Symbol и в строке Name введите имя элемента output. Элемент должен определиться автоматически.
8. Нажмите OK и установите элемент возле выходного контакта регистра inst2. Дважды щелкните в области указания имени компонента и измените pin_name на q[15..0].
9. Нажмите кнопку (вызов инструмента для создания шин), затем соедините между собой выход элемента mult (result) и свободный вход элемента ram (data).
В результате вы должны получить схему, представленную на рисунке выше.
10. Сохраните файл pipemult.bdf.
Шаг 5: Сохраните и проверьте проект
1. В меню Processing выберите команду Start -> Start Analysis & Elaboration.
Данная команда выполняет проверку наличия всех файлов в проекте и правильность их подключений.
2. Нажмите OK, когда анализ завершится. Если были обнаружены какие либо ошибки, проверьте все связи или повторно вызовите MegaWizard Plug-In Manager для исправления ошибок в мегафункциях.
% PDF-1.3 % 1 0 объектов > endobj 2 0 объектов / Фильтр /Adobe.PPKLite / M (D: 20100623144658-07’00 ‘) / Имя (ARE Acrobat Product v8.0 P23 0002337) / Prop_Build > /Фильтр > / PubSec >>> /Ссылка [> / Тип / SigRef >>] / SubFilter /adbe.pkcs7.detached / Type / Sig >>>> / Тип / Каталог / ViewerPreferences >>> endobj 3 0 объектов > / Шрифт >>> / Fields [] / SigFlags 2 >> endobj 4 0 объектов > поток 2010-06-23T11: 52: 08Z FrameMaker 9.0 2010-06-23T14: 46: 58-07: 00 2010-06-23T14: 46: 58-07: 00 применение / PDF
% PDF-1.3 % 1 0 объектов > endobj 2 0 объектов > / Метаданные 3 0 R / OCProperties > / OCGs [4 0 R] >> / OpenAction 5 0 R / Outlines 6 0 R / PageMode / UseOutlines / Pages 7 0 R / PieceInfo >>> / StructTreeRoot 8 0 R / Тип / Каталог >> endobj 3 0 объектов > поток заметки о выпуске; файле RELNOTES; Примечания к выпуску Quartus II версии 4.1
☰
Запустите Quartus-II Web Edition и выберите меню «Файл / Новый проект …».
Выберите каталог проекта и имя ….
и нажмите «Далее».
Не добавляйте файлы сюда…
просто нажмите «Далее».
Настало время выбрать устройство FPGA, используемое вашей платой FPGA.
Не нужно идти дальше, нажмите «Готово».
Выберите меню «Файл / Новый» и выберите «Verilog HDL File» …
, затем введите следующий текст (как есть, с учетом регистра)
и сохраните его под именем ledblink.v.
Нажмите в меню «Начать анализ и синтез».
Об ошибке не следует сообщать.
Нажмите в меню «Назначения / Планировщик контактов» и в нижней части окна «Планировщик контактов» введите расположение для двух контактов «LED» и «clk».
Закройте окно «Pin Planner».
Откройте меню «Назначения / устройства», а затем «Параметры устройства и Пина»…
, и выберите «В качестве входного сигнала трижды заявленный со слабым подтягиванием» для неиспользуемых контактов.
Откройте меню «Обработка / запуск компиляции».
Поздравляем!
Проект готов к загрузке в ПЛИС.
Перейдите на страницу «Введение Altera в программное обеспечение Quartus II».
,% PDF-1.3 % 1 0 объектов > endobj 2 0 объектов >>> endobj 3 0 объектов > поток применение / PDF