Обновить
26.17

FPGA *

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

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

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

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

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

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

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

Читать далее

Linux From Scratch на Zynq UltraScale+ MPSoC

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров8.5K

В данной статье я постараюсь описать процесс создания кастомного образа Linux на Zynq UltraScale+ MPSoCс. Каждый необходимый компонент будет собран отдельно с использованием соответствующих утилит. Статья разбита на разделы, которые шаг за шагом знакомят вас с процессом сборки и запуска системы на данной платформе.

Читать далее

Сонары, роботы и чем флейта лучше гитары

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

Несколько лет назад мне довелось посетить университет Харви-Мадд, в котором работали Дэвид Харрис и Сара Харрис, авторы известного учебника "Цифровая схемотехника и архитектура компьютера". Cлучайно зашел в комнату, в которой сидела группа студентов и лежало нечто, напоминающее торпеду. Выяснилось, что это подводный робот, а студенты работают над общением этого робота с рыбами с помощью сонара (так я перевел для себя "IVER AUV for Sonar Mapping and Fish-Robot Interaction Modeling Projects"), и даже получили пару грантов на полмиллиона долларов.

Но чтобы студенты могли сделать что-нибудь полезное в обработке сигнала от сонара, им нужно знать кучу математики из области, которая в Америке называется DSP, а в России - ЦОС, или Цифровая Обработка Сигналов. Потом, в своих поездках по России я выяснил, что российские студенты в ЦОС тоже не лыком шиты.

Читать далее

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

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

Вторая статья из цикла, посвященного проектированию с использованием стандартного интерфейса AXI-Stream, а также отладке и документации проектов.

Читать далее

Плата ПЛИС просит помощи у девушек Алтая

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

Прошли первые три занятия Школы Синтеза Цифровых Схем в 18 вузах России и Беларуси. На втором занятии пошла речь о D-триггерах и их описании в современном SystemVerilog, а не в стареющем Verilog-2001 и не в допотопном Verilog-95.

D-триггер - это минимальный элемент состояния, он хранит 1 бит информации в течении 1 такта. Именно он делает электронику "умной", позволяет повторять вычисления, ждать события, организовывать конвейеры вычислений внутри микропроцессора, графического процессора, сетевого роутера.

Читать далее

Хотите проектировать устройство, которое использует миллиард человек — решайте микроархитектурные задачки

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

Длинный извилистый путь Школы Синтеза Цифровых Схем приближается к годовой кульминации. 21-23 пройдет хакатон по процессорам в зеленоградском МИЭТ, после чего 150 слушателей из дюжины российских городов оправятся готовится к майским праздникам, приближающимся сессиям и лету.

Но для тех, кто воспринимает школу не просто как научпоп, а реально собирается стать проектировщиком микросхем, мы приготовили экзамен с задачками в духе задачек на собеседованиях в Silicon Valley. В некоторых крупных электронных компаниях для решения таких задачек соискателя заводят в комнату без интернета, и он делает это под глазами экзаменатора на компанейском компьютере. Но так ученики школы не волшебники, а только учатся, экзамен выкладывается открытым, но по его результатам школа будет давать рекомендации в электронные компании.

Для экзамена мы выбрали три темы в четырех упражнениях:

Читать далее

Что такое гигагерц и при чем тут Илон Маск?

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

Проанализируем объявление о приеме на работу в Теслу на позицию джуниор-проектировщика процессора для AI автопилота автомобиля (скриншот ниже). Как мы видим, от соискателя требуется понимание микроархитектуры процессора, проектирование на уровне регистровых передач используя язык описания аппаратуры Verilog, а также понимание, как проектирование логики влияет на временные задержки. Иными словами, соискатель должен понимать, как связаны его строки на верилоге с гигагерцами синтезируемого из них процессора. А понимаете ли это вы?

Читать далее

Как отличить начинающего профессионала от умудренного хоббиста в цифровой схемотехнике?

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

В чем главное отличие между FPGA-хоббистом, ностальгирующим по КР580ИК80 на пенсии - и начинающим микроархитектором, ориентированным на будущее трудоустройство в передовую процессорную компанию или сфинансированный венчурными капиталистами стартап?

Три слова: понимание концепции конвейера. Молодым профессионалом, не старым хоббистом.

Это наглядно видно, если вы погуглите тексты про FPGA для начинающих. Если текст пишет программист, которому захотелось потрогать FPGA чисто для разнообразия, он как правило до конвейера не доходит. Помигает лампочками, поговорит про конечные автоматы и может начнет встраивать какую-нибудь FPGA-реализацию старого 8-битного процессора.

(Некоторые из таких людей даже пишут книги - вот некий Роберт Дунне реализовал процессор конечным автоматом с состояниями fetch/decode/execute, но до конвейера не дожал)

Все это происходит потому, что понимание работы конвейера как правило требует некоего мозгового усилия, типа толчка штанги. И если мозг уже поставлен десятилетиями программирования на Си и ассемблере, он упирается, потому что это ему контринтуитивно.

Но это надо преодолеть, поскольку если вы прийдете интервьироваться в какой-нибудь AMD на позицию юного проектировщика, вас будут спрашивать не как помигать лампочками и засунуть Радио РК-86 в Xilinx, а как стоя перед интервьирующим написать на доске на языке описания аппаратуры Verilog - конвейерную реализацию какого-нибудь умножения со сложением. Или сделать это на компьютере отрезанном от интернета, так что вы даже не cможете нагуглить решение - вот садисты, а?

Именно этому вопросу будет посвящено следующее занятие Сколковской Школы Синтеза Цифровых Схем.

Объяснение концепции конвеера военкоматом

Танцы без бубнов или как я реализовал автомат на ПЛИС

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

Всем привет, дорогие хабровчане! Сегодня я хочу поделиться своей «больной» идеей реализовать калькулятор на ПЛИС на основе конечного автомата. Почему больной? Потому что уж очень мудрёно получается: всё-таки реализация автоматов на ПЛИС – дорогая практика в смысле ресурсов. Почему хочу поделиться? Потому что вишенкой на торте в этом проекте является автоматическая генерация кода с помощью такого мощного средства, как HDL Coder в MATLAB, что в купе со Stateflow очень интересно смотрится: создание железного кода на основе графического составления графа системы – ни это ли верх мечтаний разработчика, которому необходимо реализовать сложнейший граф с кучей разных переходов и условий ?!

Итак, задачу перед собой я поставил следующую: у меня есть «китайский» кит с FPGA Spartan 6 на борту и старенький клавиатурный интерфейс PS/2. Я собираюсь залить проект калькулятора-автомата на ПЛИС вместе с выбранным интерфейсом и с клавиатуры осуществлять ввод данных. Вывод результата и текущего ввода будем наблюдать на 8-ми cемисегментных дисплеях, которые также имеются на отладочной плате.

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

Читать далее

Генерация клока на примитиве LUT

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

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

Цель. В этот раз я хочу с генерировать клок не на одном примитиве, а на цепочке примитивов. Допустим возьмем один инвертирующий LUT и некоторое количество LUT-повторителей для создания задержки сигнала. Так же хочется посмотреть как будет меняться частота сигнала в зависимости от температуры кристалла.

Читать далее

Добавляем поддержку Vendor-команд к USB3.0 устройству на базе FX3

Время на прочтение11 мин
Количество просмотров2.5K
В предыдущих статьях мы сделали достаточно интересную железку, состоящую из контроллера FX3 и ПЛИС Cyclone IV. Мы научились гонять через шину USB 3.0 потоки данных с достаточно высокой скоростью (я доказал, что поток 120 МБ/с из ULPI будет проходить через эту систему без искажений и потерь). Всё хорошо, но система, которая просто гонит данные, не имеет смысла. Любую систему надо настраивать. То есть, хочешь — не хочешь, а кроме скоростных данных надо слать не очень спешные команды.

У шины USB для передачи команд предназначена конечная точка EP0. Сегодня мы потренируемся дорабатывать «прошивку» FX3 так, чтобы она обрабатывала команды от PC, а также транслировала их через GPIO в сторону ПЛИС. Кстати, именно здесь проявляется преимущество контроллера над готовым мостом. Что меня в текущей реализации Redd сильно удручает – я не могу посылать никаких команд. Их можно только упаковать в основной поток. В случае же с контроллером – что хочу, то и делаю. Начинаем творить, что хотим…


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

Maple BUS в ореховой скорлупе или Периферия SEGA Dreamcast, как сделать

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

Описание протокола MapleBUS или как cделать устройство ввода для DREAMCAST.

Читать далее

Intel Stratix 10 DX — завершение линейки FPGA Stratix 10

Время на прочтение2 мин
Количество просмотров5.1K
Выводя в свет свою новую 10-нм линейку FPGA Agilex, Intel одновременно завершает формировать уже широко известное и хорошо зарекомендовавшее себя семейство Intel Stratix 10. Последняя из выведенных на рынок разновидностей, 10 DX, характеризуется архитектурными нововведениями и более тесной интеграцией с серверными процессорами Intel Xeon. Возможно, это наш последний повод поговорить об Intel Stratix 10, поэтому давайте сделаем небольшой обзор всего семейства, особо уделив внимание новинке.


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

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

Линейка Agilex — 10-нм FPGA Intel

Время на прочтение2 мин
Количество просмотров9.5K
Буквально вслед за 10-нм процессорами Ice Lake Intel выпускает новое поколение своих FPGA, также производимых по 10-нм техпроцессу. Новая серия получила наименование Intel Agilex; по традиции, идущей со времен Altera, она разбита на несколько классов устройств для различных применений. В этом посте — общий обзор всей линейки Agilex.


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

Школа по основам цифровой схемотехники: Новосибирск — Ок, Красноярск — приготовиться

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


Со 2 по 5 октября в Новосибирске прошла школа по основам цифровой схемотехники, архитектуры и использования Verilog. Формальное название мероприятия: школа для магистрантов и аспирантов, проходившая в Новосибирском государственном техническом университет в рамках XIV Международной научно-технической конференции «Актуальные проблемы электронного приборостроения» АПЭП-2018, проводимой под эгидой IEEE.


Данное мероприятие было в первую очередь ориентировано на тех, кто:


  • прочитал книгу Цифровая схемотехника и архитектура компьютера, Д.Харрис, С.Харрис (также известная как H&H или Харрис-и-Харрис);
  • хочет применить свои знания на практике, но не понимает, какое оборудование и ПО для этого необходимо и не умеет его использовать;
  • является студентом старших курсов или аспирантом и, как предполагается, будет распространять полученные знания (вести в ВУЗе практикумы, лабораторные работы и т.д.).

Анонс: аналогичная школа запланирована с 6 по 9 ноября на базе Института космических и информационных технологий Сибирского федерального университета (ИКИТ СФУ). Вести школу будут Алина Лесковская — аспирант, инженер-конструктор АО ИСС им.М.Ф.Решетнева, а также ее коллеги: Дмитрий Власов и Борис Дудкин. Контакт для регистрации: leskovskayaav@yandex.ru


Если ваша должность звучит как минимум «Junior FPGA Developer», то с высокой вероятностью вы не узнаете в этом посте ничего для себя нового. Для всех остальных – добро пожаловать под кат.

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

Преобразователи Time-To-Digital (TDC): что это такое и как они реализованы в FPGA

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

На рисунке — первый в мире спутник квантовой связи «Мо-Цзы», который запустили из Китая в 2016 году, в нем летает TDC, реализованная в FPGA.

Объяснить своей девушке (или парню), что такое ADC и DAC, и в каких домашних приборах они используются, может каждый человек, называющий себя инженером. А вот что такое TDC, и почему у нас дома их нет, зачастую можно узнать только после свадьбы.

TDC — это time-to-digital converter. По-русски говоря: времяизмерительная система.

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

В этой хабрастатье приводится детальное описание простенькой времяизмерительной системы на FPGA Cyclone IV. Статья будет полезна не только для расширения кругозора, но и с методической точки зрения, поскольку реализация системы нетривиальная.
Читать дальше →

Интерфейс ADM – что такое «Тетрада»

Время на прочтение5 мин
Количество просмотров9.9K
Интерфейс ADM это внутренний стандарт компании «Инструментальные Системы». Он определяет правила соединения субмодулей ADM и базовых модулей. Ключевым элементом интерфейса является ПЛИС ADM. Изначально использовались ПЛИС серий FLEX10K и Acex 1K фирмы Altera. В 2003 году начался переход на ПЛИС Xilinx. Используются практически все серии ПЛИС от Spartan 2E до Kintex Ultrascale. Базовым элементом проекта ПЛИС является «тетрада». Данная статья именно об этом.
Читать дальше →

Семинары по введению во всё: от верилога и цифровой логики до микроархитектуры встроенных процессоров и RTOS-ов

Время на прочтение4 мин
Количество просмотров18K
Господа! Мы с Тимуром Палташевым из AMD в Саннивейл, Калифорния, а также с несколькими соратниками из России, Украины и Казахстана решили спланировать несколько семинаров разных форматов, которые покрывают темы на стыке хардвера и софтвера: цифровая логика, Verilog, правила RTL (Register Transfer Level), введение в микроахитектуру (строение конвейера) процессоров, низкоуровневое программирование на ассемблере, использование микроконтроллеров, особенности чипов для интернета вещей, введение в RTOS-ы, лабы на ПЛИС-ах / FPGA, а также (для части аудитории, которая интересуется производством чипов) физические аспекты проектирования и производства на фабрике (для последнего мы решили привлечь материалы от преподавателя курса в Университете Калифорнии Санта Круз, отделение в Silicon Valley).

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

elizabeth_panchul_160702_085714-2
Читать дальше →

YADRO x Альянс RISC-V: что было на самом большом митапе в России по открытой архитектуре

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

Факт: как минимум 150 человек в нашей стране интересуются RISC-V настолько, что их не пугает девятибалльный шторм. Примерно столько мы собрали в офлайне 14 марта в Москве на совместном митапе YADRO с Альянсом RISC-V. Оценили, готов ли RISC-V для мобильных устройств, а для RISC-V, в свою очередь, — высокопроизводительные библиотеки. Рассмотрели экосистему RISC-V для сценариев АСУ ТП — автоматизированных систем управления технологическим процессом. И наконец, в большой дискуссии обсудили, готова ли открытая архитектура к развитию широкой экосистемы открытого ПО в различных областях. Записи выступлений и некоторые интересные тезисы — далее в статье.

Читать далее

HDLbits + Qwen ИИ – пожалуй, лучший способ выучить Verilog

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

Verilog вряд ли можно назвать простым языком. Он требует понимания основ цифровой логики, работы аппаратуры, смены парадигмы мышления с процедурной на декларативную (описание структуры, а не алгоритма)...

В классическом программировании вы видите результат сразу после запуска программы. Скажем, программирование на C# - доступно каждому, кто готов сделать первый шаг. Немного текста, и по нажатию F5 вы увидите на экране классический "Hello, World!". Всё, ключ к двери в мир разработки в ваших руках... Пусть впереди вас ждут сложные концепции и океан возможностей, именно эта простота делает старт таким увлекательным и доступным.

С Verilog всё гораздо сложнее. И хотя, в мире ПЛИС аналогом "Hello, World!" может быть мигающий светодиод или простой счётчик, результат вашей работы будет виден только после загрузки кода на плату и проверки его работы.

Появление онлайн-симулятора HDLBits сделало изучение Verilog гораздо проще и увлекательнее, чем когда-либо прежде. А доступные каждому платы с ПЛИС китайской компании Gowin Semiconductor (отладочная плата с ПЛИС, на которой можно развернуть процессор RISC-V — стоит всего 2000 рублей) позволяют попрактиковаться на реальном «железе» практически бесплатно. При наличии опыта программирования, освоить Verilog будет проще, чем вы думаете. 😉

Если вам нужно закрыть этот «пробел в образовании» и познакомиться с RTL-дизайном, начинайте прямо сейчас! Но обо всём по порядку.

Читать далее про HDLbits!