Рубрика «fpga» - 39

Всем привет!

imageНа этих долгих новогодних выходных я задался вопросом: насколько легко написать какую-то простенькую игрушку на FPGA с выводом на дисплей и управлением с клавиатуры. Так родилась еще одна реализация тетриса на ПЛИС: yafpgatetris.

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

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

Читать полностью »

Трансляция 22-го предновогоднего выпуска подкаста linkmeup оказалась взрывной, а последующая публикация 10-й части СДСМ закрепила успех. Был аншлаг и по количеству слушателей и по количеству новых участников группы вк и по качеству комментариев в джаббере.

И тому есть причина — тема выпуска — Измерение качества каналов и разработка ПО для чипов FPGA для обработки 100 Гб/с без потерь.
В гостях у нас сотрудники НТЦ Метротек: Павел Курочкин (директор по разработке ПО) и Иван Шевчук (инженер-разработчик FPGA).
В подкасте мы обсуждаем:

  • Линейки оборудования Метротек — измерительное оборудование, коммутаторы, специальные разработки.
  • Методология измерения каналов связи и в частности Ethernet: двусторонние и односторонние задержки, джиттер, пропускная способность, BERT.
  • Стандарты измерения: RFC2544 и Y.1564, OAM, TWAMP/OWAMP.
  • Чипы FPGA. Для чего используются, чем отличаются от ASIC.
  • Разработка FPGA для обработки трафика Ethernet на скорости 100 Гб/с. Проблемы, решения, принципиальные схемы.

Кроме того, в 22-м выпуске мы начинаем рубрику «История связи». Вести её будет Дмитрий Булыгин. В первой части рассказ об открытии электричества и самых первых прототипах телеграфа.

Скачать файл подкаста.

Хранилище подкастов rpod.ru почил в бозе вместе со своим RSS, поэтому старая лента iTunes больше неактуальна.
Вы можете подписаться на продолжение и добавить в свой плеер RSS с podfm.ru.

Скачать все выпуски подкаста вы можете с помощью BT Sync (код: BYENRHD5UNKD5ZDIYFSB63WG2PEY2GIUN) или с яндекс-диска.

Хронометраж:

0:00:00 — 0:27:47: Вступление и новости.
0:27:47 — 0:40:40: Рубрика «История связи» от Дмитрия Булыгина.
0:40:40 — 0:50:56: НТЦ Метротек. История, разработки. Павел Курочкин.
0:50:56 — 1:54:20: Измерение параметров каналов связи. Павел Курочкин.
1:54:20 — 2:11:30: Линейки оборудования Метротек и положение на рынке. Павел Курочкин.
2:11:30 — 3:02:16: Разработка ПО для чипов FPGA. Иван Шевчук.

Читать полностью »

Ядро PCI-express в ПЛИС Achronix — быстрый старт - 1

Этот пост написан с целью показать разработчикам дизайна для ПЛИС, как с наименьшими затратами времени и сил начать работать с шиной PCI-express на платформе Ahronix Speedster22i. В статье описывается организация проекта, адаптация которого к конкретным требованиям разработчика сводится к несложной модификации исходного текста всего одного модуля, что позволяет подключиться к шине PCIe хост-компьютера буквально за 1 час. Надеюсь, разработчикам на других платформах эта статья будет так же небезинтересна.
Читать полностью »

На Хабре есть статьи для начинающих ПЛИСоводов, есть статьи с обзорами средств трассировки печатных плат. На некоторые из них я уже ссылался в своей первой статье о создании печатных плат. Во второй статье про SimBank в комментариях у меня состоялся диалог о сложности разработки ПЛИС и поддержки проектов с ней. Было высказано мнение, что легче собрать несколько простых устройств вместо одного сложного. Иногда так действительно проще. Когда речь идёт о двух, четырёх, восьми устройствах. Ряд можно продолжать с привычной вам кратностью. До преодоления порога комфорта. Два — это куча? А что делать, если есть желающие на 100 или 200 однотипных устройств?
Использовать или не использовать ПЛИС в той или другой задаче каждый решает сам (или с коллегами).
Сегодня хочу предложить вашему вниманию статью об особенностях создания печатной платы с ПЛИС. За основу возьмём инструмент «IO Designer» от компании Mentor Graphics. Кому-то может материал оказаться полезным, кому-то просто интересным, а кто-то может и не согласиться со мной.
Читать полностью »

Как я уже писал в своём первом топике на Хабре про создание печатной платы, моя фирма занимается разработкой устройств для телефонии разного рода VoIP-, GSM-, PBX-шлюзов, розетки-ребутеры управляемые через GSM и прочее. Сегодня я опишу процесс разработки прошивки для устройства SimBank в его PCI версии, где я выступил в роли разработчика схемы для ПЛИС.

История постановки задачи от руководства + история работы устройства

Устройство SimBank предназначено для работы с SIM (Subscriber Identification Module — модуль идентификации абонента) картой. Данные карты являются разновидностью ISO-7816 карт.
Читать полностью »

image
Ранее я уже писал про самодельный SDR приемник, сделанный на базе отладочной платы DE0-nano. Как и большинство других SDR приемников, он не был способен работать без подключения к компьютеру. При этом в использованной ПЛИС оставалось еще большое количество неиспользованных ресурсов, так что я решил сделать приемник полностью автономным.
О том, как же работает весь SDR приемник целиком, и как его реализовать — далее.
Читать полностью »

На Хабре много статей по настройке и сопровождению IP телефонии и сопутствующего оборудования. Встречаются статьи и по разработке печатных плат. Есть статьи и о том, как самому сделать печатную плату при помощи ЛУТ технологии. Например, «ЛУТ на виниле или домашняя Arduino Mini». Есть описание разных систем проектирования печатных плат: Cadence, Eagle , DipTrace или описание отдельных процессов при разработке печатных плат, таких как передача информаци из Altium в AutoCAD.

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

Всем привет!

Многим известно, что во всех современных процессорах есть вычислительный конвейер. Бытует заблуждение, что конвейер — это какая-то фишка процессоров, а в чипах для других приложений (к примеру, сетевых) этого нет. На самом деле конвейеризация (или pipelining) — это ключ к созданию высокопроизводительных приложений на базе ASIC/FPGA.

Очень часто для достижения высокой производительности выбирают такие алгоритмы, которые легко конвейеризируются в чипе. Если интересно узнать о низкоуровневых подробностях, добро пожаловать под кат!
Читать полностью »

в 8:46, , рубрики: Altera, fpga, ПЛИС

Сделай шаг к ПЛИС!

Ты ждал знак? Вот он!

Много лет я не решался начать программировать ПЛИС, потому что это сложно, дорого и больно (как мне казалось). Но хорошо, когда есть друзья, которые помогают сделать первый шаг. И теперь я не понимаю одного — ПОЧЕМУ Я ЖДАЛ ТАК ДОЛГО?

Сейчас я помогу сделать первый шаг и тебе!

Читать полностью »

image

Работая над очередным игровым (обучающим) проектом ПЛИС для платы Марсоход2 я столкнулся с тем, что мне явно не хватает места в кристалле. Кажется и проект не очень сложный, но моя реализация такова, что требует много логики. В принципе, это ерунда, дело-то житейское. Ну, если очень будет нужно, то можно выбрать ПЛИС с большей емкостью. Собственно мой проект — это игра «Жизнь», но реализованная в ПЛИС на языке Verilog HDL.

Про логику игры, рассказывать не буду, про нее и так написано уже достаточно.

Идея проекта вот такая: каждая клетка в игровом поле представляет собой самостоятельный вычислитель. В каждом вычислителе есть своя логическая функция и свой регистр, который хранит текущее состояние клетки (живая/не живая). Все пространство для жизни клеток — это двумерный массив вычислителей, вычислители образуют целую сеть. Все вычислители работают синхронно, так как на все регистры подается единая тактовая частота. Рисунок вверху должен прояснить схему проекта.

Так вот. На моей плате стоит ПЛИС Cyclone III EP3C10E144C8 компании Альтера. 10тыс логических элементов. Сперва я думал, что смогу сделать двумерный массив клеток 128x64=8192 клетки. Не помещается. 64x64=4096 — то же не помещается в кристалл. Как же так. Я сумел вместить в ПЛИС только 32x16=512 клеток. Пичалька…

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js