Зачем ее искать?
Я нарисовал схему прямо по списку транзисторов, который использует этот симулятор.
На схеме все четко видно. И все правильно.
- - - Добавлено - - -
Я использовал вот это:
https://github.com/gdevic/Z80Explorer
Вид для печати
Зачем ее искать?
Я нарисовал схему прямо по списку транзисторов, который использует этот симулятор.
На схеме все четко видно. И все правильно.
- - - Добавлено - - -
Я использовал вот это:
https://github.com/gdevic/Z80Explorer
я хочу видеть в симуляторе сигнал IFF2. Исходя из вышесказанного, там не все так просто, иначе сигнал можно было бы легко найти сравнением состояния на каждом цикле при выполнении цепочки ei:nop:di:nop.
Проблема в том, что я не знаю как генерируются эти списки цепей и как они связаны с номерами транзисторов, поэтому не могу найти node id, чтобы смотреть состояние сигнала в симуляторе.
В списке известных имен IFF1 и IFF2 нет. Node id для IFF1 я нашел - это node=231. А вот IFF2 найти не получается.
посмотрел, там почти такой-же nodenames.js с таким-же комментарием про Z80Simulator и FindTransistor(x,y):
https://github.com/gdevic/Z80Explore...e/nodenames.js
Правда некоторые node id отличаются (для bc,de,hl и еще по мелочи), видимо файлы генерировались на основе разных датасетов.
Что это за Z80Simulator?
Не знаю)
Я скачивал Z80 Explorer ради списка транзисторов.
В качестве симулятора никогда его не использовал, мне это не нужно, по схеме и так все понятно)
- - - Добавлено - - -
Мои номера транзисторов взяты из Z80Explorer, и только некоторые номера я поменял (подтягивающие транзисторы поменял, т.к. добавлял их позже).
скачал Z80Explorer, после допиливания напильником (у меня Qt version 5.15.8, а версия в гитхабе заточена похоже на Qt 6.7.2), наконец собралась и запустилась на raspberry pi. Запустил, но пока не понимаю как сопоставить номер транзистора и node id. Также пока непонятно как открыть куски схем, как на скриншотах. Вобщем пока непонятно как этим всем пользоваться.
Почитав немного инет, похоже разобрался, теперь могу искать цепи по номеру транзисторов к которым она подключена и смотреть в симуляторе visual6502 :)
На скрине симуляция NOP,EI,NOP, затем активируется NMI:
https://i.imgur.com/8n1u0fk.png
Последний столбик - это состояние NMI линии, перед ним идут два IFF1 и IFF2 с вашей схемы. А перед ними (сразу за опкодом) тот сигнал, что я считал IFF1 :)
Причина проблемы как оказалось в том, что я считал за IFF1 другой сигнал, чем указан на твоём фрагменте схемы.
Интересно, что это за сигнал? Т.к. он весьма точно повторяет состояние IFF1 с твоей схемы, но с задержкой установки.
Он идет на затвор транзистора T4246. Что это?
Куски схем, как на моих скриншотах?
Их нельзя открыть, я их сам нарисовал в P-CAD'е)
- - - Добавлено - - -
Т4246 - это выход U485:
А именно запрет сигнала с IFF1, если текущая команда DI или EI.
Как раз из-за этого цепочка EI блокирует прерывание.
я про скриншоты на сайте Z80Explorer, там открыты окна со схемами. Но как их открыть, скажем для заданного транзистора - не понятно.
А у тебя есть транзисторная схема триггеров где IM режим хранится (со схемы выше)? Интересуют номера транзисторов на выходах триггеров. Ты где-то выкладывал эти схемы?
Кстати интересный момент заметил, после выполнения DI, IFF1/IFF2 все-еще активен до M1.T2 следующего опкода. Может ли прерывание в этот момент сработать? (между DI и следующим опкодом)
https://i.imgur.com/OfQeipW.png
Update: похоже, что не может, из-за вышеозначенного сигнала блокировки (последняя колонка на следующем скрине), который сбрасывает разрешение прерываний прямо сразу после чтения опкода DI:
https://i.imgur.com/2CFjrGo.png
Выкладывал не последнюю версию в этой теме, но ссылка за неделю потухает.
NMOS Z80 - Transistor sketch rev 2.25.pdf
не загружается - кликаешь, страница перезагружается и ничего не происходит.
А в kicad можно сконвертить? На моём компе pdf с крупной схемой врядли получится открыть - процессор слабый и памяти мало. По крайней мере файлы pdf со схемой реверса ВГ93 не открывает - долго думает и зависает.
Любопытно видеть как этот сигнал блокировки (последняя колонка) срабатывает на серии опкодов EI :)
https://i.imgur.com/k8ShAc8.png
Спасибо, скачал, правда посмотреть не получается. В мелком масштабе загружается за 30-40 секунд, но как масштаб увеличиваешь - начинает долго думать, вот все что через пару минут нарисовалось: https://i.imgur.com/ELnnDpG.png
А возможность сохранить в одном из следующих форматов есть? У меня такие варианты импорта в KiCad доступны:
- Altium schematic files (*.SchDoc)
- CADSTAR schematic archive (*.csa)
- Eagle XML schematic files (*.sch)
- EasyEDA (JLCEDA) Std files (*.json)
- EasyEDA (JLCEDA) Pro files (*.epro; *.zip)
- LTspice schematic files (*.asc)
а в формате pcad можешь выложить?
вот пару конвертеров нашел, попробую сконвертить, также вроде пишут KiCad должен и сам P-CAD ASCII files импортировать
https://bazaar.launchpad.net/~kicad-.../pcad2kicadsch
https://github.com/Ibavaresco/PCADSch2KiCAD
https://transfiles.ru/cg2v0
Текущая ревизия.
Думаю, что ошибок в ней нет, просто это еще не финальная по подписыванию, группированию и вылизыванию.
уже лучше, процесс конвертации идет, но падает.А файл не битый? Подозрительно маленький размер 600 кБ по сравнению с бинарным на 18 МБ...
Подебажил немного конвертер, оказалось падал он на каком-то странном коде при попытке распознать единицы измерения mm. Переделал код, конвертер сконвертил, при конвертации есть ворнинги "Warning: KiCAD does not have port "NoAngle_Sgl_Vert", passive model used.". Но открывается :)
Правда схемы почему-то далеко за пределами листа, это так и в оригинале? (В центре - это лист где должна быть схема)
https://i.imgur.com/wD0LzqJ.png
Также вылезла еще одна проблема - номера транзисторов почему-то не сконвертились, они точно в файле сохранились?
https://i.imgur.com/6OGoz8b.png
помоему для моей платформы на ARM Cortex A72 его просто не существует в природе... :)
Вобщем пришлось основательно продебажить и допилить конвертер, добавил генерацию uuid-ов для символов и проекта, чтобы заработали имена (Reference) компонентов. Теперь транзисторы и имена остальных компонентов сохраняются... :)
Правда на некоторых схемах встречаются странные длинные проводники вдоль всей схемы, висящие в воздухе - что это?
https://i.imgur.com/EidM0KR.png
это так в оригинале было?
https://i.imgur.com/we8J79X.png
- - - Добавлено - - -
Кстати, вопрос - для какого варианта Z80 netlist в симуляторе Z80Explorer/visual6502? И есть ли netlist для других процессоров?
Я думаю, эти вертикальные проводники - глюк конвертера.
- - - Добавлено - - -
Переходи на платформуКПССPC :-)
- - - Добавлено - - -
В каком смысле для какого варианта? NMOS или CMOS? Конечно NMOS.
Другие процессоры ты имеешь в виду Z80?
попробую продебажить откуда он берется. Можешь проверить нет ли в PCAD версии на этом месте какого-то висящего провода или чего-то подозрительно похожего?
не могу :)
KiCad хорошо и достаточно шустро работает, т.к. использует ускорение аппаратного графического акселератора. Есть встроенный симулятор.
Да, другие варианты Z80 (NMOS/CMOS, Zilog/ST и т.д.).
В visual6502 похоже NMOS, т.к. OUT (C),0 выводит 0 в порт. Но непонятно - какая именно разновидность. На изображении есть вот такие полигоны с идентификацией:
https://i.imgur.com/AlLCqbv.png
Чем-то напоминает фотку кристалла Z0840004PSC, но есть отличия - нет буквы J в конце, полигоны отличаются. Правда непонятно - эти отличия при оцифровке появились или это другой кристалл?
Есть ли netlist файлы для других вариантов Z80? И какие варианты Z80 удалось идентифицировать?
Также непонятно - из какого источника брались эти netlist? Например в netlist от visual6502 максимальный номер транзистора T8880, а у тебя на схеме NMI_ACK есть транзистор T9087. Почему в netlist нет T9087, но есть соседний T4030? Выход NMI_ACK с T4030 в симуляторе проверил - работает. Однако непонятно почему в netlist нет T9087?
Не похоже, а точно.
- - - Добавлено - - -
Да нет ничего там такого.
- - - Добавлено - - -
Товарищ Nuked с эмураши делал в сентябре нетлист от CMOS версии t84c00. Вроде бы от Тошибы. Но он сразу это все писал на Си, и не в виде транзисторов а в виде логических примитивов. Не знаю, можно ли это вытащить в виде нетлиста.
- - - Добавлено - - -
У меня больше номеров транзисторов, т.к. в нетлисте Z80Explorer'а нет подтягивающих транзистотров. Они находятся в отдельном списке и без номеров. Поэтому я их потом добавлял вручную, и с них набежало еще немало.
так ведь на любом языке удобнее netlist из текстового файла загрузить и уже из него генерировать логические примитивы, си код или что нужно. Есть ссылка на его netlist?
Непонятно откуда все берут эти netlist, чем из чего генерируют?
Получается кроме netlist этой неидентифицированной NMOS разновидности Z80 8400 больше ничего в открытом доступе нет?
В Z80Explorer netlist идентичен visual6502 - файлы полностью идентичны. В visualz80remix используется свой формат перегенерированный в сишный h файл, но судя по начальным и конечным транзисторам похоже тот-же самый netlist, что и в Z80Explorer, полигоны идентификации тоже идентичные, только в Z80Explorer они немного "разъеденные":
https://i.imgur.com/SDPj1BD.png
Хотелось бы найти netlist для другой разновидности Z80.
Сами рисуют по фотографии кристалла, разумеется.
Кто-то рисует в виде транзисторов (как в Z80Explorer), кто-то рисует сразу логическими вентилями.
- - - Добавлено - - -
Не думаю, что есть смысл особо идентифицировать NMOS-версию. По разводке кристалла видно, что это ранняя оригинальная версия кристалла, такая, как у z80-Z0840004PSC.
- - - Добавлено - - -
https://github.com/nukeykt/Nuked-MD/blob/main/t84c00.c
- - - Добавлено - - -
Тот же Nyked делал года два назад такой же сишный вариант с NMOS-версии.
https://github.com/nukeykt/Nuked-MD-...lob/main/z80.v - верилог версия
https://github.com/nukeykt/Nuked-MD/blob/main/z80.c - Си версия
Насколько я понимаю, NMOS весьма разные бывают, например в Zilog NMOS и в NEC NMOS флаги F3, F5 совершенно по разному работают (в Zilog с так называемым регистром Q, в NEC без), однако и то и то NMOS.
- - - Добавлено - - -
я это видел, но это эмулятор, вероятно написанный по результатам изучения netlist, но насколько понимаю - это далеко не netlist симулятор и поведение его может сильно отличаться от реального процессора.
Пока вижу так, что есть только один netlist-симулятор Z80 - это visual6502, все остальное - это его клоны с тем-же netlist. Поправьте, если не прав.
- - - Добавлено - - -
Вот нашел ссылку, где вроде как были снимки кристалла, с которого реверсили netlist для visual6502:
https://web.archive.org/web/20130909...isual6502/z80/
Но файлы уже не доступны. Может кто знает, что там было или у кого-то остались снимки?
Вот остался покоцанный скриншот, но в очень плохом качестве - ничего не видно (исходное изображение было на 400 МБ):
https://static.righto.com/images/z80...d_bus_addr.png
Мне думается первым делом нужно научиться идентифицировать какой именно Z80, чтобы понимать что именно мы тестируем. Без этого все разговоры тут похожи на притчу про слона и слепых людей, которые трогают слона за разные части тела но при этом только какую-то одну из них, каждый описывает слона по-разному, при этом на самом деле ни одно из описаний не является верным. :)
Очень много результатов было приведено, но все они по сути бесполезны, т.к. не содержат ни информации о конкретном процессоре, ни конкретной версии теста которым производилось тестирование. Были упомнания конкретных процессоров с результатами, но тесты которыми производилось тестирование уже недоступны, поэтому эта информация тоже бесполезна. Именно эта информация в связке и является ключевой.
Вижу очень многие слепо ориентируются на netlist симулятор, но при этом неизвестно - для какой именно версии процессора netlist используется. Поэтому, как мне кажется, нужно вначале строго классифицировать информацию о вариантах процессора Z80 и при обсуждении особенностей и результатов тестов указывать как конкретный тип процессора, так и ссылку на конкретную версию тестов и конкретные результаты. Потому, что один и тот-же тест двух ревизий может давать совершенно противоположные результаты (сам это на днях наблюдал для scfccf тестов).
Для начала хорошо-бы определить - что за версия процессора Z80 была использована для реверса netlist в visual6502, т.к. это по сути единственный рабочий симулятор который у нас есть.
Я не думаю, что основные производители NMOS чипов схематехнически отличаются. Отличаются нормы, по которым сделан кристалл, а так же немного трассировка.
Естественно, что из-за этого плавающие флаги (5 и 3) плавают по разному. Это показывает мой Test SCF.
Пока что я не видел никакой разницы в исполнении этого теста по сути. Менялись только пороги, и это видно на картах теста. А суть одинаковая.
Возможно, в некоторых чипах еще что-что подшаманили или переделали. Но пока об этом говорить сложно.
- - - Добавлено - - -
Дай прямую ссылку на покоцанный.
- - - Добавлено - - -
Да, это эмулятор на уровне вентилей на основе нетлиста. Nyked так и пишет.
- - - Добавлено - - -
Все так.
- - - Добавлено - - -
Увеличь, там посередине написано Zilog )
- - - Добавлено - - -
Почему тесты SCF/CCF дают разные результаты я не просто знаю, а абсолютно точно знаю.
И это нормально.
- - - Добавлено - - -
Напиши авторам, спроси, какую точно модель они реверсили.
Понятно, что это одна из классических ранних. Тем более с надписью Zilog.
И не надейся на точность этого симулятора, плавающие флаги он тебе, я думаю, он не покажет, т.к. на этом уровне он не симулирует.
- - - Добавлено - - -
Чтобы просимулировать плавающие флаги, нужно симулировать физические процессы наводок одних проводников на другие, температуру процессора и т.д.
Но этого всего делать не надо. Т.к. все уже давно с ними понятно и протестировано.
в том-то и дело, что поведение флагов разное у разных производителей - у одних (с Q-регистром) оно зависит от состояния флагов предыдущих операций и еще от каких-то плавающих состояний, у других никак не зависит. И оба NMOS, но разных производителей. Ясно, что схемы АЛУ отличаются. Это разные схемы, поэтому не стоит их смешивать и рассматривать как один и тот-же кристалл только потому что оба NMOS.
Да, действительно - это хорошо, я сразу и не заметил эту надпись в симуляторе, она под полигоном grounded diffusion спрятана :)
https://i.imgur.com/RuPVgdY.png
правда что конкретно за чип был всеравно непонятно. У Zilog тоже разные ревизии были.
я тоже знаю - автор теста просто в следующей альфа-ревизии теста поменял неправильный результат на правильный. Однако в результате имеем два теста, казалось бы даже одной версии, но дающие совершенно противоположные стабильные результаты на одном и том-же процессоре, просто за счет того, что ревизия теста отличается... :D
авторов наверное найти уже не получится, последние сообщения от них в ноябре 2015 года про ARM1. Уже почти 10 лет прошло.
SCF/CCF
Также поведение у Zilog разных ревизий отличается для команд LD A,I/R
И OUT (C),0 тоже у Zilog разных ревизий отличается (так называемые NMOS/CMOS)
Возможно еще для каких-то инструкций отличается, слышал из последних новостей что вроде и для DAA есть отличие.
Ты вроде писал раньше, что значения флагов для SCF/CCF зависит от двух шин которые переключаются, подскажи - где эта часть схемы находится? Хочу найти этот пресловутый регистр Q :)
В смысле поменял? Я автор теста Test SCF 9, и ничего я там не менял)
- - - Добавлено - - -
С этой командой все абсолютно понятно, и поведение на всех NMOS процессорах однотипное, отличается только порогами и итоговой битовой картой.
- - - Добавлено - - -
NMOS и CMOS - это разные технологические базы, поэтому и отличается. Это нормально.
- - - Добавлено - - -
Прочитай внимательно всю эту тему, и еще эту тему, тогда 90% вопросов отпадет)
Я про вот этот тест писал: https://github.com/raxoft/z80test/bl...src/z80ccf.asm
с твоим тестом тоже приколы - первая версия что ты выложил удалена, а большинство результатов выложены имено под нее. Я вот смотрел скрины людей, хотел протестить именно на той версии, а не на новой, чтобы сравнить с выложенными результатами. Но теста нет. А для Test SCF 9 результаты сравнивать почти не с чем...
ну как-же однотипное, если разное. Zilog NMOS и NEC NMOS совершенно по разному обрабатывают флаги, тут об этом еще ZjoyKiLer писал. Речь не о нестабильности, NEC NMOS Z80 работает стабильно, но флаги ставит по другому, это другой чип с другой схемой.
Zilog nMOS и NEC nMOS используют разную логику и разные схемы для установки флагов. В NEC nMOS (NEC D780C-1) нет никаких порогов и плавающих битов, он абсолютно стабильно работает, но в отличие от Zilog NMOS флаги F3 и F5 берет из аккумулятора. Именно этот Z80 по дефолту в ZXMAK2 эмулируется.
Итого, я вижу 4 разновидности Z80, поправь если их больше:
1) ZILOG NMOS
2) ZILOG CMOS
3) NEC NMOS
4) ST CMOS
Из них NEC NMOS - самый стабильный и предсказуемый, т.к. использует аккумулятор A вместо пресловутого Q регистра и плавающих шин, хотя и менее распростанен, чем остальные.
Насколько понимаю, netlist в visual6502 от первого варианта (ZILOG NMOS).
В каких из них проявляется нестабильность мне пока непонятно - это какие-то отдельные ревизии или или просто отбраковка одного из вышеуказанных видов. Насколько понимаю, речь о нестабильности идет про специфические ревизии первого варианта.
- - - Добавлено - - -
PS: По поводу схем, подчистил немного код конвертера, в нем неправильно вычислялись размеры листа, плавающий провод после этого вроде исчез.
Этот тест устарел, его я даже не рассматриваю.
- - - Добавлено - - -
Все версии, кроме 9-й были одинаковыми по сути, но менее полными. Поэтому я их и удалил, чтобы не отвлекали на себя внимание.
Большинство результатов (а их десятки) выложены именно под Test SCF 9.
- - - Добавлено - - -
Мои тесты не показывают никакой разницы в принципе работы Zilog и NEC. NEC не противоречит теории, просто другие пороги. Все уходы за пределы порогов в плюс или в минус от той линии, через которую тесты могут визуализировать паттерн шума зависит от технологии изготовления, напряжения питания и много чего еще.
- - - Добавлено - - -
Еще раз повторю, что стабильность в тесте не означает иную схемотехнику.
У меня полно стабильных NMOS'ов других производителей. Причем, как с переходом флага в 1, так и в 0 относительно середины.
- - - Добавлено - - -
Отбрасывая пока CMOS, оставляя только NMOS скажу, что разновидностей гораздо больше. Но все они сделаны ПО ОДНОЙ схеме.
Попробую перечислить классы:
1) NEC JAPAN - D780C - протестирован только один экземпляр, поля теста стабильные 0:0 у @zebest
2) Zilog Z0840004PSC - 4 штуки дают стабильные поля 1:1 в компьютере от @DDp
3 штуки дают стабильные поля 1:0 у @zebest, @SoftLight и @DDp
2 штуки дают паттерн класса A (назовем разные паттерны буквами A,B,C,D и т.д.) у товарища @П321 и @DDp
3) Zilog Z8400APS - 1 штука, поля 1:1 у @haywire
4) ST Z8400AB1 - 1 штука, поля 1:1 у @DDp
1 штука дают поля 1:0 у @zebest
2 штуки дают поля класса A у товарищей @zebest и @creator
5) Angstrem КР1858ВМ1 - 1 штука, поля 1:0 от @creator
1 штука поля класса B от @DDp
6) LH0080B Z80B-CPU - SHARP - 1 штука, поля 1:0 от @zebest
7) Angstrem Т34ВМ1 - 1 штука, поля класса B от @SoftLight
8) GoldStar Z8400A PS - 1 штука, поля класса B от @SoftLight
9) TSL 80H-CPU - 1 штука, поля класса B от @DDp
10) ГДР - 80A-CPU - 1 штука, поля класса B от @DDp
И это только то, что наши форумчане не поленились потестить. Уверен, если бы энтузиастов на реале нашлось побольше, то мы бы имели более интересную статистику.
Как видишь, один и тот же процессор может в одном компьютере и условиях поле с определенным распределением, либо же статическую картинку.
Поэтому всякий стабильный процессор является таковым, пока не поставлен в условия, когда паттерн все же вылезет на поверхность.
Два типа паттернов A и B я обьясняю как раз разными технологическими нормами.
Например, у Т34-подобных размер кристалла 4513x4251 µm
У Angstrem КР1858ВМ1 - 3601x3409 µm
А у ГДРовского - MME - 4950x4720 µm
А схема везде одинаковая.
И не стоит искать различие в схеме через SCF/CCF. Это слишком примитивная команда. И никаких присутствий/отсутствий регистра Q (которым, наверное, все называют кеш регистра F) нет! Он есть везде. Его невозможно ни убавить, ни добавить в разные ревизии чипов, т.к. он очень важен и очень массивен по своей площади.
Вот если на других командах найдется отличие, вот там уже стоит рассмотреть.
Вот тут кое что есть:
http://www.visual6502.org/images/z80/
- - - Добавлено - - -
есть файл 171 мб примерно оттуда же
http://www.visual6502.org/images/z80...2_top_9156.png
даже если они неправильные или не полные, они интересны тем, что к ним были снимки экрана с реального железа.
- - - Добавлено - - -
Однако с NEC вопрос в том, что у них результат зависит не от перехода в 1 или 0 относительно середины, а напрямую зависит от другого регистра.
Вот это самый интересный момент. Есть конкретная версия теста которой тестили и сохранился ли результат в виде снимка экрана? Потому, что без теста и результата который можно воспроизвести и проверить - это информация из разряда одна бабка сказала.
Нет, так нельзя обобщать - это некорректно. Это ошибка обобщения на основе ограниченной выборки. Она связана с тем, что выводы о целом классе объектов делаются на основании данных, полученных только для одной его части, которая не является доказуемо репрезентативной для всего множества.
Результатов с тестами для NEC довольно много, но чем они примечательны - они абсолютно все дают стабильные, повторяемые и прогнозируемые результаты и показывают, что результат берется из аккумулятора, а не из регистра флагов, чем значительно отличаются от ZILOG и ST, у которых источник флагов пресловутый регистр Q.
Если бы были результаты тестов, которые свидетельствуют, что NEC может давать результат не из регистра A, а из Q, тогда можно было-бы пробовать делать такие обобщения, пока таких результатов нет (и сомнительно, что они вообще возможны) таких обобщений делать нельзя.
Он есть на твоей схеме? Как его найти?
- - - Добавлено - - -
отлично, правда открывает еще один вопрос - это ошибка, что полигон в виде буквы T оцифрован как полигон в виде буквы V? Или это снимок с другой ревизии кристалла?
https://i.imgur.com/gJyDhpK.png https://i.imgur.com/4Lmujgh.png
Есть в этой теме, или в теме про SCF. Мне лень искать, поищи, результат выкладывал @zebest.
- - - Добавлено - - -
Хорошо, не буду спорить по сто раз о том, что не может быть значительного отличия в схемах у разных NMOS) А наличие/отсутствие кэша регистра F - это сверхбольшое отличие)
- - - Добавлено - - -
Конечно он там есть. У меня же полная схема.
Но ты его долго будешь собирать по кускам, т.к. в транзисторном виде он очень большой.
Смотри страницу ALU.
На ней большие блоки, каждый из них относящийся к конкретному биту кеша флагов.
Ищи по /LBUS0, /LBUS1 и т.д.
- - - Добавлено - - -
Но при этом они не указали маркировку на корпусе, откуда вообще кристалл был взят(
- - - Добавлено - - -
В общем, посравнивал я фотку кристалла с теми, что находил в инете, и она один в один совпадает с Zilog Z8400APS.
Поэтому будем считать, что нетлист мы имеем именно с него.
Мои пять копеек. ИМХО.
Я не думаю что каждый кто производил z80 делал СВОЮ топологическую реализацию. Хотя бы чисто из экономических соображений. "Просто взяли топологию и натянули на своё производство" - дёшево и сердито (и быстро). Если кто и делал изменение топологии так это только "авторы". Для есть правда исключения - то ли "кролик" толи ещё кто (кто был "однотактовым") (если не сильно склероз). Ну а в современном мире своих топологий как грязи - тот же марвелл использует сей проц в хабах(свитчах ?).
Согласен. Судя по всему так и есть.
Поэтому можно условно считать все NMOS одинаковыми по топологии, за исключением каких-то специально правленых кристаллов, и то, если это будет не просто выявлено в тестах, но и теоретически обосновано.
Теоретическое обоснование SCF полностью охватывает все текущие разновидности NMOS и обьясняет их единой моделью.
Кстати говоря, долгое время думали, что CMOS стабильны, пока на тестах Test SCF 9 в некоторых экземплярах не выявили такое же распределение шума, как и на NMOS. Что может говорить лишь о том, что CMOS это простая конвертация NMOS на новую технологию без какого-либо изменения принципа работы. Либо же изменения минимальные.
однако снимки кристаллов кардинально отличаются, сравните:
- http://www.visual6502.org/images/z80...x_top_2000.png
- http://visual6502.org/images/Z84C00/...x_1b_1600w.jpg
- https://ic.onidev.fr/map/toshiba/T6A...4C00-CORE.html
Как может быть одна топология, если вся разводка полностью другая?