Рубрика «fpga» - 30

Можно ли добавить в микропроцессор инструкции (команды)? Если вы используете микросхемы ПЛИС / FPGA с реконфигурируемой логикой и микропроцессорное ядро, которые синтезирутся из описания на языках Verilog и VHDL, то можете. Причем это будет «честное», настоящее расширение системы команд, а не трюк типа программной эмуляции инструкции в обработчике исключения от зарезервированной команды, и не «микрокод», популярный в исторических процессорах 1970-х годов. Команды, добавленные в современный синтезируемый процессор с помощью модификации его исходников на Verilog или VHDL, могут работать в конвейере и обрабатываться процессором как его собственные, без временных задержек.

Главная проблема с модификацией исходников дизайна процессора на Verilog или VHDL — трудоемкость. Нужно понять, как работает логика различных блоков и избежать нежелательных побочных эффектов. К счастью, существует способ расширения процессора, который превращает семестровый студенческий проект в нечто, что студент может спроектировать за одну лабораторную работу. Этот способ — интерфейс CorExtend / UDI (User Defined Instructions) в микропроцессорном ядре MIPS microAptiv UP, которое используется в пакете для образования MIPSfpga.

В рамках университетской программы MIPSfpga компании Imagination Technologies можно скачать настоящий индустриальный код на Verilog процессора MIPS microAptiv UP.
https://community.imgtec.com/university/resources/

Одним из распространенных применений UDI является манипуляции битами в алгоритмах шифрования. Другой пример — создание специальных инструкций для ускорения алгоритмов ЦОС Accelerating DSP Filter Loops with MIPS® CorExtend® Instructions.

Однако в наборе документации к MIPSfpga интерфейс между ядром и CorExtend описан недостаточно подробно. Подробная документация предоставляется только лицензиатам ядер. В этой статье представлено мое описание данного интерфейса на основе изучения исходного кода. Его можно также скачать в формате pdf MIPS microAptiv UP Processor CorExtend UDI interface protocol guide.

CorExtend занимает следующее место в RTL иерархии ядра m14k microAptiv.

CorExtend RTL Hierarchy
Читать полностью »

MIPSfpga — это пакет, который содержит процессорное ядро в исходниках на Verilog, которое можно менять, добавлять новые инструкции, строить многопроцессорные системы, менять одновременно софтвер и хардвер, симулировать на симуляторе верилога, синтезировать для ПЛИС/FPGA и т.д. Его можно в целях эксперимента например запускать с частотой 1 такт в секунду и выводить наружу информацию о состоянии кэша, конвейера, и любых структур внутри процессора. При этом ядро MIPS microAptiv UP внутри MIPSfpga — это то же ядро которое например используется в платформе IoT Samsung Artik 1 и Microchip PIC32MZ, т.е. студенты получают возможность работать с тем же кодом, с которым работают инженеры в Samsung и Microchip.

MIPSfpga не предназначен для введения в предмет с абсолютного нуля. Для его плодотворного использования нужно чтобы студент или исследователь уже знал основы цифровой схемотехники, умел бы программировать на Си и на ассемблере, а также представлял бы концепции микроархитектуры — конвейера, конфликтов конвейера и т.д. Желательно, чтобы до работы с MIPSfpga студент уже бы построил собственный простой процессор с нуля и мог бы сравнивать свой простой процессор с процессором, используемым в промышленности и совместимым с развитой экосистемой разработки.

Как начать работать с MIPSfpga - 1

Читать полностью »

Алгоритмическая торговля: Поиск эффективного метода обработки данных с помощью FPGA - 1

Группа исследователей из Университета Торонто опубликовало работу, посвященную использованию FPGA для повышения эффективности обработки событий при алгоритмической торговле на бирже. Мы представляем вашему вниманию основные моменты этого документа.
Читать полностью »

Intel покупает компанию Altera за 16,7 млрд долларов, делая ставку на программируемые логические интегральные схемы - 1

На этой неделе корпорация Intel совершила самое большое свое приобретение – за 16,7 млрд долларов была куплена компания Altera по производству чипов — в прошлом партнер Intel. Этому событию предшествовали длительные переговоры, на которые ушло семь месяцев.
Читать полностью »

В прошлом месяце Microsoft выпустила книгу “Future Visions” – антологию небольших историй, написанных некоторыми современными научными фантастами, основываясь на общении с исследователями Microsoft и посещения их лабораторий. Электронная версия книги доступна бесплатно на Amazon и других сайтах.

От ИИ и наук о данных до криптографии: исследователи Microsoft дают 16 предсказаний на 2016 год - 1

Сегодня мы рады предложить вам антологию другого рода. Это коллекция предсказаний от 16 лидеров и мыслителей внутри нашей технологической и исследовательской организации.

Про прошествии года с тех пор, как мы вошли в эпоху, названную Питером Ли (Peter Lee), корпоративным вице-президентом Microsoft Research NExT, новым Золотым веком технологических преимуществ, мы решили, что было бы полезным получить понимание не только того, что нас ждет в следующем году, но также и на горизонте 10 лет.

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

2016 год – это своеобразная отчетная точка для исследовательского подразделения Microsoft. MSR будет праздновать 25-летний юбилей с момента основания Нейтаном Мирвольдом (Nathan Myhrvold) в 1991 году, который в своем 21-страничном документе, отправленном Биллу Гейтсу, доказывал, что Microsoft «необходимо инвестировать в будущее, больше занимаясь исследованиями и созданием технологий».

Эти инвестиции принесли значительные результаты, причем как для Microsoft, так и для индустрии и общества. Пожалуй, именно сейчас, когда Рафаэль Райф (Rafael Reif), президент MIT, говорит, что «мы оставляем слишком много инновационного кетчупа в бутылке», инвестиции компании в исследования важны как никогда раньше.
Читать полностью »

Всем привет!

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

Генераторы хаоса на ПЛИС - 1
Читать полностью »

Разработка цифровой аппаратуры на C++-SystemC глазами SystemVerilog программиста - 1

SystemC это библиотека для C++ позволяющая моделировать всевозможные аппаратные системы на различном уровне абстракции. Поддерживается как традиционное дискретно-событийное моделирование, привычное программистам на Verilog и VHDL, так и аналоговое моделирование в духе SPICE/Verilog AMS. В комплект также входит библиотека и методология для виртуального прототипирования, библиотеки для написания тестовых окружений и верификации с использованием рандомизированных тестов.

В этой я расскажу о синтезируемом подмножестве SystemC, сравнивая его с синтезируемым SystemVerilog. Сам я пользуюсь SystemC уже где-то 3 года, а до этого несколько лет писал на Verilog/SystemVerilog. Попытаюсь охватить предмет с разных сторон: начиная с философских рассуждений о причинах возникновения SystemC, краткого обзора экосистемы и инструментария и заканчивая практическими примерами синтаксиса и семантики.

Подразумевается, что читатели знакомы с Verilog и C++.Читать полностью »

Три недели на просторах бескрайней, с посещениями МГУ, МФТИ, МИФИ, зеленоградского МИЭТ, питерского ИТМО, самарского СГАУ, сколковского Сколкова и зеленогорского Microchip Masters Russia. В историческом для российской микроэлектроники 2015 году, когда появились спроектированные в России чипы на 28 nm, с гигагерцовыми частотами и суперскалярными процессорными ядрами на борту, когда зеленоградские команды начали интегрировать на одном чипе разработанные в России блоки видеообработки с блоками, разработанными в Калифорнии и Великобритании в совместных международных проектах, с теми же компаниями, с которыми сотрудничает Apple (Synopsys, Imagination Technologies, Cadence, ARM и другими).

Путешествие началось c парти на софтверной конференции SECR — Central & Eastern European Software Engineering Conference in Russia, на которое меня пригласил мой старый приятель Максим Цепков. Я обсудил c товарищами вопросы поддержки российских микропроцессорных проектов типа Байкала-Т со стороны российского софтверного сообщества. Конференция проходила в Digital October, популярном московском месте для организаций мероприятий такого рода:

20151022_130714_moscow
Читать полностью »

Разрабатываю систему (аппаратно-программный комплекс) имитации мышления (сокращённо СИМ). Как задачу минимум решил сконцентрироваться на собеседнике для одиноких людей, преимущественно престарелых и инвалидов. В перспективе планирую использовать наработки проекта для создания контролируемого искусственного разума (КИР).

Что у меня есть для реализации идеи?

1. Создана с нуля логическая база, равная по возможностям «нечёткой логики», но почти такая простая, как бинарная. Практически это тритичная логика (больше, меньше или равно) с четвёртым значением, которое можно, в зависимости от контекста интерпретировать как «неизвестно» или «безразлично». Для расширения значений, при необходимости, используются целочисленные коэффициенты.

2. Продумана архитектура СИМ, основанная на обычном ПК и плате ускорителе логики. На первоначальном этапе ПК будет использоваться для организации ассоциативной памяти, при помощи быстрой ключ-значения СУБД и обеспечения ввода вывода. Ускоритель логики будет изготавливаться на основе микросхем программируемой логики (FPGA), в которых будут размещаться массивы из двухбитных микроядер и сумматоров для коэффициентов.

3. Разработана система говорящих имён для образов (объектов и действий), основанная на множестве признаков, присущих тому или иному образу. Фактически это новый язык программирования – язык образов (ЯО). Всё в мире, это объекты и действия, имеющие свои уникальные наборы признаков и входящие в состав коллекций (моделей окружения).
Читать полностью »

Разработка микросхем дело сложное, дорогое и долгое. И цена любой ошибки крайне велика. После изготовления кристалла патчами и обновлениями уже ничего не исправить. Поэтому к проверке проектируемых схем на этапе разработки подходят особенно скрупулёзно. Для каждого функционального блока пишутся блочные тесты во всех рабочих и не рабочих режимах. После интеграции блока в общую схему проводятся системные тесты, как этот блок работает составе системы. Все тесты постоянно крутятся в регрессионном тестировании. Даже есть неформальный признак более менее приемлемого уровня тестирования – когда объем кода тестов в 10 раз больше объема кода тестируемого блока. Но все эти тесты не дают ощущения, что схема жизнеспособна, так как любое моделирование это поведение схемы на протяжении сотен миллисекунд максимум. А в жизни схема должна отработать сотни тысяч часов. Однажды я искал сбой, когда на 1 Гбайт переданной информации терялись 1 или 2 байта и никакие функциональные тесты эту проблему не обнаруживали. И проявлялась эта ошибка только на FPGA прототипе будущей микросхемы. О том какие прототипы делали мы и что вообще твориться в мире расскажет эта статья.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js