Энтузиаст представил шаблон электронной таблицы в Google Sheets под названием Microcode Compiler для универсального компилятора микрокода самодельного процессора с помощью скрипта на javascript. Фактически его таблица состоит из трёх страниц-закладок (настройки, микрокод, сообщения компилятора) и скрипта.
«Я создаю самодельный процессор на основе микрокода. Я сделал компилятор микрокода в Google Sheets. Его можно легко адаптировать для нужд создания микрокода других разработчиков. Для этого я составил электронную таблицу, которая поможет мне написать микрокод. Крайние левые столбцы — это состояние выполнения. Крайние правые столбцы — это сигналы включения вентилей, буферов и так далее. Я написал скрипт, который компилирует электронную таблицу в файлы, которые можно записать в ПЗУ или прочитать в программе Verilog, если вы реализуете ЦП в FPGA. Этот проект можно адаптировано к другим самодельным процессорам, использующим микрокод. Вам, конечно, придётся удалить мой программный микрокод и написать свой собственный. Но компилятор универсальный», — уточнил разработчик проекта.
Энтузиаст пояснил, что Google может предупредить, что код в файле не был проверен защитными системами компании, но сам код скрипта открыт и его не нужно стесняться просматривать.
После выполнения необходимых настроек (используемых микросхем ПЗУ и желаемого типа вывода, указания количества бит адреса, которое имеет ПЗУ, количества битов данных, шаблон выходного файла и выбора формата выходного файла) и записи необходимых строк во вкладке с микрокодом (описание правил заполнения этой вкладки автор подробно расписал в своей публикации), можно переходить к компиляции. Если всё пойдет хорошо, то скрипт сообщит, что компиляция завершена, и напишет, сколько файлов было создано (по одному для каждого чипа ПЗУ). В противном случае будет список ошибок и/или предупреждений.
«Если файлы были созданы, вы найдете их в корневом каталоге вашего Google Диска. Однако проверьте временные метки: Google может потребоваться некоторое время, чтобы синхронизировать диск в облаке с файлами на вашем компьютере. Не раз я компилировал микрокод, а затем быстро записывал EEPROM из своих локальных копий только для того, чтобы понять, что использую старую версию файлов!», — предупредил разработчик проекта.
Источник новости: habr.com