Pull to refresh

Comments 19

Хм… очень круто. Но не очень понятно зачем все это.
А Вы не думали на верилог написать свою ПЛИС к которой потом делать компилятор и трассировщик? Имхо — это более здоровое занятие..
Вполне интересная мысль. Можно попробовать сделать что-то вроде OpenFPGA но не думаю что стоимость ее выпуска будет адекватной.
Я начинал делать кое-что для своей "плис". Сам логический элемент не трудно описать — это только ЛУТ и триггер. И конфигурируемый коммутатор вроде бы сделал. А вот дальше не знаю как быть. Сколько должно быть линий проводов между строками и столбцами логических элементов? Как это рассчитать? Как сделать компилятор?
Вот мой пример простейшей ПЛИС внутри ПЛИС из четырех логических элементов http://marsohod.org/projects/plata1/166-minicpld
Точных формул расчетов как я понял нет. Из того что я узнал, в плис от Altera 8*8 используют 32 соединения в каждом столбце и 32 в каждом ряду в большинстве случаев этого оказывается достаточно.В ПЛИС большего размера ячейки обедняются в суперблоки, которые коммутируются отдельно. Когда соединений не хватает компилятор перекидывает соединения сквозь некоторые ячейки LUT. По поводу как написать компилятор, в 2х словах не расскажешь.
Посмотрите сколько стоят отечественные ПЛИС производства Воронежского завода (например вот тендер 2 штуки ПЛИС 5576ХС4Т за 100тыс рублей http://www.tenderer.ru/tenders/3/tender16719913.html). Это аналог старой альтеровской микросхемы (EPF10K200E), уже снятой с производства. Правда она там у них с золотыми ногами в керамическом корпусе для военных. Почему они до сих пор делают такую старую ПЛИС?
Я так понимаю, главная проблема в плисоводстве — это среда разработки для ПЛИС и компилятор — это главное ноу-хау, которого нет у Воронежского завода. Поэтому они продолжают использовать Альтера Max-Plus — но тут честно говоря могу ошибаться.
Мне кажется ценно не устройство ПЛИС — более или менее оно всем известно, но компилятор, трассировщик, временной анализатор — вот это ценно.
Я честно говоря думал делать бэк-енд для icarus verilog. Этот компилятор с открытыми исходниками очень качественно анализирует синтаксис и вероятно мог бы использоваться для создания нетлистов.
Точно не помню но одна из старых версий умела делать нетлисты в edf формате, но в более поздних версиях этот функционал убрали. в моем проекте даже остался модуль для использования в качестве фронтенда edf листов от икаруса. Только как я позднее выяснил, генерация нетлистов в икарусе мягко говоря не доделана.
Придётся подумать над оптимизацией размера. По видео хорошо заметно, что вся машина не входит в область расчёта, и поэтому её дальние части работать не будут.
А вообще большущее спасибо за работу. Сам хотел такое делать, но руки не доходили.
достаточно всё расположить в области 8x8 чанков (чанки грузятся на все 256 блоков высоты, может быть и хватит, а 8x8 это область загрузки чанков по-дефолту на многих серверах, сам-же minecraft не позволяет загрузить больше 32х32)

Для minecraft есть множество различных модов чанклодеров, это частично решает проблему. Сейчас работаю для построения многослойных схем в высоту чтоб собирать что-то более сложное.
Только написать не "свой язык" а "свой компилятор verilog". Вообще идея использовать minecraft как middle-end инструментария моделирования динамических систем в 3D выглядит с одной стороны профанацией CAD-а, но с другой — открытым хабом для соединения всего и вся на тему виртуальной реальности.
В данном случае у меня компилятор своего языка. Вот пример синтаксиса Git Hub
В verilog слишком много конструкций которые будут лишними и возможно плохо реализуемыми в minecraft, не хотелось излишне усложнять проект.
Всё правильно сделал. Теперь пусть туда Линукс портирует.
Потом развернуть ЦОД и конкурировать с облаком MS Azure изнутри облака MS Azure.
Как быстро это работает? Сам собирал только простейший сумматор с дешифратором, и то задержка ощутима была.
16 битный счетчик отрабатывает от 200 до 800 тиков, это от 10 до 40 секунд.
Как вы проверяли, что в самом Minecraft постройка работает правильно? Не заметил у вас в видео каких-либо визуальных признаков того, что это работает. Или есть? (Сорри, смотреть 9 минут терпения не хватило.)
Проверял правильность работы с помощью тест-бенчей, на видео действительно этого нет. Сейчас у меня почти полная поддержка VERILOG, в будущем когда будет время опубликую актуальную рабочую версию на гитхаб.
Sign up to leave a comment.

Articles