Любой программист микроконтроллеров, Imho, рано или поздно (сейчас, скорее, рано) от одного из коллег или из статьи в интернете слышит загадочное ПЛИС или FPGA, CPLD, ПВМ — что-то такое. Если честно, то я услышал вот это загадочное, занырнул чуть-чуть, и теперь думаю, что мой опыт пригодится кому-то ещё. Если совсем честно, то статья ещё планируется как небольшая (всего в трёх частях) заметка для себя. Я когда погружался, делал пометки в текстовом файле, здесь получится их хорошо отредактированная версия.
Рубрика «Quartus»
Программист embedded лезет в FPGA
2025-08-22 в 9:00, admin, рубрики: fpga, helloworld, Quartus, плис начинающимСоздаем I2C Master Controller на Verilog. Проверим работу на реальном железе
2024-01-13 в 8:01, admin, рубрики: DSLogic, DSView, fpga, I2C, i2c master, i2c master controller, Quartus, SignalTap, timeweb_статьи, VerilogИдея простая — читаем и записываем данные по нажатию клавиш на одной из отладок с Cyclone IV, которые я рассматривал в одном из своих обзоров.
Если материал вам кажется интересным — добро пожаловать, с удовольствием и в свойственной мне манере расскажу, чего мне удалось добиться, а чего не удалось. 🙂

В России не любят Линукс, а я не люблю виртуальные машины. Что делать?
2023-08-14 в 8:28, admin, рубрики: fpga, gpt, LaLambda, openlane, Quartus, simply linux, SystemVerilog, UEFI, Verilog, Настройка Linux, программирование микроконтроллеров, Производство и разработка электроники, Разработка под Linux, Школа СинтезаНачинаем FPGA на Python
2019-02-09 в 12:33, admin, рубрики: Altera, fpga, myhdl, python, Quartus, ПЛИСТехнология FPGA (ПЛИС) в настоящее время обретает большую популярность. Растёт количество сфер применения: помимо обработки цифровых сигналов, FPGA используются для ускорения машинного обучения, в blockchain технологиях, обработке видео и в IoT.
Данная технология имеет один существенный минус: для программирования используются довольно старые и специфичные языки описания цифровой аппаратуры Verilog и VHDL. Это осложняет вхождение новичка в FPGA и для работодателя найти специалиста с этими специфичными знаниями на рынке труда трудно. С другой стороны популярный высокоуровневый язык программирования Python с фреймворком MyHDL делают программирование FPGA простым и приятным. Тем более людей знающих Python на порядок больше специалистов владеющих Verilog/VHDL. Серией статей я хочу показать как легко и просто войти в область FPGA зная Python и начать делать настоящие сложные FPGA проекты на этом языке.
Читать полностью »
Мой «Hello World!» на FPGA или очередная версия UART
2018-10-19 в 12:29, admin, рубрики: Altera, diy или сделай сам, fifo, fpga, IP CORE, LPM_ALTPLL, LPM_COUNTER, MEGAFUNCTIONS, PLL, Quartus, rs-232, uart, Verilog, мажоритарный элемент, ПЛИС, Программирование, прототипирование, схемотехника
Наконец-то у меня дошли руки до изучения ПЛИС. А то как-то неправильно получается: драйвера на железо под Linux пишу, микроконтроллеры программирую, схемы читаю (и немного проектирую), надо расти дальше.
Так как мигать светодиодами мне показалось не интересно, то решил сделать простенькую вещь. А именно написать модули приемника и передатчика для UART, объединить их внутри FPGA (заодно понять как использовать IP Core), ну и протестировать это все на реальном железе.
Читать полностью »
Странности синтеза при работе с FPGA
2018-06-02 в 12:29, admin, рубрики: fpga, Libero SoC, Quartus, Verilog, vivadoНа сегодняшний день существует два наиболее распространённых языка описания аппаратуры: Verilog/SystemVerilog и VHDL. Сами языки описания аппаратуры являются достаточно универсальными средствами, но всегда ли это так? И от чего может зависеть «не универсальность» языка описания аппаратуры?
Идея написания данной статьи возникла при синтезе одного проекта в разных средах разработки, в результате чего были получены отличные друг от друга результаты. Так как исходный модуль является достаточно объёмным, то для демонстрации полученных результатов был написан тестовый модуль меньшего объёма, но синтез которого вызывал те же предупреждения/ошибки. В качестве тестового модуля был использован 4-х битный регистр с асинхронным сбросом, а в качестве сред разработки были выбраны Libero SoC 18.1, Quartus Prime 17.1, Vivado 2017.4.1.
Читать полностью »
О портировании проекта MIPSfpga
2018-03-20 в 19:57, admin, рубрики: Altera, fpga, MIPSfpga, Quartus, virtual LEDs, Анализ и проектирование систем, Марсоход3, отладка, программирование микроконтроллеров
Перенос программного обеспечения с одной компьютерной архитектуры на другую в принципе, с некоторыми оговорками, дело относительно простое. Здесь на помощь приходят такие общеизвестные инструменты, как autoconf / automake/ libtool / gnulib. Собрать программу из исходников на каком нибудь Raspberry/ARM бывает так же просто, как и на ПК с Ubuntu/x86-64.
А вот как заставить проект ПЛИС разработанный для одной платы работать на другой плате? Там и сама ПЛИС может быть другой и на плате совершенно другие компоненты могут стоять. Простой перекомпиляцией проекта не обойтись.
Расскажу о своем опыте портирования проекта MIPSfpga для платы Марсоход3 с ПЛИС MAX10 Intel. Статьи о проекте MIPSfpga неоднократно появлялись на хабре. Они были так интересны, что мне захотелось и самому попробовать этот проект в имеющейся у меня плате. В своей работе я опирался на хабровские статьи
И многие другие…
Итак, что нужно сделать, чтобы портировать проект ПЛИС на другую плату?Читать полностью »
Хакатон нового типа испробован в Киеве, планируется повторить этот опыт в России
2016-11-28 в 7:18, admin, рубрики: Altera, C, fpga, IoT, Quartus, SoC, Verilog, vhdl, киев, кну, ПЛИС, сенсоры, хакатон, ХакатоныВ Киевском Политехническом Институте прошел хакатон нового типа, с одновременной разработкой и программной (Си, ассемблер), и схемотехнической (Verilog) частей системы, синтезируемой для реализации в микросхемы реконфигурируемой логики (ПЛИС/FPGA). Хакатон также поддерживался одной из кафедр Киевского Национального Университета и Imagination Technologies, разработчиком графического процессора PowerVR внутри Apple iPhone. Результат хакатона превзошел ожидания (об этом ниже), и сейчас разрабатываются планы повторить его в других местах, в частности в Томске или Новосибирске.
Хакатон в КПИ по MIPSfpga был экспериментальным в том смысле, что обычно в хакатонах участники или просто программируют (например решения SaaS), или делают устройства из готовых фиксированных микросхем и программируют их (Ардуино, STM32 Discovery). Здесь же участники и писали программу, и разрабатывали схему, интерфейсный блок на уровне регистровых передач (Register Transfer Level — RTL), после чего встраивали этот блок в синтезируемую систему с процессорным ядром MIPS microAptiv UP и шиной AHB-Lite, и реализовывали эту систему в FPGA.
Вот как это выглядело на экранах их ноутбуков, на FPGA-плате и концептуально:
Читать полностью »
Hello, World! На ПЛИС. Мигаем светодиодом
2016-02-20 в 5:48, admin, рубрики: Altera, fpga, Quartus, Verilog, ПЛИС, Программирование, программирование микроконтроллеров Мигаем светодиодом, с помощью ПЛИС Altera Cyclone iv, ПО Quartus и языка Verilog.
В этом видео я рассказываю о том, как сделать мигалку светодиодом: создам проект, напишу модуль, назначу выводы ПЛИС и прошью микросхему.
Пожалуйста, прибавьте громкость.
MIPSfpga: вне канона
2015-11-12 в 13:26, admin, рубрики: AHB-Lite, Altera, Cyclone, fpga, MAX10, mips, MIPSfpga, nmon, opencores, openocd, Quartus, Terasic, uart, Wishbone, Железо, платы Марсоход, Производство и разработка электроники, Процессоры, Электроника для начинающих 
В течении последних трёх недель в МИЭТ, МГУ, МИФИ, МФТИ и других российских ВУЗах прошли семинары по процессору на ПЛИС MIPSfpga. В рамках семинаров прошли лабораторные работы на которых демонстрировалось как применять MIPSfpga на практике.
В публикации я расскажу о своих экспериментах с MIPSfpga, которые выходят за рамки лабораторных работ, рассмотрю возможности интеграции процессорного ядра MIPSfpga с IP-блоками opencores.org. Также поведаю о портировании MIPSfpga на некоторые платы на базе ПЛИС Altera (приведены значения Fmax и показатели использования ресурсов ПЛИС).
Читать полностью »


