ПЛИС Altera. Часть 6: сборка схемы и загрузка конфигурации

Это заключительная часть цикла посвященная программируемой логике и среде разработки Quartus компании Altera (Intel).

Ссылки на предыдущие части:
ПЛИС Altera. Часть 1: установка и настройка среды разработки
ПЛИС Altera. Часть 2: проектирование цифровой схемы
ПЛИС Altera. Часть 3: первая компиляция проекта
ПЛИС Altera. Часть 4: доработка схемы и плата CTRL-CPLD-EPM570
ПЛИС Altera. Часть 5: Quartus Pin Planner

В первой части рассказывалось о загрузке и установке Quartus. О создании пустого проекта с помощью мастера.

Во второй части рассматривалось проектирование цифровой схемы, определялась последовательность шагов для создания конфигурации ПЛИС.

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

Четвертая часть была полностью посвящена электрической части проекта: доработка схемы проекта и знакомство с платой CTRL-CPLD-EPM570.

В пятой части рассказывается как связать цифровую схему проекта с физическими выводами микросхемы ПЛИС. Это третий этап создания конфигурации.

Напоминаю, что процесс создания конфигурации предусматривает следующие этапы:

  1. проектирование цифровой схемы;
  2. анализ созданной схемы на наличие ошибок;
  3. привязка входов и выходов схемы к конкретным выводам ПЛИС;
  4. компиляция проекта и создание двоичных файлов для конфигурирования ПЛИС;
  5. конфигурирование ПЛИС посредством USB Blaster.

Шестая часть описывает последние два этапа процесса: компиляцию проекта и загрузку конфигурации в микросхему. Большая часть этой статьи посвящена настройке Quartus «Programmer».

Заключительная компиляция

Выполнение полной компиляции запускается с помощью кнопки «Start Compilation» на стандартной панели инструментов Quartus. Данная кнопка идет одиннадцатой справа, она выделена на следующем рисунке.

Рис 44 start compilation

Также можно использовать меню Processing → Start Compilation.

Выполнение полной компиляции начинается с процесса анализа проекта и синтеза предварительной схемы коммутации блоков ПЛИС – «Analysis & Synthesis». Затем следует «Fitter», который выполняет размещение блоков синтезированной схемы на кристалле ПЛИС с учетом заданных: диапазона рабочих температур, энергопотребления схемы связанного с используемым стандартом ввода‑вывода, диапазона допустимых временных задержек указанных в проекте и многих других параметров. Для простых проектов подходят значения перечисленных параметров по умолчанию.

Обобщенный отчет о результатах работы «Fitter» (Fitter → Summary) выводится по окончании всего процесса компиляции.

Рис 45 full compilation report

В основном, данный отчет не отличается от аналогичного отчета выводимого по завершении «Analysis & Synthesis». Добавляются лишь соотношения использованных и доступных ресурсов выбранной микросхемы ПЛИС: логических элементов и выводов. Эта информация выделена на рисунке выше.

После «Fitter» свою работу выполняет «Assembler», который осуществляет генерацию файлов для загрузки в ПЛИС. Самая интересная часть отчета «Assembler» – это раздел «Generated Files». В этом разделе перечисляются файлы созданные ассемблером, с указанием полного пути до них. Файл с расширением «.pof» содержит конфигурацию ПЛИС, подготовленную для загрузки с помощью программатора. Изображение данного раздела приведено ниже.

Рис 46 assembler report

Заключительный этап компиляции – это «TimeQuest Timing Analyzer». Данный инструмент осуществляет проверку синтезированного дизайна на соответствие заданным в проекте временным ограничениям. Например, проверка возможности работы схемы на определенной частоте. В Вашем проекте нет таких ограничений, так как схема управляется человеком непосредственно и не предполагает работы на запредельных частотах. Тем не менее, отсутствие данных ограничений Quartus считает серьезным недостатком, о чем он и сообщает пользователю сразу двумя критическими предупреждениями: «Critical Warning: Synopsys Design Constraints File file not found: ‘firstproject.sdc’. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.» Именно поэтому пункт «TimeQuest Timing Analyzer» в отчете о компиляции выделен красным шрифтом.

Помимо критических предупреждений Вам будет выдано и несколько (около трех) обычных предупреждений такого содержания: «Warning: No clocks defined in design.». Они также связаны с «TimeQuest Timing Analyzer». В проекте не определены параметры тактового сигнала схемы, так как схема не предполагает работу с таким сигналом. Следовательно, Вы можете смело игнорировать эти предупреждения, как и предыдущие два.

Кроме перечисленных, также будут выведены несколько уже знакомых коммерческих предупреждений.

При наличии других критических предупреждений, или даже ошибок, необходимо внимательно изучить содержание окна «Messages» и отчет о компиляции. Разделы отчета содержащие информацию об ошибках будут выделены красным шрифтом. Так же, можно повторно выполнить соответствующий этап компиляции с помощью меню Processing → Start, для того чтобы сократить число сообщений в окне «Messages» или для проверки сделанных исправлений. Пункты меню Processing → Start: Start Fitter, Start Assembler и Start TimeQuest Timing Analyzer запускают одноименные задачи процесса полной компиляции проекта.

Окно сообщений успешно откомпилированного проекта с некритичным числом предупреждений приводится на следующем рисунке.

Рис 47 successful compilation messages

После успешно выполненной компиляции проекта можно переходить к заключительному этапу: сборке схемы и загрузке синтезированной конфигурации в ПЛИС.

Сборка схемы и подключение программатора

Прежде чем подать питание на ПЛИС и загрузить в нее проект необходимо собрать спроектированную схему. Подключать что‑либо к ПЛИС «на горячую» нельзя!

Проектирование схемы было завершено в четвертой части серии статей. Для удобства эта схема приводится повторно.

Рис 48 Full_schematic numbered

Номера выводов ПЛИС указаны согласно настройкам в «Pin Planner» сделанным в пятой части серии.

После завершения сборки можно подключать программатор Altera USB Blaster. Altera/Intel рекомендует подключать программатор соблюдая следующую последовательность действий:

  1. отключить питание от платы «CTRL‑CPLD‑EPM570»;
  2. подключить программатор к USB порту включенного компьютера;
  3. соединить включенный программатор с гнездом «JTAG» платы с ПЛИС;
  4. включить питание платы с ПЛИС.

После выполнения этих действий можно загружать конфигурацию в ПЛИС.

Внимание! И при подключении программатора к плате с ПЛИС и при его отключении необходимо предварительно выключать питание платы!

При первом подключении к компьютеру программатора USB Blaster необходимо будет установить соответствующий драйвер. Все необходимые драйвера имеются в дистрибутиве Quartus. При установке Quartus они копируются в следующую директорию: «altera\13.1\quartus\drivers\usb-blaster». Имеются драйвера как для 32‑х так и для 64‑разрядных ОС Windows. Установка драйвера выполняется вручную, путем выбора директории с драйвером для автоматического поиска и установки необходимых файлов. Либо прямым указанием файла «usbblstr.inf».

Отсоединять программатор необходимо в обратной последовательности:

  1. отключить питание платы с ПЛИС;
  2. отсоединить программатор от гнезда «JTAG» платы;
  3. отключить программатор от USB порта компьютера.

Сам программатор должен быть включен при любых манипуляциях с разъемом JTAG. Такая последовательность действий обусловлена тем, что у оригинального программатора Altera USB Blaster есть проблема с питанием выходного буфера, из‑за которой он может быть выведен из строя при включении/отключении питания программатора соединенного с платой ПЛИС.

На этом работа с электрической часть проекта завершена. Можно переходить к загрузке конфигурации.

Quartus Programmer: настройка программатора

Для загрузки конфигурации используется инструмент «Programmer» среды Quartus. Этот инструмент можно вызвать с помощью меню Tools → Programmer. Либо посредством соответствующей кнопки на стандартной панели инструментов. Кнопка идет четвертой справа на панели. Она выделена на рисунке ниже.

Рис 49 Programmer button

При запуске «Programmer» откроется новое окно, вид которого приводится на следующем рисунке.

Рис 50 Programmer window

Первое, на что необходимо обратить внимание — это кнопка «Hardware Setup…» в верхнем левом углу окна «Programmer». На рисунке она обозначена цифрой 1. С ее помощью выполняется выбор программатора. Модель используемого программатора выводится в текстовом поле справа от кнопки (цифра 2 на рисунке). Сейчас там присутствует надпись «No Hardware», это означает что программатор требует настройки.

Нажмите кнопку «Hardware Setup…» чтобы открыть одноименное окно. Изображение окна приводится ниже.

Рис 51 hardware setup

Данное окно содержит две вкладки: «Hardware Settings» и «JTAG Settings».

«JTAG Settings» используется для настройки доступа к серверам JTAG. Можно как добавлять удаленные сервера, к которым присоединяются конфигурируемые ПЛИС, так и настраивать доступ к серверу JTAG запущенному на Вашем компьютере.

Quartus «Programmer» работает по клиент‑серверной модели. В ней есть сервер — это специальная служба «jtagserver», которая запускается вместе с «Programmer» и непосредственно работает с программатором. И есть клиент — «Programmer», который обеспечивает пользовательский интерфейс для выбора и загрузки конфигурации ПЛИС. Клиент и сервер могут располагаться на разных компьютерах, которые могут находиться на разных концах света. Таким образом, можно организовать удаленную работу со схемой в лаборатории собранной на базе дорогой платы разработчика (например, платы на базе Stratix III в среднем стоят более 4 000 долларов).

При локальной работе достаточно проверить статус сервера на вкладке «JTAG Settings». В списке «JTAG Servers» должен быть как минимум один сервер «Local» и «Connection Status», состояние подключения до него, «OK».

Если список серверов пуст, то скорее всего, возникла проблема с самим программатором: он перестал отвечать на запросы службы «jtagserver». В таком случае необходимо:

  1. закрыть окно «Hardware Setup»;
  2. подключить/переподключить программатор;
  3. открыть окно «Hardware Setup» и проверить наличие сервера «Local», состояние подключения к серверу (смотрите рисунок ниже).
Рис 52 JTAG Settings

Вторая вкладка — «Hardware Settings», она открывается по умолчанию. Эта вкладка используется для выбора конкретного программатора из множества доступных. Содержимое вкладки представлено на рисунке ниже.

Рис 53 programmer selected

Доступные программаторы перечисляются в блоке «Available hardware items». Устройства в этот список добавляются пользователем вручную или самой средой автоматически. Автоматическое обнаружение доступно не для всех моделей программаторов. Вручную требуется добавлять либо устаревшие модели устройств, соединяющиеся с компьютером через LPT‑порт (это ByteBlaster II и ByteBlasterMV), либо «EthernetBlaster», который работает с компьютером как удаленный JTAG сервер. USB Blaster добавляется автоматически, поэтому пользователю достаточно проверить наличие USB программатора в списке.

Выбор программатора для прошивки ПЛИС осуществляется с помощью выпадающего списка, справа от надписи «Currently selected hardware». Программатор можно выбрать из списка непосредственно, либо выполнив двойной клик левой кнопкой мыши на соответствующем элементе столбца «Hardware» в «Available hardware items». В обоих случаях значение «No Hardware» заменится названием выбранного программатора. Вид вкладки после выполнения настройки приведен на рисунке выше.

Теперь можно закрыть окно «Hardware Setup». В результате, в окне «Programmer» надпись «No Hardware», рядом с кнопкой «Hardware Setup», сменится названием выбранного программатора.

Quartus Programmer: Device Chain

Все остальные настройки производятся в основном окне «Programmer». В верхней части окна, помимо «Hardware Setup» для настройки доступны еще два параметра: «Mode» и «Enable real-time ISP to allow background programming (for MAX II and MAX V) devices».

Параметр «Mode» определяет режим загрузки конфигурации в ПЛИС. По умолчанию установлен режим JTAG, его и необходимо использовать. Так как «Passive Serial Programming» и «Active Serial Programming» не совместимы с MAX II, а «In-Socket Programming» не поддерживается USB Blaster’ом.

Второй параметр — «Enable real-time ISP to allow background programming (for MAX II and MAX V) devices» активирует загрузку новой конфигурации на лету, без отключения ПЛИС от схемы на время прошивки. Новая конфигурация, в таком случае, будет применена только после перезагрузки ПЛИС по питанию. Эта возможность сокращает время простоя устройств на базе ПЛИС серии MAX, но действительно полезна только в промышленном применении. Поэтому данный параметр можно оставить в состоянии по умолчанию — отключенным.

Рис 54 device tree and chain

Большую часть окна занимают две панели: «Device Tree» и «Device Chain». На рисунке выше они обозначены окружностями с цифрами 1 и 2 соответственно. Их отображение можно включить (выключить) с помощью меню View → Show Device Tree и View → Show Device Chain.

Часть настроек панелей установлены Quartus автоматически. В «Device Tree», в колонку «File» подставляется имя файла конфигурации, созданного во время последней компиляции. А в «Device Chain» из этого же файла подставляется модель используемой микросхемы.

Панель «Device Chain» (цифра 2) используется для наглядного представления упрощенной схемы соединения ПЛИС и программатора. На ней отображаются только линии приема и передачи данных. Эта информация может оказаться полезной в случае конфигурирования сложных схем на базе нескольких ПЛИС. Дело в том, что JTAG‑интерфейс позволяет строить цепочки из последовательно соединенных (линиями TDI — TDO) устройств. Такое подключение позволяет использовать один программатор для конфигурирования всех устройств цепочки. «Device Chain» позволяет сориентироваться в порядке соединения этих устройств.

Плата «CTRL‑CPLD‑EPM570» несет на своем борту только одну микросхему, поэтому схема «Device Chain» предельно проста и, обычно, не требует вмешательства пользователя. Если же в «Device Chain» нет ни одного устройства, то можно попробовать добавить его с помощью автоматического поиска устройств на JTAG‑интерфейсе. Автоматический поиск запускается с помощью кнопки «Auto Detect» (третья сверху), расположенной в столбце кнопок у левого края окна. Данная кнопка активна только в том случае, когда в «Hardware Setup» настроен программатор.

При выполнении автоматического поиска заодно будет проверена работа JTAG‑интерфейса в целом. Если устройства не будут обнаружены, то «Programmer» предложит запустить отладку JTAG подключения, которая позволяет пользователю вручную выполнять команды на интерфейсе. При возникновении такой проблемы необходимо проверить соединение программатора с платой «CTRL‑CPLD‑EPM570» и наличие питания на микросхеме ПЛИС (включена ли плата). После устранения проблем необходимо повторно запустить поиск устройств.

Обнаруженные устройства добавляются и на схему «Device Chain», и в список «Device Tree».

Quartus Programmer: Device Tree

В «Device Tree» настраивается сам процесс конфигурирования/программирования устройств. Эта панель оформлена в виде таблицы из двенадцати колонок: «File», «Device», «Checksum», «Usercode», «Program/Configure», «Verify», «Blank-Check», «Examine», «Security Bit», «Erase», «ISP CLAMP», «ISP File». Автоматически заполняются первые четыре колонки.

Рис 55 device tree file was added

Первое на что необходимо обратить внимание в этой таблице — это колонка «File». В ней обязательно должен быть указан файл конфигурации, синтезированной при компиляции проекта. Колонка может быть пустой в случае, если в «Device Chain» а, соответственно, и в «Device Tree» нет ни одного устройства. Тогда, необходимо добавить устройство с помощью автоматического обнаружения.

«File» будет содержать значение , если устройство было добавлено пользователем с помощью автоматического поиска или вручную. В этом случае файл необходимо добавить вручную с помощью кнопки «Change File…», которая располагается через две кнопки ниже кнопки «Auto Detect». Тоже действие можно выполнить и с помощью меню Edit → Change File…

Кнопка «Change File…» становится доступна только при выборе микросхемы ПЛИС в «Device Chain» или «Device Tree». Таким образом, для добавления файла потребуется сначала выбрать микросхему в «Device Chain», а за тем нажать на кнопку «Change File…». Порядок действий и сама кнопка обозначены на следующем рисунке.

Рис 56 device tree change file

Для добавления файла используется стандартное диалоговое окно Windows. Необходимо найти и выбрать с его помощью файл «firstproject.pof».

По умолчанию, файлы конфигурации сохраняются в папке «output_files» в основной директории проекта. Если требуемого файла там нет, то необходимо свериться с отчетом о полной компиляции проекта. Для этого потребуется закрыть окно «Programmer» и открыть раздел «Assembler» → «Generated Files» отчета компиляции в основном окне Quartus. Сам отчет о компиляции можно открыть с помощью меню Processing → Compilation Report. Если раздел «Assembler» отсутствует в отчете, то это означает что данный этап не был выполнен. Запустите полную компиляцию и добавьте полученный файл конфигурации в «Device Tree».

После добавления файла «firstproject.pof» панель «Device Tree» обретет вид аналогичный рисунку, который приведен в начале раздела. Из файла были автоматически подставлены значения в колонки «File», «Device», «Checksum» и «Usercode». А именно:

  • в File» были добавлены две новые строки: CFM и UFM;
  • наименование модели микросхемы ПЛИС в «Device» уточнено;
  • в «Checksum» было добавлено значение контрольной суммы хранящейся в файле конфигурации;
  • в «Usercode» подставлен JTAG код устройства.

CFM (Configuration Flash Memory) и UFM (User Flash Memory) это две части внутренней Flash‑памяти MAX II. CFM используется исключительно для хранения конфигурации, откуда она автоматически вычитывается при каждом включении микросхемы. UFM может быть использована для хранения пользовательских данных. Объем UFM составляет 8 Кбит.

Значение «Checksum» рассчитывается только для конфигурационных данных в pof‑файле (для всего файла вычисляется CRC). Эта информация используется для сравнения конфигурации в pof‑файле с конфигурацией загруженной в ПЛИС.

«Usercode» — JTAG‑код автоматически сгенерированный Quartus или указанный пользователем вручную в настройках проекта. Автоматически генерируемый код меняется при компиляции, после каждого редактирования цифровой схемы. Таким образом, автоматический JTAG‑код позволяет различать разные версии одной конфигурации.

Остальные столбцы определяют режимы и параметры процесса работы с конфигурацией, которые настраиваются пользователем. Большинство параметров может быть применено отдельно к CFM или UFM.

Назначение каждого параметра рассматривается ниже.

«Program/Configure» — загрузка конфигурации из pof‑файла или буфера «Programmer» в ПЛИС. Можно прошить каждый из блоков CFM и UFM внутренней памяти по отдельности или оба разом.

«Verify» — вычитывание конфигурации ПЛИС и ее сравнение (по Checksum) с конфигурацией в pof‑файле. Если обнаружены различия, то проверка завершается с ошибкой.

«Blank-Check» — проверить, записана ли в памяти ПЛИС какая‑либо конфигурация. Если в устройство загружена конфигурация, то проверка завершается с ошибкой.

«Examine» — считать конфигурацию из ПЛИС в буфер «Programmer». После, загруженную конфигурацию можно сохранить в новый pof‑файл.

«Security Bit» — защищает ПЛИС от чтения конфигурации. При попытке чтения возвращаются некорректные значения, обычно — 0xFF. По этой причине функция «Verify» также перестает работать. Сбросить защиту можно только загрузив в ПЛИС конфигурацию без использования «Security Bit» или выполнив «Erase».

«Erase» — удаление данных конфигурации с ПЛИС.

«ISP CLAMP» — фиксация состояния каждого вывода ПЛИС на высоком, низком логическом уровне или в высокоимпендансном состоянии во время ее конфигурирования. Состояние выводов можно настраивать независимо друг от друга. С помощью данного режима можно выставить на выводах ПЛИС комбинацию сигналов сигнализирующих о том что микросхема находится в состоянии перепрошивки. Полезно для устройств на базе нескольких ПЛИС.

«IPS File» (I/O Pin State файл) — это файл описывающий состояние каждого вывода ПЛИС для режима ISP CLAMP. Без его наличия использование режима ISP CLAMP невозможно.

Загрузка и сохранение конфигурации

Для выполнения каких‑либо действий с конфигурацией ПЛИС необходимо выбрать это действие в списке «Device Tree», а именно — проставить галочку в соответствующем столбце. После, в ряду кнопок у левого края окна станет доступна кнопка «Start» (первая сверху). Нажатием на данную кнопку запускается выполнение выбранного действия. Прогресс выполнения и итоговый статус можно отследить по строке прогресса в верхнем правом углу окна «Programmer» (справа от надписи «Progress:»). Сообщения, выводимые в процессе работы «Programmer», можно увидеть в основном окне Quartus на панели «Messages», вкладка «System».

Рис 57 messages blank check failed

Таким образом, для сохранения загруженной в ПЛИС конфигурации достаточно выбрать действие «Examine» в «Device Tree» и нажать кнопку «Start». Значение в поле «File» скрывается при выборе «Examine».

Рис 58 examine config CPLD

После нажатия на «Start» в строке прогресса будет выводится как, собственно, прогресс чтения конфигурации, так и его результат. При достижении 100% (Successful) в поле «File» будет подставлено имя временного файла «untitled1.pof». Для сохранения «untitled1.pof» необходимо выбрать его в списке и нажать кнопку «Save File» у левого края окна (четвертая снизу). Будет открыт стандартный диалог открытия/сохранения файла.

Вид окна «Programmer» и описанная последовательность действий обозначены на рисунке выше.

Загрузка конфигурации производится аналогично:

  1. выбрать действие — «Program/Configure»;
  2. нажать кнопку «Start»;
  3. дождаться 100% (Successful) в строке прогресса.

Не забудьте в поле «File» указать верный файл конфигурации перед прошивкой. Заменить файл на необходимый можно с помощью кнопки «Change File…».

Рис 59 program or configure

На рисунке выше видно, что в столбце «Program/Configure» поставлена только одна галочка — в строке CFM. Так как проект не содержит информации для UFM, то выбирать для прошивки эту часть памяти не обязательно.

Сам процесс прошивки в «Programmer» состоит из следующей последовательности действий: Erase, Blank-Check (если выбрано), Program/Configure и Verify. При ошибке на любой из стадий процесс будет прерван.

Лог процесса прошивки выводится в основное окно Quartus на панели «Messages», вкладка «System».

Рис 60 messages successful program

Прервать выполнение процесса чтения/записи можно и вручную, с помощью кнопки «Stop» (вторая сверху). Данная кнопка становится доступна только на время выполнения чтения/записи конфигурации.

Всего, у левого края окна «Programmer» расположено десять кнопок. Часть из них была рассмотрена выше. Ниже описывается назначение оставшихся пяти кнопок:

  • «Delete» — активна только при выборе устройства в «Device Chain» или файла в «Device Tree». Удаляет выбранное устройство и связанный с ним pof‑файл из «Programmer».
  • «Add File…» — активна всегда. Используется для добавления pof‑файла в «Device Tree». В «Device Chain» будет автоматически добавлено соответствующее устройство. При добавлении нового файла существующие файлы не удаляются из списка «Device Tree».
  • «Add Device…» — активна всегда. Используется для ручного добавления устройств в «Device Chain». При нажатии на кнопку открывается диалоговое окно, в котором можно выбрать одну или несколько микросхем по их маркировке.
  • «Up» и «Down» — активны только тогда, когда в «Programmer» добавлено несколько микросхем ПЛИС. Используются для изменения порядка устройств в цепочке JTAG.

Все кнопки продублированы одноименными пунктами в меню «Edit» главного меню окна «Programmer».

Настройки «Device Tree» и «Device Chain» можно сохранить в общем файле с расширением cdf, который располагается в «output_files» в основной директории проекта. В проекте firstproject этот файл называется «firstproject.cdf». Относительный путь до него выводится в квадратных скобках в шапке окна «Programmer». Настройки сохраняются с помощью меню File → Save или File → «Save as». Также, «Programmer» будет предлагать сохранить файл cdf при попытке закрыть его окно, в случае если в настройки были внесены изменения.

Заключение

На этом изучение Quartus «Programmer» завершено. Осталось лишь подключить программатор к плате «CTRL‑CPLD‑EPM570». Включить саму плату. Настроить «Programmer» и загрузить конфигурацию в ПЛИС. При этом конфигурация счетчика в микросхеме будет заменена конфигурацией Вашего проекта и схема из трех независимых логических элементов готова к работе.

В результате получится устройство аналогичное изображенному на фотографии. Теперь можно опробовать работу каждого логического элемента на практике.

Рис 61 the device completed

Пришло время подвести итоги.

В шестой части серии статей о Quartus был разобран процесс полной компиляции проекта, подключение и настройка USB Blaster. Большая часть статьи посвящена настройке Quartus «Programmer».

Сама серия на этом завершается. В статьях были затронуты основы цифровой схемотехники. Рассмотрены ключевые функции ПО Quartus. Инструмента, которым пользуются и профессионалы. Поздравляю всех дошедших до финала!

Полученные знания можно использовать для освоения проектирования цифровых схем. Начать, лучше всего, с комбинационных схем и основ математической логики. Так как комбинационные схемы строятся из базовых логических элементов. После, можно перейти к схемам с памятью — последовательным схемам. Последовательные схемы это цифровые схемы объединяющие комбинационные схемы и ячейки памяти — триггеры. Последовательные и комбинационные схемы являются фундаментом для проектирования более сложных цифровых схем: сумматоров, схем сдвига, конвейеров и т. п. А обзаведясь таким багажом знаний Вы сможете проектировать специализированные микросхемы прямо у себя дома! Первый шаг сделан.


Изменено:

ПЛИС Altera. Часть 6: сборка схемы и загрузка конфигурации: 4 комментария

  1. Хотелось бы ещё прочесть статью, как не имея платы, симулировать данную схему в программе Quartus. Спасибо за цикл, было очень интересно!

    • Quartus имеет два средства для симуляции схем:
      встроенный симулятор, который работает с представлением сигналов в виде графиков;
      ModelSim Altera Edition — профессиональный инструмент, требующий знания Verilog/System Verilog/VHDL;

      О первом можно почитать сайте проекта Марсоход:
      https://marsohod.org/11-blog/86-quartussim

      О втором на easyelectronics:
      http://we.easyelectronics.ru/plis/quartus-modelsim-integraciya-v-kartinkah-i-sozdanie-testbench.html

      Про языки «System Verilog»/VHDL и написания тестовой среды, которую можно использовать в ModelSim рассказывается в четвертой главе учебника «Цифровая схемотехника и архитектура компьютера» М. Харрис и Л. Харрис. Русская версия этого учебника выложена в свободный доступ. Скачать последнюю его редакцию можно здесь:
      http://silicon-russia.com/public_materials/2018_01_15_latest_harris_harris_ru_barabanov_version

      Сам писать про симуляцию в ближайшее время не планировал. Тема следующей статьи: проектирование комбинационных схем.

      Рад был помочь узнать что-то новое.

  2. Огромное спасибо за цикл уроков. Все понятно и доходчиво. Хотя у меня другая отладочная плата с ПЛИС EPM240T100C5M, проект заработал сразу, с первого раза.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

This site uses Akismet to reduce spam. Learn how your comment data is processed.