Обновить
26.67

FPGA *

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

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

Сетевой JTAG программатор для Altera Quartus Prime из Raspberry Pi3

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

Выпущено программное обеспечение, которое позволяет сделать из Raspberry Pi3 сетевой JTAG программатор для САПР Altera Quartus Prime. Это решение позволяет удаленно загружать FPGA Altera/Intel и даже вести удаленную отладку с помощью инструмента SignalTap. Далее расскажу,
как использовать это ПО.
Читать дальше →

Физически неклонируемые функции: защита электроники от нелегального копирования

Время на прочтение8 мин
Количество просмотров19K
За последние 10 лет количество товаров-подделок в мире увеличилось в 2 раза. Это данные отчета министерства внутренней безопасности США. Большая часть контрафакта приходится на Китай (56 %), Гонконг (36%) и Сингапур (2%).

Производители оригинальных товаров несут серьезные убытки, часть из которых приходится на рынок электроники. Многие современные товары содержат в себе электронные компоненты: одежда, обувь, часы, ювелирные изделия, автомобили. В прошлом году прямые потери от незаконного копирования потребительской электроники и электронных компонентов в составе других товаров достигли порядка 0,5 трлн долл. США.



Эту проблему помогают решить различные методы защиты цифровой электроники от нелегального копирования, модификации и обратного проектирования: аппаратное шифрование (AES, RSA и др.), хеширование (например, SHA-256, MD-5), внедрение цифровых водяных знаков и отпечатков пальцев в проектное описание, лексическая и функциональная обфускация, формальная верификация и другие.

В этой статье мы расскажем об одном из самых экономичных методов защиты с точки зрения аппаратных затрат — физически неклонируемых функциях.
Читать дальше →

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

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

Такты для разработчиков

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


Если у вас есть опыт создания ПО и вы хотите познакомиться с проектированием цифровых логических схем (digital design), то одна из первых вещей, которые вам нужно понять, — это концепция тактов. Она раздражает многих программных инженеров, начинающих HDL-проектирование. Без использования тактов они могут превратить HDL в язык программирования с $display, if и циклами for, как в любом другом языке. Но при этом такты, которые новички игнорируют, — зачастую один из основополагающих элементов при проектировании любых цифровых логических схем.


Ярче всего эта проблема проявляется именно при рассмотрении первых схем, созданных начинающими HDL-разработчиками. Я недавно общался с некоторыми из них. Новички опубликовали свои вопросы на форумах, которые я читаю. Когда я проанализировал то, что они делают, от увиденного волосы встали дыбом.

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

Сравнение tick-to-trade задержек CEPappliance и Solarflare TCPDirect

Время на прочтение5 мин
Количество просмотров4.6K
В этой статье мы приводим значения задержек, измеренных для двух типов окружений — устройство на основе FPGA CEPappliance (“железка”) и компьютер с сетевой платой Solarflare в режиме TCPDirect, рассказываем как мы эти замеры получили — описываем методику измерения и ее техническую реализацию. В конце статьи есть ссылка на GitHub с полученными результатами и некоторыми исходниками.

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

SDAccel — проверяем передачу данных

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


В предыдущей статье «SDAccel – первое знакомство» я попытался описать основы применения OpenCL на ПЛИС Xilinx. Теперь настало время поделиться результатами экспериментов по передаче данных на модуле ADM-PCIe-KU3. Проверяется передача данных в обоих направлениях. Исходный код программ размещён на GitHub: https://github.com/dsmv/sdaccel
Читать дальше →

От Торонто до Томска: подведение итогов и планирование будущих семинаров по микроэлектронике в России

Время на прочтение4 мин
Количество просмотров4.3K
Видите японского робота-собачку слева от девушки Ирины? Этот робот из компьютерного музея у офиса Гугла управлялся встроенным процессором MIPS R4000. Дальний потомок этого процессора, MIPS microAptiv UP, станет темой нескольких докладов на семинаре по обмену опытом преподования электроники, который пройдет в Томске на следущей неделе. Ядро MIPS microAptiv UP, в своем бесплатном варианте, MIPSfpga, стало удобной морской свинкой для студенческих экспериментов по микроархитектуре процессорных ядер и созданию систем на кристалле.

Важная часть экспериментов с MIPSfpga случилась в России, на Украине и в Казахстане в течении двух прошлых лет — про это рассказала на конференции в Торонто Сара Харрис, профессор Университета Лас-Вегаса. В семинарах на эту и смежные темы проектирования чипов (Nanometer ASIC) приняли участие МГУ, МФТИ, МИФИ, МИЭТ, ИТМО и другие ведущие университеты.

Сейчас эксперимент продолжается: в этом месяце, помимо конференции в Томске, в Россию приезжает Роберт Оуэн, известный консультант по университетским образовательным программам в области микроэлектроники. За последние 23 года Роберт Оуэн посетил сотни университетов в Европе, Азии, Америке и даже Африке, как представитель Texas Instruments, ARM, Xilinx и Imagination. Он помогал университетам поставить программы в области DSP, микроконтроллеров, встроенных процессоров и систем на кристалле.

Вся эта деятельность — не абстрактное образование ради образования. На технологиях разработки микросхем с использованием языков описания аппаратуры Verilog и VHDL и использовании синтезируемых ядер стоит бизнес таких российских компаний как ЭЛВИС-НеоТек и Байкал Электроникс, о которых расскажет в лекции на этой неделе никто иной как Чубайс.



Про эти и другие мероприятия из прошлого и будущего подробнее под катом.
Читать дальше →

Экскурсия по Музею Истории Компьютеров в Калифорнии, с пользой для разработки. Часть 1. ENIAC, Stretch, CDC6600, IBM/360

Время на прочтение8 мин
Количество просмотров7.9K
Господа! Сегодня мы пройдемся с сибирской девушкой Ириной по Музею истории компьютеров в Маунтин-Вью, Калифорния. Причем пройдемся не как туристы, а для принесения пользы России. Я уже писал в предыдущем посте, что один из эффективных способов для студента изучить проектирование процессоров — это взять какой-нибудь древний, но поучительный процессор, найди документацию по его архитектуре (и какую-нибудь информацию по его микроархитектуре), и спроектировать аналог этого процессора на языке описания аппаратуры SystemVerilog (или VHDL, если он вам больше нравится), после чего реализовать процессор на плате ПЛИС / FPGA (какой именно, не важно — Altera / Intel FPGA, Xilinx или Lattice). В качестве учебника для такого упражнения вы можете начать с Харрис & Харрис, после чего продолжить с книгами для более продвинутой стадии обучения, например Шень-Липасти.

Каким образом все это принесет пользу России? Под такие проекты мы собираемся раздавать FPGA платы на конференции которая пройдет 18-22 сентября в Томске. Туда приедут представители МГУ, МФТИ, МИЭТ, МЦСТ, Imagination Technologies, National Instruments итд. Они будет обсуждать, как обновить программу университетов, чтобы сегодняшние студенты через несколько лет проектировали росийские чипы на уровне передовых западных компаний. Там также будет школа-семинар, на которой будут обсуждать, как делать учебные процессоры — начиная от простейшего schoolMIPS от Станислава Жельнио sparf.

Вот первая фотография из музея в Маунтин-Вью — на ней помимо Ирины и ракеты в центре виден небольшой ящичек. Это бортовой компьютер космической станции «МИР» , который проектировали инженеры советского объединения «ЭЛАС», которое трансформировалось в современную зеленоградскую компанию «ЭЛВИС»:



Итак, темы для учебных проектов — начиная из дремучих десятилетий середины XX века:

Следущие шаги в черной магии процессоростроения после того, как вы освоили Харрис & Харрис

Время на прочтение9 мин
Количество просмотров40K
Недавно вышло еще одно печатное издание книжки Харрис & Харрис на русском языке. Это широкоохватывающий ликбез про то, как проектируют микросхемы в компаниях типа Apple и Intel (методология проектирования на уровне регистровых передач с использованием языков описания аппаратуры). До этого печатного издания вышло бесплатное электронное издание этой же книжки, которое стало вирусным — его скачивания дважды завалили британский сайт Imagination Technologies, а посты о книжке на Хабре и Гиктаймс собрали более 300,000 просмотров (1, 2, 3, 4, 5 ). История перевода книжки на русский тоже довольно поучительна — он начался как общественный проект группы энтузиастов: преподавателей российских и украинских университетов, а также русских сотрудников компаний как в Silicon Valley (MIPS, AMD, Synopsys, Apple, NVidia ...) так и в России (НИИСИ, МЦСТ, Модуль ...). Когда вышло первое печатное издание на русском языке, его тоже довольно быстро раскупили и пожаловались, что оно черно-белое. Поэтому следующий принт был цветной, улучшенного качества.

Теперь возникает вопрос: ну хорошо, вы приобрели или скачали бесплатно книжку, поняли основы цифровой схемотехники, языков описания аппаратуры Verilog и VHDL, приобрели вкус писания на ассемблере и разобрались с организацией простейшего конвейерного микропроцессора, а также как все это стыкуется с периферийными устройствами и встроенным программированием. Что делать дальше?



На снимке — Татьяна Волкова, сотрудница образовательных программ компании Samsung в Московском Физико-Техническом Институте

MIPSfpga – практический опыт

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

KDPV
Перевод коллективной статьи Practical experiences based on MIPSfpga, не так давно представленной Сарой Харрис на симпозиуме в Торонто. Приводится подробное описание MIPSfpga 2.0, релиз которой состоялся 3 июля 2017 года. Основное, на мой взгляд, отличие по сравнению с версией 1.3: пакет лабораторных работ расширен набором, ориентированным на внутреннюю работу процессора. Так что, если вы хотите узнать, как работает современное ядро, то MIPSfpga 2.0 — это ваш выбор для качественного самообразования. Крайне полезной данная статья будет для преподавателей ВУЗов — подробно и с примерами рассматривается вопрос интеграции MIPSfpga 2.0 в учебный процесс, включая ее соответствие Методическим рекомендациям IEEE/ACM для программ бакалавриата в области вычислительной техники.

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

Исследование асинхронной схемы в ModelSim

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


Прочитал статью FPGA/Асинхронный дешифратор от ajrec.

Я сперва прочитал и ничего не понял, а потом прочитал еще раз и опять ничего не понял. На самом деле я прочитал уже все статьи ajrec про асинхронные схемы и должен констатировать, что мало понимаю, что это вообще такое (хотя считаю, что опыт проектирования в FPGA у меня есть).

В комментариях к статьям автор в основном получает минусы, народ посмеивается и кажется так же не понимает, как и я.

Честно говоря, я всегда с любопытством смотрю на проекты, которые «не такие, как все». Я считаю, что только такие проекты имеют шанс либо глубоко провалиться, либо высоко взлететь. Если делаешь что-то так же, как и сотни других разработчиков, то идешь проторенной дорогой, здесь легко и комфортно. Сделать шаг в сторону и пойти своей тропой могут далеко не все.

Я попробовал разобраться в проекте асинхронного дешифратора и по крайней мере сделать временную симуляцию кода в ModelSim. Далее о том, что из этого получилось.
Читать дальше →

Асинхронный дешифратор

Время на прочтение3 мин
Количество просмотров6.4K
Как и обещал в предыдущей статье, речь в этой статье пойдет о представлении в асинхронном виде операций над адресами. В качестве примера опишу операцию дешифрации адреса. Сразу же хочу предупредить инсинуации, с которыми столкнулся после опубликования предыдущей статьи. Речь пойдет о целиком и полностью асинхронном устройстве. И прошу, не надо ссылаться на реферат узбекского университета. Якобы асинхронный дешифратор можно получить из синхронного с помощью нехитрых манипуляций. Заодно вопрос тем, кто утверждает, что асинхронный процессор произведен 20 лет назад. Как это удалось без асинхронного дешифратора?

Итак, об асинхронном дешифраторе. После размышлений я пришел к выводу, что единственный вменяемый путь синтеза асинхронного дешифратора это поэтапное удвоение разрядности адреса с помощью схемы надстройки над двумя дешифраторами вдвое меньшей разрядности. Доказать что альтернативного пути нет я не берусь. Но могу утверждать что альтернативный путь (если он есть) куда более затратен по количеству добавляемых новых сигналов.

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

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

Опыт использования FPGA платы DE10-Standard и DMA PL330

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


Получил в свое распоряжение плату Terasic DE10-Standard. На ней много всего интересного: встроенный JTAG программатор, светодиоды, переключатели, кнопки, разъемы Audio / VGA / USB / Ethernet. Думаю, что нет особой необходимости перечислять все ее возможности, ведь каждый желающий может прочитать спецификацию платы на сайте производителя.

Для меня важно, что на плате стоит FPGA чип Cyclone V SX – 5CSXFC6D6F31C6N. Эта микросхема содержит два процессора ARM Cortex-A9 и 110K логических элементов FPGA. Это уже настоящая SoC HPS: System-On-Chip, Hard Processor System. С такими ресурсами можно пробовать делать довольно сложные проекты. Далее расскажу о своем опыте использования платы.
Читать дальше →

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

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

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

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

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

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

Поднимаем Linux на MIPSfpga и ПЛИС Altera

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

КДПВ


Предоставленная Imagination Technologies документация на MIPSfpga очень хорошо и подробно описывает развертывание Linux. Но используемая при этом система на кристалле построена с помощью Xilinx-специфических периферийных модулей. Потому ее повторение на отладочной плате с ПЛИС Altera в исходном виде представляется невозможным. Решением является система на кристалле MIPSfpga-plus с ее платформонезависимой периферией. О том, как запустить на ней Linux, читайте в этой статье.

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

Текущая активность вокруг MIPSfpga и не только

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

КДПВ


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


  • релиз MIPSfpga 2.0;
  • процессор schoolMIPS и Летняя школа юных программистов в Новосибирске;
  • школа-семинар по цифровому дизайну и компьютерной архитектуре в Томске;
  • запуск ванильного ядра Linux на MIPSfpga-plus;
  • поддержка АЦП Altera MAX10 в MIPSfpga-plus;
  • логотип MIPSfpga-plus.

Если тематика MIPSfpga-plus вам не безразлична, то в конце есть небольшой опрос на тему чего мне писать (или не писать) следующую статью. Ваш выбор поможет мне сориентироваться и расставить приоритеты. Welcome!

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

Гибридный куб памяти (HMC): что это такое и как его подключить к FPGA

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

На фото: Платформа SKARAB для цифровой обработки данных с телескопа MeerKAT. За счет технологии HMC каждая из 64 антенн телескопа может передать на платформу поток данных со скоростью 40 Гбит/с

В ожидании нового стандарта памяти DDR5 SDRAM, который появится уже в следующем году, мы исследуем альтернативные технологии. В этой статье изучим память HMC (Hybrid Memory Cube), которая обеспечивает 15-кратный рост производительности при 70% экономии на энергопотреблении на бит по сравнению с DDR3 DRAM.

В то время как DDR4 и DDR5 представляют собой эволюцию стандарта, HMC — это революционная технология, которая может изменить рынок не только в сфере специализированных высокопроизводительных вычислений, но также в области потребительской электроники, такой как планшеты и графические карты, где важен форм-фактор, энергоэффективность и пропускная способность.
Читать дальше →

Запуск AMP приложений на Cyclone V SoC

Время на прочтение10 мин
Количество просмотров7.3K
image
Если вы читали мою предыдущую статью, вероятно вам интересна эта тема и вы хотите узнать больше. В этой статье рассмотрим очень частную, не простую, но от этого не менее необходимую задачу запуска двух разных Baremetal приложений на разных ядрах SoC Cyclone V. По сути такие системы называются AMP — asyncronus multi-processing. Чуть не забыл сказать, что на русском языке вы не найдете другого более правильного и подробного руководства к созданию таких систем, так что читаем!
Читать дальше →

Еще один пример синтеза асинхронных схем: VME bus controller

Время на прочтение4 мин
Количество просмотров4.6K
Полистал недавно книжку (не всю, только то, что позволили):

image

Нашел пример, как делать схемы с помощью Petrify. Исходное задание выглядит так:

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

Пример синтеза асинхронных SI схем в двухходовой элементной базе: C-элемент

Время на прочтение2 мин
Количество просмотров2.7K
В предыдущей публикации я представил метод синтеза асинхронных схем в минимальной элементной базе. Этот метод не требует вычисления логических функций, а представляет из себя коррекцию исходного поведения с помощью добавления дополнительных сигналов. Покажу на примере C-элемента, как это работает.

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