Здравствуйте, друзья.
Пришла в голову мысль опубликовать последние события за месяц (январь 2020) из мира FPGA/ПЛИС. Ниже списком приведены несколько ссылок на новости, анонсы, вебинары, воркшопы, туториалы, видео и тд. Если данный формат будет интересен, будем собирать новости по крупицам из интернета. Подобные новостные дайджесты есть, например, на хабе про php, почему бы и не сделать что-то подобное и для ПЛИС?
Новостной дайджест событий из мира FPGA/ПЛИС — №004 (2020_04)
Здравствуйте, друзья.
Пришла в голову мысль опубликовать последние события за месяц из мира FPGA/ПЛИС. Ниже приведены несколько ссылок на новости, анонсы, вебинары, воркшопы, туториалы, видео и тд. Подобные новостные дайджесты есть, например, на хабе про php, почему бы и не сделать что-то подобное и для ПЛИС?

Подробности в конце статьи ;)
Сравнение плат Arduino – Марсоход
Странным образом развивается человечество. Технический прогресс настолько стремительно изменил жизнь человека, что мы с вами как-то не представляем себе другую жизнь, без сотовых телефонов, компьютеров, ноутбуков, цифровых фоторамок и фотоаппаратов. Кажется все это было всегда. И кто все это придумывает и делает? У этих инженеров наверное супер-мозг? А знаете что? Вы и сами можете попробовать сделать что-нибудь электронное и удивительное. Может быть созданное вами «изделие» и не будет продаваться миллионными тиражами, но вот удивить знакомых Вы на самом деле сможете. Если Вы хоть немного в душе радиолюбитель, и не боитесь слова паяльник, и у Вас есть немного упорства – у Вас все получится.
С чего начать? Пожалуй есть две интересные возможности – это плата Arduino или плата Марсоход. Попробую объяснить, что же это такое.
С чего начать? Пожалуй есть две интересные возможности – это плата Arduino или плата Марсоход. Попробую объяснить, что же это такое.
Схемотехника и язык программирования Verilog
Хочу рассказать про свои впечатления о языке программирования Verilog. Он используется для описания аппаратуры. Еще проще сказать для описания архитектуры микросхем. Я начал использовать его в своих проектах недавно. Тем не менее, мне кажется, я «почувствовал его вкус».
Реализация ядра микропроцессора AVR в ПЛИС Altera MAX-II

Хочу поделиться с Вами своим опытом разработки микропроцессора. Хотел сделать свой как можно более простой микроконтроллер с минимальной системой команд. Если делать свой микроконтроллер, то нужен и свой ассемблер…
После некоторых раздумий решил, что в этом смысле будет проще следовать какой-то известной системе команд. Остановился на AVR8.
Что из этого получилось можно прочитать здесь (Open Source Hardware Project).
Как я делал USB устройство
Где-то когда-то я читал, что создатели первой спецификации USB намеревались сделать этот стандарт простым для реализации в железе за счет усложнения программного обеспечения. Таким образом цель была максимально удешевить производство и сделать USB устройства очень доступными. Сейчас можно сказать, что чипмейкерам это удалось, но так ли уж прост для реализации в железе этот стандарт? Боюсь, что ответ не очевиден.

Предположим мне нужно сделать свое простое USB устройство. Какие у меня есть варианты?

Предположим мне нужно сделать свое простое USB устройство. Какие у меня есть варианты?
Intel начала разрабатывать чипы для других компаний

Впервые в своей истории, компания Intel согласилась на производство чипов для других компаний на своих современнейших заводах. Этот шаг компании направлен на захват той части рынка производства чипов, на которой сейчас доминируют тайваньские и китайские компании.
Со следующего года Intel будет делать чипы для Achronix Semiconductor, небольшой компании из Кремниевой долины, которая разрабатывает специализированные микропроцессоры, используемые для ускорения вычислительных задач, таких как управление сетевым трафиком и шифрование данных.
Робот «pick and place», который делает часть самого себя
Я уже писал несколько раз на Хабре о плате Марсоход. Это такой простой «робо-контроллер» для изучения схемотехники, языков описания аппаратуры Verilog, VHDL, для создания простых электронных игрушек и устройств автоматики.
Мы разработали эту плату, производим и распространяем ее. Наш проект — с открытыми исходниками — мы с самого начала опубликовали схему платы. Теперь на нашем сайте так же доступны и файлы описывающие PCB платы.
Самое главное — с помощью нашей платы Марсоход мы делаем разные проекты, исходные тексты и описания которых также публикуем на нашем сайте!
Хочу показать короткое видео, демонстрирующее один из последних наших проектов. Плата Марсоход управляет самодельным роботом, который производит сборку платы Марсоход. Если быть точнее — робот устанавливает на печатную плату SMD компоненты (резисторы и конденсаторы).
Так что будущее уже почти наступило — роботы могут делать сами себя :-)
Если Вас заинтересовало, как сделан этот робот, то можно посмотреть здесь.
Мы разработали эту плату, производим и распространяем ее. Наш проект — с открытыми исходниками — мы с самого начала опубликовали схему платы. Теперь на нашем сайте так же доступны и файлы описывающие PCB платы.
Самое главное — с помощью нашей платы Марсоход мы делаем разные проекты, исходные тексты и описания которых также публикуем на нашем сайте!
Хочу показать короткое видео, демонстрирующее один из последних наших проектов. Плата Марсоход управляет самодельным роботом, который производит сборку платы Марсоход. Если быть точнее — робот устанавливает на печатную плату SMD компоненты (резисторы и конденсаторы).
Так что будущее уже почти наступило — роботы могут делать сами себя :-)
Если Вас заинтересовало, как сделан этот робот, то можно посмотреть здесь.
Программируем SSRAM на ПЛИС
Sandbox
Наконец решил и я вбросить свои 5 копеек в развитие столь интересной, но узко представленной здесь темы – программирование ПЛИС и периферии. В частности в этой статье я кратко опишу работу, довольно простого, но столь важного типа памяти как SSRAM и продемонстрирую свой простерший пример её контроля выполненного с среде Quartus II с использованием языка Verilog HDL.
Машинка, управляемая из браузера

На хабре уже было несколько статей о машинках, управляемых через WiFi и с web камерой на борту.
Вот одна статья: "Радиоуправляемая Wi-Fi машинка с камерой" А вот еще одна статья по теме: "Гонка тарантасов, управляемых через Интернет"
Я хочу предложить новый(?) способ создания подобных машинок.
VGA адаптер на ПЛИС Altera Cyclone III
Tutorial

Исследование процессора и его функциональная симуляция

Наверное каждый программист ASM / C / C++ когда-то задумывался о написании своей собственной операционной системы.
И наверное каждый разработчик Verilog / VHDL для ПЛИС когда нибудь задумывался о создании своего процессора.
Собственно реализовать более-менее традиционный процессор на сегодняшний день кажется не очень и большая проблема. Принципы работы процессоров описаны во многих книгах и статьях. Кроме того, существует много процессоров с открытой архитектурой вроде openRISC или openSPARC и многие другие. Их вполне можно рассмотреть перед тем как изобретать свой велосипед.
Я решил поизучать ARM совместимый процессор AMBER. Его исходники есть на http://opencores.org.
Решение проблем, связанных с правилами наименования в Quartus II при использовании Schematic
Sandbox
Здравствуйте, Хабросообщество.
Хотел бы поделиться с Вами решением одной проблемы, с которой столкнулся и которую решал довольно долго. Причем помочь решить эту проблему не смогли куча различных радиоэлектронщиков (к которым я обращался за помощью и консультацией), а также 2 отечественных и 1 иностранный форумы по радиоэлектронике.
Я хочу сделать так, чтобы тот, кто это прочитает, никогда не «встал на грабли», на которые я встал и с которыми долго мучался.
Проблема была в том, что я не мог использовать более 1 пина на одном IDC разъеме. Если на разъеме использовалось более 1 пина (2 и более) — то при проверке осциллографом разъем молчал.
Как выяснилось теперь — проблема заключалась в правилах наименования в Quartus II при использовании Schematic.
Всем тем, кому это будет полезно или интересно — прошу под кат.
Хотел бы поделиться с Вами решением одной проблемы, с которой столкнулся и которую решал довольно долго. Причем помочь решить эту проблему не смогли куча различных радиоэлектронщиков (к которым я обращался за помощью и консультацией), а также 2 отечественных и 1 иностранный форумы по радиоэлектронике.
Я хочу сделать так, чтобы тот, кто это прочитает, никогда не «встал на грабли», на которые я встал и с которыми долго мучался.
Проблема была в том, что я не мог использовать более 1 пина на одном IDC разъеме. Если на разъеме использовалось более 1 пина (2 и более) — то при проверке осциллографом разъем молчал.
Как выяснилось теперь — проблема заключалась в правилах наименования в Quartus II при использовании Schematic.
Всем тем, кому это будет полезно или интересно — прошу под кат.
Dell готовится к приходу процессоров ARM в серверы (часть 3)
Мозаика начинает складываться
В двух предшествующих частях материала мы рассмотрели историю и проблематику вопроса. В первой части — славный путь и особенности архитектуры процессоров ARM, а во второй — современные вызовы HPC и позиционирование ARM на этом рынке. На данный момент, до выхода на рынок готовых решений от Dell, в заключительном материале цикла припомним несколько недавних новостей, в которых сейчас прослеживается четкая тенденция.
Временной анализ FPGA или как я осваивала Timequest
Tutorial
Translation
Доброго времени суток, уважаемые хабравчане.
На самом деле я инженер-радиофизик и программирование ПЛИС не является моей непосредственной деятельностью, но в один момент понадобилось написать программу для синхронизации нескольких осцилографических модулей. Пришлось осваивать эту науку. О том, какие у меня возникли с этим проблемы, под катом.

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

Поднимаем SOC: ARM + FPGA
Tutorial
Sandbox

На днях ко мне в руки попала EBV SoCrates Evaluation Board. В двух словах — это плата с SoC от фирмы Altera, на борту которой есть двухъядерный ARM и FPGA Cyclone V.
ARM и FPGA на одном чипе — это должно быть очень интересно! Но для начала всё это добро нужно «поднять».
Об этом процессе я и поведаю в данной статье.
Если вам в руки попала такая или подобная плата и вы не до конца уверены, что же с ней нужно делать. Если вы всегда думали, что FPGA — это что-то сложное и непонятно, как к этому подступиться. Или вы просто любопытный инженер. Тогда заходите. Мы всем рады.
А в качестве маленького бонуса измерим пропускную способность между CPU и FPGA.
Слово о DSP Builder'е
К моему удивлению на «Хабре» я не нашёл ни одной статьи, посвящённой DSP Builder’у (может, плохо искал?). А странно, ибо DSP Builder – это почти незамеченная никем настоящая революция в области ПЛИСостроения. На мой взгляд, такая ситуация создалась по двум причинам.
Часы на ПЛИС (VHDL)
Sandbox
К этому проектированию меня подтолкнула доступность на каком-то этапе обучения к отладочной плате EP2C20F484C7 фирмы «Altera» (семейство «Cyclone-II»).
В ПЛИС заложены возможности, которые позволяют превратить ее в интегральную схему с любой функцией цифровой логики. Проектирование сводится к выявлению программируемых элементов (перемычек или запоминающих ячеек), после удаления которых в структуре схемы остаются только те связи, которые необходимы для выполнения требуемых функций. На практике эта задача весьма непростая, так как современные ПЛИС содержат в среднем несколько десятков тысяч перемычек. Поэтому для проектирования обязательно применяют системы автоматизированного проектирования (САПР ПЛИС).
В ПЛИС заложены возможности, которые позволяют превратить ее в интегральную схему с любой функцией цифровой логики. Проектирование сводится к выявлению программируемых элементов (перемычек или запоминающих ячеек), после удаления которых в структуре схемы остаются только те связи, которые необходимы для выполнения требуемых функций. На практике эта задача весьма непростая, так как современные ПЛИС содержат в среднем несколько десятков тысяч перемычек. Поэтому для проектирования обязательно применяют системы автоматизированного проектирования (САПР ПЛИС).
Cхема > плата > ПЛИС
На Хабре есть статьи для начинающих ПЛИСоводов, есть статьи с обзорами средств трассировки печатных плат. На некоторые из них я уже ссылался в своей первой статье о создании печатных плат. Во второй статье про SimBank в комментариях у меня состоялся диалог о сложности разработки ПЛИС и поддержки проектов с ней. Было высказано мнение, что легче собрать несколько простых устройств вместо одного сложного. Иногда так действительно проще. Когда речь идёт о двух, четырёх, восьми устройствах. Ряд можно продолжать с привычной вам кратностью. До преодоления порога комфорта. Два — это куча? А что делать, если есть желающие на 100 или 200 однотипных устройств?
Использовать или не использовать ПЛИС в той или другой задаче каждый решает сам (или с коллегами).
Сегодня хочу предложить вашему вниманию статью об особенностях создания печатной платы с ПЛИС. За основу возьмём инструмент «IO Designer» от компании Mentor Graphics.

Кому-то может материал оказаться полезным, кому-то просто интересным, а кто-то может и не согласиться со мной.
Использовать или не использовать ПЛИС в той или другой задаче каждый решает сам (или с коллегами).
Сегодня хочу предложить вашему вниманию статью об особенностях создания печатной платы с ПЛИС. За основу возьмём инструмент «IO Designer» от компании Mentor Graphics.

Кому-то может материал оказаться полезным, кому-то просто интересным, а кто-то может и не согласиться со мной.
Делаем тетрис под FPGA
Всем привет!
На этих долгих новогодних выходных я задался вопросом: насколько легко написать какую-то простенькую игрушку на FPGA с выводом на дисплей и управлением с клавиатуры. Так родилась еще одна реализация тетриса на ПЛИС: yafpgatetris.
Конечно, игры на FPGA делаются больше для фана и обучения, чем для каких-то реальных “продакшен” задач, да и от “разработки” игр я очень далек, можно сказать, для меня это новый опыт.
Если интересно, как можно запускать игру без операционной системы, реализуя её на самом низком уровне, с помощью триггеров и комбинационной логики, добро пожаловать под кат.

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