Обновить
29.43

FPGA *

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

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

PAL, GAL и путешествие в цифровое ретро

Время на прочтение17 мин
Количество просмотров25K
Идея сделать цифровые логические микросхемы с изменяемой структурой была всегда. Почему? Достаточно посмотреть на толстенный каталог чипов серии TTL 74xx (или советской К155), чтобы такая идея самозародилась. В СССР почти у каждого инженера и радиолюбителя был справочник В.Л. Шило «Популярные цифровые микросхемы», который вышел каким-то невероятным тиражом. Но всё равно, хотелось иметь некий «универсальный кристалл», из которого можно сделать все остальные микросхемы (ну хорошо, не все, но многие).

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

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

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

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


Продолжаем публиковать новости из мира FPGA/ПЛИС.


В 2020 опубликовано  238 новостей, запущены FPGA стримы и проведена первая отечественная FPGA конференция. Подборка за декабрь и ссылки на все упоминания под катом.



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

Дорабатываем прошивку USB 3.0, используя анализатор SignalTap, встроенный в среду разработки Quartus

Время на прочтение9 мин
Количество просмотров4.6K
В прошлой статье мы сделали черновые прошивки для контроллера FX3 и ПЛИС, чтобы начать работу с шиной USB 3.0. Статья так разрослась, что проверку работоспособности системы мы отложили на потом. Сегодня мы проведём эту проверку (а как выяснится по ходу работ – ещё и оптимизацию «прошивки» для вывода работы на максимальную скорость).

Чтобы повысить полезность статьи, проверку мы будем производить при помощи логического анализатора SignalTap, встроенного в среду разработку Quartus Prime. Он позволит нам снимать временные диаграммы, не подключая никаких щупов к системе и не покупая никакого дополнительного оборудования.


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

Zynq. Передача данных между процессорным модулем и программируемой логикой

Время на прочтение19 мин
Количество просмотров24K
Как и обещал в предыдущей статье (Что такое Zynq? Краткий обзор), поговорим о передаче данных между процессорным модулем и программируемой логикой. В предыдущей статье упоминалось четыре способа передачи данных, в статье будут рассмотрены два способа, которые нашли большее применение. Подробности под катом. Осторожно, много картинок!
Читать дальше →

Высокоэффективный 600 Вт усилитель НЧ на нитрид-галлиевых силовых транзисторах

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

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

Читать далее

Начинаем опыты с интерфейсом USB 3.0 через контроллер семейства FX3 фирмы Cypress

Время на прочтение14 мин
Количество просмотров14K
В целом, основной цикл статей про работу с комплексом Redd можно считать завершённым. Мы познакомились с методиками доступа к основным компонентам комплекса, научились писать и отлаживать на нём программы для центрального процессора, при этом локально используя хоть Linux, хоть Windows. Мы научились разрабатывать «прошивки» для ПЛИС, а также начерно освоили типовой цикл их разработки (написание кода моделирование, запуск в железе). Вроде, всё.

Но тут мне пришлось освоить работу с шиной USB 3.0 через контроллер семейства FX3 фирмы Cypress. Пока свежи воспоминания, я решил задокументировать детали процесса, так как сделав всё по фирменным описаниям, можно либо не получить ничего, либо получить не совсем оптимальную систему. И снова вышел целый блок статей. В первой из них, мы рассмотрим, где взять «прошивку» для самого контроллера, как её собрать и залить в него. Также сделаем базовую «прошивку» для ПЛИС.


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

Intel eASIC N5X — «структурированный ASIC» для 5G и AI

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


В 2018 году Intel приобрела eASIC — разработчика «структурных ASIC», интересных и перспективных устройств, представляющих собой нечто среднее между классическим ASIC и FPGA. Далее в течение нескольких лет компания использовала ранее сделанные наработки, и вот мы фиксируем знаковое событие: анонсирована новая линейка eASIC N5X, которая совместима с FPGA компании, то есть имеет полное право называться Intel eASIC N5X, продуктом следующего поколения с улучшенной архитектурой и 16-нм техпроцессом.
Давайте посмотрим на характеристики этой линейки, а заодно вспомним, что представляет из себя «структурированный ASIC».
Читать дальше →

Как прошла наша первая FPGA конференция?

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

Привет, FPGA хаб!


Некоторое время назад  в одном из новостных FPGA дайджестов было небольшое упоминание о FPGA конференции.


Так вот, конференция состоялась 28 ноября 2020 года, и этим постом я бы хотел поведать вам об этом «немаловажном» для отечественного FPGA сегмента событии. Постараюсь рассказать обо всём «от идеи до реализации».




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

Скоростной АЦП с нуля. 16 бит за 10 лет

Время на прочтение12 мин
Количество просмотров38K
Чего стоит разработать быстродействующий аналого-цифровой преобразователь, почти не имея опыта? Насколько сильно наше отставание в этой области? Есть ли в этой нише шанс найти коммерческое применение своей продукции и отщипнуть хоть кусочек рынка у гигантов мира сего? Выпуская в свет новый 16-битный 80 МГц АЦП, хотим порассуждать на эти темы и рассказать о самой микросхеме и опыте её создания.

image

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

Оптимизация цифрового автомата (FSM)

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

Знаешь что такое цифровой автомат(FSM)!? Интересуешься цифровой схемотехникой? Если да, то вам будет интересно посмотреть решение одной проблем, которую часто игнорируют. Если нет, то вам придётся потратить дополнительно 5 минут на введение)

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

Читать далее

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

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

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


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


А еще в РФ очень очень скоро будет FPGA конференция/митап :)



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

Сверхдлинное преобразование Фурье на FPGA

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

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

В этой статье показана невозможность реализации «классической» схемы очень длинного БПФ даже на самых современных кристаллах ПЛИС и предложен алгоритм, позволяющий это сделать. Также пошагово рассмотрена основная идея алгоритма: от математической составляющей до создания законченного решения на базе ПЛИС с использованием внешней DDR-памяти. Статья затронет тонкости проектирования многоканальных систем обработки для подобного класса задач и, в частности, опишет мой практический опыт.


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

Практические опыты с USB-анализатором на базе Redd

Время на прочтение18 мин
Количество просмотров3.4K
Три статьи назад мы сделали голову для шинного анализатора USB, после чего – обсуждали вопросы моделирования и гоняли эту голову на моделях. Правда, всё это было не зря. В прошлой статье я показательно нашёл пару сбоев логики, а в реальности их было чуть больше. Поэтому, начни я всё проверять сразу в железе — сидел бы и сокрушался: «А чего оно так себя ведёт?» Теперь же я уверен, что в поведенческой модели вся логика делает именно то, что было задумано. Что дальше? Те, кто делает серьёзные большие проекты, дальше переходят к моделированию синтезированной модели, а в конце — модели, привязанной к реальной топологии упаковки в ПЛИС (так называемое Gate-Level моделирование). Там уже учитываются задержки на всех трассировочных ресурсах при именно этом результате компиляции. Но проект нашей сложности этого не требует. Нам было достаточно убедиться, что вся логика реализована верно. И теперь мы можем перейти к сборке реального анализатора и проверке его работы на практике.


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

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

Второй HDMI монитор к Raspberry Pi3 через DPI интерфейс и FPGA плату

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

На этом видео показаны: плата Raspberry Pi3, к ней, через разъем GPIO, подключена FPGA плата Марсоход2rpi (Cyclone IV), к которой подключен HDMI монитор. Второй монитор подключен через штатный разъем HDMI Raspberry Pi3. Все вместе работает, как система с двумя мониторами.

Дальше расскажу, как это реализовано.

Процессор Forth J1 в FPGA плате M02mini

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


Впервые я познакомился с языком программирования Forth еще в студенческие годы. Было это правда ну очень давно. Уже тогда язык поразил меня тем, что он «не такой как все». При этом, код получался хоть и малопонятный, но компактный и быстрый.

Недавно я занимался запуском процессора Forth j1 в FPGA плате и пришлось вспоминать фортовские азы программирования. Да уж… чертовски трудно, но получил громадное эстетическое удовольствие. Как будто впервые взял кубик Рубика, и сам собрал его, и пазл сложился и программа работает…

Запуск Unix-подобной ОС на самодельном CPU с помощью самодельного компилятора C

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

Два года назад я начал работать разработчиком ПО. Иногда я рассказывал своим коллегам о студенческом проекте, которым занимался на третьем курсе университета, и они восприняли его настолько хорошо, что я решил написать этот пост1.

Позвольте задать вам вопрос: вы когда-нибудь проектировали собственную архитектуру набора команд (ISA), создавали на FPGA процессор на основе этой ISA и собирали для него компилятор? Запускали ли вы операционную систему на этом процессоре?

А у нас это получилось.

В этом посте я расскажу о своей учёбе в 2015 году, о четырёх месяцах создания самодельного CPU на самодельной архитектуре набора команд RISC, создании самодельного тулчейна C и портировании на этот процессор Unix-подобной ОС Xv6.

Процессорный эксперимент в Токийском университете


Всё это делалось в рамках студенческого экспериментального проекта под названием CPU Experiment. Давайте начнём с того, что же такое CPU experiment.
Читать дальше →

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

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

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

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



Подробности в конце статьи :)
Читать дальше →

Обратная разработка XC2064 — первой микросхемы FPGA

Время на прочтение17 мин
Количество просмотров13K
Программируемая Логическая Интегральная Схема (ПЛИС) может реализовать произвольную логику, что угодно, от микропроцессора до генератора видеосигнала или майнера криптовалюты. ПЛИС состоит из множества логических блоков, каждый из которых обычно состоит из триггера и логической функции, а также из сети проводников, соединяющей логические блоки. Что делает ПЛИС особенной, это то, что она является программируемым аппаратным обеспечением, вы можете сконфигурировать каждый логический блок и соединения между ними. В результате вы можете построить сложную цифровую схему без физического соединения каждого логического элемента и триггера, что обошлось бы вам в стоимость разработки заказной интегральной схемы.


Фотография показывает один из 64 блоков микросхемы XC2064. Слои металлизации убраны, мы видим кремний и поликремниевые транзисторы, лежащие под металлизацией. По ссылке вы можете увидеть фото в большем масштабе: siliconpr0n.
Читать дальше →

Молодожены, которых Интел привез в Калифорнию, дали интервью в лабнике от ВШЭ МИЭМ. Как повторить их достижение

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


Я уже рассказывал про молодоженов Владислава и Елену Шаршиных, который вместе с их коллегой Андреем Папушиным компания Intel привезла в Калифорнию за серебряную победу на конкурсе InnovateFPGA. Их интервью есть в недавно вышедшем лабнике «Цифровой синтез». Этот лабник мы собираемся использовать на семинаре для школьников и младших студентов, который пройдет 15-17 сентября на выставке ChipEXPO в Сколково. Если вы собираетесть повторить (или превысить) достижение Шаршиных и Папушина, или просто стать FPGA или ASIC designer-ом, не выезжая в Санта-Клару, то участие в семинаре, или даже просто просмотр начальных инструкций в этом посте — поможет вам начать.

Многие из зарегистрировавшихся на семинар уже получили FPGA платы (их раздачей занимается образовательное отделение РОСНАНО) за прохождение теоретического пререквизита. Теперь было бы очень желательно, если бы участники семинара заранее установили Intel FPGA Quartus (или, если кто-нибудь не любит Intel / Altera, то Xilinx Vivado), и запустил на нем хотя-бы примитивный тест. Даже не мигание LED, а вообще один логический элемент XOR. Если все это сделают заранее, то на семинаре мы будем обсуждать не тривиальные проблемы типа «у меня драйвер для USB Blaster не находится», а что-нибудь поинтереснее, например что спрашивают на интервью на позицию RTL Logic Designer-а в NVidia, AMD, Apple и другие компании.

Организовываем взаимодействие между ПК и ЦАП/АЦП при помощи ПЛИС

Время на прочтение22 мин
Количество просмотров15K
В современном цифровом мире необходимость ЦАП/АЦП (цифро-аналоговых преобразователей/аналого-цифровых преобразователей) не подвергается сомнению: они используются для обработки сигналов разнообразных датчиков, в звуковой аппаратуре, ТВ-тюнерах, платах видеовхода, видеокамерах и т.д.

Однако использование или отладка ЦАП/АЦП могут быть затруднены поставленными производителем аппаратуры ограничениями, например, на используемое ПО или на способы управления устройством. Это наводит на мысль о проектировании собственной модели взаимодействия.

В этой статье мы рассмотрим возможность организации взаимодействия между ПК и ЦАП/АЦП при помощи ПЛИС.


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