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

FPGA *

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

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

Материалы для разработчиков систем на кристалле: функциональная верификация, итеративная сборка, свой ПЛИС-кластер

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

Привет, Хабр! Принесли материалы с недавнего митапа для FPGA/ASIC/RTL-инженеров — добавляйте в закладки, чтобы посмотреть в свободное время. В докладах вас ждут:

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

Обзор плюсов и минусов существующих систем для автоматизации тестирования на FPGA-стендах.

Способ оценки производительности коммерческого ПЛИС-кластера и собственного решения.

Читать далее

Полигон для творчества за 1500 р. Ч1: Позовите Кряка

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

Приветствую вас, друзья! Не знаю как вам, а мне нравится разбирать всякие штучки, узнавать, как они работают, и применять их в своих проектах. По ходу дела начинается настоящее увлекательнейшее расследование, технический детектив.

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

Проведём расследование, поищем JTAG, узнаем способы и отследим разводку BGA, поработаем с ПЛИС, … и много других действительно интересных вещей. Кряк уже заинтересовался!

Как там у нас обычно? «Сломать, а потом читать инструкцию». Инструкций и документации нет, поэтому будем экспериментировать ломать! ☺
Читать дальше →

Смотрим на современный инструмент для FPGA

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

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

Читать далее

Опыт автоматизации управления FPGA-стендами для распределенной команды: отказ от готового решения и работа над ошибками

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

В software-разработке с автоматизацией обычно все неплохо: более-менее понятно, как настроить CI и автоматизировать отдельные этапы CI-конвейера. Есть множество готовых решений и практик. Но, когда речь заходит об автоматизации тестирования на «железе», появляется множество нюансов. Например, не всегда понятно как автоматизировать процессы, которые обычно делают люди, — банальную перезагрузку устройства в другом городе. Или другая особенность — целевые аппаратные ресурсы масштабируются не так хорошо, как софт, поэтому приходится придумывать свои подходы к распределению времени доступа к стенду для СI-конвейеров и инженеров.

Меня зовут Игорь Большевиков, я инженер по системному программированию систем на кристалле в YADRO В статье я расскажу о нашем опыте автоматизации процессов, связанных с разработкой на FPGA-стенде: удаленной загрузке плат, бронировании аппаратных ресурсов и решении вопросов по координации для распределенной команды. Я опишу ключевые этапы задачи без лишних технических деталей. Возможно, статья будет полезна тем, кто занимается или кому предстоит заняться автоматизацией работ с FPGA.

Читать далее

Митап для FPGA-инженеров и разработчиков систем на кристалле в Минске и онлайн: от верификации до запуска тестов

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

Привет, Хабр! 2 марта собираемся в Минске и онлайн на бесплатном митапе по FPGA, ASIC и RTL. Обсудим итеративную сборку проектов и имплементацию больших дизайнов на ПЛИС, подходы к верификации, а также систему бронирования и запуска тестов на сотнях стендов за раз.

В посте делимся программой митапа. Участие бесплатное, но нужно зарегистрироваться по ссылке.

Читать далее

Симуляция высокоскоростных приёмопередатчиков с динамической реконфигурацией для ПЛИС Intel серии 10

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

В этой статье мы подошли к самому "свежему" поколению ПЛИС фирмы Intel, а именно 10 поколение. И теперь мы будем создавать проект в среде симуляции для Arria 10.

Напомню, что высокоскоростные приёмопередатчики - это пара RX и TX, встроенные в ПЛИС, которые позволяют преобразовать параллельную шину данных на низкой частоте в последовательную на высокой при передаче данных и из последовательной в параллельную при получении данных. Они необходимы для реализации различных протоколов передачи данных. А динамическая реконфигурация в данном случае необходима для "автосогласования" скорости работы интерфейсов, например 1 / 2,5 /10 Gb Ethernet.

Читать далее

Симуляция высокоскоростных приёмопередатчиков с динамической реконфигурацией для ПЛИС Intel серии V

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

Этой статьей мы продолжает серию статей, цель которых поделиться опытом создания проектов в среде симуляции для тестирования динамической реконфигурации высокоскоростных интерфейсов (приёмопередатчиков) различных поколений ПЛИС фирмы Intel/Altera. В предыдущей статье мы описали IV поколение, теперь очередь "обуздать" V поколение.

Читать далее

Симуляция высокоскоростных приёмопередатчиков с динамической реконфигурацией для ПЛИС Intel серии IV. Практика

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

В прошлой статье мы описали и подготовили всё, что необходимо для сборки TestBench.
В этой статье мы переходим от теории к практике.

Читать далее

Симуляция высокоскоростных приёмопередатчиков с динамической реконфигурацией для ПЛИС Intel серии IV. Подготовка

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

Наверное каждый "ПЛИСовод" использовал высокоскоростные приёмопередатчики хотя бы раз в своей практике. В семействе ПЛИС Intel/Altera серии IV IP ядро с этим функционалом называется ALTGX.

Основная задача этого IP ядра - преобразование параллельной шины на низкой частоте в последовательную шину на высокой.

Динамическая реконфигурация позволяет менять различные параметры приёмопередатчиков "на лету", то есть не меняя прошивку ПЛИС.

Основными из них являются:

скоростные характеристики, то есть на какой скорости будут принимать и передавать данные

включать/выключать встроенные кодеки (в ПЛИС серии IV - кодек 8b/10b)

менять аналоговые параметры, такие как TX VOD, TX Preemphasis, RX Offset Cancelation, RX Adaptive Equalizer

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

Читать далее

Создаем I2C Master Controller на Verilog. Проверим работу на реальном железе

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров7.8K
После того, как Я реализовал битовый контроллер I2C Master — уж очень чесались руки опробовать его в реальной задаче. Теперь можно начинать строить уровни абстракции от манипуляции отдельными битами и уже формировать полноценные транзакции, которые приводят к какому-либо действию с подчиненным устройством. Я подумал, что было бы классно сделать такую проверку своего автомата во взаимодействии с простейшей I2C 2K-bit EEPROM.

Идея простая — читаем и записываем данные по нажатию клавиш на одной из отладок с Cyclone IV, которые я рассматривал в одном из своих обзоров.

Если материал вам кажется интересным — добро пожаловать, с удовольствием и в свойственной мне манере расскажу, чего мне удалось добиться, а чего не удалось. 🙂

image


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

Как провезти в чемодане баночку урановой руды в Москву из Сан-Франциско?

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

"Но как провезти в чемодане баночку урановой руды в Москву из Сан-Франциско?" - спросил я у итальянца Габриэле Горла, которого встретил на выставке самоделкиных, Maker Faire в городе Вальехо (этот город интересен тем, что дважды был столицей штата Калифорния, один раз на неделю в 1852 году, а другой — в течение месяца в 1853, но впрочем пост наш не о нем).

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

Только придя домой, я обнаружил, что Габриэле не просто самоделкин.

Читать далее

In RISC-V Rust

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

Превращаем простой пример распознавания нот из лабораторных работ Школы синтеза цифровых схем в Enterprise. Используем компилятор Rust для RISC-V микроконтроллера YRV-Plus.

Читать далее

Как установить GOWIN EDA для запуска примеров Школы Синтеза

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

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

Чтобы справиться с данной проблемой, группа энтузиастов, под руководством Юрия Панчула, добавила поддержку множества плат и нескольких toolchain’ов от различных производителей FPGA.

В данном туториале, посвященном работе с FPGA от компании Gowin, я расскажу про то, как установить GOWIN EDA, о доступных платах и перефирии к ним и про работу со скриптами сборки примеров.

Читать далее

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

Внутренняя память ПЛИС, которой всегда не хватает

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

Хотелось бы выделить два основных свойства внутренней памяти ПЛИС:

удобство использования (+)

ограниченное количество (-)

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

В этой статье мы рассмотрим какая внутренняя память есть в ПЛИС фирмы Intel/Altera и возможные варианты оптимизации её использования.

Читать далее

ASIC и FPGA: сорок лет эволюции

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

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

Микросхемы ASIC, их родственники FPGA и выросшие с ними технологии проектирования позволили закладывать сложные алгоритмы прямо в «железо». Они разрушили стереотип, что вычислительная система — это только процессор, память и программирование. В статье я расскажу, как развивались ASIC, какую роль в этом процессе сыграли FPGA и каким может быть «железо» будущего.

Читать далее

Приёмник с чередованием во времени

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

Пока весь мир развлекается с нейросетями и высокими технологиями, я решил исполнить студенческую мечту — собрать радио (а то как сапожник без сапог).

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

Читать далее

Видеокарта VGA для микроконтроллера. Часть 2. От идеи до мелкой серии

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

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

Идея была обкатана на макете и показала свою жизнеспособность. Однако для ее реализации «в железе», а тем более в серии, необходимо пересмотреть несколько моментов.
Читать дальше →

Реализация кодека 66b/64b на языке VHDL

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

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

равномерное распределение 0 и 1 в канале

простота кодирования/декодирования

иметь небольшую избыточность

Один из самых распространённых протоколов, о которых думаю, если не каждый человек, то уж каждый инженер точно слышал, является Ethernet, который имеет большое количество стандартов. Он так же использует кодек, а именно 66b/64b, который широко известен в инженерных кругах. Вот небольшой список популярных протоколов, использующих этот кодек:

Ethernet (10,40,100G)

Common Public Radio Interface

Fibre Channel (10G, 16G)

Infiniband (FDR, EDR)

Thunderbolt

Читать далее

Игра в имитацию: как разрабатывать и отлаживать ПО для процессора, которого нет

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

Разработка процессора и вообще программируемых микросхем — процесс сложный и длительный. От старта проектирования до получения первых образцов в кремнии проходит больше года. При этом ПО желательно писать и отлаживать параллельно процессу производства, чтобы оптимизировать сроки выхода продукта. Но как это делать, если «железо» еще не на руках или оно есть в очень ограниченном количестве, а нужно многим? 

Спойлер: делать имитацию. О том, какие подходы существуют и как выжать из них максимум эффективности для имитации сложных многоядерных систем, рассказали инженеры-программисты отдела разработки системного ПО YADRO Светлана Бурлака и Александр Солдатов.

Читать далее

Простая сеть для связи нескольких устройств с ПЛИС

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

Продолжая тему самодельного простого интерфейса https://habr.com/ru/articles/769986/ , как всегда, интереса ради и просто так, разработал концепцию сети на описанном ранее протоколе нижнего уровня. Представленная сеть, может быть пригодна для связи между несколькими ПЛИС внутри печатной платы (ПП); связи между ПП внутри блока, а также связи отдельных блоков с длиной линии передачи между узлами сети до 50м, а может и более.

Читать далее

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