Нуу... на C# тоже можно ваять :)
Это крайне расширяемая бомба :) Плюс с возможностью взаимодействовать с git-ом, в том числе - на базе TFS :)
Вид для печати
Дизассемблировал прошивку программой Эрика, затем немного пропатчил и собрал исходник своим ассемблером обратно, и оригинальный и полученный бинарный файлы совпали. Кое-что в ассемблере пришлось пофиксить.
Обновил LSI-11:
- добавлена документация (на микроассемблер, на микрокоды, на микромашину)
- добавлен законченные исходники микрокода, сейчас понятно когда и куда оно переходит по трансляции
- добавлена утилита для анализа перехода трансляций
- обновлен микроассемблер
Вся подготовительная работа закончена , можно заниматься синхронными моделями
Блин, надо с Verilog-ом повозится, а то чё то пока нихрена в твоих файлам не понятно...
Э... нихрена - это я всё таки загнул :) Большая часть непонятна - так будет точнее :)
Выложил синхронную модель, избавился от всех латчей, шина пока Q-bus.
Буду дальше оптимизировать под FPGA:
- выкину архаичный рефреш динамической памяти, встроенный в процессор
- выкину арбитраж шины Q-bus
- попробую сжать 4 фазы в одну, чтобы за один такт исполнялась одна микрокоманда, сейчас это требует четыре такта
- ну и стандартный Wishbone для системной шины и приема прерываний
Закончил оптимизацию и переход на Wishbone для LSI-11:
- теперь осталась только одна фаза на весь процессор, микроинструкция выполняется один или два такта
- запущено на реальной плате DE0
- 80 МГц, 1490 ячеек на Cyclone-III
- проходит все заводские тесты на реальной FPGA
- считает число Пи
Как будет настроение - добавлю порты на другие платы и добавлю еще новых семейств FPGA.
Насчет вычисления 1000 знаков Пи - прогнал тест на всех ядрах, с одинаковой конфигурацией системы -
8К статической памяти без ожидания (и для LSI-11 пересчитано из 80МГц в 100МГц чтобы привести все числа
к общему знаментелю). Тесты выполнялись с разными комбинациями инструкций EIS.
Скрытый текст
Надо также учесть что у реального LSI-11 максимальная частота была 3МГц против 5МГц серии 1801.
Из таблички видно что ВМ1 без EIS быстрее чем LSI-11, но при задействовании умножения картинка меняется.
Также помним что LSI-11 поддерживает FIS "из коробки", это была полезная опция, поскольку на этих машинах
очень много чего моделировали.
Xilinx меня со своим ISE утомил, мягко говоря. 14.7 просто перестал запускаться под Windows7x64. Переинсталляция не помогает. Версия 12.4 вообще молча не иснталлируется. Дропнуть что-ли поддержку Spartan-6.
Если по человечески - фирмА перестаёт поддерживать старые FPGA, выпиливая их из среды разработки, а среда разработки - просто Г :)