Yuri Panchul (panchul) wrote,
Yuri Panchul
panchul

Categories:

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





Господа! И особенно дамы! В честь Нового Года я в кооперации с Виталием Кравченко из http://univeda.ru планируем небольшую раздачу слонов, то бишь бесплатных плат Terasic DE0-CV с FPGA Altera Cyclone V. Так что вы сможете повторить подвиг Антона Павлова. Так как данная конкретная раздача делается _не_ на деньги Imagination Technologies, не на деньги Altera и не на деньги НПЦ "Элвис", а на деньги частных благотворителей, включая меня лично, то слоны будут раздаваться с довольно конкретными условиями, описанными ниже.

Цели мероприятия:

1. Повысить уровень вовлеченности российских вузов в мировые исследования в области микроархитектуры процессоров, проектирования СнК и гетерогенных многоядерных систем

2. Повысить количество русских текстов на MIPS Insider дабы посетители из международной электронной промышленности и academia начинали понимать, что русские идут

3. Изготовить, от лица коммьюнити, кучу учебных материалов вокруг MIPSfpga, которыми могли бы пользоваться как преподаватели российских вузов, так и преподаватели университетов в других странах - США, Японии, Китае и т.д.


Условия:

1. Желательно чтобы получатель платы был преподавателем, аспирантом или студентом российского вуза.

2. Желательно, чтобы этим вузом не был МГУ, МФТИ, МИФИ, МИЭТ и ИТМО, которые могут получить эти платы из других источников.

3. Очень желательно, чтобы перед получением платы креативный товарищ прислал бы мне не только описание проекта, но и код на Verilog или VHDL, C и/или ассемблере, с которым он симулировал прототип будущей синтезированной системы в среде ModelSim или Icarus. Временные диаграммы тоже приветствуются.

4. Код проекта по завершению выкладывается на http://github.com/MIPSfpga - см. в качестве примера http://github.com/MIPSfpga/mipsfpga-plus

5. Там же описывается в секции Wiki:

5.1. Что находится в каждом файле
5.2. Иерархия модулей хардверной части
5.3. Как симулировать - инструкция со скриншотами
5.4. Временные диаграммы симуляции
5.5. Как синтезировать - инструкция со скриншотами
5.6. Результаты синтеза - размер и максимальная частота
5.7. Описание софтверной части
5.8. Фотографии работающей платы FPGA

6. Это же выкладывается на http://geektimes.ru в форме статьи
7. Это же выкладывается на http://silicon-russia.com
8. Это же выкладывается на http://community.imgtec.com/forums/cat/mips-insider/mipsfpga
9. Язык (6), (7), (8) может быть русский или английский

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

11. Если мы (я и UnivEDA) будем делать какие-либо мероприятия в России типа конкурсов или трейнингов, мы у вас плату тоже на некоторое время заберем назад

Примеры проектов с платами:

1. Интерфейс между MIPSfpga и сенсорами с интефейсами SPI, I2C, UART и другими. Сенсоры влажности, температуры, звука, компасы, дальномерка и т.д.

2. Интерфейс между MIPSfpga и внешней по отношению к FPGA памяти - SDRAM, DDR и т.д. (в текущих примерах память системы строится из block memory внутри FPGA)

3. Интерфейс между MIPSfpga и более крупными устройствами - VGA дисплей, мышь, клавиатура, джойстик.

4. Визуализация работы кэша с помощью запуска процессора с частотой 1 такт в секунду и вывода сигналов, связанных с транзакцией (запрос, промах и т.д.).

5. Визуализация работы конвейера и арифметических устройств с помощью запуска процессора с частотой 1 такт в секунду и вывода сигналов контроля конвейера и т.д.

6. Добавление команд в процессор с помощью интерфейса CorExtend / User Defined Instructions (UDI). Пример - специальные команды для шифрования.

7. Лабораторные работы с демонстрацией работы прерываний в разных режимах и обработчика прерываний.

8. Мосты между шиной AHB-Lite и другими шинами - AXI, APB, OCP, Wishbone, PLB и т.д.

9. Многопрооцессорные системы без когерентности кэшей первого уровня и (для самых продвинутых) с когерентными кэшами и реализацией протоколов типа MESI.

10. Портирование на MIPSfpga разного рода программ и операционных систем - от простых RTOS до различных вариантов Linux (MIPSfpga поддерживает TLB MMU).

Прошу присылать предложения на yuri.panchul@imgtec.com с копией yuri@panchul.com

mipsfpga_setup_on_de0_cv_for_seminars_in_russia_20151018_114528

dve_print_1


UPD:

http://www.silicon-russia.com/2015/12/11/mipsfpga-download-instructions/

Инструкция по скачиванию MIPSfpga:

1. Зарегистрируйтесь в коммьюнити http://community.imgtec.com/register

2. Подтвердите емейл

3. Сделайте login в коммьюнити

4. Пойдите в Imagination University Program - http://community.imgtec.com/university/university-registration

5. Сходите в меню University | Join IUP

6. Заполните

7. Пойдите в http://community.imgtec.com/university/resources/ и запросите пакеты English|MIPSfpga Getting Started, English|MIPSfpga Fundamentals

8. Для загрузки документации также возмите Russian|MIPSfpga Getting Started и Russian|MIPSfpga Fundamentals, но обратите внимание, что код на Verilog есть только в английских пакетах, в русских – только документация на русском языке

9. Получите подтверждение

10. Скачайте пакеты

Потом сходите на http://github.com/MIPSfpga/mipsfpga-plus , и в дополнение к инструкции выше скачайте обвязку и скрипты для симуляции и оттуда.

Также см.

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

http://www.silicon-russia.com/2015/11/14/mipsfpga_related_presentations/

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

http://www.silicon-russia.com/2015/10/24/mipsfpga-lab-with-terasic-de0-cv/

Также вы можете вступить в Google-группу silicon-russia чтобы получать разного рода объявления:

http://groups.google.com/forum/#!forum/silicon-russia

Форум по MIPSfpga на сайте Imagination Technologies:

http://community.imgtec.com/forums/cat/mips-insider/mipsfpga/


a

Готов, и вот что я хочу сделать (пояснить в комментариях)
1(12.5%)
Готов, но мне нужно подумать. Я склоняюсь к проектам интеграции процессора с внешними устройствами.
2(25.0%)
Готов, но мне нужно подумать. Я склоняюсь к проектам исследующим внутренности процессора.
0(0.0%)
Готов, но мне нужно подумать. Я склоняюсь к проектам портирования на эту плату RTOS-ов или моего варианта Linux-а
1(12.5%)
Я уже развлекаюсь с другими ядрами — SPARC Leon например
1(12.5%)
Меня достаточно развлекают простые ядра спроектированные с нуля
0(0.0%)
Не готов — не владею языками описания аппаратуру, ни Verilog, ни VHDL
2(25.0%)
Не готов — не владею понятием об ассемблере и компьютерной архитектуре
1(12.5%)
Не готов — я не понимаю, чем эта плата отличается от Ардуино
0(0.0%)
Из-за бугра плюете?
0(0.0%)
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 55 comments