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

Всем привет!

В этой статье речь пойдет об одной важной части цифровой обработки сигналов — оконной фильтрации сигналов, в частности на ПЛИС. В статье будут показаны способы проектирования классических окон стандартной длины и «длинных» окон от 64K до 16M+ отсчетов. Основной язык разработки — VHDL, элементная база — современные кристаллы FPGA Xilinx последних семейств: это Ultrascale, Ultrascale+, 7-series. В статье будет показана реализация CORDIC — базового ядра для конфигурации оконных функций любой длительности, а также основных оконных функций. В статье рассмотрен метод проектирования с помощью языков высокого уровня С/C++ в Vivado HLS. Как обычно, в конце статьи вы найдете ссылку на исходные коды проекта.

КДПВ: типичная схема прохождения сигнала через узлы ЦОС для задач анализа спектра.
Особенности оконной фильтрации на ПЛИС - 1
Читать полностью »

В начале октября компания Xilinx представила новый чип Versal, построенный на программируемых вентильных матрицах (FPGA). Логику работы такого устройства можно модифицировать в любой момент в процессе использования. Ожидается, что чип ускорит работу систем ИИ и найдет применение в сетях 5G. Релиз процессора намечен на конец 2019.

Далее рассказываем об устройстве и чем оно поможет сетям нового поколения.

Программируемые вентильные матрицы: чем они помогут сетям 5G - 1Читать полностью »

Мой Hello World! на FPGA или очередная версия UART

Наконец-то у меня дошли руки до изучения ПЛИС. А то как-то неправильно получается: драйвера на железо под Linux пишу, микроконтроллеры программирую, схемы читаю (и немного проектирую), надо расти дальше.

Так как мигать светодиодами мне показалось не интересно, то решил сделать простенькую вещь. А именно написать модули приемника и передатчика для UART, объединить их внутри FPGA (заодно понять как использовать IP Core), ну и протестировать это все на реальном железе.
Читать полностью »

Загрузка конфигурации в ПЛИС через USB или разбираем FTDI MPSSE - 1

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

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

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

Intel PAC c FPGA Stratix 10 SX — ускоритель для больших задач - 1
FPGA Intel Stratix 10 SX/GX, появившиеся в продаже 2 года назад, стали новым словом в области вентильных матриц. Выполненные по минимальному на тот момент 14-нм техпроцессу, они были в два раза производительнее и на 70% энергоэффективнее предшественников. Однако чтобы реализовать все заложенные в FPGA Intel возможности, нужна такая же продвинутая «обертка». Аппаратно-программный конструктив, выпускаемый Intel для использования Stratix в хост-системах, называется Programmable Acceleration Card (PAC) — его очередная версия анонсирована в сентябре этого года.
Читать полностью »

Приветствую! Меня зовут Даниил Смирнов, я учусь в аспирантуре Университета ИТМО, где в лаборатории программирования и моделирования наш коллектив занимается программируемой электроникой для проектов, связанных с волоконно-оптическими датчиками. В качестве аппаратной базы для датчиков используются FPGA – Field Programmable Gate Array. Пару лет назад мы узнали о том, что производители FPGA проводят конкурсы среди студентов по разработке. С тех пор каждый год от нас формируется команда для участия в этом мероприятии, а поскольку в этом году оно получилось особенным, мы решили поделиться как все было изнутри.

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

Господа! На фотографии Ирина, девушка из Новосибирска, рассматривает музейную экспозицию про персональные компьютеры 1980-х годов. Именно тогда, в 1980-х, окончательно произошел весьма неприятный разрыв между западной электроникой и советской. Если в 1970-х советская электроника просто отставала лет на 7 (если судить по датам выхода DEC PDP-11 и СМ-4), то в районе 386-го она просто померла.

Одновременно в конце 1980-х на Западе появилась технология логического синтеза из языков описания аппаратуры Verilog и VHDL. Эта технология стала мейнстримом в 1990-х и в конечном итоге в 21 веке привела к айфонам и нейроускорителям. Логический синтез ввели во всяких MIT и Стенфордах вместе с лабами на ПЛИС-ах еще в 1990-е, но в России и Украине того времени пораженческие настроения и неверие в отечественную электронику привели к тому, что исправлять ситуацию предстоит нам сейчас.

Для того, чтобы построить в России экосистему разработки электроники, с сотнями компаний, а не дюжиной, как сейчас, нужно делать то, что делали в США в 1990-х и делают сейчас в Китае: выучить кучу молодых инженеров принципам логического проектирования цифровых схем на уровне регистровых передач. Даже если не все из них будут проектировать микропроцессоры и сетевые чипы, а половина пойдет в чистое программирование, эти знания не пропадут зря: время повышения быстродействия компьютеров за счет уменьшения транзисторов подходит к концу, и везде наступают гибридные софтверно-хардверные решения, со специализированными аппаратными вычислительными блоками — об этом недавно даже произнес речь Джон Хеннесси, председатель совета директоров компании Alphabet / Google.

Если вы в Казани или Новосибирске и хотите проектировать микросхемы, как в Купертино - 1

Я это все говорю к тому, что она днях в Новосибирске пройдет одно из мероприятий по вытаскиванию России из неразвитого состояния в данной области.
Читать полностью »

Сейчас выходит русский перевод японской манги 2013 года про цифровые схемы, созданной Амано Хидэхару и Мэгуро Кодзи. Несмотря на несерьезную форму изложения, суть этой книжки очень здравая. Например, она начинает от древних микросхем малой степени интеграции и быстро привязывает их к современному языку описания аппаратуры Verilog и программируемым логическим интегральным схемам (ПЛИС). Также манга четко определяет зачем нужны комбинационные и последовательностные схемы, и дает представление о методах оптимизации.

Манга избегает ошибок многих своих предшественников. Одну из таких ошибок совершил Чарльз Петцольд в книге «Код», которая вводила последовательностную логику не на D-триггерах, управляемых фронтом тактового сигнала (edge-triggered D-flip-flop), а на D-триггерах с работой по уровню (защелках, level-sensitive D-latch), хотя потом переключалась на правильные триггеры. Вероятно, ошибка была связана с тем, что Чарльз Петзольд, который прославился как автор учебников по программированию GUI в Microsoft Windows, не был практикующим разработчиком электроники, и для него защелки были «проще», чем триггеры с фронтом. Проблема в том, что защелки плохо совместимы со статическим анализом задержек при логическом синтезе, главной технологии проектирования цифровых схем последних 30 лет. Системы на кристалле внутри гаджетов типа айфона в качестве элементов состояния в 99% случаях используют D-триггеры переключаемые по фронту, а защелки используют только в очень специальных случаях. Давать новичкам строить схемы на защелках — это значит вводить их в заблуждение.

В этом смысле манга лучше чем Петзольд. Вот как элегантно манга объясняет работу двухступенчатого master slave D-триггера, управляемого фронтом тактового сигнала. Это делается с помощью феи «Хи-хи-хи» и феи «Ха-ха-ха»:

Японские феи показывают работу master-slave триггера в новой манге по цифровой электронике - 1
Читать полностью »

Всем привет!

Однажды меня спросили заказчики, нет ли у меня в проектах целочисленного БПФ, на что я всегда отвечал, что это уже сделано другими в виде готовых, хоть и кривых, но бесплатных IP-ядер (Altera / Xilinx) – берите и пользуйтесь. Однако, эти ядра не оптимальны, обладают набором «особенностей» и требуют дальнейшей доработки. В связи с чем, уйдя в очередной плановый отпуск, который не хотелось провести бездарно, я занялся реализацией конфигурируемого ядра целочисленного БПФ.

Реализация целочисленного БПФ на ПЛИС - 1
КДПВ (процесс отдладки ошибки переполнения данных)

В статье я хочу рассказать, какими способами и средствами реализуются математические операции при вычислении быстрого преобразования Фурье в целочисленном формате на современных кристаллах ПЛИС. Основу любого БПФ представляет узел, который носит название «бабочка». В бабочке реализуются математические действия – сложение, умножение и вычитание. Именно о реализации «бабочки» и её законченных узлов будет идти рассказ в первую очередь. За основу взяты современные семейства ПЛИС фирмы Xilinx – это серия Ultrascale и Ultrascale+, а также затрагиваются старшие серии 6- (Virtex) и 7- (Artix, Kintex, Virtex). Более старшие серии в современных проектах – не представляют интереса в 2018 году. Цель статьи – раскрыть трудности и особенности реализации кастомных ядер цифровой обработки сигналов на примере БПФ.
Читать полностью »

Ещё раз о задержках в исходном коде проекта FPGA или простой вопрос для собеседования на вакансию разработчика FPGA - 1

Некоторое время назад при обсуждении в компании профессиональных разработчиков FPGA возникла дискуссия о прохождении собеседования. Какие вопросы там задают, и что можно было бы задать. Я предложил два вопроса:

  1. Приведите пример синхронного кода без использования задержек, который даст разные результаты при моделировании и при работе в реальной аппаратуре
  2. Исправьте этот код при помощи задержек.

После этого вопроса завязалась оживлённая дискуссия, в результате которой я решил более подробно рассмотреть этот вопрос.
Читать полностью »


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