![](https://habrastorage.org/webt/vc/ak/c8/vcakc8i5-fsay18-yyecliqp4mk.png)
Энтузиаст представил шаблон электронной таблицы в Google Sheets под названием Microcode Compiler для универсального компилятора микрокода самодельного процессора с помощью скрипта на Javascript. Фактически его таблица состоит из трёх страниц-закладок (настройки, микрокод, сообщения компилятора) и скрипта.
«Я создаю самодельный процессор на основе микрокода. Я сделал компилятор микрокода в Google Sheets. Его можно легко адаптировать для нужд создания микрокода других разработчиков. Для этого я составил электронную таблицу, которая поможет мне написать микрокод. Крайние левые столбцы — это состояние выполнения. Крайние правые столбцы — это сигналы включения вентилей, буферов и так далее. Я написал скрипт, который компилирует электронную таблицу в файлы, которые можно записать в ПЗУ или прочитать в программе Verilog, если вы реализуете ЦП в FPGA. Этот проект можно адаптировать к другим самодельным процессорам, использующим микрокод. Вам, конечно, придётся удалить мой программный микрокод и написать свой собственный. Но компилятор универсальный», — уточнил разработчик проекта.
![](https://habrastorage.org/webt/qq/gm/05/qqgm05otpx2hkavwj1qxozp17eo.png)
Энтузиаст пояснил, что Google может предупредить, что код в файле не был проверен защитными системами компании, но сам код скрипта открыт и его не нужно стесняться просматривать.
После выполнения необходимых настроек (используемых микросхем ПЗУ и желаемого типа вывода, указания количества бит адреса, которое имеет ПЗУ, количества битов данных, шаблон выходного файла и выбора формата выходного файла) и записи необходимых строк во вкладке с микрокодом (описание правил заполнения этой вкладки автор подробно расписал в своей публикации), можно переходить к компиляции. Если всё пойдет хорошо, то скрипт сообщит, что компиляция завершена, и напишет, сколько файлов было создано (по одному для каждого чипа ПЗУ). В противном случае будет список ошибок и/или предупреждений.
![](https://habrastorage.org/webt/ga/-s/2y/ga-s2ycch8bzm9h2xu9b_hu2rdm.png)
«Если файлы были созданы, вы найдете их в корневом каталоге вашего Google Диска. Однако проверьте временные метки: Google может потребоваться некоторое время, чтобы синхронизировать диск в облаке с файлами на вашем компьютере. Не раз я компилировал микрокод, а затем быстро записывал EEPROM из своих локальных копий только для того, чтобы понять, что использую старую версию файлов!», — предупредил разработчик проекта.