Pull to refresh

Новостной дайджест событий из мира FPGA/ПЛИС — №004 (2020_04)

C *Concurrent computing *Machine learning *FPGA *

Здравствуйте, друзья.

Пришла в голову мысль опубликовать последние события за месяц из мира FPGA/ПЛИС. Ниже приведены несколько ссылок на новости, анонсы, вебинары, воркшопы, туториалы, видео и тд. Подобные новостные дайджесты есть, например, на хабе про php, почему бы и не сделать что-то подобное и для ПЛИС?


Подробности в конце статьи ;)
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 3.5K
Comments 6

Установка Quartus II Web Edition для Linux

FPGA *


В публикации рассказывается о том, как произвести установку САПР Altera Quartus II Web Edition (далее просто Quartus) в пакетном режиме на компьютер, работающий под управлением ОС Debian Linux amd64. Автор использует Quartus для работы с платами семейства Марсоход, так что в публикации также приведён небольшой обзор этого семейства, и то, какие версии Quartus для каких плат Марсоход годятся.
Материал будет полезен всем, кто начинает работать с Quartus под ОС GNU/Linux.

Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 27K
Comments 9

MIPSfpga: вне канона

FPGA *

В течении последних трёх недель в МИЭТ, МГУ, МИФИ, МФТИ и других российских ВУЗах прошли семинары по процессору на ПЛИС MIPSfpga. В рамках семинаров прошли лабораторные работы на которых демонстрировалось как применять MIPSfpga на практике.
В публикации я расскажу о своих экспериментах с MIPSfpga, которые выходят за рамки лабораторных работ, рассмотрю возможности интеграции процессорного ядра MIPSfpga с IP-блоками opencores.org. Также поведаю о портировании MIPSfpga на некоторые платы на базе ПЛИС Altera (приведены значения Fmax и показатели использования ресурсов ПЛИС).
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 15K
Comments 6

Hello, World! На ПЛИС. Мигаем светодиодом

Programming *FPGA *Programming microcontrollers *
Tutorial
Мигаем светодиодом, с помощью ПЛИС Altera Cyclone iv, ПО Quartus и языка Verilog.
В этом видео я рассказываю о том, как сделать мигалку светодиодом: создам проект, напишу модуль, назначу выводы ПЛИС и прошью микросхему.

Пожалуйста, прибавьте громкость.



PS. Как выяснилось, Хабр не любит смотреть видео. Статья оставлена, как пример для других хаброписателей.
Total votes 15: ↑7 and ↓8 -1
Views 12K
Comments 11

Хакатон нового типа испробован в Киеве, планируется повторить этот опыт в России

Hackathon
В Киевском Политехническом Институте прошел хакатон нового типа, с одновременной разработкой и программной (Си, ассемблер), и схемотехнической (Verilog) частей системы, синтезируемой для реализации в микросхемы реконфигурируемой логики (ПЛИС/FPGA). Хакатон также поддерживался одной из кафедр Киевского Национального Университета и Imagination Technologies, разработчиком графического процессора PowerVR внутри Apple iPhone. Результат хакатона превзошел ожидания (об этом ниже), и сейчас разрабатываются планы повторить его в других местах, в частности в Томске или Новосибирске.



Хакатон в КПИ по MIPSfpga был экспериментальным в том смысле, что обычно в хакатонах участники или просто программируют (например решения SaaS), или делают устройства из готовых фиксированных микросхем и программируют их (Ардуино, STM32 Discovery). Здесь же участники и писали программу, и разрабатывали схему, интерфейсный блок на уровне регистровых передач (Register Transfer Level — RTL), после чего встраивали этот блок в синтезируемую систему с процессорным ядром MIPS microAptiv UP и шиной AHB-Lite, и реализовывали эту систему в FPGA.

Вот как это выглядело на экранах их ноутбуков, на FPGA-плате и концептуально:
Total votes 24: ↑22 and ↓2 +20
Views 11K
Comments 20

О портировании проекта MIPSfpga

System Analysis and Design *Debugging *FPGA *Programming microcontrollers *


Перенос программного обеспечения с одной компьютерной архитектуры на другую в принципе, с некоторыми оговорками, дело относительно простое. Здесь на помощь приходят такие общеизвестные инструменты, как autoconf / automake/ libtool / gnulib. Собрать программу из исходников на каком нибудь Raspberry/ARM бывает так же просто, как и на ПК с Ubuntu/x86-64.

А вот как заставить проект ПЛИС разработанный для одной платы работать на другой плате? Там и сама ПЛИС может быть другой и на плате совершенно другие компоненты могут стоять. Простой перекомпиляцией проекта не обойтись.

Расскажу о своем опыте портирования проекта MIPSfpga для платы Марсоход3 с ПЛИС MAX10 Intel. Статьи о проекте MIPSfpga неоднократно появлялись на хабре. Они были так интересны, что мне захотелось и самому попробовать этот проект в имеющейся у меня плате. В своей работе я опирался на хабровские статьи


И многие другие…

Итак, что нужно сделать, чтобы портировать проект ПЛИС на другую плату?
Total votes 16: ↑16 and ↓0 +16
Views 2.9K
Comments 5

Странности синтеза при работе с FPGA

FPGA *
Sandbox
На сегодняшний день существует два наиболее распространённых языка описания аппаратуры: Verilog/SystemVerilog и VHDL. Сами языки описания аппаратуры являются достаточно универсальными средствами, но всегда ли это так? И от чего может зависеть «не универсальность» языка описания аппаратуры?

Идея написания данной статьи возникла при синтезе одного проекта в разных средах разработки, в результате чего были получены отличные друг от друга результаты. Так как исходный модуль является достаточно объёмным, то для демонстрации полученных результатов был написан тестовый модуль меньшего объёма, но синтез которого вызывал те же предупреждения/ошибки. В качестве тестового модуля был использован 4-х битный регистр с асинхронным сбросом, а в качестве сред разработки были выбраны Libero SoC 18.1, Quartus Prime 17.1, Vivado 2017.4.1.
Читать дальше →
Total votes 30: ↑23 and ↓7 +16
Views 8.4K
Comments 28

Мой «Hello World!» на FPGA или очередная версия UART

Programming *FPGA *Prototyping *Circuit design *DIY
Мой Hello World! на FPGA или очередная версия UART

Наконец-то у меня дошли руки до изучения ПЛИС. А то как-то неправильно получается: драйвера на железо под Linux пишу, микроконтроллеры программирую, схемы читаю (и немного проектирую), надо расти дальше.

Так как мигать светодиодами мне показалось не интересно, то решил сделать простенькую вещь. А именно написать модули приемника и передатчика для UART, объединить их внутри FPGA (заодно понять как использовать IP Core), ну и протестировать это все на реальном железе.
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views 16K
Comments 36

Начинаем FPGA на Python

Python *FPGA *
Sandbox
Технология FPGA (ПЛИС) в настоящее время обретает большую популярность. Растёт количество сфер применения: помимо обработки цифровых сигналов, FPGA используются для ускорения машинного обучения, в blockchain технологиях, обработке видео и в IoT.

Данная технология имеет один существенный минус: для программирования используются довольно сложные и специфичные языки описания цифровой аппаратуры Verilog и VHDL. Это осложняет вхождение новичка в FPGA и для работодателя найти специалиста с этими специфичными знаниями на рынке труда сложно. С другой стороны популярный высокоуровневый язык программирования Python с фреймворком MyHDL делают программирование FPGA простым и приятным. Тем более людей знающих Python на порядок больше специалистов владеющих Verilog/VHDL. Серией статей я хочу показать как легко и просто войти в область FPGA зная Python и начать делать настоящие сложные FPGA проекты на этом языке. Отмечу, что на ПЛИС python непосредственно не исполняется, а является инструментом для генерации прошивки.
Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Views 32K
Comments 56

Использование Quartus и ModelSim

FPGA *
Sandbox
Tutorial
Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры — HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизоляции, я добрался до этой замечательной книги. В процессе чтения я столкнулся с некоторыми трудностями, а в частности, как именно писать и отлаживать код в Quartus Prime. В процессе поисков мне очень помог сайт marsohod.org, но вот процесс симуляции схемы на этом сайте описан с использованием встроенных средств Quartus и в современных версиях программы, этих встроенных средств нет и необходимо использовать ModelSim. Чтобы как-то систематизировать те знания, которые я получил, используя Quartus и ModelSim, я решил написать эту статью. В процессе этой статьи я в качестве примера разберу задачу из книги Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», а конкретно задачу 3.26 про автомат газированной воды. На протяжении статьи я покажу, как установить Quartus, создать проект, написать код и произвести его симуляцию. Всем кому это будет интересно, добро пожаловать под кат.

image
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Views 19K
Comments 15

Моделируем поведение Quartus-проекта на Verilog в среде ModelSim

System Programming *Programming microcontrollers *Computer hardware
В прошлой статье мы сделали достаточно сложный модуль. Разумеется, я вставил в тело статьи уже отлаженный результат. Но мне показалось, что достаточно странно, когда автор говорит «делай, как я», но при этом не показывает очень важного процесса. Давайте я покажу, как вообще проводится отладка системы путём моделирования. Причём в следующей статье будут содержаться сведения, которые ещё неделю назад не знал даже я. Но, чтобы перейти к ним, надо разобраться с базовыми принципами. Итак. Давайте рассмотрим, как быстро подготовить и не менее быстро запустить процесс моделирования в среде ModelSim.


Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 5.3K
Comments 0

Koyaanisqatsi: The WYSIWYG-style byte-code CPU

Creative Commons *FPGA *DIY
Draft diagram of core

SVG-File (actual draft)

Lyrics


Ancient times are known to everyone not with immortal works from Homer's only, but also with the Pythagorean multiplication table, Euclidean geometry and the Archimedes screw and the Pi, which we learned to use only relatively recently. In antiquity the art was not only to be able to write poetry and prose, but to design catapults or battering tools also, now there are rigid frameworks, when the discovering the new another beautiful formula is a formal words play only.
Mathematics rules the modern world completely, cynically intertwining with the world of art, intruding with calculations in all spheres of our recreation and everyday life, when the colors of masterpieces turning into poisonous colours.
Read more →
Total votes 2: ↑2 and ↓0 +2
Views 998
Comments 0

Новостной дайджест событий из мира FPGA/ПЛИС — №009 (2021_02) + FPGA конференция

FPGA *

ПЛИСкульт привет,  FPGA  хаб. 


Мы продолжаем держать вас в курсе последних событий из мира программируемой логики и решили немного пересмотреть формат дайджеста. Мы добавили категории, чтобы было проще искать. Под катом вы найдете: статьи, новости, анонсы, вебинары, вакансии, а еще информацию по конференции FPGA разработчиков



Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 2K
Comments 0

Новостной дайджест событий из мира FPGA/ПЛИС — №0010 (2021_03) + конференция FPGA разработчиков

FPGA *

ПЛИСкульт привет, FPGA хаб!

Мы продолжаем держать вас в курсе последних событий из мира программируемой логики. Под катом вы найдете свежие: статьи, новости, анонсы, вебинары, вакансии, а еще информацию по второй отечественной конференции FPGA разработчиков


Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views 3.2K
Comments 5

Как я проходил интервью на проектировщика FPGA для космических кораблей Blue Origin

FPGA *Programming microcontrollers *Popular science Astronautics Electronics for beginners

Однажды я решил ответить на сообщения в LinkedIn от рекрутерши безосовской компании Blue Origin, которая занимается разработкой и запуском космических аппаратов. Затем я прошел два раунда интервью: скрининг и 6-часовой марафон с дюжиной инженеров и менеджеров. Я не могу рассказать вопросы или описать диалоги с интервьирующими, потому что я подписал бумагу что не буду этого делать, но покажу пару вещей, о которых зашла речь еще до подписания бумаги, а также дам совет тем, кто хочет это повторить (совет кстати может быть применим не только при устройстве к Безосу, но и к Маску или Рогозину).

Одновременно с Blue Origin я интервьировался в другую компанию, интервью в которую по времени было такое же - час скрининга с инжиниринг-менеджером и шесть часов детальное интервью - но содержание было соовсем другое. Вообще обычно в электронных компаниях такое интервью - это просто марафон задачек на микроархитектуру (всякие извращенные FIFO, арбитры, кэши, кредитные счетчики), каверзные вопросы про тайминг (доходит до time stealing/time borrowing), пересечение тактовых доменов, дюжина способов оптимизации динамического энергопотребления при проектирования на уровне регистровых передач итд.

Но в компании Безоса все было по другому. Сначала нужно было написать эссе на тему "Что я думаю о космических кораблях бороздящих просторы Вселенной". Я написал следующее:

Читать далее
Total votes 59: ↑33 and ↓26 +7
Views 13K
Comments 50

Реализация кэш-компрессии по алгоритму base+delta

High performance *GitHub *FPGA *CPU Systems engineering *
Sandbox

Существенную часть кристалла современных ЦП занимает кэш-память. Дальнейшее увеличение кэш-памяти без изменения технологических норм приведет к соответствующему увеличению кристалла. Одним из способов увеличения объема хранимой информации в кэше без увеличения самого кэша является использование алгоритмов компрессии. Среди них выделяются алгоритмы Base+Delta и Base-Delta-Immediate. Данная статья посвящена реализации первого алгоритма.

Читать далее
Total votes 16: ↑16 and ↓0 +16
Views 1.9K
Comments 8