Обновить
39.1

FPGA *

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

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

Что делать, когда мигать лампочками уже скучно, а проектировать процессор еще сложно

Время на прочтение5 мин
Охват и читатели12K

ПЛИС и Verilog - естественная платформа для обучения будущего проектировщика процессоров, так же как Си и микроконтроллеры - естественная платформа для обучения будущего программиста встроенных систем.

И один, и другой путь начинается с мигания огоньками на недорогой плате, но дальше пути расходятся. Встроенный программист смотрит в сторону самоуправляющихся авто, с задачами на RTOS и распознаванием ситуации с помощью AI в GPU. Проектировщик микросхем на уровне регистровых передач смотрит в сторону групп, разрабатывающих CPU, GPU, NPU и сетевые чипы, но какие упражнения он может делать между миганием огоньками и трудоустройством в Интел?

И что делать?

Xilinx дорого-богато? Или ищем бюджетные варианты

Время на прочтение3 мин
Охват и читатели17K

Свое изучение ПЛИС я начал с FPGA Altera Cyclone IV, с которой в комплекте шел копеечный USB ByteBlaster. В сторону Xilinx посматривал с опаской, если борода была не сильно дороже, то программатор начинался уже от 2 т.р. за копию на Алике, что от 10 раз дороже Альтеровского Бластера. Я прошел свой путь от относительно дорогих (не фирменные) до дешевых моделей и хочу с Вами поделиться изысканиями. Возможно, если бы я обладал этой информацией, то начал изучать Xilinx пораньше.


Про плату управления майнером EBAZ4205 не писал только ленивый, ее я и заказал первой на опыты с SOC XC7Z010. Поморгав диодами, заказал со второго раза специфичные разъемы для самодельной платы расширения (пришли только несколько дней назад), начал искать на просторах Али вариант поинтересней и главное, подешевле («а восемь шапок сможешь ?»). И вот, довольно быстро, ко мне пришла китайская слива, то бишь, встречаем Lichee Tang Hex.



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

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

Время на прочтение6 мин
Охват и читатели3.2K

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


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



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

Учимся работать с USB-устройством и испытываем систему, сделанную на базе контроллера FX3

Время на прочтение20 мин
Охват и читатели47K
В двух предыдущих статьях мы сделали USB 3.0 систему на базе контроллера FX3. Пришла пора научиться работать с нею из своих программ для PC. Ну, и попутно понять, насколько получившаяся система пригодна для практического применения. Действительно ли ширины канала хватает на весь поток? И не теряются ли единичные байты из потока? Кто хоть немного поработал тестировщиком, не поверит в то, что если система в принципе работает, значит, работает и в деталях. А я на этой должности проработал лет пять, не меньше, поэтому привык проверять всё на практике. В общем, приступаем.


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

Часть 2: RocketChip: подключаем оперативную память

Время на прочтение12 мин
Охват и читатели8.5K

В предыдущей части мы собрали микроконтроллер вообще без оперативной памяти на базе ПЛИС Altera/Intel. Однако на плате есть разъём с установленным SO-DIMM DDR2 1Gb, который, очевидно, хочется использовать. Для этого нам потребуется обернуть DDR2-контроллер с интерфейсом ALTMEMPHY в модуль, понятный для протокола работы с памятью TileLink, используемого повсюду в RocketChip. Под катом — тактильная отладка, брутфорс программирование и ГРАБЛИ.


Как известно, в Computer Science есть две главные проблемы: инвалидация кешей и именование переменных. На КДПВ вы видите редкий момент — две главные проблемы CS встретили друг друга и что-то замышляют.

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

Как я не готовился и провел роснановский семинар по ПЛИС-ам в Москве. Планы сделать то же в Лас-Вегасе и Зеленограде

Время на прочтение15 мин
Охват и читатели7.5K
У вас бывает такой сон: вы оказываетесь на экзамене или выступаете перед некоторой аудиторией, и вдруг осознаете, что вы вообще не готовились и сейчас прийдется импровизировать. Именно в такой ситуации, но не во сне, а в реале, я оказался перед майскими праздниками в Москве, куда прилетел из Калифорнии, чтобы провести трехдневный семинар для тщательно отобранных школьников ведущих московских физматшкол. Под эгидой РОСНАНО, в гимназии РУТ (МИИТ) и в присутствии преподавателей из МИЭТ, МИРЭА, МИФИ, МЭИ и ВШЭ МИЭМ.

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

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

4 июня я с коллегами по Wave Computing провожу похожий семинар в Лас-Вегасе, но только для взрослых, а 8-19 июля помогаю МИЭТ провести летнюю школу в Зеленограде. Планы этих мероприятий (не окончательные, а для обсуждения в группе преподавателей и инженеров, в том числе здесь, на Хабре) — в конце поста.


Как мы провели Зимнюю школу «Цифровые встраиваемые системы» в Красноярске

Время на прочтение6 мин
Охват и читатели2.9K
image

С 7 по 9 ноября в Институте космических и информационных технологий Сибирского федерального университета прошла I Зимняя школа «Цифровые встраиваемые системы». Участниками школы были студенты и аспиранты СФУ.
Читать дальше →

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

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

Идея написания данной статьи возникла при синтезе одного проекта в разных средах разработки, в результате чего были получены отличные друг от друга результаты. Так как исходный модуль является достаточно объёмным, то для демонстрации полученных результатов был написан тестовый модуль меньшего объёма, но синтез которого вызывал те же предупреждения/ошибки. В качестве тестового модуля был использован 4-х битный регистр с асинхронным сбросом, а в качестве сред разработки были выбраны Libero SoC 18.1, Quartus Prime 17.1, Vivado 2017.4.1.
Читать дальше →

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

Время на прочтение10 мин
Охват и читатели3.4K


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

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

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


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

Итак, что нужно сделать, чтобы портировать проект ПЛИС на другую плату?

Сетевой JTAG программатор для Altera Quartus Prime из Raspberry Pi3

Время на прочтение2 мин
Охват и читатели11K

Выпущено программное обеспечение, которое позволяет сделать из Raspberry Pi3 сетевой JTAG программатор для САПР Altera Quartus Prime. Это решение позволяет удаленно загружать FPGA Altera/Intel и даже вести удаленную отладку с помощью инструмента SignalTap. Далее расскажу,
как использовать это ПО.
Читать дальше →

Гибридный куб памяти (HMC): что это такое и как его подключить к FPGA

Время на прочтение4 мин
Охват и читатели12K

На фото: Платформа SKARAB для цифровой обработки данных с телескопа MeerKAT. За счет технологии HMC каждая из 64 антенн телескопа может передать на платформу поток данных со скоростью 40 Гбит/с

В ожидании нового стандарта памяти DDR5 SDRAM, который появится уже в следующем году, мы исследуем альтернативные технологии. В этой статье изучим память HMC (Hybrid Memory Cube), которая обеспечивает 15-кратный рост производительности при 70% экономии на энергопотреблении на бит по сравнению с DDR3 DRAM.

В то время как DDR4 и DDR5 представляют собой эволюцию стандарта, HMC — это революционная технология, которая может изменить рынок не только в сфере специализированных высокопроизводительных вычислений, но также в области потребительской электроники, такой как планшеты и графические карты, где важен форм-фактор, энергоэффективность и пропускная способность.
Читать дальше →

Как работает FIFO

Время на прочтение17 мин
Охват и читатели45K
FIFO это один из ключевых элементов цифровой техники. Это память типа «первым вошёл-первым ушёл» (first input – first output). Меня как разработчика ПЛИС FIFO окружают повсюду. Собственно я только и делаю что беру данные из одного FIFO и перекладываю в другое. Но как оно работает? В современных САПР конечно уже есть готовые элементы, у Altera есть замечательные мегафункции. У Xilinx есть Core Generator. Но что делать если что-то не устраивает в стандартных решениях? Ответ один – разобраться и написать самому.
Читать дальше →

Установка Quartus II на CentOS

Время на прочтение3 мин
Охват и читатели6.1K
image

Если вы, как и я, убежденный линуксойд да еще и электронщик, желающий приобщиться к миру ПЛИС, то помимо непонимания со стороны коллег вы с большой долей вероятности столкнетесь с проблемами установки соответствующего ПО. Поэтому я постараюсь рассказать о своем пути и облегчить путь последователей. Добро пожаловать под кат.
Читать дальше →

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

Организация делителя частоты с дробным коэффициентом деления в объёме ПЛИС

Время на прочтение10 мин
Охват и читатели34K
Статья посвящена актуальной задаче деления тактовых частот, стоящей перед разработчиками широкого спектра цифровых устройств на основе ПЛИС. Предложенные технические решения могут оказаться полезными при проектировании заказных и серийных СБИС. Рассмотрены два примера технической реализации делителей частоты с дробными коэффициентами деления 3:2 и 5:2. Оба варианта делителей описаны в виде поведенческих моделей на языке Verilog, что позволяет реализовать данные функциональные узлы в объёме ПЛИС различных архитектур и производителей.
Читать дальше →

Как начать работать с MIPSfpga

Время на прочтение3 мин
Охват и читатели26K
MIPSfpga — это пакет, который содержит процессорное ядро в исходниках на Verilog, которое можно менять, добавлять новые инструкции, строить многопроцессорные системы, менять одновременно софтвер и хардвер, симулировать на симуляторе верилога, синтезировать для ПЛИС/FPGA и т.д. Его можно в целях эксперимента например запускать с частотой 1 такт в секунду и выводить наружу информацию о состоянии кэша, конвейера, и любых структур внутри процессора. При этом ядро MIPS microAptiv UP внутри MIPSfpga — это то же ядро которое например используется в платформе IoT Samsung Artik 1 и Microchip PIC32MZ, т.е. студенты получают возможность работать с тем же кодом, с которым работают инженеры в Samsung и Microchip.

MIPSfpga не предназначен для введения в предмет с абсолютного нуля. Для его плодотворного использования нужно чтобы студент или исследователь уже знал основы цифровой схемотехники, умел бы программировать на Си и на ассемблере, а также представлял бы концепции микроархитектуры — конвейера, конфликтов конвейера и т.д. Желательно, чтобы до работы с MIPSfpga студент уже бы построил собственный простой процессор с нуля и мог бы сравнивать свой простой процессор с процессором, используемым в промышленности и совместимым с развитой экосистемой разработки.



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

CPLD-ретрокомпьютинг. Часть 1 — Доска для студента

Время на прочтение12 мин
Охват и читатели27K
Ретрокомпьютинг бывает разный. Кто-то собирает килограммы древних процессоров, кто-то восстанавливает советские ЕС ЭВМ, кто-то до сих пор разгоняет Celeron в жидком азоте, а мы же насладимся платой Altera University Programm Board UP1 1997 года c древней CPLD MAX7128S и даже поморгаем светодиодом (и не только).
Дальше

Тестирование MicroBlaze

Время на прочтение38 мин
Охват и читатели5.6K

А что в нем тестировать то…? А тестировать будем прирост производительности при включения тех или иных настроек. В статье будут таблицы сравнения и немного кода.

Читать далее

Переходим границу из Мексики в Калифорнию в 2025 году: инструкция для айтишника с фотографиями

Время на прочтение4 мин
Охват и читатели8.3K

Мне не нужно агитировать за Калифорнию с ее обилием интересных работ для программистов и электронщиков. Конечно в сети есть ужастики, как после перехода границы того или иного айтишника помещали в иммиграционную тюрьму, и по выходу из нее он жил в машине на парковке в Маунтин‑Вью, одновременно добиваясь работы в FAANG и венчурных инвестиций для своего стартапа. И это не городские легенды — я встречал таких людей в реале.

Кроме этого, в последние месяцы на иммигрантских IT‑форумах появилась информация, что все, лавочка закрыта и границу больше перейти нельзя. Это разумеется не так, и моя заметка будет проводником в осуществлении вашей Калифорнийской Мечты.

Читать далее

Гений. Миллиардер. Плейбой. Филантроп. Участник «Технотекста-7»

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

Открылся прием заявок на седьмой «Технотекст» — конкурс лучших статей Хабра. В этом году мы в YADRO вновь поддерживаем номинацию «Железо: проектирование и технологии производства» и призываем «железных человеков» присылать свои материалы. В ней есть за что побороться: для каждого победителя заготовлен большой набор подарков: платы, осциллографы, книги, инструменты… и даже сертификаты на рассыпуху. Для лучшего молодого автора — отдельный призовой комплект, а для тех, кому немного не хватило до победы, — поощрительные наборы мерча. Другие подробности — в посте.

Читать далее

Использование Cortex-M3 hard core processor в ПЛИС GOWIN

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели2K

В статье описывается опыт использования ARM ядра, встроенного в ПЛИС GOWIN GW1NSR-4C, в качестве процессора общего назначения для формирования PSK31 сигнала. Сигнал формируется с помощью генератора синуса, который был описан в предыдущей статье. Используются отладочная плата LilyGO T-FPGA, в составе которой ПЛИС GW1NSR-LV4CQN48PC6/I5, ЦАП на основе DAC904, ide GOWIN FPGA Designer и образовательная версия GMD.

Читать далее