Что если я скажу, что вы — да, именно вы — можете всего за одну неделю спроектировать собственный RISC‑V процессор, собрать на его основе микроконтроллер, и запустить на нём C‑программу? При этом не нужно быть аспирантом кафедры ВТ или выпускником MIT — достаточно инженерной базы, интереса и участия в интенсивном курсе повышения квалификации под руководством опытных преподавателей из МИЭТ.

В этой статье — личные заметки выпускника интенсивного курса после прохождения такого курса, от первой мысли «а почему бы не попробовать» до запуска кода на собственной системе на базе архитектуры RISC‑V. Автор, как технический специалист без опыта проектирования процессорных систем, от своего лица любезно поделился для нашего блога рассказом о том, как проходило обучение, какие инструменты использовались (SystemVerilog, Vivado, FPGA‑плата Nexys A7-100T), какие задачи решались и какие знания реально получаются на выходе.

Статья будет особенно интересна тем, кто интересуется аппаратной инженерией, любит электронику, но никогда не заглядывал в мир САПР, HDL и проектирования процессоров.

Отправная точка

При желании практически любой инженер под руководством опытного наставника, на базе сжатого курса‑интенсива за одну неделю может овладеть базовыми навыками работы в САПР и самостоятельно спроектировать, смоделировать, проверить процессорное ядро RISC‑V, сделать из него компьютер/микроконтроллер (путем добавления памяти и ввода/вывода) и даже запустить на этой системе собственные программы, написанные на языке C/С++. Об этом ниже, передаем слово рассказчику…

Приветствую читателей Хабра! Я решил поделиться с вами рассказом о том, как прошли мои дни на курсе — это оказалось настоящим практическим приключением. В рамках заданий мне удалось не просто «посмотреть», а действительно спроектировать ядро RV32I, собрать на его базе минимальную работоспособную систему (результат можно назвать «микроконтроллер»), подключить память и ввод/вывод в соответствии с классической архитектурой фон Неймана, а затем скомпилировать и запустить прикладной код.

На входе — обычный энтузиаст, который:

  • В 6-м классе ходил на кружок электротехники, на котором травили текстолит серной и/или соляной кислотой, чтобы вытравить дорожки, нарисованные лаком для ногтей, позаимствованным из дома, чтобы спаять свой мультивибратор с целыми двумя транзисторами;

  • В 7-м классе на кружке программирования писал смешные программы на языке ассемблера (любимая книжка «Пишем вирус и... антивирус для IBM‑совместимых компьютеров»);

  • Слышал про базовые принципы функционирования процессора на 2-м курсе технического института;

  • До начала курса не имел опыта работы с САПР;

  • По основному профилю — сертифицированный администратор по промышленным Unix;

  • Интересуется высоконадёжными, бизнес‑критичными приложениями — системами, функционирующими многие годы без перезагрузок на платформах RISC/Unix.

  • Отслеживает профильные техноресурсы, включая:

На выходе - специалист, который имеет...

За неделю обучения под чутким руководством преподавателя, я получил следующее:

  • Практический навык проектирования процессора RISC‑V в САПР AMD Vivado (с использованием языка SystemVerilog);

  • Практический навык работы с ПЛИС при использовании отладочной платы Nexys A7-100T;

  • Практический навык написания программ на C/С++ и запуска их на процессоре RISC‑V;

  • Сделанный своими руками процессор с архитектурой RISC‑V;

  • Сделанный своими руками прототип микроконтроллера, в котором есть процессор с архитектурой RISС‑V;

  • Шикарную книжку «Архитектуры процессорных систем. Практический курс». Авторы Андрей Солодовников, Михаил Попов, Алексей Переверзев;

  • Удостоверение государственного образца о повышении квалификации;

Хроника. Как развивались события

27.05.2025. Я увидел новость

Случайно увидел новость в Telegram о том, что НИУ МИЭТ и Альянс RISC‑V приглашают преподавателей и инженеров на курс повышения квалификации «Архитектуры процессорных систем».

В новости сообщалось, что »с 30 июня по 4 июля слушатели курса смогут в формате интенсивного практикума пройти полный цикл разработки простого RISC‑V процессора (RV32I + Zicsr) на языке SystemVerilog с применением инструментария для синтеза и анализа конструкций языка описания оборудования HDL (Vivado) и FPGA‑платы (Nexys A7-100T)».

06.06.2025. Заполняю и отправляю форму

Хм… а что, почему бы и нет? Берем на это время отпуск и подаем заявку на участие на обучение, как частное лицо.

18.06.2025. Получаю одобрение на участие

19.06.2025. Получаю данные по логистике

Вау! Базовый модуль оказывается доступен бесплатно — и это приятная возможность оценить формат и подход!

20.06.2025. Подгружаю в профиль института сканы запрошенных документов

25.06.2025. Решаю, что надо все же хоть как-то подготовиться к курсу, хотя бы на уровне “какого цвета учебник” и покупаю две книжки

26.06.2025. Активируем учетную запись

Активирую и запоминаю логин и пароль. Как оказалось, они нам действительно понадобились и пригодились при работе за ПК в учебном классе. Для входа на рабочие ПК, на которых был установлено все необходимое для работы, использовалась эта пара логин/пароль, а также для авторизации в бесплатный институтский Wi‑Fi.

30.06.2025. Утро 9:20. Немного капает дождик, охранник на проходной строгим голосом говорит: "Ждите, за вами придут". OK, ждем…

Итак, целевой адрес достигнут: МИЭТ — 124498, Россия, Москва, Зеленоград, площадь Шокина, дом 1.

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

30.06.2025. 10:00. Начало

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

Вау! Задарили книжку! «Архитектуры процессорных систем. Практический курс». Авторы Андрей Солодовников, Михаил Попов, Алексей Переверзев.

Все, пора приступать к работе. Открываем лабу № 1: «Введение и подготовка среды» и проходим короткий обзор целей и структуры курса. Далее знакомимся с RV32I (+Zicsr) и однотактной микроархитектурой. Настраиваем рабочее место: Vivado, плата Digilent Nexys A7; делаем вводные упражнения на SystemVerilog и собираем полный 32-битный сумматор с последовательным переносом — первый «разогрев». 

Идем по лабам, которые выполняют студенты: https://github.com/MPSU/APS/tree/master/Labs/. Они их делают в течение семестра, а нас заставили половину этих лаб за неделю пройти! =) Часть лабораторных пропускаем и идем в соответствии с программой повышения квалификации (не дублируем студенческий курс), а осваиваем то, что действительно необходимо для достижения целей курса. 

01.07.2025 - 04.07.2025. Недельный интенсив

Дальше все в тумане. Подъем в 7:00, завтрак, метро, Ленинградский вокзал, 30 минут электричка, 10 минут на автобусе, аудитория. Примерно в 16:00 заканчиваем. Далее автобус, электричка, метро, дом, книжки, сон... Будильник...

01.07.2025. День 2.

Продолжаем выполнение лабораторных работ. Реализуем ключевые узлы тракта данных:

  • Лаба № 2 — создаем ALU;

  • Лаба № 3 — регистровый файл;

  • Лаба № 4 — пропускаем;

  • Лаба № 5 — начинаем создаем модуль разбора команд («main decoder»).

Моделируем и отлаживаем модули в Vivado; отдельно обсуждаем типовые ошибки в HDL‑описаниях.

02.07.2025. День 3

Склеиваем тракт данных, добавляем LSU (load/store), контроллер прерываний и CSR, интегрируем память и простую периферию в состав процессорной системы; имитируем работу системы целиком. Параллельно показывают приёмы поэтапной проверки знаний и помощи при «затыках» на сложных шагах.

  • Лаба № 5 — не успеваем;

  • Лабу № 6 — пропускаем;

  • Лаба № 7 — тракт данных и создаем процессор RISC‑V.

03.07.2025. День 4

Утром для разминки выступают два представителя https://riscv‑alliance.ru/ которые рассказали про работу двух комитетов российского Альянса RISC‑V — «Академического» и «Технологического».

Осваиваем тулчейн: компиляция простых C/C++ (или asm) программ под наш RISC‑V-ядро средствами GCC, загрузка и выполнение на разработанном ядре (с платой/удалённо), анализ результатов и базовая отладка.

Переходим к лабе № 13 — создание периферийных устройств; далее лабораторная № 14 — программирование.

04.07.2025. День 5

На пятый, финальный, день выполняем сборку процессора из модулей и проверяем, насколько он хорошо получился. Подключаем модуль‑загрузчик (программатор) для автоматической прошивки программ в память, меряем производительность CoreMark и обсуждаем, как её улучшать архитектурно. Проверяем, в попугаях и у нас получается 3.62 попугая.

Лаба № 16. CoreMark. Компилируем открытый код, coremark, кросс‑компилятором, под архитектуру RISC‑V.

Заставляем наш САПР симулировать работу нашего будущего процессора и запускаем скомпилированный код на этом процессоре.

Хм, да. Не быстро это идет, чувствуется мощь. Смотрим на результат — 3.62 попугая. А теперь, пробуем записать программатором все это добро на наш ПЛИС, и уже на ПЛИС запустить ровно такой же код и посмотреть, чтобы сравнить результаты.

Хм, после заливки на ПЛИС попугаи совпали! Магия!

Тут чтобы понять на что смотреть, я поясню — смотрим показатель «Coremark‑попугаев/МГц процессора». С учетом того, что наш ПЛИС мы запустили на частоте 10 МГц, и наши попугаи становятся равны ~0.36. При этом помним, что в нашем процессоре — одно ALU и все просто, без всяких этих модных/молодежных, предсказаний ветвлений, кэшей. В нашем процессоре все просто. Но вот если посмотреть на «попугаи» в других процессорах:

  • Intel Itanium — 2.68 попугая

  • PA-8600 — 1.9 попугая

  • Intel 80 286 — 1.7 попугая

Хм… наши 3.62 попугая — весьма и весьма достойно выглядят!

Пробуем писать на экран:

Компилируем код на C в язык ассемблера для архитектуры RISC‑V и получившийся в итоге бинарный файл, записываем на ПЛИС программатором, в другую область памяти, чтобы не повредить процессор и передаем управление, чтобы он этот код, сразу начал исполнять, так как у нас тут нет никаких операционных систем.

Видим на экране долгожданную надпись: «DFCZ WAS HERE!!!!»! Отлично, переходим к финальному боссу — к «Змейке»!

Финальный босс побежден — игра «Змейка» готова!

И в конце дня получаем удостоверения:

Красота! Удостоверения государственного образца! На этом свой рассказ я завершаю, выводы делайте сами ?

В качестве заключения

Альянс RISC‑V видит в изложенном опыте главное подтверждение нашей идеи: открытая архитектура и правильная методика позволяют инженеру за одну интенсивную неделю пройти путь от первых строк SystemVerilog до запуска C‑программы на собственном ядре. При поддержке наставника, понятной лабораторной траектории и доступных инструментов (Vivado, FPGA‑плата, базовый тулчейн) RISC‑V перестает быть «чужой магией» и становится прикладной инженерной практикой.

Почему это работает? Стандарт RISC‑V открыт и прозрачен, экосистема быстро растёт, а барьеры входа низкие: начинать можно с «однотактного минимума», по мере необходимости добавляя декодеры, LSU, CSR, прерывания и периферию. Такой путь естественно формирует правильные инженерные привычки — от модульной верификации до воспроизводимых сборок и измеримой производительности.

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

Если у вас есть инженерная база и интерес — у вас уже есть всё, чтобы спроектировать, смоделировать и проверить собственное RISC‑V-ядро, собрать на его основе микроконтроллер и запустить на нём свои C/C++‑программы. Остальное — дело времени, дисциплины и активности в сообществе. Добро пожаловать в RISC‑V.

Дополнительные вводные

Современные представители серверных процессоров общего назначения на архитектуре RISC‑V, на проприетарных индустриальных тестах вроде SPEC, показывают весьма достойные результаты производительности как по сравнению с лучшими представителями мира x86-процессоров, так и с достойными соперниками архитектуры ARM.

Мы все с вами знаем, что эти тесты закрытые и требуют оплаты, чтобы получить возможность их у себя запускать, но сравнимые результаты получаются именно на тестах SPECint/SPECfp.

Подробнее: https://spec.org/pressreleases/20221201-academic‑pricing/

К примеру, на тесте SPECint2017_rate:

Многие, кто работал с MIPS, в последние годы переходят на RISC‑V. Даже сама MIPS с 2022 года выпускает RISC‑V-IP (семейство eVocore), которую относительно недавно поглотило бывшее производственное подразделение компании AMD

Логично задаться вопросом: почему многие смотрят на RISC‑V именно сейчас? На стороне ARM — рост неопределённости в стоимости владения после пересмотра модели роялти. «Нововведение» в политике лицензирования, существенно усилило исход/отказ от архитектуры ARM у множества компаний. Обсуждалось изменение стоимости лицензии, которая теперь зависит от стоимости изделия, в котором это процессорное ядро используется. В то же время стандарт RISC‑V сам по себе абсолютно бесплатен, что в целом позволяет снизить риски роста издержек. 

На рынке это отражается в спросе на инженеров с навыками построения систем на базе RISC‑V и крупных инициативах по их подготовке; при этом идёт и переток кадров из стартапов, проходящих реструктуризацию. На международном рынке идут активные дискуссии, по теме хантинга инженеров, с навыками работы с архитектурой RISC‑V. Из недавних примеров — слухи о компании Esperanto Technologies. Индустрия продолжает гадать имя компании, которая перекупила всех сотрудников.

Помимо этого в новостном поле прослеживаются и другие серьезные индикаторы зрелости RISC‑V в оценках крупных игроков индустрии. Космическое агентство NASA уже достаточно давно присматривалось к архитектуре RISC‑V для своих космических активностей. Относительно недавно, NASA официально остановила свой выбор на процессоре SiFive Intelligence X280, построенном на базе открытой архитектуры RISC‑V, которая пришла на смену предыдущему стандарту NASA на базе архитектуры PowerPC.

Приведу отличную подборку материалов с недавней международной конференции RISC‑V в космосе.

Комбинация технологической зрелости (масштабируемые ядра/чиплеты), экономических стимулов и крупных референсов (GF‑MIPS, NASA HPSC) указывает, что доля RISC‑V будет расти — и в серверном, и в специализированных сегментах. При этом для «честных» сравнений по производительности важно дождаться и опираться на открыто опубликованные, воспроизводимые результаты (включая официальные сабмиты SPEC).

Вывод от Альянса RISC-V

RISC‑V уже активно применяется в серверных платформах и специализированных системах: открытый стандарт и предсказуемая экономика снижают TCO и ускоряют внедрения. Для дальнейшего ускорения развития и широты внедрения Альянс RISC‑V со своей стороны будет и дальше:

  • поддерживать обучение и сертификацию, формировать кадровый поток;

  • публиковать методики воспроизводимого бенчмаркинга и лучшие практики;

  • координировать рабочие группы по профилям (включая RVA) и совместимости;

  • укреплять программную экосистему — компиляторы, ОС, гипервизоры, инструменты.

Наше приглашение рынку остается неизменным: публикуйте открытые результаты, делитесь наработками, подключайтесь к группам и ускоряйте переход к открытой, воспроизводимой и конкурентной серверной архитектуре. Вместе мы создадим общее будущее, сделав RISC‑V не только открытым набором инструкций, а общей платформой для инноваций.

Комментарии (9)


  1. byman
    07.10.2025 09:03

    Смотрим на результат - 3.62 попугая.

    Я впечатлен результатами. Это лучше чем в самом свежем МК от Baikal (https://www.baikalelectronics.ru/products/baikal-u/). И при этом у Вас нет даже умножения.


    1. andreyzaostrovnykh
      07.10.2025 09:03

      По Baikal-U в их публичном product brief указано 3.42 CoreMark/MHz "на одном ядре" при макс. частоте 200 МГц - т.е. суммарно это порядка ~684 CoreMark на ядро при пике, так что по удельной метрике получается чуть выше, но по абсолютной производительности сравнение, конечно, не в пользу эмулируемого ядра в ПЛИС.

      Кстати, CoreMark почти не страдает без MUL, поэтому тако результат возможен и на RV32I :)


      1. byman
        07.10.2025 09:03

        Я уже лет 25 не повышал квалификацию, поэтому может без умножения коремарк сейчас быстрее чем с умножением.


    1. LennyB
      07.10.2025 09:03

      И 10 МГц на седьмом артиксе? Я совсем не впечатлён.


    1. byman
      07.10.2025 09:03

      С учетом того, что наш ПЛИС мы запустили на частоте 10 МГц, и наши попугаи становятся равны ~0.36.

      Похоже я немного не понял результаты. Здесь действительно "попугаи", которые я принял за см/мгц. Если бы процессор запустили на 100 МГц, то попугаев было бы 0.038. Значение же коремарка на мегагерц от частоты не зависит. Интересные курсы повышения квалификации :)


      1. byman
        07.10.2025 09:03

        Похоже, "попугаи" можно перевести в км/мгц . Это будет 1/3.62 = 0.27 :)


  1. Sense_MD
    07.10.2025 09:03

    Сидит такой неизвестный Китаец на заводе TSMC и в интерфейсе отмечает галочки какая у процессора должна быть конфигурация(инструкции, графика, примочки). Запускается конвейр по типу как у Форда в идее. Через какое то время выползает пластина под резку кремния. На другом конце планеты чуваки лазером гравируют название фирмы и тайком соображают какибы это не пропасли конкуренты. Хитрые коммерсанты считают доходы и все уже счастливы. При этом никто вообще не знает кто реально-то разработчики ...

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

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


  1. Sense_MD
    07.10.2025 09:03

    Спасибо за минус. Я так и ожидал вежливо отметиться и уйти с ножом в спине как тот же разработчик этого RISC.

    Счастья!

    Пойду себе сервер подниму тихонечко с хорошим покрытием и запущу кибернетику через наручные часы с обычным ЖК дисплеем без цветов и питушатины.


  1. andreyzaostrovnykh
    07.10.2025 09:03

    При этом никто вообще не знает кто реально-то разработчики ...

    Это вы наверное о себе?

    А в чем смысл сего опуса?