Сделай шаг к ПЛИС
Много лет я не решался начать программировать ПЛИС, потому что это сложно, дорого и больно (как мне казалось). Но хорошо, когда есть друзья, которые помогают сделать первый шаг. И теперь я не понимаю одного — ПОЧЕМУ Я ЖДАЛ ТАК ДОЛГО?
Сейчас я помогу сделать первый шаг и тебе!
А зачем оно мне?
Ты устал постоянно читать доки по своему МК или держать кучу информации в голове. Ты все переписал на asm, но скорости все равно не хватает. Ты подключил два внешних устройства к своему МК, подключаешь третье, но у тебя кончились прерывания, перестают работать те модули, что уже работали. Ты берешь другой МК, более мощный из той же линейки, но опять мануалы, регистры флагов, биты… ад. Меняешь платформу: переходишь на другой МК и выкидываешь на помойку свои знания по прежней платформе. Что бы ты не делал — оно дается тяжело. Ты находишь популярную платформу, в которой можно легко из компонентов собирать проект, но выше аппаратных ограничений данного МК все равно не удается прыгнуть… Где-то на краешке сознания иногда проскакивает мысль, что вот на ПЛИС это бы точно заработало быстро и параллельно, что это «именно та задача, которую бы надо решать на плис», но я стар/глуп/занят/etc чтобы суметь/начать такое делать.
Хочешь наконец вздохнуть свободно? Идем дальше!
Радость от разработки на ПЛИС
У меня был тяжелый рабочий день. С одной работы я приехал на вторую работу, потом на дачу, вечером домашние дела, уроки, потом семейный просмотр кино и только в 23 часа я оказался совершенно свободен! Сказать, что я был уставший — ничего не сказать. Но в таком состоянии я сел за ноут с твердой целью: сделать генератор меандра на 440 Гц. Прошло 20 минут и я уже слышал его в наушниках. Я не верил своим ушам! Еще 15 минут мне потребовалось, чтобы сделать ШИМ и менять громкость. К тому времени плата с ПЛИС у меня была всего с неделю и до этого я пролистал всего пару книг по Verilog.
В тот вечер я понял: ВОТ ОНО! Вот та платформа, в которой я быстро и легко могу превращать свои мысли в реально работающее железо!
Почему так?
- Универсальность знаний — при смене модели МК нужно читать доки. При смене производителя МК нужно читать доки. Нужно постоянно читать доки, постоянно держать в голове кучу информации. При разработке на ПЛИС, если знаешь Verilog или VHDL, то можно не только программировать любой ПЛИС из линейки одного производителя, но и при желании перейти на другого (Altera, Xilinx). Хоть и будут моменты с освоением другой среды разработки, тонких аппаратных моментов, но сама суть подхода проектирования устройств на HDL от этого не изменится.
- От идеи к железу — при разработке проекта, если тебе не хватает одного мк, то приходится выбирать другой. В принципе можно строить предположения справится или не справится этот МК с проектом. Либо есть какой-то конкретный МК и ты пытаешься туда вместить проект. Чаще всего именно так. Мне это чем-то напоминает подход моего деда, который делает лестницу из того, что есть в сарайке. Хотя можно спроектировать лестницу, купить досок, которые подойдут… От идеи к железу, а не наоборот.
- Простота применения чужих разработок — можно взять чужой модуль и применить его в своем проекте. По коду сможете понять, как он работает. Даже, если он для xilinx, а вы делаете под altera. Иногда это получается не сарзу, но это проще, чем, например, добавлять двоичные библиотеки к проекту на c++/Qt
- Независимость блоков. Блоки в HDL, как чистые фунции в ЯП. Зависят только от входных сигналов. Разработанный и отлаженный модуль в будет и дальше работать правильно, как бы не рос проект. Ничто снаружи не повлияет на правильность его работы изнутри. Да и вообще можно забыть, как он работает — это черный ящик. К тому же, блоки работают параллельно.
Проблема выбора
Сильно останавливают вопросы, что выбрать: Altera/Xilinx, Verilog/VHDL, какую отладочную плату взять. Но обо всем по порядку.
Производитель
Я выбрал Altera. Почему? Ну мы вот так с другом решили, хотя название Xilinx мне красивее. НО. Если ты сейчас не можешь выбрать, то я сделаю это за тебя. Тебе нужен Altera! Почему? Я не знаю. Сейчас важнее сделать шаг: сделать выбор. Я выбрал Altera и пока не пожалел.
Язык
Берем Verilog — потомучто… ну ты понял.
Отладочная плата
На выбор отладочной платы ушло больше всего времени. Понятно, что платы отличаются установленной микросхемой ПЛИС. А микросхемы ПЛИС отличаются друг от друга количеством элементов. Но совершенно не понятно, сколько их потребуется для твоих тестовых проектов. Поэтому большую часть времени я потратил на поиск всевозможных проектов на ПЛИС на предмет того, чтобы узнать, сколько они потребляют ресурсов ПЛИС.
В семействе Altera, за разумные деньги мы можем купить платы с CPLD MAX II на 240, 570 и 1270 элементов, либо более старшие микросхемы FPGA, которые Cyclone 1, 2, 3, 4 с количеством до 10000 и более ячеек. Как же выбрать?
Даже на базе 240 ячеек, проект Марсоход делает просто огромное количество проектов. Настоятельно рекомендую ознакомиться, чтобы иметь примерное представление о сложности проектов, которые можно уместить в 240 ячеек. С другой стороны, существуют проекты, которые полностью программируются под аппаратную копию определенного ПК, включая процессор и всю логику вокруг него (NES, Speccy, Orion, ЮТ-88, etc). Для этого уже требуется пять, десять и более тысяч ячеек. Плюс эти платы содержат дополнительные внешние устройства.
Поэтому я бы посоветовать взять что-то среднее между 240 и 10000 ячейками, с предпочтением в сторону увеличения в зависимости от доступных средств. На отладочной плате лишние ячейки это не страшно, а если их не хватит — уже ничего не поделаешь. Потом, когда устройство отлажено, станет ясно, сколько надо ячеек, купить под нужное количество, без лишнего «обвеса», дешевле и оставить в готовом устройстве.
То, чем действительно отличаются MAX от Cyclone’ов, кроме количества ячеек, это:
1) У серии MAX внутри нет PLL. На каждой отладочной плате есть генератор, как правило на 50 МГц. Основной массе проектов этого будет достаточно. Все синхронизации будут происходить путем деления 50 МГц на какое-нибудь значение. Либо, можно взять внешний генератор и подать на отдельный вход ПЛИС. А что, если потребуется частота выше 50 МГц? Мне не удалось с ходу найти генераторы выше 50 МГц. Но тут как раз на помощь и приходит PLL, который встроен в Циклоны. На нем можно умножить частоту, например, до 100 МГц.
2) В серии Cyclone встроены аппаратные блоки умножения. Их количество зависит от конкретной модели — тут как раз можно «всетаки заглянуть в инструкции», чтобы узнать сколько. Если предполагаете делать какой-то ЦОС, то они пригодятся: сэкономят ячейки, увеличат скорость. С другой стороны, если нет умножителей, их можно синтезировать, но у маленькой ПЛИС на это может не хватить ресурсов.
Во всем остальном у меня критерий «влезло/не влезло». Отладка на заведомо бОльшей, чем нужно плате, с последующей заливкой в минимально необходимую для этого.
Сколько нужно денег?
Программатор
Я считаю, что у меня нет времени, чтобы паять программаторы на рассыпухе.
300 рублей. Я свой брал на ебее, выглядит так:
Отладочная плата
Выбор широкий, в зависимости от количества денег.
Начальный уровень 350 — 550 рублей. Это платы на MAX II (240 или 570 ячеек). Могут подойти для начального ознакомления и дальнейшего пристройства в конечные устройства. На плате есть генератор, пара кнопок, пара светодиодов, остальные 80 выводов на свое усмотрение.
Блок питания
Обязательно должен быть, но не всегда идет в комплекте. Потребуется БП на 5 вольт и ток 2А.
Средний уровень от 900 до 1500 рублей. Это платы Cyclone 1, 2, 3, 4 отличающиеся в основном количеством ячеек.
Маркируются примерно так:
EP2C5T144 — Cyclone 2 примерно 5к ячеек
EP4CE6E22C8N — Cyclone 4 примерно 6к ячеек
EP2C8Q208C8N — Cyclone 2 примерно 8к ячеек
Можно заметить, что Cyclone 3 может иметь больше ячеек, чем Cyclone 4.
Вот несколько вариантов:
835 рублей.
ALTERA FPGA CycloneII EP2C5T144 Minimum System Board for Learn good
880 рублей
Altera CycloneII EP2C5T144 FPGA Mini Development Learn Core Board E081
1265 рублей
EP2C8 EP2C8Q208C8N ALTERA Cyclone II FPGA Evaluation Development Core Board
Платы с расширенными возможностями. Это платы, на которых установлены дополнительные модули (UTP, USB, AUDIO), разъемы (SD, VGA), кнопки, переключатели, светодиоды, семисегментные индикаторы и т.д. Либо может идти базовая плата, а к ней могут прилагаться платы расширения отдельно.
Вот основная плата. На ней есть 2 светодиода, 2 кнопки, 4 переключателя, семисегментный интикатор и микросхема оперативной памяти.
Плата расширения. На ней распаяны SD, VGA, а так же контроллеры USB(High Speed USB2.0 Chip: CY7C68013A), AUDIO(Sound Card up to 96kHz/32bit ADC/DAC: WM8731S), UTP(100M Ethernet interface: DM9000A):
Эти платы просто вставляются одна в другую, но у меня она пока лежит в ящике. Для своих поделок у меня макетка, с которой я соединяюсь шлейфом, который идет в комплекте. Еще в комплекте идет блок питания на 5 вольт.
Altera Cyclone NIOS II SOPC FPGA Development Learning Board EP2C8Q208C8N+LCD1602 — 2670 рублей
Terasic Altera FPGA DE0-Nano Cyclone IV Development and Education Board — 4600 рублей
Но в целом, большие и дорогие отладочные платы я бы не рекомендовал сразу покупать. Дорогие покупки должны быть обоснованы, сейчас же пока не ясно что подойдет лучше. Ясно станет, когда начнется практика.
Заказал, ждем
Пока идут платы, можно начать себя морально и технически готовить:
— Установить Quartus II v.11.1
Почитать:
— Книга: А.К. Поляков Языки VHDL и Verilog в проектировании цифровой аппаратуры 2003
— www.kit-e.ru/articles/circuit/2008_3_161.php — Краткий курс HDL
— Уроки на марсоходе по верилогу, архитектура, простые советы по стилю.
— VERILOG как образ жизни
— Хорошие примеры (EN)
— Как начать работать с ПЛИС (Xilinx)
ВСЕ!
Мы ждем от тебя интересных проектов на ПЛИС!
PS. Обращаясь к тебе на «ты», я обращаюсь, как к равному, личности, а не части толпы. Если обращение на «ты» оскорбило, прошу меня извинить.
ВНИМАНИЕ! Verilog и ПЛИС не являются серебряной пулей и волшебным средством решения любых задач, они не могут заменить микроконтроллеры во всех проектах. Для работы с ПЛИС требуется определенный уровень технической подготовки. Вы сами несете ответственность за все решения в вашей жизни. Автор снимает с себя ответственность за возможные финансовые и временные потери, связанные с вашими исследованиями в области ПЛИС и Verilog.
Применение ЭСППЗУ 5576РС1У(EPC4) для серии ПЛИС 5578
Сегодня в России реализуется программа по импортозамещению, в том числе в области микроэлектроники и приборостроения. На одном из предприятий Санкт-Петербурга была поставлена задача по освоению новой ПЛИС 5578РС094 от АО «КТЦ «Электроника». Среди компонентов, необходимых для конфигурирования ПЛИС, есть один весьма важный — это внешняя память для хранения конфигурационных данных. При реализации проекта выбор пал на проверенную временем ЭСППЗУ 5576РС1У от АО «ПКК Миландр». Однако здесь возникает проблема, связанная с нехваткой объема памяти данной ЭСППЗУ. Для ее устранения было предложено решение, предусматривающее каскадное соединение двух 5576РС1У с целью увеличения объема памяти для хранения конфигурационных данных ПЛИС. Казалось бы, проблема решена! Но для программирования ЭСППЗУ 5576РС1У необходим файл с расширением *.pof. Учитывая, что САПР для создания конфигурационных данных ПЛИС от АО «КТЦ «Электроника» не генерирует этот файл, авторами статьи была разработана методика по получению *.pof-файла из файлов конфигурационных данных ПЛИС 5578РС094.
ПЗУ для ПЛИС
ПЛИС 5578ТС084 и 5578ТС094, выпускаемые отечественной промышленностью, — достаточно новые функциональные аналоги изделий EP3C16 и EP3C25 от компании Altera. Для сравнения с предыдущей версией, 5578ТС024 [1], функциональным аналогом ЕР2С8, параметры ПЛИС представлены в таблице 1.
Параметр
5578ТС024
5578ТС084
5578ТС094
Количество логических элементов
Объем встроенной памяти, бит
Количество умножителей 18×18, шт.
Количество пользовательских выводов
Количество глобальных цепей тактирования
Количество блоков PLL
Количество каналов LVDS
Максимально возможная тактовая частота, МГц
Напряжение ядра, В
Напряжение периферии, В
Примечание. *Параметр получен косвенным путем по формуле f = 1/τ из параметра: минимальный интервал межрегистровой пересылки.
Для хранения конфигурационных данных ПЛИС 5578ТС084(094) АО «КТЦ «Электроника» рекомендует применять ОППЗУ 5578РС025 объемом 8 Мбит, а для 5578ТС024 — ЭСППЗУ 5578РС015 объемом 2 Мбит.
Новые ПЛИС выполнены по 90‑нм КМОП-технологии и обладают преимуществом характеристик в сравнении с 5578ТС024, а это означает увеличенное количество аппаратных умножителей, блоков пользовательской памяти и, что не менее важно, наличие блоков ФАПЧ (PLL), однако здесь по-прежнему отсутствуют LVDS.
На данный момент имеется несколько ПЗУ отечественного производства для конфигурирования ПЛИС серий 5576 и 5578 (табл. 2).
Модель
ТИП ПЗУ
Uпитания, В
Объем, Мбит
Режим конфигурации
Корпус
Как видно из таблицы 2, среди основных характеристик ПЗУ для конфигурирования ПЛИС особое внимание обращает на себя то, что львиная доля ПЗУ имеет однократное программирование.
На этапе проектирования модуля или прибора, где может быть применима ПЛИС, конфигурируемая с внешней ПЗУ, не всегда удобно использовать ПЗУ однократного действия. Особенно если речь идет о модернизации программного обеспечения на стадии опытного образца или готового изделия.
Одним из авторов статьи, опубликованной в журнале «Компоненты и технологии» [1], был описан метод конфигурирования ПЛИС 5578ТС024 с ЭСППЗУ 5576РС1У от компании АО «ПКК Миландр», а также способ получения *.pof-файла прошивки для одной ЭСППЗУ [2]. Для использования 5576РС1У с новыми ПЛИС 5578ТС084(094) необходимо учесть, что напряжение питания ПЛИС составляет 2,5 В, а ЭСППЗУ — 3,3 В. По этой причине для согласования сигналов между ПЛИС и ЭСППЗУ автор рекомендует применять микросхему 8‑разрядного шинного формирователя выходных уровней 5572ИН2АУ или проработать схему согласования с помощью транзисторов (рис. 1) и расположить их на обратной стороне платы печатного монтажа.
Рис. 1. Схема согласования
Схема подключения ЭСППЗУ 5576РС1У с ПЛИС должна выполняться согласно спецификации на микросхему (рис. 2).
Рис. 2. Схема включения ПЛИС с несколькими конфигурационными микросхемами
Файл *.pof для 5576РС1У
Как уже было сказано, САПР разработки конфигурационных данных для ПЛИС серии 5578 от АО «КТЦ «Электроника» не генерирует файл с расширением *.pof для программирования ЭСППЗУ 5576РС1У, а предлагает пользователю на выбор файл с расширением *.jam для конфигурирования ПЛИС или файл *.bitstream для конфигурирования ПЛИС с помощью микроконтроллера.
Для решения проблемы получения файла прошивки для ЭСППЗУ 5576РС1У существует утилита rbf2pof, предназначенная для конвертирования *.rbf– в *.pof-файл, которую можно найти на форуме АО «ПКК Миландр» [3].
Файл *.bitstream, генерируемый инструментарием для ПЛИС 5578ТС084(94), имеет размер, превышающий объем ЭСППЗУ 5576РС1У. По этой причине необходимо применить две ЭСППЗУ в каскадном соединении (рис. 2). Файл *.bitstream следует разделить на две части так, чтобы первая была кратна двум. Обе части могут быть не равны по размеру, но меньше чем 447 кбайт. Далее к первой части необходимо добавить 1 байт 0хFF в конце файла, тем самым сделав его нечетным по количеству байт в файле. А затем при помощи утилиты получить два файла с расширением *.pof.
Для автоматического получения файлов *.pof и последующего программирования ЭСППЗУ 5576РС1У конфигурационными данными ПЛИС серии 5576 или 5578 одним из авторов разработана утилита Сreatepof (рис. 3), предназначенная для преобразования файлов с расширением *.rbf или *.bitstream и *.bin в файл *.pof для последующей прошивки в 5576РС1У. Утилиту для операционных систем GNU Linux или не хуже Windows 7 можно скачать на форуме компании АО «ПКК Миландр» [4]. Автор предупреждает, что утилита не тестировалась на всех ПЛИС из серии 5578, поскольку уже появились ПЛИС новых версий 5578ТС064, а в скором времени ожидается и 5578ТС104. Поэтому утилита постоянно тестируется и дорабатывается с помощью специалистов сторонних предприятий.
Рис. 3. Окно загрузки утилиты Createpof
Утилита Createpof не нуждается в отдельной инструкции и проста в использовании, ее интерфейс интуитивно понятен. Сгенерированные файлы *.bitstream для конфигурирования ПЛИС из САПР разработки конфигурационных данных от АО «КТЦ «Электроника» загружаются в утилиту Createpof нажатием кнопки Open file (рис. 3), после чего можно получить необходимое количество *.pof-файлов для прошивки ЭСППЗУ 5576РС1У. Причем утилита сама определит требуемое количество файлов для ЭСППЗУ. Далее стандартными средствами САПРа Altera Quartus II и программатора USB-BLASTER прошивается ЭСППЗУ.
Дорабатывая код утилиты Сreatepof, автор постарался сделать инструмент, удобный для использования разработчиком проектов для ПЛИС отечественного изготовления.
Заключение
Разработанная одним из авторов статьи утилита Сreatepof позволяет преобразовать файлы битового потока с расширениями *.rbf, *.bitstream или *.bin в файл с расширением *.pof для последующего программирования ЭСППЗУ 5576РС1У. Утилита автоматически определяет необходимое количество микросхем памяти для хранения конфигурационных данных ПЛИС по суммарному объему входных файлов, а также может объединять несколько файлов конфигурационных данных для одной ЭСППЗУ по схеме: две ПЛИС и одна ЭСППЗУ. Это экономит средства и время на разработку целевого устройства.
Применение ЭСППЗУ 5576РС1У в каскадном соединении в связке с ПЛИС серий 5576 и 5578 позволяет обеспечить многократное обновление конфигурационных данных как на этапе разработки целевого устройства, так и в дальнейшей его эксплуатации.
Мучаем 5576ХС4Т — часть 0 — покупаем, паяем, ставим драйвера и софт
Расскажем, что это за зверь такой, отечественная ПЛИС 5576ХС4Т, и как сделать первые шаги в её освоении.
Самое сложное — раздобыть к ней отладочную плату. Одну разновидность выпускает сам ВЗПП-С, но в розницу и вообще физическим лицам, похоже, не продаёт. Другую делают LDM-Systems из Зеленограда, вот её я и купил. На тот момент они были готовы продавать её физическим лицам (сейчас, по кр. мере если верить сайту — только юридическим), да и цена была чуть менее кусачей.
Также у них продаётся отладочная плата на более слабенькую ПЛИС 5576ХС1Т — в ней 2880 логических ячеек (LE) и 20 кбит встроенной памяти (RAM-блоков), а не 9984 LE и 96 кбит, как в 5576ХС4Т. Зато подешевле, и совершенно точно продадут физическим лицам.
Можно ещё попробовать заказать плату не в полной комплектации. Если открыть электрическую схему, там будут отдельные фрагменты, обведённые пунктиром и обозначенные «A, B, C, D». Это опциональная периферия. A — виртуальный COM-порт и приёмопередатчик RS485, B — контроллер Ethernet, C — светодиодики и кнопочки на плате, чтобы побыстрее включиться в процесс, D — АЦП. Каждый из них можно без вреда для других не напаивать, и тогда получится чуточку дешевле.
По-хорошему, приобретением этих отладочных плат должен озаботиться работодатель. Эти цены — сущая фигня в сравнении с тем, сколько будет стоить сама микросхема уже в металлокерамическом корпусе и с военной приёмкой!
Окромя самой платы, понадобится отладчик JTAG и шнурок, который позволит подключить его к данной плате. Отладчик я купил там же, но вообще тут подойдёт любой USB Blaster (за авторством Altera, нынче Intel).
Чтобы подключить его к данной плате, можно было купить переходник, но я пожадничал и спаял кабель самостоятельно, на фото — справа сверху. Даже не то, чтобы пожадничал — при покупке отладочной платы я не ожидал, что будет такая проблема, надеялся может, что там в комплекте уже какой-то шнурок будет. Но плата пришла, USB Blaster пришёл, хочется уже это дело проверить — в такой ситуации спаять явно быстрее, чем ещё раз заказывать что-то.
Распиновка шнура выясняется следующим образом. Открываем принципиальную схему отладочной платы, находим на ней разъём X4 (под микросхемой FLASH). Нам нужны следующие выводы:
— GND, желательно 2 штуки
— VTref (иногда VCC или VDD) — он объяснит USB Blaster’у, что нужно выдавать сигналы с логическими уровнями 3,3 вольта
— TCK, TMS, TDI, TDO — основные выводы JTAG.
Остальное нам не надо, оставляем неподключёнными. На шелкографии платы находим «единичку» — первую ножку разъёма. Эти разъёмы нумеруются справа налево!
Дальше открываем руководство по эксплуатации USB Blaster, находим таблицу 2, там во вкладке JTAG прописаны интересующие нас выводы.
Свериться можно всё по той же фотографии в начале поста — можно открыть её в полном разрешении, и расположение проводов там видно вполне отчётливо.
Для работы с данной ПЛИС нужно использовать среду Quartus II, версии НЕ ВЫШЕ 9.0 sp2. В более свежих версиях прекращается поддержка кристаллов Flex10k, функциональным аналогом которой является наша 5576ХС4Т.
Скачать Quartus II 9.0 sp2 можно бесплатно с FTP-сервера Altera:
ftp://ftp.altera.com/outgoing/release
находим там
90sp2_quartus_free.exe
Устанавливаем Quartus. Не помешает запустить установщик от имени администратора, иначе он может какие-то файлы не установить, но промолчать.
И остаётся ещё установить драйвера на USB Blaster. Подключаем данный драндулет, он появится как «неизвестное устройство», драйвера к нему лежат в папке Quartus: drivers\usb-blaster.
Под windows xp появится предупреждение, что драйвера не подписаны, жмём «всё равно продолжить», и всё устанавливается в лучшем виде.
Под семёркой такой фокус, увы, не прокатывает, и я отключил подпись драйверов следующим способом.
Запустил командную строку от имени администратора и ввёл 2 команды:
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
после чего перезагрузился, и всё поставилось. Есть и другие варианты.
После всех мучений в диспетчере устройств должен появиться USB Blaster. И далее нам надо убедиться, что кабель спаян правильно, и вся эта штука вообще подаёт признаки жизни.
Для этого подключаем отладочную плату по USB (или втыкиваем её в зарядное для телефона, нам пока что нужно лишь 5 вольт), подключаем USB Blaster, открываем Quartus, а в нём — Programmer, либо из меню Tools, либо из панели инструментов, нарисован чип, из которого валит пар.
У этой штуки укуренный интерфейс. Тыкаем Hardware setup, и там в списке должен САМОСТОЯТЕЛЬНО появиться наш USB Blaster. Он может появиться не сразу, кнопка Add hardware нам абсолютно ничем не поможет, там речь пойдёт о каких-то сетевых устройствах. Как появится — долбим по нему два раза, чтобы он появился в строке Currently selected hardware, и наконец-то жмём OK.
И теперь жмём Auto detect, и должны увидеть следующую картину:
Два устройства. Первое, EPC16/4/8 — это FLASH-конфигуратор ПЛИС, выполненный на микросхеме 5576РС1У. Именно туда мы хотим прошиваться, чтобы далее ПЛИС работала по нашей «программе» уже без отладчика, грузилась при подаче питания.
Второе устройство, EPF10K200E/S — непосредственно ПЛИС. Можно законфигурировать непосредственно её, это ГОРАЗДО быстрее, буквально полсекунды, и с этого момента она начнёт работать по новой «прошивке». Но после выключения питания она, разумеется, будет утеряна, и ПЛИС будет «загружена» из FLASH-конфигуратора.