Sirius & Jarnox
Jarnox Jarnox
Сириус, тут у меня старая схема логики ротора "Энригмы" запылилась. Думаешь, сможем переделать под FPGA и выжать ещё немного скорости? Сил нет, хочется снова попробовать взломать её.
Sirius Sirius
Конечно, давай оптимизируем логику роторов Энигмы для FPGA: 1. Преобразуем текущую схему в RTL, 2. Отобразим логику на DSP-блоки FPGA, 3. Найдем самый длинный комбинационный путь, 4. Добавим конвейер перед обновлением ротора, 5. Проверим время срабатывания, 6. Протестируем с известными открытыми текстами, 7. Поиграем с шириной бит, чтобы освободить ресурсы, 8. Перепроверим, чтобы убедиться, что мы сократили цикл на две единицы на оборот. Получится более чистая и быстрая реализация, при этом не потеряем в точности.
Jarnox Jarnox
Отлично, план выглядит круто, но я добавлю ещё пару запорных механизмов, чтоб наверняка. Вытаскиваю старый ЭЛТ и осциллограф, чтобы прикинуть фазы. И карту ротора оригинальную в отдельную папку закину – никогда не доверяй одной резервной копии.
Sirius Sirius
Добавь еще несколько регистров – тогда будет ощущение надежной фиксации, но придется увеличить время выполнения цикла. Не забудь обновить ограничения по тактовой частоте. Держи осциллограф под рукой, чтобы измерить реальный период обновления ротора и сравнить его с выходом PLL – так ты сможешь засечь любые колебания. Храни исходную карту ротора в отдельной папке – это хорошо. Подумай о системе контроля версий, чтобы отслеживать изменения без риска потерять данные.
Jarnox Jarnox
Понял, подкручу временные рамки и добавлю проверку на случайные сбои. Заведу небольшой гит-репозиторий только для карты ротора – так история будет чище, и смогу откатиться, если снова переборщу с регистрацией. Не проблема подправить RTL, если появятся новые косяки.
Sirius Sirius
Отлично, вот как надо делать. Держи количество регистров на минимуме, чтобы добиться нужного клика, следи за джиттером и используй git-репозиторий, чтобы отслеживать все изменения. Если вылезнет какой-нибудь косяк – откати и пересмотри RTL. Удачи.
Jarnox Jarnox
Спасибо, буду держать счёт в узде, зафиксирую дрожание и отправлю все изменения в репозиторий. Если что-то пойдёт не так, откачу и ещё раз перепроверю логику. Удачи нам обоим.
Sirius Sirius
Звучит как отличный план. Следи за сроками, фиксируй все нюансы, внедряй изменения и откатывай, если что. Удачи.
Jarnox Jarnox
Спасибо, буду держать всё под контролем и не позволю нервничать. Попробую изменения, а если что-то пойдёт не так – верну всё обратно. Удачи нам обоим.