?

Log in

No account? Create an account
Сформулировал вариант набора деталек для вводных лаб по MCU и FPGA - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

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

Сформулировал вариант набора деталек для вводных лаб по MCU и FPGA [Jun. 11th, 2014|12:11 am]
Yuri Panchul
20140517_120329Тимур Палташев, старший менеджер в AMD у нас в Саннивейл и одновременно профессор ИТМО в Санкт-Петербурге, попросил меня помочь ему читать курс введения в System of Chip (SoC) в Northwest Polytechnic University (NPU). (Тимур - на фото справа)

NPU - это небольшой частный университет во Фримонт, Калифорния, который изначально возник в 1980-е годы для трансфера технологий и ноу-хау из Silicon Valley на Тайвань. Когда миссия с Тайванем была выполнена, в середине 1990-х университет переориентировался на студентов из Коммунистического Китая, а сейчас на студентов из Индии. Кроме этого, согласно Тимуру, через университет уже прошли 100 студентов из Казахстана.

Так что теперь каждую субботу с 9 утра до 12 я езжу в Фримонт и читаю лекции по ассемблеру MIPS, языку Verilog, протоколам шин OCP и AMBA AXI, основам микроархитектуры и т.д. Заодно развлекаю индийских студентов разными анекдотами из истории индустрии. Когда я отработаю данный курс во Фримонте, я попробую его на россиянах. (Кое в чем я пересекаюсь с 1i7 но со своим уклоном)

По этому поводу я сформулировал набор деталек для вводных лаб по MCU и FPGA на 20 студентов. Целью лаб является отработка базовых навыков писания на ассемблере, обработки прерываний, созданию простых конечных автоматов и конвейерных арифметических цепей на верилоге и т.д.

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

В качестве MCU взят односительно дешевый (от $2.52) но при этом 32-битный Microchip PIC32MX150F128D на основе процессорного ядра MIPS M4K. У него нет кэшей, он работает на низкой тактовой частоте, но в нем есть все что нужно для данных лаб, и ничего лишнего, и при этом плата с ним ложится на бредборду.

(Конечно, я мог бы использовать вышедшие сегодня платы с PIC32MZ, но они для наших целей избыточны, разве что делать лабы по кэшам)

Комплект, который мне пришел в голову, должен обеспечивать 20 студентов за $2000 долларов на всех:

http://tiny.cc/mcu-fpga-lab-1




Фотки компонент:































Какой факт про Фримонт для вас наиболее интересен?

На фабрике во Фримонте был выпущен первый в истории Apple Macintosh
1(6.2%)
Во Фримонте выпускается автомобиль Тесла
6(37.5%)
Во Фримонте самая большая концентрация Афганцев в США
3(18.8%)
По площади Москва превышает Фримонт в 10 раз, но по населению - в 50 раз!
1(6.2%)
Почему в посте нет ни слова про Украину, Макфола или Радулову?
5(31.2%)
LinkReply

Comments:
[User Picture]From: archaicos
2014-06-11 08:29 am (UTC)

Ещё один факт

Во Фримонте стоит памятник В. И. Ленину. :)

[правда, это в другом Фримонте]
(Reply) (Thread)
[User Picture]From: freedom_of_sea
2014-06-11 08:35 am (UTC)

Вернор Виндж писал про Фримонт!

и как раз про школу нового поколения с лабами.

это не спроста. Сингулярность грядет! Покайтесь!
(Reply) (Thread)
[User Picture]From: b0p0h0k
2014-06-11 08:42 am (UTC)
(Reply) (Thread)
From: raygo
2014-06-11 08:56 am (UTC)
"NPU - это небольшой частный университет во Фримонт, Калифорния, который изначально возник в 1980-е годы для трансфера технологий и ноу-хау из Silicon Valley на Тайвань."


Это как понимать? Ктото открывал заводы на Тайване и решил устроить ПТУ в США для обучения персонала?
(Reply) (Thread)
[User Picture]From: panchul
2014-06-11 02:05 pm (UTC)
Вот-вот, типа этого
(Reply) (Parent) (Thread)
[User Picture]From: timka21213
2014-06-11 10:19 am (UTC)
В закладки!!
(Reply) (Thread)
From: raygo
2014-06-11 03:24 pm (UTC)
"В качестве MCU взят односительно дешевый (от $2.52) но при этом 32-битный Microchip PIC32MX150F128D на основе процессорного ядра MIPS M4K. "

А вот сколько тысяч строчек кода Verylog составляют проект такого процессорa?(чтоб оценить трудоемкость написания)


"У него нет кэшей, он работает на низкой тактовой частоте, но в нем есть все что нужно для данных лаб, и ничего лишнего, и при этом плата с ним ложится на бредборду."
А кэшпамять это вообще логическое(промежуточная память куда данные помещаются согласно предварительному логическому анализу)или физическое устройство(просто быстрая память)? На verilog кэш как-то пишется или просто на стадии послойного проектировния чипа добавляется отдельная аналоговая вставка типа быстрая память?
(Reply) (Thread)
[User Picture]From: panchul
2014-06-12 03:43 pm (UTC)
*** А вот сколько тысяч строчек кода Verylog составляют проект такого процессорa?(чтоб оценить трудоемкость написания) ***

Сам по себе RTL (register-transfer-level) код на верилоге для процессорного ядра микроконтроллерного класса не очень велик - пара десятков тысяч строк. С наворотами - несколько десятков тысяч строк.

Для mid-range и high-end ядер - значительно больше.

Но:

1. Одним RTL-кодом проект мерять бессмысленно, так как кроме него в проекте есть огромная куча тестов - как на корректную имплементацию архитектуры, так и на микроархитектурные штучки.

2. Помимо процессорного ядра в микроконтроллере есть десятки периферийных устройств, для каждого из которых пишется свой верилог + аналоговые блоки.

*** А кэшпамять это вообще логическое(промежуточная память куда данные помещаются согласно предварительному логическому анализу)или физическое устройство(просто быстрая память)? На verilog кэш как-то пишется или просто на стадии послойного проектировния чипа добавляется отдельная аналоговая вставка типа быстрая память? ***

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

Внутри модуля кэша вставляются макро ("черные ящики") для физически задизайненной памяти.

Пример кода для простейшего кэша - см. http://www.cs.princeton.edu/courses/archive/fall12/cos375/5-9.pdf , страницы 1-2, 5-9.

(Reply) (Parent) (Thread)
From: raygo
2014-06-13 01:23 pm (UTC)
Премного благодарен за объяснение.Сенкс.
.
(Reply) (Parent) (Thread)
[User Picture]From: alexey_zharikov
2014-06-11 05:49 pm (UTC)
> студентов из Коммунистического Китая... 100 студентов из Казахстана

Вспомнилось, как герои "Особенности национальной рыбалки" спрашивают финского полицейского: "Ты что, корёл?"
(Reply) (Thread)
[User Picture]From: alexey_zharikov
2014-06-11 05:54 pm (UTC)
Ты, видать, давно с молодёжью не общался.

Так они же паять не умеют! Что они будут со всем этим делать? Молодое поколение только нажимать кнопки на клавиатуре может, а также набирать СМС одним большим пальцем.

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

А уж отличить резистор с одними полосочками от резистора с другими полосочками - это вообще для них высший пилотаж.

Edited at 2014-06-11 05:56 pm (UTC)
(Reply) (Thread)
[User Picture]From: panchul
2014-06-12 05:19 am (UTC)
Дык это breadboard. Ее не нужно паять.
(Reply) (Parent) (Thread)