Документация по микропрограмме, подобная той что я написал для ВМ1 будет? Или так, на форуме побалакать?
И да, ВМ2 матрица заметно попроще, потому что там предекодер и точки входа известны, у ВМ1 чуток не так.
Вид для печати
Как там у классика?
"- ты сказал один раз - я тебе поверил"
"- ты сказал второй раз - я начал сомневаться"
"- повторил в третий- я тебе не верю" (c)
Документацию напиши, с доказательством что оно именно так ходит.
Перебор - это просто один из инструментов, показывает что в матрице нет ошибки и пойдет именно так.
Кстати, один из стандартных методов функциональной верификации, а отнюдь не мной придуман.
Разумный подход при решении любой проблемы - это изучить материалы по вопросу, посмотреть что и как сделано предшественниками, и на имеющейся базе продолжить. Игнорирование документации звучит странно и нелогично. Вот если бы ВМ3 так разобрал, на который ни вылизанной схемы, ни документации, сомнений не было бы. А так...
А я по твоей схеме написал бы верилог, я то перерисовывать точно не буду, но если есть готовая схема - надо пользоваться :)
Вот товарисч Титус. ты перед Vslav заискиваешь.., а на нас бедолаг... какать хотел.. не уивляйся что и тебя отшили:)
Ну как отшили... У меня просто пригорает, что куча есть нового и не сделанного, и когда и как это делать непонятно. А тут толковый человек время на пережевывание тратит, а мог бы и полезное чего поделать. Раз нравится перерисовывать - не вопрос. Вот схема ВМ3 - пойдет. Когда реверсишь, не всегда понятно где границы блока и какая цепь значимая и глобальная и ее имеет смысл обозвать, а какая может быть внутриблочной и ей выделять имя вообще не надо. Блок ввода-вывода в ВМ3 еще служит для обслуживания обмена сопроцессора, вот там наворочено много и запутано, тут перерисовка была бы полезна. Раз есть умельцы делать это без документации - самое оно скиллы свои приложить.
А я о чем.. для тебя он такая же букашка... как мы для него.. мог бы потратить свое время лучшим образом, а не выеживаться типа читайте документацию:)
ВМ3 я ковырять не буду, потому что он мне никак не интересен.
ВМ2 интересен исключительно как ядро УКНЦ. И ХМ-ки тоже.
Каждый применяет себя там, где умеет, и где ему интересно.
- - - Добавлено - - -
Я программист изначально, а не железячник.
И эмуляторщик, а не ФПГА'шник)
Дык, речь не про FPGA - перерисовывается схема. Для уже сделанного ВМ2 это полностью бессмысленно, просто развлечение для отдельно взятого человека. Вот даже внятной документации по микрокоду ВМ2, видимо, не появится. Я микрокод ВМ2 вообще особо не разбирал - просто написал в модели логгер, и теперь любой вопрос (например как с командой 000030) моделированием закрывается за 10 минут.
Для ВМ3 на данном этапе перерисовывание схемы имело бы смысл - там есть небольшой затык по блоку ввода-вывода. Ну, я со временем разберу, но перерисовывание с определением и именованием значимых связей могло бы дело упростить.
- - - Добавлено - - -
Результат "интереса" какой? Новое ядро напишешь? Спаяешь на рассыпухе?
Вот по ХМ вообще никаких вопросов, только благодарность. Нравится мне формат схемы - не нравится, кушай что дают или делай сам. А не можешь сам (все равно по каким причинам) - сиди тихо :)
Да да, виноград ещё зелёный.
Я тоже изначально программер - и что? Мне проще будет посмотреть в код Vslav, что бы понять - чего и как - ибо это БЛИЖЕ к программированию, чем твои - не железячника(!) - картинки.
И уверенности в правильности у Vslav, у меня больше - ибо проверено, чем в твоих ("я художник, я так вижу") картинках
Мы все тут интеллектуально и творчески развлекаемся)
- - - Добавлено - - -
Эмуляция. Рассыпуха - это жесть) Шкаф займет)
- - - Добавлено - - -
Что там по растворению в кислоте остальных чипов?
- - - Добавлено - - -
Ну так я и не закончил еще.
А работа ХМ'ок проверяется @Ynicky на ФПГА.
Кстати, как там прогресс?
Не совсем точно выразился, речь шла больше про VHDL и Verilog, но в случае FPGA это всё достаточно тесно связано, вот по привычки и написал - FPGA
Ибо всё уже нарисовано и ВМ2 интересен в перерисованном варианте только ему
- - - Добавлено - - -
Даже когда закончишь
ибо - кто проверять то будет
Да. Но это не значит что на осмысленность и результативность развлечения следует забить.
Да не должно бы, пару-тройку больших плат на серии 74HC. Если бы ты еще схему в стандартных 74-ых рисовал, а не в своих мифических элементах, мы и оценку числа корпусов имели бы.
Собираюсь скоро к химику съездить.
Да не работает она в железе, что только не делал. И квартусы ставил разные, вплоть до 18, и моуделсимы с квестосимами, и использовал чиппланеры с лоджилоками, и таймквесты использовал для анализа. А в документации вычитал, что для MAX10 нет поддержки временного моделирования и хоть ты тресни. Потому и пошел на крайние меры.
Ynicky, могу дать MIST может на нем получится запустить. Там Cyclone EP3C25
Для VGA придется городить VGA контроллер, а это еще сложней.
У меня в проекте используется видеовыход -136 зашивки, который идет напрямую на HDMI контроллер, а там всего 288 строк. Для VGA придется делать какой-нибудь скандаблер.
Может не стоит уходить от HDMI, если так уже удачно с ним получилось?
Да и HDMI сейчас есть у каждой домохозяйки, а VGA имеют не только лишь все.
Какой рассыпухе? 555 серия? Там есть латчи есть в виде готовых элементов - ТМ7 там, или ИР22. В FPGA ничего подобного нет, есть только флип-флопы - TM8 и ИР23.
Даже нельзя надежно имитировать латч на элементах И-НЕ, потому что таковых элементов в FPGA тоже нет. Например, LUT в Cyclone-IV - это два регистра по 8 бит, записываются из конфигурации, и потом два мультиплексора 8-в-1 на проходной логике, которые могут объединяться в 16-в-1. А между двумя LUT - длиннющие каналы для соединения ячеек. Чисто теоретически латч можно на этом всем колхозе, но на практике работает плохо и нестабильно - топология нехорошая выходит, сильно зависит от трассировки (которая обычно автоматическая и меняется на 200 процентов при добавлении строчки в HDL), помехи ловит, повторяемости нет.
Странный вопрос, открываешь мой гитхаб, загружаешь в Modelsim асинхронную модель любого из процессоров и смотришь как она моделируется. С моделированием проблем нет, картинки тебе симулятор покажет, потому что латч он понимает и моделирует. Проблемы с синтезом, синтезатор сразу предупреждает - нет надежной реализации латча в выбранной серии, на железе работать не будет.
Есть старые серии ПЛИС, ACEX-1K, например, там триггеры типа ТМ2 - "the programmable flipflop in the LE can be configured for D, T, JK, or SR operation", вот там латчи можно попробовать. Но тут еще проблема времянок влезает, как оно топологически по ячейкам раскладывается - контролировать можно, но очень занудно и для сложных дизайнов затратно, а вот с синхронным тактированием все предсказуемо и понятно. Поэтому асинхронный дизайн умер в массе своей, ну и FPGA по архитектуре подтянулись. Периодически вылезают мутные стартапы, которые обещают асинхронные ПЛИС с в-о-о-о-о-т такой скоростью, и все быстро затихает - не получается надежно проектировать сложные схемы при таком подходе.
Я пробовал развлекаться с асинхронным дизайном и пришёл к выводу - теоретически можно, но малейшее изменение - и схема может (и скорее всего) не взлететь - именно из-за того, что ячейки по другому легли и времянка поменялась, а точно её предсказать по всяким внутренним задержкам - не получится - слишком велик (для этого дела) разброс между кристаллами.
- - - Добавлено - - -
Хотя, конечно, идея привлекает - именно тем, что быстродействие должно получится больше :)
Стартапы именно с этим и вылезают - смотрите, у нас новая архитектура ПЛИС и новый софт который позволяет разрабатывать асинхронный дизайн. Что-то простое получается, демки выходят, инвестиции получают, а доходит до полного временного анализа и сложного дизайна - не конкурентно.
И хрен поймёшь - то ли накосячил в изменении, то ли ЛЕ по другому разбросаны и соединены и времянка задержек другой стала, а из за особенностей латчей софт не можешь просчитать времянок. Вопчем, пободавшись с этой заманчивой идеей, решил, что не стоит она потраченного времени. Проще смотреть на максимальную частоту, которую квартус после синтеза-анализа времянок покажет и стараться её поднять :)
Раз уж такой жесткач, и современные ФПГА не вариант для асинхронного дизайна, @Ynicky мог бы попросить меня, чтобы я перерисовал схемы ХМ-ок в синхронный дизайн, т.к. я очень хорошо в теме, и понимаю, что надо изменить, чтобы все не окривело.
Это слишком ненадежно, легко привнести ошибки. Нужна именно эталонная асинхронная схема, которая точно моделируется, и уже только потом можно переписывать на синхронный дизайн, пошагово изменяя, и сравнивая диаграммы с эталоном. То, что ты порисовал свои элементы вместо БФЯ, уже потенциальный источник ошибок (и абстракция другая и нет автоматической машинной трансляции), но приходится пользоваться тем что есть ...