Первый тест EPM240T100 с блок диаграммой в Quartus II

Первый тест EPM240T100 с блок диаграммой в Quartus II

Моя первая блок диаграмма на ПЛИС/FPGA Max II EPM240T100I5.

Решил показать как легко и быстро можно создать проект и залить его в микросхему.

Вообще мне удобней Verilog HDL. Но первую статью по программированию ПЛИС я решил посвятить именно блок диаграмме так как это наглядней.

Качаем и устанавливаем Quartus II Web Edition, это бесплатная версия. Я скачал 13 версию. Я не буду показывать скриншоты установки, думаю читатели этой статьи могут установить приложение.

Создаем новый проект. Указываем путь к директории с проектами. Я создал на диске D каталог altera. У меня путь D:\altera. Назовем как нибудь проект, например SimpleLogic.

 Quartus II Web Edition создание проекта

После этого на странице 3 выбираем нужную модель. Указываем семейство Max II и выбираем из списка модуль. Можно воспользоваться фильтром справа.

выбор модели плис

Далее оставляем все по умолчанию.

Первым делом я указываю как будут вести себя неиспользуемые пины. Во избежании КЗ, переведем их на вход с высоким сопротивлением. Для этого идем в меню Assignments > Device > Device and Pin options > Unused Pins. Выбираем As input tri-stated.

Quartus II unused pins

Теперь нам нужно создать файл в котором мы опишем логику. Жмем New и выбираем Block Diagram.

Quartus II new block diagram

Теперь выбираем Symbol Tool. И в открывшимся окне ищем and2.

Quartus II symbol tool

Размещаем его на поле и жмем ESC для отмены повтора вставки если вы не сняли соответствующую галочку.

Далее нам нужны два пина на вход и один на выход. Идем Pin Tool и выбираем Input. Размещаем слева от нашего элемента AND2. Затем выбираем Output и размещаем справа от and2.

Quartus II pin tool

Соединяем выводы пинов с выводами элемента AND. Для этого кликаем на вывод пина и не отпуская кнопки мышки ведем до вывода элемента  AND. Затем отпускаем кнопку.

Когда все три пина подключены нам нужно задать им имена. Двойной клик мышки по имени пина и указываем новое имя. Входы я назвал btn1 и btn2 в выход назвал led. Когда все готово у нас получается вот такая блок диаграмма.

Quartus II block diagram named pins

Теперь нужно указать каким выводам микросхемы назначены эти пины. Я покажу два пути.

Первый путь связать пины с диаграммы с выводами микросхемы это Pin Planner. Запускаем и видим изображение нашей микросхемы. Я использую самодельную отладочную плату на базе EPM240T100I5 на которой 4 и 5 вывод подключены к кнопкам, когда кнопка не нажата на ноге будет логическая единица, через подтягивающий резистор, когда нажата будет логический ноль. Выводы 66-73 подключены к светодиодам.

Двойной клик на ноге 4 и справа появляется окно с настройками ноги. В поле Node name пишем btn1. На плате все запитано от 3.3В значит в I/O Standard оставляем значение по умолчанию 3.3 V LVTTL. Аналогично настраиваем 5 и 73 пины, только имена btn2 и led соотвественно.

Quartus II pins planner

Второй способ настройки пинов это Assignment manager. В поле to - указывает имя пина, то есть btn1. В поле Assignment name выбираем из списка Location (можно начать писать для поиска). В поле Value пишем вывод к котором привязываем наш пин. Имя вывода в формате PIN_X, где X - номер ножки микросхемы.

Quartus II assignment manager

Теперь можно приступать к сборке проекта. Жмем Start Compilation. Нам предложат (если мы этого еще не сделали) сохранить файл с нашей диаграммой. Сборка займет некоторое время, в конце увидим окно где сказано, что все готово. И табличку с информацией о прошивке.

Quartus II compilation

Мы видим, что использовали только 1 логический элемент и 3 пина. А так же что не использовали UFM (user flash memory).

Жмем Programmer. При первом открытии нам нужно выбрать программатор. Для этого жмем Hardware Setup и выбираем программатор из выпадающего списка.

Если программатора нет в списке, то нужно установить драйвера. Идем в диспетчер устройств, находим USB Blaster с желтеньким значком. Жмем обновить драйвер. Жмем выполнить поиск на этом компьютере. Указываем путь к altera/quartus/drivers/usb-blaster и нажимаем далее. Перезапускаем Quartus.

Quartus II hardware setup usb blaster

Теперь можно выбрать что мы хотим залить в микросхему. Так как UFM блок у нас не использован, то и шить его мы не будем. Отмечаем только CFM блок и жмем Start. USB Blaster не запитывает плату, поэтому к плате перед прошивкой должно быть подключено питание.

Quartus II cfm ufm block programmer start

Дожидаемся пока вверху справа зеленый индикатор достигнет 100%. Микросхема прошита нашей прошивкой.

Сразу же после прошивки светодиод должен загореться. Логический элемент AND имеет на выходе логическую 1 когда на оба входа приходит логическая 1. Так как кнопки подтянуты к питанию, на входах PIN_4 и PIN_5 у нас напряжение питания, а значит логическая единица. Соотвественно светодиод горит. Если нажать на любую кнопку или обе кнопку вместе, то светодиод погаснет.

Давайте теперь изменим схему так, чтобы светодиод загорался только когда нажаты обе кнопки. Для этого изменим входной сигнал на and2, добавив каждой кнопке по элементу not.

Откроем окно с диаграммой. Удалим соединительные провода между входными пинами и элементом and2. Добавим два элемента not и соединим пины btn1 и btn2 со входами элементов not. А выходы с элементов not соединим со входами элемента and2.

Quartus II not and2

Собираем проект. Заливаем в микросхему. Проверяем. Теперь светодиод не горит. Светодиод загорается только если нажать и удерживать две кнопки одновременно.

Видео с проектом:

При копировании материалов ссылка на https://terraideas.ru/ обязательна

Комментарии к статье: Первый тест EPM240T100 с блок диаграммой в Quartus II

Нет ни одного комментария. Будьте первым!