Как стать автором
Обновить
38.9

FPGA *

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

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

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

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

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

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

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Новости

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

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

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

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

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

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

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

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.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.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Истории

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

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

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

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

image


Читать дальше →
Всего голосов 61: ↑60 и ↓1 +59
Комментарии 8

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

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

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

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

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

Читать далее
Всего голосов 27: ↑21 и ↓6 +15
Комментарии 57

In RISC-V Rust

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

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

Читать далее
Всего голосов 48: ↑48 и ↓0 +48
Комментарии 12

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

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

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

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

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

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 9

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

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

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

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

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

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 11

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

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

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

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

Читать далее
Всего голосов 56: ↑54 и ↓2 +52
Комментарии 51

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

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

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

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

Читать далее
Всего голосов 64: ↑63 и ↓1 +62
Комментарии 28

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

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

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

Идея была обкатана на макете и показала свою жизнеспособность. Однако для ее реализации «в железе», а тем более в серии, необходимо пересмотреть несколько моментов.
Читать дальше →
Всего голосов 82: ↑81 и ↓1 +80
Комментарии 36

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

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

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

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

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

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

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

Ethernet (10,40,100G)

Common Public Radio Interface

Fibre Channel (10G, 16G)

Infiniband (FDR, EDR)

Thunderbolt

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 4

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

One Day Offer от УЦСБ
Дата 17 февраля
Время 10:00
Место
Онлайн

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

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

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

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

Читать далее
Всего голосов 38: ↑36 и ↓2 +34
Комментарии 15

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

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

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

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 12

Создаем I2C Master Controller на Verilog. Пишем HDL код

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 6.2K
Закончив в предыдущей статье описание того, как должны осуществляться атомарные операции и каким образом осуществляется выполнение команд я бодро перешел к написанию HDL-кода. Пришлось разобраться с тем, как организовать FSM, как организовать считывание и выставление данных на шине.  

Весь этот процесс перехода от идеи и результатов моделирования к написанию кода — я и хотел бы описать в данной статье. 

Всем интересующимся — добро пожаловать под кат! =)

image
Читать дальше →
Всего голосов 58: ↑58 и ↓0 +58
Комментарии 25

Реализация Avalon-MM Master в виде конечного автомата на VHDL

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

Шина Avalon-MM является одной из стандартных шин передачи данных, используемых в ПЛИС фирмы Intel. Использование этой шины в своих модулях для передачи данных существенно повышает их возможность повторного применения и повышает надежность проектов. Также упрощается интеграция модулей в проект с помощью Platform Designer.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами. Часть 5

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

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

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 0

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами Часть 4

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

В предыдущей части был рассмотрен основной подход, применяемым для тестирования сложных цифровых устройств - constraint random testing. Мы узнали, как автоматизировать проверку корректности работы устройства с помощью сравнения его выходов с эталонной моделью. Тестовые окружения, работающие по такому принципу, называются self-test testbench. Мы увидели из каких компонентов строятся тестовые окружения и разработали структуру окружения для проверки сумматора с AXI-Stream интерфейсами. В этой статье мы перейдем от теории к практике и покажем, как реализовать это окружение на языке Verilog.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 0

Отрабатываем протокол valid/ready и конвейеры на микроархитектурном тренажере

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

Чем хорош FPGA-хаб на Хабре это еще и тем что тема протокола valid/ready время от времени тут всплывает. И это действительно важно так как valid/ready является одним из основных протоколов организации управления потоком (flow-control). Понимание valid/ready для микроархитектора так же необходимо как необходимо понимание закона Ома электрику.

На прошлом занятии мы отработали концепцию очереди FIFO на микроархитектурном тренажере - hdlgadgets. В этот раз мы возьмем два FIFO буфера (которые образуют конвейер с valid/ready рукопожатиями) и будем менять flow-control логику конвейера.

Мы покажем что valid/ready это не только механизм передачи данных от одной очереди к другой, но еще и метод для организации разного рода логического функционала между очередями.

Если до этого момента вы не сталкивались с протоколом valid/ready, то будете приятно удивлены как легким движением руки (а если точнее, написанием пары строк на верилоге) мы можем реализовывать разного рода функционал взяв за основу конвейер из двух FIFO.

Читать статью целиком и смотреть видео
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

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