?

Log in

No account? Create an account
Написал сводный пост со всеми ссылками "Как начать работать с MIPSfpga" - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Написал сводный пост со всеми ссылками "Как начать работать с MIPSfpga" [Jan. 3rd, 2016|11:17 pm]
Yuri Panchul
Написал сводный пост со всеми ссылками "Как начать работать с MIPSfpga":


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



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

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

Список того, что студенту желательно знать заранее, до начала работы с MIPSfpga, а также, наоборот, темы, изучению которых может помочь MIPSfpga, находится в посте:

http://www.silicon-russia.com/2016/01/04/mipsfpga-related-educational-topics/
По просьбе преподавателя одного из российских вузов выписал список тем, связанных с MIPSfpga


Если студент и исследователь недостаточно владеет знаниями из списка, из можно освежить из книжки Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», русский перевод которой можно бесплатно скачать по инструкции из поста:

http://www.silicon-russia.com/2016/01/04/harris-harris-in-russian/
Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке


Пакет MIPSfpga как таковой можно скачать по иструкции из поста:

http://www.silicon-russia.com/2015/12/11/mipsfpga-download-instructions/
Инструкция по скачиванию MIPSfpga


Сначала желательно прочитать базовую презентацию в MIPSfpga_Fundamentals/Slides/MIPSfpga_LectureSlides.pdf

Потом можно просмотреть "MIPSfpga/MIPSfpga Getting Started Guide.pdf" - на нем не нужно зацикливаться; это популярное описание, которое расжевывает слайды, но не заменяет ни в коей мере коммерческую дукументацию на ядро MIPS microAptiv UP, публичная часть которой находится в директории MIPSfpga/Documents, в том числе документация по внешним сигналам (MIPS32® microAptiv™ UP Processor Core Family Integrator’s Guide) и программированию (MIPS32® microAptiv™ UP Processor Core Family Software User’s Manual).

Документацию по архитектуре MIPS стоит скачать (с регистрацией) из:

http://imgtec.com/mips/architectures/mips32/
http://imgtec.com/mips/architectures/mcu-ase/

и других мест на сайте Imagination Technologies.

Для понимания программирования на ассемблере где-нибудь желательно найти несколько устаревшую, но полезную книжку See MIPS Run, Second Edition by Dominic Sweetman, 2006.

Помимо основной документации по MIPSfpga и MIPS может быть полезным скачать материалы семинаров в России:

http://www.silicon-russia.com/2015/11/14/mipsfpga_related_presentations/
Публичные презентации, использованные во время семинаров по MIPSfpga в России


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

Его описание и код можно найти по следующим ссылкам:

http://www.silicon-russia.com/2016/01/01/mipsfpga-plus-xilinx/
MIPSfpga+ allows loading programs via UART and has a switchable clock


http://github.com/MIPSfpga/mipsfpga-plus
https://github.com/MIPSfpga/mipsfpga-plus/blob/master/README.md
http://github.com/MIPSfpga/mipsfpga-plus/wiki

Одна из инструкций по работе с платой и синтезатором:

http://www.silicon-russia.com/2015/10/24/mipsfpga-lab-with-terasic-de0-cv/
Инструкция по лабораторным работам по MIPSfpga для платы Terasic DE0-CV c Altera Cyclone V


Если вы готовы сделать проект на основе MIPSfpga, но у вас есть трудности с нахождением или покупкой оборудования, вы можете попробовать бесплатно одолжить FPGA плату:

http://www.silicon-russia.com/2015/12/11/board-giveaway-for-mipsfpga/
Раздача слонов: FPGA платы для образовательных проектов с MIPSfpga


В завершение, в качестве лирического отступления - репортаж о семинарах по MIPSfpga в России:

http://www.silicon-russia.com/2015/12/19/mipsfpga-russia-trip-report-in-russian/
Путешествие по микроэлектронной России 2015 года

LinkReply

Comments:
[User Picture]From: ben_tal
2016-01-04 07:29 am (UTC)
Спасибо, с удовольствием посмотрю.
(Reply) (Thread)
[User Picture]From: allesanbr
2016-01-04 08:09 am (UTC)
интел купила альтеру, новый бренд будет называться Programmaybe
)))))))))))))))))
(Reply) (Thread)
From: realurix
2016-01-04 11:36 am (UTC)
> будет называться Programmaybe
Анекдот в тему:
- Дети, запишите предложение: "в углу скребёт мышь".
- Марь Ванна, а кто такой Скр?

А кто такой "ybe"?
(Reply) (Parent) (Thread)
From: realurix
2016-01-04 11:13 am (UTC)
Ты подскажи где купить...

Анекдот в тему:
Сидит чукча на берегу. Вдруг всплывает американская подводная лодка и между капитаном и чукчей происходит следующий диалог:
- Где находится Берингов пролив?
- Вон там (машет рукой).
- Надо не махать рукой, а сказать норд-норд-ост.
- Норд-норд-ост.
- Когда отвечаешь капитану всегда нужно добавлять "сэр". Повтори правильно.
- Норд-норд-ост, сэр.
- Окей.
Уплыла американская лодка. Чукча опять сел на берегу. Вдруг всплывает русская подлодка и происходит следующий диалог:
- Куда поплыл американец?
- Норд-норд-ост, сэр.
- Это кто тут сэр, чукча ты неграмотная? Господ тебе захотелось?
- Норд-норд-ост.
- Ты не выпендривайся, ты рукой покажи...

Edited at 2016-01-04 11:37 am (UTC)
(Reply) (Thread)
From: tristes_tigres
2016-01-04 02:03 pm (UTC)
А зачем продвигать в образовательных учреждениях проприетарный mipsfpga если есть опенсорсный Risc-v?
(Reply) (Thread)
[User Picture]From: panchul
2016-01-04 02:56 pm (UTC)
По трем причинам:

1. RISC/V еще практически не использовали в промышленности, а у ядра MIPS microAptiv UP, которое входит в MIPSfpga - десятки компаний-лицензиатов (которые сделали с этим ядром микросхемы).

Многим профессорам хочется, чтобы помимо академических ядер студенты поработали бы и с реально лицензируемыми индустрией сейчас.

2. У RISC/V еще не развилась экосистема разработки. Под архитектуру MIPS поддерживается дюжина RTOS-ом, Linux и Android, много компиляторов итд.

3. За последние 25 лет именно MIPS использовался в университетах как пример для обучения микроархитектуре (тут следует не путать архитектуру (систему команд) и микроархитектуру (устройство конвейера)). Самые распостоаненные учебники (например Hennessy, Patterson) обучают микроархитектуре на примере MIPS. За RISC/V пока еще нет такой традиции и соответственно учебников.
(Reply) (Parent) (Thread)
[User Picture]From: red_army_1917
2016-01-05 01:47 pm (UTC)

Новейшие российские процессоры готовы "порвать" конку





Baikal-T1



Интересно, что у МЦСТ есть Эльбрус-2СМ, где "М" означает произведен в России на Микроне по технологии 90 нм.


Получается, что даже если с Байкалом "что-то пойдет не так" (c), у РФ есть план "Б", который не зависим от внешних факторов.

И поэтому возникает вопрос:

А Baikal-T1 и Эльбрус-2С (Эльбрус-1С+) являются конкурентами?

Edited at 2016-01-05 01:47 pm (UTC)
(Reply) (Thread)