?

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. 16th, 2016|11:34 pm]
Yuri Panchul
Коллекция ссылок - Как начать работать с MIPSfpga

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

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




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

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


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

http://habrahabr.ru/post/259505/
Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке


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

Инструкция по скачиванию 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.

Для понимания программирования на ассемблере где-нибудь желательно найти несколько устаревшую, но полезную книжку
http://www.amazon.com/Second-Edition-Kaufmann-Computer-Architecture/dp/0120884216
See MIPS Run, Second Edition by Dominic Sweetman, 2006
.

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

Публичные презентации, использованные во время семинаров по MIPSfpga в России


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

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

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

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

Инструкция по лабораторным работам по MIPSfpga для платы Terasic DE0-CV c Altera Cyclone V


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

Раздача слонов: FPGA платы для образовательных проектов с MIPSfpga


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

Путешествие по микроэлектронной России 2015 года

LinkReply

Comments:
[User Picture]From: amigofriend
2016-01-17 09:10 am (UTC)
Дейл Карнегчул. "Как перестать работать с MIPSfpga и начать жить."
(Reply) (Thread)
[User Picture]From: ammosov
2016-01-17 09:56 am (UTC)
Такая большая картинка нарочно, чтоб на десктопах ленту рвать, а на мобильных не выводилась вообще?
(Reply) (Thread)
[User Picture]From: flying_d
2016-01-17 02:57 pm (UTC)
Юрий, вас можно принять за настоящего спамера)) Давайте лучше начнем разрабатывать адекватное ПО на адекватных ЯП. Не на всяком говне типа джавы, а например на Лиспе. Это мое дилетантское мнение, но сейчас все упирается не в мощность железок, а в быдлокодеров, коих уже десятки тысяч. А в вашем хардвере кроме уменьшения масштаба нифига нового. А какой срок службы у проца в 15нм? Чота вы тут молчите, но процессы деградации никуде не деваются. Последние SSD уже теряют данные при длительных отключениях питания кстате.
(Reply) (Thread)
[User Picture]From: panchul
2016-01-17 03:01 pm (UTC)
А чем Лисп лучше Джавы? Тем что можно сгенерить список и тут же его выполнить (eval) как код?
(Reply) (Parent) (Thread)
[User Picture]From: flying_d
2016-01-17 03:25 pm (UTC)
Синтаксисом, концепциями.. я не программист если что)) Но бред про скобочки- именно бред.

Лучше расскажите про влияние квантовых эффектов на супер-нано-метрах.
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2016-01-17 07:41 pm (UTC)
В квантовых эффектах не разбираюсь
(Reply) (Parent) (Thread)
[User Picture]From: flying_d
2016-01-17 07:38 pm (UTC)
Слегка оживить ваш журнальчег? А то чо-то ваших обычных упоротых комментаторов не видно. У вас там крепкое пиво есть в продаже? А правда что вы кодили на Лиспе?
(Reply) (Thread)
[User Picture]From: panchul
2016-01-17 07:40 pm (UTC)
Я кодил на Лиспе летом между 9 и 10 классом в 1986 году - 30 лет назад
(Reply) (Parent) (Thread)
[User Picture]From: flying_d
2016-01-17 07:55 pm (UTC)
Как учебный язык просто прекрасен, не так ли? Но нет, какой-то бейсик был.. ну не идиоты ли?
(Reply) (Parent) (Thread)
[User Picture]From: Константин Морозов
2016-01-18 07:54 am (UTC)
Да, конечно - научили бы всех, а с кого потом деньги стричь?
(Reply) (Parent) (Thread)
From: realurix
2016-01-23 11:27 am (UTC)
> трудности с ... покупкой оборудования
Ты давай, колись, где можно купить MIPSfpga в России? По ссылкам только обсуждение - как всё это хорошо. Но сколько ни говори "мёд", а во рту слаще не становится...
(Reply) (Thread)