Все потоки
Поиск
Написать публикацию
Обновить
22.7

FPGA *

Программируемые логические интегральные схемы

Сначала показывать
Порог рейтинга
Уровень сложности

Обзор FPGA платы MCY112

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.5K


Что-то давно на Хабре не было статей про FPGA и я решил немножко восполнить этот пробел. Расскажу про нашу новую плату на ПЛИС Cyclone I. Да-да, вы правильно прочитали. На плате стоит первый циклон компании Альтера. Микросхеме больше десяти лет, но еще поработает. Причины использования этого чипа думаю всем понятны: санкции и плюс недавно случившийся мировой кризис полупроводников, который еще не вполне закончился.

Цель разработки этой платы — создать по возможности недорогую FPGA плату для студентов из минимального числа доступных и имеющихся в наличии компонентов. Далее давайте рассмотрим плату подробнее.
Читать дальше →

Что делать, если человечество не сможет создать искусcтвенный интеллект никогда?

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров9.7K

Любая комбинация софтвера и цифрового хардвера - от микроконтроллера, двигающего дворники у автомобиля - до серверной фермы с много-много-ядерными процессорами, аппаратными ускорителями ML и ChatGPT - сводятся к конечному автомату с достаточно большим состоянием. Независимо от сложности и адаптивности программ.

Сводится ли к конечному автомату человеческий интеллект? К сожалению, у человеческого интеллекта есть атрибут, природа которого современной науке неизвестна и который никогда не наблюдался у конечных автоматов, например у арифмометра. Этот атрибут - ощущение собственного "я", self-awareness. Конечно вы можете сделать в программе переменную "я_чувствую_собственное_я" и присвоить ей true, а потом утверждать, что вы симулируете собственное "я", но это жульничество, а не технология.

Я вовсе не пытаюсь нагонять мистику или агитировать за бога. Self-awareness наверняка такой же физический феномен, как какая-нибудь термоядерная реакция. Но скажем древние греки не знали природы термоядерной реакции. Наверное, они вели диалоги типа "если ты не веришь, что Солнце - просто большой костер из дров, то значит ты веришь в сказки про Зевса и других богов?"

Что же делать?

Реализация контроллера SDRAM

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров7.8K

В статье про VGA интерфейс я написал, что использовал внешнюю память SDRAM  в качестве фрем буфера. Хочу поделиться его реализацией, хотя бы потому что, когда я занимался разработкой этого модуля потратил много времени, ведь стандартные IP-ядра не поддерживают эту микросхему. И, как результат, хочу кому-нибудь помочь в этом вопросе.

Читать далее

И снова про VGA

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров33K

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

Читать далее

Как работает FPGA?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров53K

Введение


Давайте начнём с самого начала. Что такое FPGA? FPGA расшифровывается как Field Programmable Gate Array (программируемая пользователем вентильная матрица).

FPGA относятся к классу устройств программируемой логики, иногда называемых программируемым оборудованием. По сути, сама по себе FPGA ничего не делает, но может быть сконфигурирована так, чтобы превратиться практически в любую нужную цифровую цепь. Магия заключается в том, что физически при этом ничего не меняется. Достаточно просто загрузить конфигурацию в FPGA, и она начнёт вести себя так, как нужная вам цепь. Не нужны ни пайка, ни перемычки, ни возня с другими соединениями. FPGA можно переконфигурировать так, чтобы она вела себя, как другая цепь, и делать это множество раз. Конфигурация хранится в ОЗУ, то есть, по сути, устройство можно переконфигурировать бесконечно.

На плате Alchitry Cu выделена FPGA Lattice iCE40 HX На плате Alchitry Au выделена FPGA Xilinx Artix 7
Хотя мы говорили об использовании FPGA для создания цифровых цепей, обычно для разработки их архитектуры не рисуют схемы. Если бы нам пришлось чертить схему, то размер и сложность цепей, которые могут содержать FPGA, стали бы очень громоздкими. Вместо этого мы можем описать поведение нужной нам цепи, а инструменты используют это описание для создания цепи, соответствующей этому поведению.

В каком-то смысле это похоже на программирование, ведь мы просто вводим текст. Однако фундаментальная реализация существенно отличается, так как мы создаём оборудование.

Если создание оборудования при помощи текста кажется вам магией, не волнуйтесь. Концепция его работы на самом деле довольно проста, и в этом туториале мы подробно о ней расскажем.
Читать дальше →

Как я делал лучшие арифметические ядра и сделал лучший селектор (демультиплексор)

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров7.2K

Небольшой рассказ о том, как я делал арифметические ядра и сделал лучший селектор (декодер адресов).

Что, опять?

Как я убеждал блондинку Машу перейти с программирования RTOS в проектирование железа (а также Coq, Lisp и Haskell)

Время на прочтение5 мин
Количество просмотров23K

В викенд я зашел в кафе Red Rock и встретил там программистку встроенных систем Машу Горбунову. Вообще, у этого кафе в Маунин-Вью, Калифорния можно встретить кого угодно - например однажды на меня прямо из-за угла вылетел основатель Гугла Сергей Брин. Так вот Маша рассказала мне что программирует RTOS (семафоры, мейлбоксы, сигналы), чему выучилась в свое время в питерском институте ГУАП (аэрокосмического приборостроения).

Я решил, что такая девушка не должна оставаться в другой отрасли и показал ей плату ПЛИС, внутри которого можно засинтезировать пару ядер ARM микроконтроллерного класса. На что Маша среагировала так (видео):

Читать далее

Как прошёл слёт FPGAологов «FPGA-Systems 2023.1» в Москве и где найти материалы конференции?

Время на прочтение2 мин
Количество просмотров2.8K

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

Шестой день рождения FPGA комьюнити мы по традиции отметили проведением слёта инженеров разработчиков, не по наслышке знающих, что такое VHDL и Verilog.

Читать далее

В России всего 2000 проектировщиков чипов. Что с этим делать?

Время на прочтение8 мин
Количество просмотров46K

Согласно статье Ивана Покровского «Возможности и проблемы отечественной микроэлектроники», в России всего две тысячи разработчиков микросхем. Для сравнения: в каждой крупной международной электронной компании есть несколько команд, работающих над чипом или над IP, в каждой по паре сотен разработчиков (хотя бывает и меньше ста, и больше тысячи).

Две тысячи человек — это мало для любого сценария развитии России:

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

2. Так и для сценария, в котором российские разработчики будут строить экосистему проектирования в условиях изоляции, ориентироваться на производство микроконтроллеров и встроенных микросхем на зеленоградском Микроне, а также на сотрудничество в разработке semiconductor IP с китайскими производителями.

В других стран бывшего СССР ситуация еще хуже.

Что же делать? Для ответа на этот вопрос мы привлекли Машу Горчичко — выпускницу МИФИ, которая защитила диссертацию в Университете Вандербильда в Теннесси. Маша работала инженером в Роскосмосе, а сейчас работает в Кремниевой Долине, разработчиком в компании Applied Materials — одного из лидеров в оборудовании для производства микросхем.

Представим Машу, которая будет пояснять и иллюстрировать наши тезисы на видео. От себя прибавлю, что МИФИ — крутой вуз, в нем внутри есть ядерный реактор, а на входе стоит автоматчик:

Читать далее

Хотите проектировать устройство, которое использует миллиард человек — решайте микроархитектурные задачки

Время на прочтение8 мин
Количество просмотров12K

Длинный извилистый путь Школы Синтеза Цифровых Схем приближается к годовой кульминации. 21-23 пройдет хакатон по процессорам в зеленоградском МИЭТ, после чего 150 слушателей из дюжины российских городов оправятся готовится к майским праздникам, приближающимся сессиям и лету.

Но для тех, кто воспринимает школу не просто как научпоп, а реально собирается стать проектировщиком микросхем, мы приготовили экзамен с задачками в духе задачек на собеседованиях в Silicon Valley. В некоторых крупных электронных компаниях для решения таких задачек соискателя заводят в комнату без интернета, и он делает это под глазами экзаменатора на компанейском компьютере. Но так ученики школы не волшебники, а только учатся, экзамен выкладывается открытым, но по его результатам школа будет давать рекомендации в электронные компании.

Для экзамена мы выбрали три темы в четырех упражнениях:

Читать далее

Ретро-компьютер уровня «Радио-86РК» с RISC-V процессором на плате OMDAZZ

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров12K

Статья про то, как из недорогой отладочной платы OMDAZZ c ПЛИС  CycloneIV EP4CE6 получить ретро-компьютер с монитором, клавиатурой и тетрисом, но с современным процессором на базе RSIC-V и компилятором GCC.

Как же это сделать

Причина агонии студентов во время интервью, или популярно о моделях интерфейсов шины

Время на прочтение7 мин
Количество просмотров7.6K

Сейчас я интервьирую кандидатов которые приходят на позиции в RTL design / проектировщики микросхем на уровне регистровых передач. Но 5 лет назад я интервьировал студентов и других инженеров на позиции в DV / Design Verification / верификаторы блоков микросхем.

Моим стандартным вопросом было написать маркером на доске псевдокод для упрощенного драйвера модели шины (Bus Functional Model - BFM) для протокола AXI. На этом вопросе у ~80% кандидатов наступала агония - они как ужи на сковородке пытались натянуть сову на глобус - приспособить решение для последовательной шины а-ля APB, которое они прочитали в каком-нибудь тьюториале - к шине AXI, которая во-первых конвейерная, а во-вторых, допускает внеочередные ответы на запросы чтения с разными идентификаторами.

Аналогия из другой области: представьте, что кто-то пытается обходить дерево или решить "ханойские башни" - не зная концепций рекурсии и стека. Или написать GUI интерфейс, не зная концепции cобытийно-ориентированной архитектуры.

Это не потому что кандидаты глупые

Zynq 7000. AXI GPIO. Мигаем светодиодом по-новому

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров10K

После написания последнего обзора на новую отладку Я не смог удержаться от того, чтобы не сделать простую проверку работоспособности платы, т.к. очень не хотелось бы напороться на какие-либо проблемы во время решения сложной задачи. Поэтому решил сделать простую мигалку светодиодами и задействовать, плюсом к этому, кнопки на плате. Немного поразмыслив, Я решил, что обычный “ногодрыг” на Verilog - это уже не так интересно и мне показалось, что лучше сделать это с помощью AXI GPIO и своего IP-ядра, инициировав экшн из baremetal-приложения. В общем, кому интересно, заглядывайте в статью, там Я описал, как добавить свое кастомное AXI Peripheral IP-ядро, как правильно организовать проект и обратиться к GPIO для чтения и записи логического уровня. Поехали…

Читать далее

Ближайшие события

Слышали ли вы про язык «e»? А ведь он был продан за $315 миллионов долларов

Время на прочтение10 мин
Количество просмотров37K

Все знают про язык программирования C, поменьше — про язык программирования F, кое‑кто про B, предшественник C, а вот знаете ли вы про язык «e»? Их кстати два — один с большой буквы «E», а другой с маленькой «e».

Вы наверное подумали, что это еще один безызвестный язык от какого‑нибудь аспиранта провинциального европейского университета. Однако интерпретатор маленького «e» под названием Specman продали в 2005 году большой компании Cadence Design Systems за $315 милионов долларов. Причем президента продающей компании Verisity звали Гаврилов. Также можно нагуглить, что этот язык использовали внутри компании Intel. Что же в нем такого, что вызвало интерес у толстых богатых корпораций?

Читать далее

IV Конференция FPGA разработчиков: Мск, СПб и Томск

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.4K

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

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

Программа уже сформирована, регистрация открыта и возможно тебе повезет стать частью фактически единственного FPGA движа на постсоветском пространстве. Не откладывай на завтра и регистрируйся на IV конференцию FPGA-Systems 2023.1.

Посмотреть программу

Zynq 7000. Плата Zynq Mini c XC7Z020

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров15K

Однажды, вечером, в очередной раз прочитывая чатик в телеграмме по теме Embedded + FPGA, я увидел обсуждение очередной отладочной платы с Zynq 7000 на борту. Описание выглядело очень любопытно. Полистав документацию на плату, посмотрев описание - я заинтересовался еще больше, вспомнил сразу про ограничения платы QMTech и понял, что данная отладка лишена всех тех недостатков, что были у QMTech. Сразу в голове созрел контент-план и понимание того, что изучая возможности этой платы можно написать много интересных статей для новичков :) Я тут же заказал эту плату, и решил, что пришло время вернуться к изучению возможностей отладочных плат с Zynq. И первым шагом на пути моего возвращения в написание статей я решил сделать небольшой обзор этой платы с рассказом о том, почему она меня заинтересовала, и что в ней интересного. Всем любопытным - добро пожаловать!

Это интересно!

Стартуем на ПЛИС, но сначала припаяем его с конструктором беспилотного автомобиля Zoox

Время на прочтение13 мин
Количество просмотров16K

Однажды мне не спалось ночью и я залип на сайтах про паяльники. Возникло желание купить и сразу появились вопросы: на сколько ватт? Не больше 30? А почему большинство на 60-80 ватт? 60/40 олово свинец? А почему куча паяльных станций идут в комплекте с lead-free проводами припоя? Канифоль сейчас внутри проводов? А почему есть и провода припоя без канифоли? Бронзовую мочалку для очистки? А почему столько комплектов с и белой и бронзовой?

Вспомнил и повод, чтобы научиться паять. Когда-то Руслан Тихонов, руководитель кружка из Москвы, говорил мне что хочет сделать простые упражнения на платах ПЛИС для школьников. Как часть триады "микросхемы малой степени интеграции - ПЛИС - Ардуино". По этому поводу я купил самую дешевую плату с CPLD Altera MAX II (ныне это Intel FPGA), но обнаружил что у нее не припаян переходник.

Я выставил вопросы по паяльники на фейсбук и после оживленной дискуссии мой приятель Денис Никитин вызвался научить меня паять как полагается. Денис работает проектировщиком печатных плат в компании Zoox, ныне часть компании Amazon. Zoox делает беспилотные автомобили, то есть Денис на передовом рубеже паятельного прогресса. Я заснял мастер-класс от Дениса на видео:

Читать далее

Жуткий сценарий использования ChatGPT

Время на прочтение2 мин
Количество просмотров140K

Вчера у меня в ленте на фейсбуке (жаль что в закрытом посте) проявился еще один аспект ChatGPT, жуть которого я не вполне осознавал. Представьте, что ваш менеджер присылает вам емейл: "я вот тут сгенерил с помощью ChatGPT код на языке описания аппаратуры SystemVerilog, который реализует мою идею, ты его поправь немного и в продакшн, а то нас сроки поджимают".

Почему это жутко? Потому что в обсуждаемом посте ChatGPT сгенерил так называемый несинтезируемый код. Это означает: код вроде и есть, и после массажирования даже будет компилироваться в симуляторе, но вот чип из него сделать нельзя. Никак, вообще никак. Для решения этой задачи нужно написать совсем другой код, у которого не будет ни одной строчки общего с тем, что прислал менеджер.

То есть менеджер думает, что вместе с ChatGPT сделал за вас 90% работы, а на самом деле.

Читать далее

Третий вопрос на интервью в электронные компании

Время на прочтение10 мин
Количество просмотров10K

У разных электронных компаний вопросы на интервью немного отличаются. В одной интервьюер на скрининге (первом интервью) спросит кандидата на RTL позицию про конечный автомат, в другой про арбитр, кэш или конвейер, в третьей про упорядочение неупорядоченных транзакций. Но на большом интервью вопрос про очередь FIFO появится практически всегда - не первым/вторым, но третьим.

Это может быть элементарный вопрос "напишите на доске (физической, ха-ха, без доступа к интернету и ChatGPT) код для FIFO на D-триггерах". Или это может быть обсуждение микроархитектуры какого-нибудь извращенного FIFO, например FIFO с отменой вталкиваний, или с возможностью втолкнуть и вытолкнуть переменное количество кусков данных за такт, или с конвейером и кредитным счетчиком, или работающее на памяти с высокой латентностью, или асинхронное FIFO из статьи Клиффа Каммингса про пересечение тактового домена.

Эта заметка является сиквелом заметки "FIFO для самых маленьких", а также приквелом занятия в Школе синтеза цифровых схем в ближайшую субботу. Главное нововведение - все примеры и упражнения теперь делаются не только в симуляторе, но и на плате ПЛИС.

Читать далее

Выжимаем максимум из логики — сверхбыстрый, но прожорливый сумматор

Время на прочтение9 мин
Количество просмотров17K


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


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


Но всё новое — хорошо забытое старое, поэтому решил изложить в текстовом виде несколько идей, которые легли в основу стримов.


И в этой заметке предлагаю вам погрузиться в небольшое исследование c реализацией конвейеризованного многоразрядного сумматора всего с 1 уровнем логики, эдакого LUTа в сферическом вакууме, идеи которого, я уверен, найдут отклик в исследовательских работах начинающих адептов программируемой логики.

Читать дальше →

Вклад авторов