Поправить описание пинов под свою плату, открыть проект в Квартусе, поправить топ модуль под свою плату (если надо), синтезировать, прошить, радоваться.
Вид для печати
Вот вопрос с платой на которую изначально сделан проект не ясен. Делалось на что-то стандартное/покупное или что-то свое разрабатывали/изготавливали?
На плату DE0 от Terasic проект должен портануться без особых вопросов.
Руки не дошли пока до файла конфигурации - ибо у меня только при варианта плат и две из них сильно специализированные :) Но программистский подход - повторное использование кода - с самого начал подвигнул на разделение - отдельно модули (которые можно будет повторно использовать), отдельно топ модуль и всякое для конкретной платы :) Хотя некий аналог конфига есть - благо в vhdl есть такой оператор - generate :)
Конктретно эта сборка проекта делалась на китайской плате "A-ESTF V2" с алиэкспресса. Сейчас я таких плат там не нашел, может быть и не делают уже их, так что ссылку дать не могу. Я доотлаживал проект на ней потому, что она была под рукой и на ней стоит FPGA EP4CE22, что дает дополнительную буферную память для SignalTap.
А рабочий контроллер в лаборатории трудится Вот на такой плате. Она сделана на EP4CE10, и этой FPGA вполне хватает под все нужды, включая специфичные для нашего оборудования модули. Контроллера RX11 в рабочей машине нет, не нужен он там, да и доделал я его буквально позавчера. Долго мучался с этим самым фиксом VM2_CORE_FIX_PREFETCH, не хватило ума попробовать его отключить.
Делать зоопарк проектов под все существующие у меня платы не вижу особого смысла. Плат этих всяких на алиэкспрессе вагон, и они все разные в смысле распиновки периферии. А для адаптации проекта достаточно подправить QSF-файл с распиновкой. Я думаю, что любой желающий может форкнуть на гитхабе мой проект и подогнать его под свою плату - другие пользователи спасибо скажут.
Я собираюсь проект немного развить.
Во-первых, сделать контроллер MY, для которого в сети есть немаленькая кучка образов дискет. Контроллер работает через DMA, и должен иметь производительность не хуже RK05. Но он сложный, сложнее RK05, есть подозрение что жесткой логикой тут не обойтись, придется добавлять процессорное ядро с микропрограммой, как в терминальном модуле.
Во-вторых, сделать контроллер магнитной ленты TM11 (MT). Поскольку у ленты размер блока переменный, то тут уж точно без процессорного ядра не обойтись.
В-третьих, сделать графический контроллер КГД, ибо графических программ в природе довольно много. Но тут есть проблема. КГД дает картинку разрешением 400*286, что плохо согласуется с VGAшным стандартом 640*480. Как это преодолеть, я пока не придумал. Может быть и ну ее нафиг, эту графику...
Ну а если у нас когда-нибудь будет 1801ВМ3... Вот тогда можно будет сделать МС1201.03, а это уже серьезная машина. RSX, поддержка очень больших дисков типа RP06...
Заказной кустарный контроллер, работающий также с кустарным уникальным стендом для испытания металлических изделий. Был создан в далеком 92 году и представлял собой корзину МПИ со стоящими в ней платой МС1201.02, платой MX и платой сопряжения с оборудованием стенда. Плюс терминал СМ7209, моя старая головная боль, и матричный принтер. К счастью, все это теперь отправилось в помойку навсегда, а стенд получил второе рождение
Вполне может быть. Я последний раз видел такой дисковод в 93 году, потом они все отправились в помойку и были заменены на MX. Почти 30 лет уж прошло с тех пор, поди вспомни эти тонкости...
- - - Добавлено - - -
Не так все просто. Контроллер КГД должен накладывать свою картинку на экран текстового терминала КСМ. То есть текстовый и графический экран должны иметь одинаковое разрешение. А у меня текстовый экран как раз 640*480.
Может быть, лучше забить и сразу браться за КЦГД, но графический софт, боюсь, тяжеловат будет для 1201.02.
Нашел такое описание, а производитель помер, похоже, ну и ладно.
На борту MY процессор 1801ВМ1 же стоит? Программу считывания с SD он вполне потянет.
Я думал сделать режимы 800x600 (здесь точки КГД просто удваивать) и 1280x1024 (точки КГД утраивать, с полями гашения по краям) - это должно норм в LCD мониторы влезть.
Для КЦГД надо будет делать контроллер SDRAM двухпортовый. В младших FPGA просто не найдется 128КБ статической памяти внутри.
- - - Добавлено - - -
Не, символьный экран должен занимать максимально возможную площадь физического дисплея. А КГД может работать одновременно с КСМ, и я видел софт который этим пользовался - текст выводился на КСМ, а графическая информация на КГД и все это находилось на своих местах. То есть - вывод КГД должен быть того же масштаба что и симольный.