попробую продебажить откуда он берется. Можешь проверить нет ли в PCAD версии на этом месте какого-то висящего провода или чего-то подозрительно похожего?
не могу![]()
KiCad хорошо и достаточно шустро работает, т.к. использует ускорение аппаратного графического акселератора. Есть встроенный симулятор.
Да, другие варианты Z80 (NMOS/CMOS, Zilog/ST и т.д.).
В visual6502 похоже NMOS, т.к. OUT (C),0 выводит 0 в порт. Но непонятно - какая именно разновидность. На изображении есть вот такие полигоны с идентификацией:
Чем-то напоминает фотку кристалла Z0840004PSC, но есть отличия - нет буквы J в конце, полигоны отличаются. Правда непонятно - эти отличия при оцифровке появились или это другой кристалл?
Есть ли netlist файлы для других вариантов Z80? И какие варианты Z80 удалось идентифицировать?
Также непонятно - из какого источника брались эти netlist? Например в netlist от visual6502 максимальный номер транзистора T8880, а у тебя на схеме NMI_ACK есть транзистор T9087. Почему в netlist нет T9087, но есть соседний T4030? Выход NMI_ACK с T4030 в симуляторе проверил - работает. Однако непонятно почему в netlist нет T9087?
Последний раз редактировалось ZXMAK; 21.12.2024 в 14:57.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Не похоже, а точно.
- - - Добавлено - - -
Да нет ничего там такого.
- - - Добавлено - - -
Товарищ Nuked с эмураши делал в сентябре нетлист от CMOS версии t84c00. Вроде бы от Тошибы. Но он сразу это все писал на Си, и не в виде транзисторов а в виде логических примитивов. Не знаю, можно ли это вытащить в виде нетлиста.
- - - Добавлено - - -
У меня больше номеров транзисторов, т.к. в нетлисте Z80Explorer'а нет подтягивающих транзистотров. Они находятся в отдельном списке и без номеров. Поэтому я их потом добавлял вручную, и с них набежало еще немало.
так ведь на любом языке удобнее netlist из текстового файла загрузить и уже из него генерировать логические примитивы, си код или что нужно. Есть ссылка на его netlist?
Непонятно откуда все берут эти netlist, чем из чего генерируют?
Получается кроме netlist этой неидентифицированной NMOS разновидности Z80 8400 больше ничего в открытом доступе нет?
В Z80Explorer netlist идентичен visual6502 - файлы полностью идентичны. В visualz80remix используется свой формат перегенерированный в сишный h файл, но судя по начальным и конечным транзисторам похоже тот-же самый netlist, что и в Z80Explorer, полигоны идентификации тоже идентичные, только в Z80Explorer они немного "разъеденные":
Хотелось бы найти netlist для другой разновидности Z80.
Последний раз редактировалось ZXMAK; 21.12.2024 в 15:31.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Сами рисуют по фотографии кристалла, разумеется.
Кто-то рисует в виде транзисторов (как в 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 МБ):
Мне думается первым делом нужно научиться идентифицировать какой именно Z80, чтобы понимать что именно мы тестируем. Без этого все разговоры тут похожи на притчу про слона и слепых людей, которые трогают слона за разные части тела но при этом только какую-то одну из них, каждый описывает слона по-разному, при этом на самом деле ни одно из описаний не является верным.
Очень много результатов было приведено, но все они по сути бесполезны, т.к. не содержат ни информации о конкретном процессоре, ни конкретной версии теста которым производилось тестирование. Были упомнания конкретных процессоров с результатами, но тесты которыми производилось тестирование уже недоступны, поэтому эта информация тоже бесполезна. Именно эта информация в связке и является ключевой.
Вижу очень многие слепо ориентируются на netlist симулятор, но при этом неизвестно - для какой именно версии процессора netlist используется. Поэтому, как мне кажется, нужно вначале строго классифицировать информацию о вариантах процессора Z80 и при обсуждении особенностей и результатов тестов указывать как конкретный тип процессора, так и ссылку на конкретную версию тестов и конкретные результаты. Потому, что один и тот-же тест двух ревизий может давать совершенно противоположные результаты (сам это на днях наблюдал для scfccf тестов).
Для начала хорошо-бы определить - что за версия процессора Z80 была использована для реверса netlist в visual6502, т.к. это по сути единственный рабочий симулятор который у нас есть.
Последний раз редактировалось ZXMAK; 21.12.2024 в 18:43.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Я не думаю, что основные производители NMOS чипов схематехнически отличаются. Отличаются нормы, по которым сделан кристалл, а так же немного трассировка.
Естественно, что из-за этого плавающие флаги (5 и 3) плавают по разному. Это показывает мой Test SCF.
Пока что я не видел никакой разницы в исполнении этого теста по сути. Менялись только пороги, и это видно на картах теста. А суть одинаковая.
Возможно, в некоторых чипах еще что-что подшаманили или переделали. Но пока об этом говорить сложно.
- - - Добавлено - - -
Дай прямую ссылку на покоцанный.
- - - Добавлено - - -
Да, это эмулятор на уровне вентилей на основе нетлиста. Nyked так и пишет.
- - - Добавлено - - -
Все так.
- - - Добавлено - - -
Увеличь, там посередине написано Zilog )
- - - Добавлено - - -
Почему тесты SCF/CCF дают разные результаты я не просто знаю, а абсолютно точно знаю.
И это нормально.
- - - Добавлено - - -
Напиши авторам, спроси, какую точно модель они реверсили.
Понятно, что это одна из классических ранних. Тем более с надписью Zilog.
И не надейся на точность этого симулятора, плавающие флаги он тебе, я думаю, он не покажет, т.к. на этом уровне он не симулирует.
- - - Добавлено - - -
Чтобы просимулировать плавающие флаги, нужно симулировать физические процессы наводок одних проводников на другие, температуру процессора и т.д.
Но этого всего делать не надо. Т.к. все уже давно с ними понятно и протестировано.
в том-то и дело, что поведение флагов разное у разных производителей - у одних (с Q-регистром) оно зависит от состояния флагов предыдущих операций и еще от каких-то плавающих состояний, у других никак не зависит. И оба NMOS, но разных производителей. Ясно, что схемы АЛУ отличаются. Это разные схемы, поэтому не стоит их смешивать и рассматривать как один и тот-же кристалл только потому что оба NMOS.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Да, действительно - это хорошо, я сразу и не заметил эту надпись в симуляторе, она под полигоном grounded diffusion спрятана
правда что конкретно за чип был всеравно непонятно. У Zilog тоже разные ревизии были.
я тоже знаю - автор теста просто в следующей альфа-ревизии теста поменял неправильный результат на правильный. Однако в результате имеем два теста, казалось бы даже одной версии, но дающие совершенно противоположные стабильные результаты на одном и том-же процессоре, просто за счет того, что ревизия теста отличается...
авторов наверное найти уже не получится, последние сообщения от них в ноябре 2015 года про ARM1. Уже почти 10 лет прошло.
SCF/CCF
Также поведение у Zilog разных ревизий отличается для команд LD A,I/R
И OUT (C),0 тоже у Zilog разных ревизий отличается (так называемые NMOS/CMOS)
Возможно еще для каких-то инструкций отличается, слышал из последних новостей что вроде и для DAA есть отличие.
Ты вроде писал раньше, что значения флагов для SCF/CCF зависит от двух шин которые переключаются, подскажи - где эта часть схемы находится? Хочу найти этот пресловутый регистр Q![]()
Последний раз редактировалось ZXMAK; 21.12.2024 в 20:26.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)