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

FPGA *

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

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

Асинхронная работа с libusb 1.0

Время на прочтение25 мин
Количество просмотров9K
Несколько статей назад мы рассмотрели методику работы с USB-устройством при помощи библиотеки libusb. Данные в устройстве у нас формировались по таймеру, поэтому мы были не просто уверены, что рано или поздно они придут к нам, но даже могли предсказать, через какой срок это произойдёт. Однако в анализаторе (который является конечной целью разработки) данные идут непредсказуемо. Будут данные или нет – зависит от поведения объекта контроля.

Поэтому, во-первых, было бы полезно видеть, какой их объём уже прошёл в буфер, чтобы представлять, работает система или нет. Ну, и во-вторых, если данных не предвидится, а всё интересное уже попало к нам в память, надо иметь возможность прекратить приём и начать разбор того, что уже накопилось. Ни то, ни другое невозможно при использовании функций, которые были рассмотрены в той статье. По крайней мере, со стороны PC. Без читов, добавленных в «прошивку» ПЛИС.

Сегодня мы научимся обращаться к библиотеке libusb асинхронным методом. Это позволит и грубо отслеживать объём уже пришедших данных, и прерывать работу в любой момент, и даже повысить общую производительность системы. Причём всё это будет сделано только за счёт вызова штатных функций libusb. Код для FX3 и ПЛИС мы для этого дорабатывать не будем. Итак, приступаем.


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

Язык программирования P4

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

P4 — это язык программирования, предназначенный для программирования правил маршрутизации пакетов. В отличие от языка общего назначения, такого как C или Python, P4 — это предметно-ориентированный язык с рядом конструкций, оптимизированных для сетевой маршрутизации.

P4 — это язык с открытым исходным кодом, лицензируемый и поддерживаемый некоммерческой организацией, которая называется P4 Language Consortium. Он также поддерживается Open Networking Foundation (ONF) и Linux Foundation (LF) — двумя крупнейшими зонтичными организациями в проектах с открытым исходным кодом в области сетевых технологий.
Читать дальше →

Musical box and rotary encoder on FPGA board

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

Introduction


We are the first year students studying Computer Science in Innopolis University and we would like to share our experience in developing a Verilog program to create the coolest (well, at least, the loudest) rotary encoder ever on an FPGA board.

In this article, you will find a wonderful story about our project, the hardware, software we used and some background theory regarding rotary encoder and creating sounds in FPGA’s buzzer. Finally, we will provide a link to a github repository where a reader can access the source code. We hope you will like the project and it will inspire you to make something similar.
So, let’s start!

Hardware and Software


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

Реализация HFT роботов на устройствах CEPappliance

Время на прочтение11 мин
Количество просмотров5.9K
Мы уже 2 года плотно общаемся с HFT трейдерами и разработчиками решений для HFT торговли. И испытываем некоторую неловкость от того, что никто в этой среде открыто не рассказывает о своих технологических успехах. Так как мы делаем устройства CEPappliance на основе FPGA, применимые в том числе для HFT торговли, мы неустанно интересуемся кто и как использует FPGA в этой сфере. Складывается навязчивое впечатление, что FPGA в HFT торговле, как секс у подростков — все о них говорят, но мало кто ими занимается, да еще и успешно.
Читать дальше →

Возможен ли асинхронный процессор

Время на прочтение3 мин
Количество просмотров15K
Цитата из комментариев к предыдущей статье: «Вот, к сожалению, данные, адреса и любые операции над ними не годятся для графового представления. Если придумаете как это сделать — будет революция. А без данных, адресов и арифметики, лучшее что можно сделать асинхронным (с помощью графового метода) — машину Тьюринга. Но никак не процессор, к примеру. Поэтому тематика и заброшена, уже 20 лет как.» В компетенции автора сомневаться не приходится, все-таки доктор наук. А я вот попробую сделать революцию.

Как видно из цитаты проблема состоит из двух частей: операции над данными и операции над адресами. С адресами разберусь в следующей статье, а сейчас — данные.

Для примера попробую сделать схему разряда регистра, выполняющего две операции. Почему две? Потому что две, три операции или десять — принципиальной разницы нет. От увеличения количества операций увеличивается только объем вычислений при синтезе схемы. Главное, чтобы таких операций было более одной. В качестве операций выберу копирование из буфера и сложение с содержимым другого регистра.

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

Отладочная плата ПЛИС — Франкенштейн. Часы. Altera EPM7064 VS Lattice LC4064v

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

Продолжение предновогодней серии приключений маленькой ПЛИС Altera EPM7064 на отладочной плате — Франкенштейн. В предыдущей серии...


Настала пора сравнить две ПЛИС из одной весовой категории: Altera EPM7064 и Lattice LC4064v. Хотя, один у них — только вес — это 64 макроячейки. В остальном, судя по параметрам, у этих ПЛИС совсем разные назначения. ПЛИС от Altera, судя по документации 2005 года, является просто не молодой, от этого и обладает низким количеством ячеек. Так же, обладает популярным по тем временам напряжением питания — 5 вольт. Максимальная рабочая частота не превышает 200 МГц. В то же время Lattice может работать до частот в 400 МГц, но при этом, питается от напряжения — 3.3 вольта. Да, это не так удобно, как 5 вольт, если мы хотим взаимодействовать со старыми схемами (однако, заявлена толерантность к 5В). В документации на Lattice этой серии указан 2014 год, поэтому я предположу, что это современные высокоскоростные ПЛИС, но малого объема, и судя по "SuperFAST CPLD" в описании, позиционируются они несколько иначе.


Как нам их сравнить? Попробуем решить на них одну и ту же задачу. Часы на Lattice LC4064v мы уже попробовали сделать и у нас получилось. Теперь попробуем сделать часы на Altera EPM7064 — на нашем Франкенштейне.


Узнать, что вышло

Можно скачать материалы семинара Nanometer ASIC (РОСНАНО / МИСиС / Imagination Technologies) — ликбез по всему про чипы

Время на прочтение2 мин
Количество просмотров7.9K
Господа! Семинар Nanometer ASIC, организованный РОСНАНО, МИСиС и Imagination Technologies, оказался довольно популярным — на него зарегистрировались более 180 человек, пришли 127, причем в аудитории засветились предствители всех значимых российских микроэлектронных проектов — от радиационно-стойких микросхем для космоса из НИИСИ до чипов для умных камер от ЭЛВИС-НеоТек, инженеров из Байкал Электроникс, руководителей проектов по автоматизации проектирования микросхем из МГУ, разработчики российских ПЛИС-ов из Воронежа, преподаватели из ВШЭ/МИЭМ и других вузов, организаторов олимпиад для школьников из МФТИ и многие другие.

Несмотря на то, что для профессиональных спецов по использованию Synopsys IC Compiler семинар был слишком элементарный, но его вводный характер искупился его широтой — инженеры из всей цепочки проектирования и производства могли освежить в памяти области, которые они забыли, инвесторы в полупроводниковой индустрии смогли посмотреть что делают компании, в которые они инвестируют, студенты посмотрели, что им может нравится и так сказать куда копать (в полупроводниковой индустрии Silicon Valley молодые инженеры специализируются в логический / физический / аналоговый дизайн довольно рано в своей карьере).

Ведущий семинара, лектор Калифорнийского университета в Санта-Крус (отделение в Кремниевой долине) Чарльз Данчек (Charles Dancak) отвечает на вопросы:



Скачать все слайды на русском можно здесь.

Под катом — избранные слайды Nanometer ASIC (25 из 322):
Читать дальше →

Микросхемы с разных сторон: семинары Nanometer ASIC, MIPSfpga и Connected MCU в России, Украине и Казахстане

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


Стремитесь узнать про все этапы проектирования и производства микросхем от идеи до фабрики? Хотите построить прототип своей собственной системы на кристалле используя микросхемы ПЛИС? Интересуетесь программированием микроконтроллеров и операционными системами реального времени? Тогда приходите на семинары, которые совместно организовали американские, российские и украинские компании и университеты. Эти семинары будут проходить в Москве, Зеленограде, Санкт-Петербурге, Киеве и Алма-Ате во второй половине октября и первой половине ноября:

  • Nanometer ASIC — двухдневный семинар, описывающий все этапы проектирования и производства микросхем: создание спецификации, описание цифровой логики на языках описания аппаратуры Verilog и VHDL на уровне регистровых передач, логический синтез, размещение и трассировка, создание фотошаблонов и производство микросхем на фабрике. Для проведения этих семинаров из Калифорнии приезжает Чарльз Данчек, преподаватель такого курса в University of California Santa Cruz Extension in Silicon Valley. В Москве семинары проходят под эгидой Фонда инфраструктурных и образовательных программ (ФИОП) РОСНАНО и его дочерней компании eNANO.

  • MIPSfpga — устройство систем на кристалле, протоколы внутри чипа и вне чипа, интеграция процессорного ядра с памятью и устройствами ввода-вывода, наблюдение работы кэша и конвейера промышленного процессора на плате с ПЛИС. Семинары проводятся под эгидой британской компании Imagination Technologies, известной как разработчик графического процессора PowerVR внутри Apple iPhone.

  • Connected MCU — введение в использование микроконтроллеров, организация параллельности на одном процессоре, использование прерываний, таймеров, конечных автоматов реализованных в софтвере, и наконец — введение в RTOS и лабораторное занятие с использованием операционной системы FreeRTOS. Материалы семинаров подготовлены профессором Александром Дин из университета Северной Каролины в сотрудничестве с Imagination и Microchip Technology.

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

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

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

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

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

В русских клубах Америки можно делать не только дискотеки и выступления писателей, но и митапы по FPGA

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

В городах Америки и Канады, где живут много наших соотечественников, существуют русские клубы, в которые ходят на дискотеки и викторины, для игру в мафию и на выступления писателей. В столице Калифорнии городе Сакраменто, где живет около 80 тысяч русских и украинцев, а также есть армянский и молдавский рестораны, таким клубом является Synergy Social Club.

В этом клубе я недавно провел просветительский митап по главной технологии современной цифровой микроэлектроники: маршруту проектирования RTL-to-GDSII для микросхем в массовых изделиях типа смартфонов, и связанной с этим маршрутом технологии FPGA, которые применяются для прототипирования ASIC-ов и обучения в университетах будущих проектировщиков.

Эти технологии полезны в наше тревожное время для надежного трудоустройства в самых разных местах: от производителя ракет Lockheed Martin до производителя айфонов Apple. Вот примеры объявлений:

Читать далее

Синтез Цифрового БИХ Фильтра Низких Частот

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

Мне потребовалось синтезировать быстрый цифровой фильтр нижних частот. Причем этот фильтр должен работать в реальном времени на микроконтроллере. Тут я понял, что надо вспоминать с какой стороны следует подходить к цифровым IIR фильтрам.

Порой бывает так, что вам присылают скриншот цифрового фильтра и надо понять, как это будет работать.

Далее я покажу некоторые приёмы расчета IIR фильтра по известным коэффициентам.

Читать далее

Тестирование целочисленного сумматора с интерфейсами AXI-Stream на SystemVerilog

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

Сменив недавно работу, перейдя с языка VHDL на язык SystemVerilog и оказавшись в команде, где есть отдельная группа верификаторов, я осознал, что сильно отстал в верификации. На VHDL ранее мной писались лишь простые тесты разработчика, которые показывали, что блок выполняет требуемую функцию и ничего более. Каждый тест писался с нуля и не было повторного использования кода. Решив исправить эту проблему, я погрузился в чтение SystemVerilog for Verification A Guide to Learning the Testbench Language Features за авторством Chris Spear, Greg Tumbush. Прочитав книгу, понял, что нужно написать какой-то тестовый проект, дабы закрепить полученную информацию. Вспомнил, что видел на хабре цикл статей по верификации от @pcbteach, написанный на verilog, и решил написать тест для сумматора с интерфейсами AXI-Stream на SystemVerilog.

Читать далее

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

Альфа — это не только планета жестоких эльфов из фильма Кин-Дза-Дза, но еще и компьютерная архитектура

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

Году в 1993 мой приятель микрософтовец Лев Белов при встрече с безумными глазами произнес «Ты понимаешь, что это все! Window NT спортировали на Альфу! Все, архитектура x86 с Интелом закончилась!»

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

Тезис про «принципиально невозможно» мне кажется сомнительным. Поэтому я высказал вот какие соображения:

Читать далее

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

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

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

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

Читать далее

Ультра скорость для C# кода, запуск .NET на FPGA процессоре с HASTLAYER

Время на прочтение15 мин
Количество просмотров6.6K
Hastlayer .NET for FPGA

У многих FPGA или ПЛИС, ассоциируется с низкоуровневым программированием на языках VHDL, Verilog, или OpenCL. Платформа .NET уже давно захватила нишу микроконтроллеров, проект nanoFramework. Последние новости развития nanoFramework только доказывают твердость намерений платформы .NET освоить работу и на «железе». Казалось бы, пал последний бастион, где не было платформы .NET. Но это был далеко не последний рубеж. Как вам возможность писать код на C#, вместо хардкорного VHDL или Verilog, с последующей загрузки .NET сборок на FPGA процессоры Xilinx для непосредственного исполнения? Открытый проект Hastlayer преобразует сборки .NET в низкоуровневый код для FPGA процессоров, обеспечивая максимальный параллелизм и низкое энергопотребление.
Читать дальше →

Ректоры и президенты неожиданно согласились рассказать студентам, что их ждет в микроэлектронике

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

Мы на Школе Синтеза двадцать суббот учили школьников и студентов проектировать процессоры на FPGA. Для выпуска мы решили пригласить крутых топов, и на наше удивление, откликнулись сразу семеро:

1. Александр Редькин, гендир и основатель компании Syntacore, которая разрабатывает будущий флагман российcких процессоров для линуксных ноутбуков - суперскаляр с внеочередным исполнением инструкций, совместимый по системе команд с архитектурой RISC-V.

2. Сергей Сергеевич Шумилин - заместитель директора по науке компании Миландр, российского лидера по разработке микроконтроллеров, пионера лицензирования ядер ARM и надежды российcких пользователей ПЛИС.

3. Николай Суетин - главный микроэлектронщик фонда Сколково, бывший руководитель R&D Интела в России.

4. Сергей Михайлович Абрамов - член-корреспондент РАН, руководитель разработки суперкомпьютера СКИФ и других HPC проектов.

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

6. Александр Тормасов - ректор Иннополиса, Chief Scientist компании Parallels, гуру виртуализации, лектор по компьютерной архитектуре.

7. Тимур Палташев - известный специалист по архитектуре компьютерной графики, c 25-летним опытом в Silicon Valley и работой с питерским ИТМО.

UPD: Потом присоединились:

8. Окунев Константин Евгеньевич - Директор по технологическому развитию ГК «Элемент»

9. Максимов Евгений Викторович - Директор по развитию экосистемы и образовательных инициатив Группы компаний YADRO

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

Это состоится в субботу 23 апреля в Капсуле №2 Технопарка Сколково в 12:00.

Как записаться и что было на 3x последних

Что видит на своем экране проектировщик айфона в Купертино, Калифорния

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

Каждый год мы видим очереди фанатов, которым не терпится первыми прикоснуться к только что выпущенному новому айфону. А хотите узнать, как выглядит смартфон за два года до начала его продаж в магазине? Он в это время уже существует, как набор файлов в компьютерах проектировщиков его системы на кристалле.

Что же видит проектировщик Apple на своем экране? Завесу над этой тайной поможет над приоткрыть знаменитый в узких кругах блоггер Джон Кули (John Cooley), который начал свой вебсайт deepchip.com еще в 1990-е годы. Джон собирает всякие слухи, сливы и мнения тысяч инженеров больших электронных компаний, стартапов и контракторов, которые потом все это с большим интересом читают.

Когда-то в 2015 году, Джон опубликовал заметку "За закрытыми дверями", на основе анонимных емейлов от 36 инженеров. Аккурат в это время Apple переходил на собственные версии CPU и GPU (до этого Apple использовал готовые ядра от ARM и Imagination Technologies). Заметка выглядела так:

Читать далее

Подключаем Slave-устройства с шиной Wishbone к системе на базе LiteX

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

В предыдущих трёх статьях мы построили ПЛИС систему на базе LiteX, рабочие блоки для которой могут быть написаны не на странном языке, базирующимся на Питоне, а на чистом Верилоге. А благодаря LiteX, база для системы была создана для нас автоматически. Такой подход позволяет резко упростить и ускорить процесс разработки систем.

Пока что наши собственные модули были подключены к  системе через регистры команд и состояний (CSR). Часто этого более, чем достаточно, но иногда всё-таки разрабатываемые блоки должны содержать в себе сложные наборы регистров, а может даже и память. И без прямого подключения к системной шине не обойтись.

Сегодня мы подключим пару собственных Slave-устройств к системной шине Wishbone, которая будет создана средой LiteX. Устройства, разумеется, будут описаны на Верилоге. Приступаем!

Читать далее

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

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

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

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

И что делать?

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