Pull to refresh
  • by relevance
  • by date
  • by rating

Новостной дайджест событий из мира FPGA/ПЛИС — №004 (2020_04)

CConcurrent computingMachine learningFPGA

Здравствуйте, друзья.

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


Подробности в конце статьи ;)
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views2.7K
Comments 3

VHDL для начинающих. Brainfuck

Brainfuck
Sandbox
Как известно, VHDL – высокоуровневый язык описания аппаратуры (если это вызывает сомнения, можно посмотреть здесь и здесь). Из всего разнообразия задач мне приглянулся именно brainfuck благодаря лёгкости в реализации с одной стороны и волшебству создания программируемого (пусть и весьма ограниченно) вычислителя с другой.
В рамках данной статьи я не буду углубляться в дебри синтаксиса и настройки среды, сконцентрировавшись на реализации конкретной задачи.
Испытательным стендом будет Altera Cyclone II Starter Kit (EP2C20F484C7)


Любителей мигающих лампочек прошу под кат.
Читать дальше →
Total votes 44: ↑43 and ↓1 +42
Views60.3K
Comments 29

Элемент задержки на VHDL

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

Для начала рассмотрим подобную ситуацию с дискретной логикой. Обычно, если у разработчика имеется микросхема с шестью вентилями НЕ (например ,155ЛН1), в качестве элемента задержки (величиной 10…20 наносекунд) он использует последовательное соединение двух элементов. Иногда между ними он вставляет RC-цепь, с помощью которой можно сделать время задержки от 10 до 150 нс.

В микросхеме ПЛИС задержку таким способом организовать НЕЛЬЗЯ. Всё дело в
Читать дальше →
Total votes 6: ↑4 and ↓2 +2
Views18.4K
Comments 10

VHDL. Реконфигурируемый дизайн

Programming
Sandbox
Доброго дня.

Хотел бы поделиться полезным примером, который я использую на практике в разных вариациях. При проектировании цифровых устройств на языке VHDL возникла потребность сделать дизайн модуля более гибким, чем просто изменение размеров входных векторов.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views8.6K
Comments 6

Текстовый VGA модуль на VHDL

Programming microcontrollers
Sandbox
В этой статье я представлю текстовый VGA модуль, написанный на VHDL. Этот модуль может быть полезен при отладке платы, и занимает относительно немного места.

Общие характеристики


Модуль работает на тактовой частоте 50 МГц.
Выдает картинку с разрешением 640х480 с частотой 60Гц.
Размер символа 8х16 точек. На экране 80х25 символов.
Палитра на 32 цвета.

Занимаемые ресурсы в ПЛИС:


Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Views10.8K
Comments 9

Программирование ПЛИС. Плавное изменение яркости светодиодов на Spartan-3E Starter Kit с использованием ШИМ (PWM)

Programming microcontrollers
Эта статья ориентирована на новичков в программировании ПЛИС на языке VHDL и тех, кто хочет научиться это делать. Ранее на хабре уже была рассмотрена статья с аналогичной задачей, реализованной на PIC-контроллере. А в этой статье речь пойдет об изменении яркости свечения светодиода с помощью ПЛИС.
Итак, цель работы: Освоить понятие ШИМ и применить его в изменении яркости светодиода. Для реализации воспользоваться языком программирования VHDL в среде разработки Xilinx ISE Project Navigator v12.3.

Перейдем к реализации цели
Total votes 23: ↑21 and ↓2 +19
Views37.7K
Comments 28

Программирование ПЛИС. Изучение явления «дребезг контактов» и метод избавления от него

Programming microcontrollers
Мы продолжаем изучение ПЛИС и языка VHDL. В данной статье, ориентированной на новичков, мы изучим явление «дребезг контактов» и рассмотрим способ избавления от него.

Итак, цель работы: Изучить явление «дребезг контактов», создать проект в Xilinx ISE Project Navigator: При нажатии на кнопку значение регистра увеличивается на 1.

Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views30K
Comments 31

Общаемся с SIM-картой на низком уровне

FPGA
Sandbox

f: не могу представить, как крусач может работать) Наши курсачи обычно пыляться где-то на полках
m: Вот у меня есть плата. К ней нужно подрубить сим-карту, и эта плата должна прочитать смс оттуда)
m: плата покупная, а вот программируем ее мы)
f: а нельзя смс с телефона прочитать?

— из жизни, орфография сохранена





Ну а если вам все-таки интересно узнать больше о сим-картах, протоколах передачи и их файловой структуре, прошу под кат. Ну и куда же без кода…

Читать дальше...
Total votes 197: ↑191 and ↓6 +185
Views29.7K
Comments 37

Еще раз про WOL

DIY
Нужно включать комп по сети. А Wake-on-LAN не работает.
Предлагаемый метод универсален, но нестандартен и подразумевает наличие творческого оптимизма «во что бы то ни стало».
Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Views48.8K
Comments 37

Forth-процессор на VHDL

Forth
В этой статье я расскажу, как самому написать процессор на VHDL. Кода будет не очень много (я, по крайней мере, надеюсь на это). Полный код выложен на гитхабе, и там же, можно посмотреть несколько итераций написания.

Процессор попадает под класс soft-процессоров.
Читать дальше →
Total votes 52: ↑51 and ↓1 +50
Views15.7K
Comments 25

Микроконтроллер своими руками

Abnormal programmingForth
Sandbox
Пытаясь освоить контроллеры и уже владея навыками программирования ПЛИС, мне пришла в голову дурная мысль. Пришла, постучала и вошла. Всем тем, к кому приходят дурные мысли, и кому интересно как с этим явлением справляются другие, посвящается.

Возникла идея нарисовать свой контроллер, не ограниченный по количеству периферии, ОЗУ и другим параметрам, кроме ёмкости ПЛИС. Скажем контроллер содержит 5 UARTов, а позарез нужен шестой, придётся изворачиваться. А зачем, если можно просто щёлкнуть мышкой и добавить необходимое? Или наоборот, задачка хорошо решается на пяти контроллерах с разрядностью 5, 32, 20, 32 и 20 с непредсказуемым количеством линий связи между ними. Жалко использовать пять 32 разрядников, ресурс всегда жалко, а совмещать две подзадачи на одно ядро – некрасиво, что ли.
Читать дальше →
Total votes 71: ↑69 and ↓2 +67
Views38.4K
Comments 17

Часы на ПЛИС (VHDL)

Website development
Sandbox
К этому проектированию меня подтолкнула доступность на каком-то этапе обучения к отладочной плате EP2C20F484C7 фирмы «Altera» (семейство «Cyclone-II»).

В ПЛИС заложены возможности, которые позволяют превратить ее в интегральную схему с любой функцией цифровой логики. Проектирование сводится к выявлению программируемых элементов (перемычек или запоминающих ячеек), после удаления которых в структуре схемы остаются только те связи, которые необходимы для выполнения требуемых функций. На практике эта задача весьма непростая, так как современные ПЛИС содержат в среднем несколько десятков тысяч перемычек. Поэтому для проектирования обязательно применяют системы автоматизированного проектирования (САПР ПЛИС).
Читать дальше →
Total votes 27: ↑17 and ↓10 +7
Views27.1K
Comments 11

Описание цифровых автоматов на VHDL

Programming microcontrollers
Tutorial

Немного теории


Цифровой автомат (ЦА) — это устройство, которое осуществляет прием, хранение и преобразование дискретной информации по некоторому алгоритму и может находиться в одном из нескольких устойчивых состояний [7].



Рисунок 1 — Граф цифрового автомата
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Views38.2K
Comments 5

Исходники промышленных процессоров станут доступными для университетов

System Analysis and Design
Господа! На днях Imagination Technologies (компания, которая спроектировала графический процессор PowerVR GPU внутри Apple iPhone) и Xilinx (компания №1 в ПЛИС-ах / FPGA) начали понемногу предавать гласности несколько иконоборческую инициативу по бесплатной раздаче университетам исходников современного индустриального процессорного ядра MIPS microAptiv UP, которое используется например в микроконтроллере Microchip PIC32MZ. Студенты смогут менять команды этого процессора, добавлять к нему свои периферийные устройства и реализовывать полученный дизайн на ПЛИС-ах.

Вот линк на сообщение о семинаре 13-14 мая возле Лос-Анжелеса, на котором Imagination и Xilinx будет показывать новый продукт под названием MIPSfpga представителям academia — imgtec.com/mipsfpga

Фактически MIPSfpga — это бесплатная лицензия на базовую конфигурацию экономичного процессорного ядра MIPS microAptiv UP, которое предоставляется в исходных текстах на языке описания аппаратуры Verilog. Это то же самое ядро, которое продается коммерческим клиентам за сотни тысяч долларов. MIPS microAptiv UP — это простой дизайн с пятью стадиями последовательного конвейера (как в учебниках компьютерной архитектуры), но в нем есть кэши и TLB MMU. TLB MMU позволяет даже использовать на нем Линукс.

Описание ядра: www.imgtec.com/mips/aptiv/microaptiv.asp


Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Views16.7K
Comments 24

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

Abnormal programming

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Total votes 117: ↑114 and ↓3 +111
Views230K
Comments 66

Оруженосцы микроэлектроники. Видеорепортаж с конференции по проектированию электроники в Сан-Франциско

Circuit design
Каким образом студент или университетский исследователь может не просто спроектировать микросхему, но и получить ее в свои руки с фабрики? Ведь начальный взнос за фабричное производство микросхем для коммерческих целей как правило превышает миллион долларов? К счастью, такой путь существует за гораздо меньшие деньги — через организацию, которая называется Europractice. Я записал видео интервью с ее директором Carl Das.

А если студент вырастет и захочет завалить спроектированными его компанией микросхемами все континенты, но не знает с чего начать? И на это у меня есть ответ — я записал также видео интервью с Mark Scrivener, директором eSilicon’s Semiconductor Manufacturing Services. Мы с Марком вместе рассчитали по пунктам расходы и себестоимость условного российского чипа, который будет производится в больших объемах в 2016-2020 годах.

Эти и другие видео я записал на конференции Design Automation Conference (DAC), которая прошла на прошлой неделе в Сан-Франциско. Конференция DAC фокусируется на индустрии Electronic Design Automation (EDA), которая обслуживает проектировщиков микросхем. Среди людей, которых я проинтервьировал на прошлой неделе — гуру языка описания аппаратуры Verilog Джон Сангвинетти, руководители компаний, которые разрабатывают софтверные инструменты для разработчиков микросхем, разработчики плат с ПЛИС, один из основателей зеленоградской компании по проектированию микросхем ЭЛВИС Александр Галицкий и другие специалисты и бизнесмены.

dac_20150608_191252.jpgdac_20150608_124050.jpgdac_20150608_124532.jpg

Итак:
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Views11.2K
Comments 12

Реализация генератора псевдослучайных чисел на ПЛИС с использованием Vivado HLS 2014.4

High performanceAlgorithms
Sandbox
Во многих задачах возникает необходимость использования генератора псевдослучайных чисел. Вот и у нас возникла такая необходимость. В общем и целом задача заключалась в создании вычислительной платформы на базе блока RB8V7, которая должна была быть использована как ускоритель расчетов конкретной научной задачи.

Скажу пару слов об этой научной задаче: необходимо было произвести расчет динамики биологических микротрубочек на временах порядка минуты. Расчеты представляли собой вычисления с использованием молекулярно-механической модели микротрубочки, разработанной в научной группе. Планировалось, что на основе полученных результатов вычислений можно будет сделать вывод о механизмах динамической нестабильности микротрубочек. Необходимость в использовании ускорителя была обусловлена тем фактом, что минута эквивалента достаточно большому количеству расчетных шагов (~ 10 ^ 12) и, как следствие, большому количеству времени, затрачиваемому на вычисления.

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

В качестве базовой архитектуры проекта был использована архитектура с поддержкой DMA передач. Как компонент этого вычислительной платформы необходимо было реализовать IP ядро, которое способно было бы генерировать новое псевдослучайное нормально распределенное число типа float каждый такт и занимало бы как можно меньше ресурсов на ПЛИС.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views10.5K
Comments 10

Сдвиг фазы сигнала на VHDL

FPGA
Sandbox
Данная статья продолжение серии топиков Элемент задержки на VHDL, Элемент задержки на VHDL. Другой взгляд о элементах задержки на VHDL реализованных в ПЛИС.

Акцент будет сделан на конкретный прикладной пример, который любой желающий может запустить в симуляторе или реальном железе. Пример создан для удобной симуляции в среде Xilinx ISE с использованием Modelsim SE и с минимальными изменениями реализован в полноценное IP Core.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views7.8K
Comments 5

Генераторы хаоса на ПЛИС

Open sourceAlgorithmsMathematicsFPGAProgramming microcontrollers
Всем привет!

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


Окунуться в мир хаоса...
Total votes 40: ↑40 and ↓0 +40
Views30.3K
Comments 13

Minesweeper на FPGA

Open sourceFPGAProgramming microcontrollers
Sandbox
Привет всем!

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

А почему бы не сделать нечто подобное самому?

Откопав исходники, возобновил утерянные знания и решил на базе старого проекта на скорую руку написать простую версию игры «Сапёр» на старенькой ПЛИС Spartan3E. Собственно, о реализации игры «Сапёр» на уровне логических вентилей и основных особенностях разработки на FPGA фирмы Xilinx и пойдет речь в данной статье.
Присоединяйтесь...
Total votes 29: ↑28 and ↓1 +27
Views15.4K
Comments 21