Ну что... на MiSTer-е (DE10-nano) благодаря усилиям коллеги xolod работает.
Система грузится, TETRIS и MARS запускаются.
Еще раз спасибо forth32.
Ну что... на MiSTer-е (DE10-nano) благодаря усилиям коллеги xolod работает.
Система грузится, TETRIS и MARS запускаются.
Еще раз спасибо forth32.
Последний раз редактировалось fikus8; 28.02.2021 в 15:55.
+2B
ZX-EVO
Reverce-U16
Karabas 128 Rev A
MiSTer
По первой ссылке продают два варианта платы - AX301 (6 килоячеек - маловато будет вроде) и AX4010 (10 килоячеек - вроде норм)
По второй ссылке - только AX4010
См дальше
- - - Добавлено - - -
По первой ссылке за доп деньги продаван предлагает вроде ещё модулей
Вроде как входит и USB bluster, но таблица на китайском - нихт нефига ферштейн.
Сами же платы - AX4010 - да, одно и тоже
- - - Добавлено - - -
А, ну собственно у второго есть похожая таблица с теми же доб модулями, но на человеческом языке.
Но вот некая странность - плата с кристаллом Altera, а usb bluster типа Xilinx. Вроде они (usb bluster-ы) у них одинаковые - но наверняка не скажу...
ксайлинковский прошивальшик в неск.раз дороже альтеровского. и они разные. К слову.
вот хорошая цена, если на то пошло
300 р на бластер - так себе, средне.
там Alinx - созвучно конечно)
Profi v3.2 -=- Speccy2010,r2
Мои 5 копеек, как сделать проект портируемым на любую FPGA-плату:
- как пример можно посмотреть на мой cpu11 и его структуру каталогов - переносится за полдня на любую подходящую плату (включая живой прогон и тест)
- все элементы зависимые от семейства FPGA (циклон, спартан, zynq, etc) вынести в отдельные файлы-библиотеки (per FPGA-family)
- внешнюю шкурку, зависящую от распиновки сделать отдельной для каждой платы (per board), внутрь вывести совместимый интерфейс, куда подключать уже портируемое ядро
- для каждой платы - свой индивидуальный проект в каталоге, со своей распиновкой и файлом внешней шкурки, под тулзу нужного производителя (Quartus, Vivado, ISE, Tang Dynasty)
- надо начать использовать git по прямому назначению, а не как примитивную систему контроля версий и CMS для выкладывания на сервер (github).
Вот по последнему пункту, при правильной архитектуре проекта - ЛЮБОЙ человек, имеющий свою плату с FPGA, сможет сделать на ней свой проект, отладить
на своей личной плате, а затем СДЕЛАТЬ PULL REQUEST, и это может быть включено в основной репозиторий. И все платы и апдейты будут храниться в одном месте,
в одной репке. И все изменения будут ревьюиться и мержиться мейнтенером (forth32). Потому что я вижу что начинается обычный колхоз - проект растаскивают,
как-то где-то портируют, выкладывают на стороне. Это прекрасно, но серьезные проекты живут не так. Если будет сделана реорганизация, как описано выше - то сделаю
порты на DE0, и DE2-115, а может еще на какие имеющиеся платы. Да и любой может сделать то же самое для своей платы, и все это - будет храниться в одном месте,
ошибки и проблемы будут тречиться в одном месте, фиксы и дальнейшая разработка - в одном едином месте.
git - это система распределенной разработки прежде всего. Лично я бы очень хотел поучаствовать в разработке ДВК на ПЛИС. Но, я сознательно в это не лез, потому что это отдельная большая тема, мне просто не хватит ресурсов ее потянуть. Так что я сознательно ограничился разработкой ключевого компонента, продумал его дальнейшую интеграцию и ждал что кто-нибудь подхватит. Возможно если бы живая ДВК не нужна была для оборудования, то любительский проект до сих пор бы не появился, работы тут много, одного энтузиазма не всегда достаточно. Но поучаствовать-то хотя бы частично хочется, есть свои идеи/модули, поэтому было бы круто если бы проект приобрел вид, пригодный для широкой контрибуции.
Последний раз редактировалось Vslav; 28.02.2021 в 21:09.
hobot(01.03.2021)
Ну что ж, в этом всем есть своя правда.
Изначально я очень не хотел засорять репозиторий кучей проектов под разные платы. Мне казалось, что тот, кто заинтересуется этой разработкой, а таких здесь можно по пальцам одной руки пересчитать, легко сможет адаптировать проект под свою плату, как я это в свое время сделал с тестовым стендом cpu11.
VSLAV, ты как всегда оказался дальновиднее. Логичнее будет собрать все кустарные порты в один репозиторий, а не размазывать их по форуму. Если бы до меня это дошло сразу, я бы заложил это в основу проекта. Теперь же придется глобально продумывать, что именно вынести на верхний уровень, потом перетаскивать туда куски схем вместе с тянущимися за ними жгутами проводов. Все это снова и снова перепроверять. И, самое противное, опять переписывать документацию. На это все требуется немало свободного времени. Что ж, придется в выходные этим заняться.
Есть еще один момент. По результатам временного анализа в процессоре ВМ2 у меня всегда вылезала кучка красных отрицательных слаков. Все эти пути лежат внутри процессорного ядра, идут от регистра PLM к разным другим регистрам. И, действительно, по этим путям в схеме висит длинная цепочка разнообразной логики.
Поскольку слаки были небольшими, около 0.1нс, я на это дело просто забил. TimeQuest показывает Fmax=99Мгц, процессор работает как надо, не сбоит, стресс-тест на несколько суток отрабатывает без проблем на 30-градусной жаре.
Когда я делал плату на процессоре М2, я как-то упустил из виду повторить временной анализ. А вот теперь сделал его, и несказанно удивился. Слаки стали огромными - по самым длинным путям стали около 2нс. И Fmax теперь предлагается 84 Мгц. Но, что странно, процессор так же отлично работает на 100Мгц, тесты идут, ничего не виснет.
Я вот думаю. Забить на такое уже нельзя. Может быть, сделать тактовую частоту 75 Мгц для всех процессоров? Или даже 50 Мгц? В конце концов, для проекта ДВК даже такая частота явно избыточна. И уж тем более для всяких управляющих контроллеров.
Главное, чтобы не начались проблемы с SDRAM. Впрочем, М4 у меня отлично работает на 50 Мгц с SDRAM без всяких проблем.
Последний раз редактировалось forth32; 01.03.2021 в 06:45.
hobot(01.03.2021)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)