Pull to refresh

MIPSfpga: вне канона

Reading time 10 min
Views 15K
FPGA *

В течении последних трёх недель в МИЭТ, МГУ, МИФИ, МФТИ и других российских ВУЗах прошли семинары по процессору на ПЛИС MIPSfpga. В рамках семинаров прошли лабораторные работы на которых демонстрировалось как применять MIPSfpga на практике.
В публикации я расскажу о своих экспериментах с MIPSfpga, которые выходят за рамки лабораторных работ, рассмотрю возможности интеграции процессорного ядра MIPSfpga с IP-блоками opencores.org. Также поведаю о портировании MIPSfpga на некоторые платы на базе ПЛИС Altera (приведены значения Fmax и показатели использования ресурсов ПЛИС).
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 6

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

Reading time 3 min
Views 25K
System Analysis and Design *Assembler *Concurrent computing *FPGA *Programming microcontrollers *
MIPSfpga — это пакет, который содержит процессорное ядро в исходниках на Verilog, которое можно менять, добавлять новые инструкции, строить многопроцессорные системы, менять одновременно софтвер и хардвер, симулировать на симуляторе верилога, синтезировать для ПЛИС/FPGA и т.д. Его можно в целях эксперимента например запускать с частотой 1 такт в секунду и выводить наружу информацию о состоянии кэша, конвейера, и любых структур внутри процессора. При этом ядро MIPS microAptiv UP внутри MIPSfpga — это то же ядро которое например используется в платформе IoT Samsung Artik 1 и Microchip PIC32MZ, т.е. студенты получают возможность работать с тем же кодом, с которым работают инженеры в Samsung и Microchip.

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



Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 11

Добавляем инструкции в микропроцессор MIPS, которые работают в конвейере как его собственные

Reading time 8 min
Views 12K
System Analysis and Design *Assembler *FPGA *Programming microcontrollers *
Можно ли добавить в микропроцессор инструкции (команды)? Если вы используете микросхемы ПЛИС / 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
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 4

Как делать парсинг текста голым хардвером, без процессора и без софтвера

Reading time 13 min
Views 38K
Abnormal programming *System Analysis and Design *Regular expressions *FPGA *Programming microcontrollers *
Кто-то парсирует текстовый файл программой на Питоне, другой пишет скрипт с регулярными выражениями на Перле, Си-программист стыдливо возится с буферами и указателями, иногда применяя Yacc и Lex.

А можно ли парсировать текст голым железом? Вообще без программы?

— А как это?, — спросил меня знакомый, — С помощью Ардуино?

— Внутри Ардуино стоит вполне фон-неймановский процессор и работает программа, — ответил я, — Нет, еще более голое железо.

— А-а-а-а, этот, микрокод?, — догадался мой товарищ и взглянул на меня победно.

— Нет, термин «микрокод» использовался для специфической организации процессоров в 1970-е годы, потом его использование сошло на нет, — ответил я и добавил, — Правда есть еще микрооперации в интеловских процессорах, в которые перекодируется x86, но это тоже другое. Нет, я имею в виду парсинг текста устройством, состоящим из логических элементов И-ИЛИ-НЕ и Д-триггерами, как на картинке ниже.

— Невозможно! — воскликнул мой приятель, — в таком устройстве где-то сбоку должен сидеть процессор и хитро подмигивать!

— Почему это невозможно?, — парировал я, — Вот машину Тьюринга знаешь? Парсирует текст на ленте, а сбоку никакие интелы и ардуино не подмигивают.

— Нуу, машина Тьюринга, — протянул приятель, — это абстракция, типа Демона Максвелла.

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

mfp_srec_parser_fragment
Читать дальше →
Total votes 87: ↑83 and ↓4 +79
Comments 33

Русская микроэлектроника и украинский IoT на конференциях SVOD и IoT DevCon в Силикон Вэлли

Reading time 15 min
Views 3K
Conferences
Отчет о конференциях SVOD и IoT DevCon: предыстория SVOD — этнографические особенности SVOD-2016 — ЭЛВИС-НеоТек / чип ELISE — Александр Галицкий – преемственность от ЭЛАС – компания IP Cores – преемственность от Guzik Technical Enterprises (русский стартап 1980 годов) – американка развивающая Бахрейн – пример Саудовской Аравии – физический аспект VLSI – важность Интернета Вещей для Украины — MIPS Creator Ci40 для агроприменений – возможности для украинских компаний конкурировать в IoT – важность security для IoT – хардверная поддержка виртуализации – стартап Notakey из Риги – гнездо украинского коммьюнити в Маунтин-Вью – украинский консул, российский парлементарий и украинские/российские VC – венчурное и образовательное крылья Самсунга – технофеминистки – обсуждение резюме, зарплат и повышений для женщин в хайтеке.

Ежегодная стартапно-инвестиционная конференция Silicon Valley Open Doors (SVOD) в Музее Истории Компьютеров в Маунтин-Вью, Калифорния, возникла 10 лет назад как способ связать международное русское (ну ладно, будем использовать термин «русскоязычное») коммьюнити с венчурными капиталистами Силикон Вэлли и ассоциированной с ними инфраструктурой — корпоративными юристами, консультантами по маркетингу, менеджерами из компаний типа Google и HP, а также с преподавателями бизнеса из Стенфорда. Главным в то время организатором SVOD-ов была Американская бизнес-ассоциация русскоязычных профессионалов или American Business Association of Russian-Speaking Professionals — AmBAR. В русле своей деятельности, в мае 2010 года, амбаровцы, в кооперации с РОСНАНО, организовали визит делегации глав ведущих венчурных фондов США в Москву, причем для декоративности они поставили во главу делегации тогдашнего губернатора Калифорнии Арнольда Шварцнеггера. Одновременно кто-то распустил среди московских либеральных журналистов слух, что все это якобы организовал Майкл Макфол, хотя в реальной жизни венчурные капиталисты с госдеповскими профессорами практически не пересекаются.

Как же выглядел только что прошедший SVOD 2016 года?

Так как SVOD-2016 происходил на пешем расстоянии от Гугла, а первая парти была в офисе Теслы, то без всяких смешных машинок-роботов дело не обошлось:



Читать дальше →
Total votes 6: ↑4 and ↓2 +2
Comments 4

Для любителей ПЛИС-ов, ASIC-ов, архитектуры и микроархитектуры — еще про семинары и про конвейеры

Reading time 3 min
Views 7.4K
High performance *Assembler *Development for Linux *FPGA *Programming microcontrollers *
Коллеги: как вы возможно уже знаете, компания Imagination Technologies (известная как разработчик GPU внутри Apple iPhone + продолжатель культового проекта Стенфорд/MIPS) вместе с РОСНАНО+МИСиС+МГУ+МФТИ+МИЭТ в Москве, ИТМО в Питере и киевских активистов из КПИ и КГУ — проводит серию семинаров по разработке микросхем и программированию встроенных микропроцессоров. Самый ближайший из этих семинаров будет уже на следующей неделе (18-20 октября в Алма-Ате). В этом посте — текущее почасовое расписание семинаров и немножко эстетичных изображений конвейеров встроенных микропроцессорных ядер, о длине, максимальной частоте и энергопотреблении которых мы немножко поговорим во время семинаров.



Итак расписания:
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 10

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

Reading time 9 min
Views 13K
Self Promo
Господа! Я уже писал о предстоящих семинарах Чарльза Данчека, содержащих полный ликбез по всем этапам проектирования и производства микросхем, но с тех пор возникли дополнения:

* Во-первых, к семинарам присоединилась Cadence Design Systems, одна из двух ведущих компаний в области автоматизации проектирования микросхем. Cadence представит часовой доклад с программой в конце этого поста.

Регистрация на сайте (UPD: по-видимому, первоначальная регистрация переполнилась. Но роснановцы сказали, что если первый зал переполнится, они выделят зал побольше. Напишите емейл на почту).

* Во-вторых, к семинарам присоединились четыре ведущих российских компаний-проектировщиков микросхем: АО «НИИМА «Прогресс», АО «БАЙКАЛ ЭЛЕКТРОНИКС», ООО «ЛАБСИСТЕМС» и ОАО НПЦ «ЭЛВИС». Каждая из них сделает публичную презентацию с информацией, которую вы при других обстоятельствах как правило не сможете получить без NDA.

* В-третьих, в дополнение к официальной программе семинаров в Москве, Санкт-Петербурге и Киеве мы решили организовать неформальные встречи интересующихся в виде прогулки сначала по Москве в это воскресенье, 30 октября. Вы сможете показать Чарльзу Данчеку Москву (он в первый раз в России) и спросить про проектирование чипов.

Мы подумываем, чтобы в следующих год расширить такие мероприятия на регион Новосибирск-Томск, в связи с чем вот приветственное видео с девушкой из новосибирского академгородка:



Пояснение: РОСНАНО и МИСиС организуют семинар Nanometer ASIC в Москве, но в Питере такой семинар организует Университет ИТМО, а в Киеве — КПИ и КНУ, лаборатория «Лампа» КПИ и студенческое workspace «Белка» КПИ.

Детали про встречу и семинары — под катом:
Total votes 19: ↑17 and ↓2 +15
Comments 14

Подключение периферийных модулей к MIPSfpga, на примере ультразвуковых датчиков расстояния

Reading time 10 min
Views 8.9K
System Analysis and Design *FPGA *Programming microcontrollers *
Tutorial
Доброго времени суток. В этой статье расскажу как интегрировать модули, на примере двух ультразвуковых датчиков HC-SR04 и Pmod MAXSONAR, в систему на кристалле на основе MIPSfpga. Также расскажу как написать программу для управления подключенных модулей.

Основываясь на моем примере вы сможете подключить ваши собственные модули, управлять ими при помощи программы. Создавать систему со своим набором периферии, на основе MIPSfpga.


Читать дальше →
Total votes 37: ↑36 and ↓1 +35
Comments 13

MIPSfpga и SDRAM. Часть 1

Reading time 4 min
Views 7.2K
System Analysis and Design *FPGA *Programming microcontrollers *

На этой неделе я закончил работу по добавлению поддержки SDRAM в проект MIPSfpga-plus. Теперь при работе с MIPSFpga помимо блочной памяти, ограниченной ресурсами ПЛИС, доступно еще и внешнее ОЗУ.


Данная статья состоит из 2 частей:


Часть 1. Краткое описание модуля доступа к SDRAM. Пример использования.
Часть 2. Подробное описание работы с памятью, достаточное для того, чтобы в работе модуля смог разобраться человек, ранее не имевший дела с микросхемами ОЗУ. Список литературы.


Предполагается, что читатель как минимум:


  • знаком с предметной областью в объеме учебника Харрис-энд-Харрис [1];
  • имеет опыт программирования на C, ассемблере, использования gcc;
  • имеет минимальный опыт работы с MIPSfpga. Не имея такого опыта, будет логичным начать с более простых вещей, и лишь затем думать о том, как использовать ОЗУ в своей системе.

Если вы уже опытный разработчик, то Часть 1 стоит пробежать глазами по диагонали, Часть 2 — не содержит для вас ничего нового. При этом вы можете принести несомненную пользу обществу, если добавите поддержку SDRAM для еще одной отладочной платы. На текущий момент она реализована только для Terasic DE10-Lite — одной из 9 плат, на которые в рамках проекта MIPSfpga-plus было портировано ядро MIPSfpga.

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

MIPSfpga и SDRAM. Часть 2

Reading time 7 min
Views 7.7K
System Analysis and Design *FPGA *Programming microcontrollers *

Ссылка на первую часть


Рассматриваемая нами конфигурация состоит из следующих элементов:


image


Шина AHB-Lite


Является основным инструментом для общения ядра MIPSfpga с внешним миром. Из нее в модуль доступа к SDRAM поступают команды на чтение и запись информации, по ней же передаются считываемые и записываемые данные. Основная особенность: фаза адреса последующей команды совпадает по времени с фазой данных текущей команды. Лучше всего это видно на следующей диаграмме:
image
Краткое описание изображенных сигналов: HCLK — тактовый сигнал; HADDR — адрес, данные по которому мы хотим записать или прочитать на следующей фазе, задается мастером; HWRITE — при высоком уровне на следующей фазе должна быть произведена операция записи, выставляется мастером; HRDATA — прочитанные данные; HREADY — флаг завершения текущей операции; HWDATA — записываемые данные, выставляются мастером. Документация на шину, включая описание всех сигналов и их возможных комбинаций входит в состав пакета MIPSfpga.

Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 3

MIPSfpga и внутрисхемная отладка

Reading time 14 min
Views 8.2K
System Analysis and Design *System Programming *FPGA *Programming microcontrollers *

Поставляемые в составе пакета MIPSfpga документация, ПО и конфигурационные файлы предполагают применение Bus Bluster в качестве аппаратного отладчика. Статья содержит инструкции по использованию для этой цели практически любого USB-UART адаптера, построенного на микросхеме FTDI с поддержкой MPSSE (FT232H, FT2232H, FT4232H, FT2232D). Кратко описывается интеграция среды разработки Visual Studio Code и отладчика GNU GDB.


Все конфигурационные файлы, описываемые в статье, а также часть документации доступны на github.


Элементы системы


image

Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 2

Подключение периферийных модулей к MIPSfpga, на примере клавиатуры Pmod KYPD

Reading time 4 min
Views 4.1K
FPGA *Programming microcontrollers *
Sandbox
Здравствуйте! Мы одни из победителей хакатона MIPfpga, в этой статье расскажем, как подключать модули в систему на кристалле на основе MIPSfpga на примере клавиатуры Pmod KYPD. Также ознакомим с написанием программы для управления подключенных модулей.
image

→ Описание клавиатуры найдете здесь

Pmod KYPD — 16-кнопочная клавиатура с цифрами в шестнадцатеричном формате (0-F). Опрос происходит способом поочередной подачи логического 0 на каждый столбец и считывания состояния строк. Если в момент опроса столбца одна из кнопок в нем нажата, соответствующая строка выдаст логическую 1.
Total votes 18: ↑18 and ↓0 +18
Comments 2

MIPSfpga и прерывания

Reading time 21 min
Views 5.6K
System Analysis and Design *System Programming *FPGA *Programming microcontrollers *

В статье приводится несколько примеров настройки и использования прерываний MIPS32 Release 2, включая подробное описание задаваемой при этом конфигурации, описывается работа с контроллером внешних прерываний.


Весь описываемый код опубликован на github в составе проекта mipsfpga-plus [L3].


image

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

MIPSfpga и UART

Reading time 7 min
Views 5.1K
System Analysis and Design *System Programming *FPGA *Programming microcontrollers *

Прошло чуть больше месяца с тех пор, как я портировал open source модуль UART16550 на шину AHB-Lite. Писать об этом на тот момент было несколько не логично, так как еще не была опубликована статья про прерывания MIPSfpga.


Если вы опытный разработчик, то для вас только одна полезная новость: UART16550 добавлен в состав системы MIPSfpga-plus, дальше можете не читать. А тем, кого интересует разобранный пример использования этого модуля — добро пожаловать под кат.


image

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

Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 1

Reading time 14 min
Views 5.9K
System Analysis and Design *FPGA *Programming microcontrollers *
Sandbox
MIPSfpga представляет собой предназначенный для образовательных целей микропроцессор MIPS32 microAptiv фирмы Imagination, который имеет кэш-память и блок управления памятью. Код процессора на языке Verilog доступен пользователю и может использоваться для моделирования и реализации процессора на FPGA плате.

В даной статье будет описано на примере Digilent cmodA7 как портировать процессор MIPSfpga-plus на другие платы.



На сегодняшний день MIPSFPGA портирован на популярные платы таких фирм как ALTERA и Xilinx, среди них Basys 3, Nexys4 ddr, и другие (полный список находится на github). Такие платы наиболее популярны среди разработчиков на FPGA. Цена на такие платы довольно не маленькая, да и загружаются программы в ядро MIPSfpga с использованием интерфейса EJTAG и адаптера Bus Blaster ценой около 50$. Адаптер Bus Blaster получает команды по высокоскоростному кабелю USB 2.0 и преобразует их в последовательный протокол EJTAG, это позволяет загружать программы в ядро MIPSfpga и управлять отладкой программ, которые на нем выполняются. Проблема с относительно дорогим Bus Blaster была решена введением в систему MIPSfpga ряда улучшений. Улучшеный вариант системи MIPSfpga, названый MIPSfpga-plus включает в себя такие новые функции:

— Возможность загрузки программного обеспечения с использованием USB-to-UART коннектора ценой в $ 5 FTDI вместо $ 50 Bus Blaster, который иногда не так уж и легко достать.

— Возможность изменять тактовую частоту на лету с 50 или 25 МГц до 1 Гц (один цикл в секунду) для наблюдения за работой процессора в режиме реального времени, включая промахи в кэш-памяти и перенаправления конвеера.

— Пример интеграции датчика освещенности с протоколом SPI.

— Небольшая последовательность инициализации программного обеспечения, которая вписывается в 1 КБ вместо 32 КБ памяти, что позволяет переносить MIPSfpga на более широкий выбор плат FPGA без использования внешней памяти. Реализация UART описана в статье: MIPSfpga и UART.
Total votes 22: ↑21 and ↓1 +20
Comments 1

Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 2

Reading time 8 min
Views 2.5K
System Analysis and Design *FPGA *Programming microcontrollers *
Tutorial
MIPSfpga микропроцессор MIPS32 microAptiv описаный на языке Verilog для образовательных целей фирмы Imagination, который имеет кэш-память и блок управления памятью. Код процессора доступен пользователю (инструкция по скачиванию) и может использоваться для моделирования и реализации процессора на FPGA плате.

Данная статья является продолжением статьи о том как портировать MIPSfpga-plus на другие платы, и в ней будет описано как интегрировать периферию в систему MIPSfpga-plus на примере 16 кнопочной клавиатуры Digillent Pmod KYPD:



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

Интеграция встроенного в плату АЦП, а так же подключения дисплея от Nokia 5100 описана в следующей части моего tutorial:

Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 3

Так же о том как начать работать с MIPSfpga написано в статье.
Total votes 10: ↑10 and ↓0 +10
Comments 0

Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 3

Reading time 12 min
Views 2.5K
System Analysis and Design *Concurrent computing *FPGA *Programming microcontrollers *
Tutorial
В первой части я описал на примере cmoda7 как портировать MIPSfpga (Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 1) на FPGA платы отличные от уже портированых среди которых такие популярные как: basys3, nexys4, nexys4_ddr фирмы Xilinx, а так же de0, de0_cv, de0_nano, de1, DE1, de10_lite, de2_115, DE2-115 фирмы Altera(Intel), во второй части как интегрировать клавиатуру Pmod KYPD (Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 2).

В этой части добавим к MIPSfpga-plus встроенный АЦП, и популярный LCD от Nokia 5100.
С предыдущих частей можно сделать вывод, что интеграция периферии в MIPSFPGA состоит из пять основных этапов:
  • Добавление модуля интерфейса общения с периферией (i2c, spi, и т.д.).
  • Соединение входных/выходных портов модуля с шиной AHB-Lite.
  • Присваивание адресов сигналов подключаемого устройства.
  • Добавление констрейнов на физические контакты платы.
  • Написание программы для MIPS процессора.


Подключение встроенного в cmoda7 АЦП



Как я уже говорил плата cmodA7 имеет встроенный АЦП, pin 15 и 16 используются в качестве аналоговых входов модуля FPGA. Диапазон работы встроенного АЦП от 0-1V, поэтому используется внешняя схема для увеличения входного напряжения до 3.3V.


Эта схема позволяет модулю XACD точно измерить любое напряжение от 0 В и 3,3 В (по отношению к GND). Чтобы работать с АЦП в Vivado существует блок IP (интеллектуальной собственности) Xilinx, с помощью которого можно будет просто его интегрировать в нашу систему MIPSfpga.
Total votes 9: ↑9 and ↓0 +9
Comments 1

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

Reading time 9 min
Views 4.1K
System Analysis and Design *System Programming *FPGA *Programming microcontrollers *

КДПВ


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


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

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

Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 6

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

Reading time 7 min
Views 14K
System Analysis and Design *System Programming *FPGA *Programming microcontrollers *
Tutorial

КДПВ


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

Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 12

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

Reading time 29 min
Views 7.7K
System Analysis and Design *System Programming *FPGA *Programming microcontrollers *

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

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