Это получается уже почти зачатки конвейерного принципа выполнения команд!:)
Но тогда почему-то во многих других командах как-бы и не наблюдается такого!? Нужно конечно подумать над некоторыми более детально!
Вид для печати
там искать совсем несложно. сложнее конвертор написать в *.net файл
@Vslav сказал, что в .net смысла нету, т.к. он конвертируется только в .pcb.
А нам нужно конвертировать в .sch.
Да полно же разных имплементаций? А разных реализаций Спектрумов на ПЛИСах - пруд пруди, игрушки работают, все отлично.
Это понятно, я просто рассказал как получить представление что такое "схема вытащенная автоматом из топологии".
Просто открой любую мою транзисторную схему, тот же vm80a для простоты, сгенерируй .net и посмотри что мы можем поиметь с топологии z80 "автоматом"
Не факт, не зря я накидываю топологию маленькими понятными кусочками в схему - по сотне-другой за раз связанные транзисторы разгребаются в схеме "на раз". Когда я поторопился и в конце накинул в схему 1801ВМ3 непонятную остающуюся тысячу сразу, то проект встал - оказалось эту 1000 одновременно тяжело разгребать. Ну я это преодолею, но это затратно.
.eco это пикадный формат для аннотации, он позволит внести компоненты и связи в схему. Должно получится сгенерировать из списка цепей z80, могу попробовать за вечерок на питоне скрипт наваять. Но ручной этап приведения схемы в читабельный вид это не исключит.
- - - Добавлено - - -
А киньте, пожалуйста, прямую ссылку на файл с цепями z80, глянем конкретнее что там.
Для любителей точной эмуляции есть большая разница, просто игрушки работают отлично, или же эмуляция 100% и потактовая.
https://github.com/gdevic/Z80Explore...r/transdefs.js
Правда, я еще не смотрел, что там за что отвечает. Кроме названия транзистора.
- - - Добавлено - - -
Но там есть еще и другие списки, которые тоже надо подключить. Названия цепей и т.д.
ну это (js) вариант от 6502.org. мой из Си-ного исходника
Это то, что подгружается в Z80 Explorer. Т.е. то, что нам и нужно для конвертации в схему.
- - - Добавлено - - -
Вроде разобрался с форматом транзисторов:
- - - Добавлено - - -Код:Пример:
['t2063',1346,371,2,[278,293,3721,3732],[1,1,1,1,165],false,],
#0: t2063 - название транзистора в схеме
#1, 2, 3: 1346, 371, 2 - id цепей, к которым подключен транзистор
#4, #7: 278, 3732 - координаты левого верхнего угла прямоугольника транзистора. (y отсчитывается от низа экрана)
#5, #6: 293, 3721 - координаты правого нижнего угла прямоугольника транзистора
остальные параметры вроде бы в Z80 Explorer'e не используются, поэтому не знаю, что означают.
Координаты прямоугольника транзистора заданы в пикселях.
Размер каждого слоя 4700x5000 пикселей.
В Си-ом варианте , площади используются для вычисления (ну я так понял) насколько сильный сигнал получается на транзисторе. Ещё там кажется было понятие "транзистор подтяжки"(ИМХО).
По идеи оный софт (текстовый вариант) можно приспособить для эмуляции(симуляции??) любой логической схемы на транзисторах (полевиках онли??).
Далее, какие есть файлы с данными, которые надо подключить:
Названия цепей. С ними все понятно.
https://github.com/gdevic/Z80Explore...er/netnames.js
Три файла с аннотациями, с частично повторяющимися данными. С ними тоже все понятно.
Annotation invert values for buses
Adding annotation for reset logic
Adding annot_internals with less abstract annotations
- - - Добавлено - - -
Не знаю, в каком порядке, но думаю, что элементарно понять, если посмотреть, к чем подключаются шины питания и земли.
- - - Добавлено - - -
Для потранзисторной схемы нам особо не важно, на сколько сильный сигнал (на сколько мощный транзистор). Да и транзисторы подтяжки тоже отдельно выделять не надо.
- - - Добавлено - - -
Вот у нас что земля, что питание:
Код:// Pads
vss: 1,
vcc: 2,
Похоже у нас есть все чтобы импортировать за пару часов это в схему pcad-2004. Сделать мне или сам хочешь?
Как скажешь, чуток в Питоне и регулярках попрактикуюсь тогда :)
- - - Добавлено - - -
Enjoy - https://www.1801bm1.com/files/retro/Z80/
Там же выложена питоновская программа аж на 45 строчек :)
Но я в питоне нуб, поэтому просьба особо не глумиться и ногами не пинать!
- - - Добавлено - - -
В схему надо будет ручками добавить внешние пины, что-то в репозитории описание пинов и цепей не нашел
Engineering Change Orders
Ну как... Прижимаешь ЛКМ - выделяешь окно - отпускаешь ЛКМ - оно захватит все что в окне - по границе или что внутри. Тип объектов можно маскировать в Block Selections...
Поставь меньшие размеры шрифта PortStyle - тогда порты уменьшаться и не будут перекрываться.
- - - Добавлено - - -
Ох оно там вплотную и накидало, я сразу не заметил, но может и к лучшему - выдергивай из кучи транзисторы которые нужны и собирай схему, а куча пусть так и будет. Можешь размер листа увеличить как ты делаешь и все попытаться упаковать на один.
- - - Добавлено - - -
Я выложил z80-rev1 - там транзисторы раздвинуты чуть, в сетке 200 и уменьшен PortStyle чтобы ты мог растащить
а координаты от масштабировать расположение транзисторов ?
Нажми 'Y' и переименуй во что хочешь.
Просто весь импорт ECO происходит всегда на лист с таким именем, если его нет - то схематик его создает.
Я так три раза ECO переименовал и продолжал импорт с автоматическим созданием нового листа.
- - - Добавлено - - -
Ну парни, я брался только в схему закинуть :)
Мне такая технология через ECO неизвестна, оно не кушает координаты при вставке.
Если вам настоящего секса хочется, то курите PCAD DBX
нетуж , мне нобелевка за такой изощрённый секас - не нужон.
;-)
сорри. а где каталог pcad?
Нифига себе, я даже не знал, что в PCAD'е есть такой интерфейс)
Вот что значит @Vslav давно в PCAD'e )
Давно ли я вфутболеPCAD'е?
https://s00.yaplakal.com/pics/pics_o...7/11830772.jpg
суровая схема.
последний пикад в пользовании был 4.5
@Vslav, что-то мне не нравится, что вырисовывается. Какая-то неведомая фигня) Это что за технология? Где верхние транзисторы, где транзисторы подтяжки?
Z80 - Optimized - rev 01.sch
Я думаю мы неправильно проинтерпретировали transdefs.js.
Например ['t2066',2,791,2,[1474,1497,1436,1462],[1,1,1,1,279],true,].
Если делать как ты сказал, то у него две цепи номер 2 - это VCC.
На затворе и на стоке. Но если посмотреть на топологию - это типичный n-MOS depleted load. И там в конце у него true.
В-общем, ты зря сказал что важны имя транзистора и только первые три числа в строке :)
В transdefs нет depleted load транзисторов.
Я взял цепь NET01284, в файле на нее прицеплено 2 транзистора, потом я открыл Z80 эксплорер, нашел эту цепь, посмотрел топологию, нашел этот pull-up на топологии (ессно, он физически там должен быть), а вот транзистора в базе там НЕТ. Поэтому мы все сделали правильно, а вот в исходных файлах на верхние транзисторы просто забили. Поэтому можно попытаться к каждой цепи еще ручками прицепить depletion load, для моделирования сойдет, но схему так нормально не нарисуешь :(
Я залез в исходники плюсовые, в первой группе координаты прямоугольной области транзистора, а что во второй - тоже думаю что не используются.
Авот интересно, здесь такая же топология проекта??
https://floooh.github.io/visualz80remix/
Там сверху "Layers" написано. Это что, шестислойный дизайн у Z80 ?
программки запускает, маленькие и медленно, но наглядно :) Хоть скинсейвер делай...
ну это как бы "новая" перепевка 6502.org
Однако я его ещё не видел.
Там в комментах говорится, что за основу взят (предположительно) Z8400, а не оригинальный (с 6 "лишними" транзисторами).
В каком смысле лишними?? Которые подтяжки, или сов сем лишними?? А тр-ры подтяжки входят в общее количество 8500?
Т.е. фактически они опустили все транзисторы подтяжки на +5 и все? Т.е. фактически мы просто можем считать, что база каждого транзистора подтянута на +5?
С одной стороны это удобнее, т.к. число транзисторов для разбора уменьшилось.
С другой стороны не получится ли так, что в схеме будут какие-то неопределенности? Или такого быть не может?
- - - Добавлено - - -
@Vslav, ты можешь сгенерить еще раз .sch, но увеличив вертикальные промежутки между рядами транзисторов, чтобы можно было сохранить стандартные размеры названий портов, но при этом они не налезали друг на друга. Пусть даже это будет уже не 3 листа, а 5.
В том то и дело, что эта подтяжка стоит на выходе, а не на базе. То есть - одна подтяжка на цепь. И то не на каждую - есть цепи между транзисторами по схеме И, есть цепи с прямым push-pull. С таким выбрасыванием можно логически моделировать с игнорированием состояния некоторых цепей, но полную схему восстановить нельзя.
А кто знает что они еще выбросили кроме pull-up?
Там оно не так просто, координаты неуправляемы, оно накидывает по сетке, ставишь большую сетку (1000 и больше) - оно начинает вообще слепливать, ставишь маленькую 200 - получаем то, что уже есть. Я выложил вариант 2 с сеткой 800, посмотри, лучше не получается.
Я думаю, что то, что они выкинули на симуляции не сказывалось. А стало быть можно восстановить работоспособную схему. Чисто теоретически.
- - - Добавлено - - -
Да, вроде теперь лучше.
Плохо, что транзисторы накиданы несвязно друг с другом, и чтобы собрать цепь, надо по всем листам по одному транзистору вычленять.
стесняюсь спросить. нарвусь на грубость, как с zx на вм80. один придумал тест z80 в вакууме, а теперь нид потранзисторная модель в вакууме? чем корка Т80 плоха? может стоит все патчи к Т80 в одном месте собрать с комментариями? по делу.
p.s. ху из z80 я очень даже в курсе и как он работает.