Согласен, что для 100% реверса необходима топология и доскональное знание особенностей техпроцесса (грубо говоря модель транзисторов). Только начиная с 2х металлических слоёв - дело затруднительное. С 4х - почти невозможное. Т.е. все современные микросхемы, вышедшие из середины 90х на 100% отреверсить нельзя, да и бессмысленно.
Например в процессорах начала 90х - первых Пентиумах, PowerPC, MIPS R4000+, Sparc используется 4х портовая память в большинстве случаев full custom design, т.е. netlist на транзисторном уровне используются проходные вентили, Dtype Latch и другие нехорошести. Т.е. даже если есть топология, реверс в синтезируемый RTL напрямую не получится. Проще взять готовую функциональную модель.
Пример из индустрии: ARM7 - не синтезируется (full custom design), ARM7S - синтезируется (semicustom design), MIPS32 синтезируется, ColdFire синтезируется. Но это только процессоры средней производительности синтезируются (обычно выпускаются fabless компаниями). Высокопроизводительные обычно нет (дизайн имеет динамическое управление по питанию на уровне регистров и TTA на транзистрорах, а также совершенно сумасшедшее управление тактовым сигналом для снижения динамического потребления).
Вывод: анализ топологии необходим и возможен, но только для сравнительно небольших микросхем (SoC до начала 90х).
Мы же все покупали и Cyrix586, и AMD486 вместо Intel, и не замечали разницы. Т.е. все программы работали. При этом и TI, и AMD, и NEXGEN не пользовались топологическим реверсом ядра Intel. Только функциональным, а какой результат!
И последнее, во всех фирмах сначала делают синхронную модель процессора (что ложится на ПЛИС), а потом разными формальными методами пытаются ускорить ее (и это уже на ПЛИС не ложится).





Ответить с цитированием