Спасибо за ответы.
Поясню подробнее: я подразумеваю создание ncd (для ise) файла идентичного пршивке, значит bitgen из него создаст идентичный до каждого бита файл.
Редактировать нетлист врчную затруднительно поэтому нужны hdl файлы соотвествующие ему логичеки, схематически и по требуемым задержкам. Т.е при синтезе стандартными средствами ise будет получаться прошивка аналогичная оригинальной которую сразу можно использовать на реальном устройстве. Среди элементов автоматизировано можно распознать простые схемы понятного назначения, вероятные независимые блоки, кандидаты на известные ядра (частично распознавание уже реализовано). Кроме этого легко выделить части жестко привязанные к изначальному типу плис отдельно и остальную легко переносимую логику. Для реверс инженеринга (и не только) можно добавлять внутрь прошивки живого железа дополнительные блоки анализаторы и уже вручную разбираться как что работает на реальных примерах без необходимости разбираться в
обфусцированых hdl кодах.
Далее названия с опечатками специально...Цитата(MegaVolt @ May 11 2018, 16:27)

Если смотреть на обычные программы то дезассемблирование является аналогом предложенного к обсуждению.
Соответственно можно предположить что для восстановленноых HDL может быть такое же применение.
- Взлом чужих прошивок. (по хорошему должна быть поддержка внесения мелких изменений в исходный битстрим). HDL только для облегчения анализа.
Ближе к attach+debug а не просто дизассемблированию, а также аналог hex-rays (asm -> c). Любые изменения можно вносить стандартными средствами ise для v5,6,7 или даже перенести на другие плис. Я не ограничиваюсь xlinx, просто в данный момент для них уже многое сделано и сам ise хороший донор данных.
Цитата(MegaVolt @ May 11 2018, 16:27)

- Генерация кастомных прошивок для защиты своего проекта. Когда кодовые данные зашиваются прямо в битрим без раскладки. Аналог 1ого применения но для своей прошивки.
Цитата(RobFPGA @ May 11 2018, 17:30)

Это можно и нужно закладывать на уровне дизайна и частично можно делать уже сейчас имеющимися средствами.
Я не очень понял что имеется в виду и что не получится сделать сейчас в полностью своем проекте на ise/vivdo/quatus? Кстати паралельно с реверсным процессом по возможности делается нормальный процесс (p&r netlist)->verify->timing analyse->bitstream без использования ПО производителя, аналогично на v5,6,7
Цитата(RobFPGA @ May 11 2018, 17:30)

из gate-level "поднять" наверх что то вменяемое наверно будет нельзя - уж больно сильно размазывается логика дизайна по гейтам.
А ковырять gate-level то еще удовольствие.
Цитата(Shivers @ May 11 2018, 19:04)

Конечно, результат будет то же что и обфусцированый верилог - разобраться что есть что, очень тяжело. С другой стороны, такой верилог гораздо информативнее и компактнее нетлиста: если кто то задался целью реверс инжиниринга, подобный конвертер будет крайне полезен.
Вручную заниматься hdl эквивалентом gate-level я конечно не предлагаю, тем более просто в тексте без живого железа. С текстом можно работать в структурированном виде с кандидатами на блоки и ядра. Вариантов распознанных кандидатов будет сильно больше одного, особенно в ранних версиях, но в любом случае это лучше жуткого мяса из лутов и триггеров. Кандидат подразумевает полную синтезируемость и работоспособность проекта, соотвественно и возможность проверки на железе. Алгоритмы восстановления осмысленных блоков сами являются частью другого "материнского" проекта и втч. для их проработки и развития я ищу возможности коммерческого применения.
Высказывайте предложения какую прошивку от реального устройства разобрать и опубликовать здесь результатыПока только vitex lx 5 6 7, впринципе можно spatan6, kitex7,atix7. Само собой устройство не должно быть засекречено и прошивка (bin,bit,xsvf,mcs) не зашифрована и доступна автору предложения. Результаты не в ближайший месяц, я уже упоминал что много мелочей для полноценного ncd не готово, настройки от pci-e и gtx буду делать в последнюю очередь.