Спасибо, ссылки в первом посте поправил. Если что не качается, то можно просто браузером ходить в каталог и смотреть актуальные файлы. Собственно я этот FTP как бекап использую, часто там даже промежуточные результаты хранятся.
Спасибо, ссылки в первом посте поправил. Если что не качается, то можно просто браузером ходить в каталог и смотреть актуальные файлы. Собственно я этот FTP как бекап использую, часто там даже промежуточные результаты хранятся.
Последний раз редактировалось Vslav; 07.03.2017 в 16:35.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Мда... похоже, меня заставляет это учить HDL.
Вопрос - какова была технология перевода транзисторной схемы в HDL?
Тут нет никакой технологии. Видим комбинационную схему - пишем assign, видим защелку - пишем always. Нужно всего лишь знать эти два волшебных слова. Узнать про эти волшебные слова можно из кучи хороших книжек. Лично я их узнал из "The Verilog® Hardware Description Language" Thomas & Moorby, в ней все толково изложено, с примерами и простыми практическими заданиями.
А если серьезно - то текстовая форма описания схем сильно выигрывает у схемотехнической, пока эти все проводочки на схеме отследишь и в кучку соберешь. А так - сразу прочитал формулу - и усе.
Но это так и не раскрыло, как был осуществлен перевод?
Просто потранзисторно описывая все в VHD?
"Вах, зачэм грызлы? Застрэлылы!" (c)
Рассмотрим фрагмент схемы (картинки сохранены на форуме, в аттаче можно покликать):
По факту это функция 3ИЛИ-НЕ. Фрагмент можно описать так, "в лоб":
Или так:Код:wire syn_set; wire bus_free; wire adr_req; wire wrq; assign sync_set = ~(~adr_req | wrq | ~bus_free);
Формулы равнозначны, но мне вторая форма записи нравится больше.Код:assign sync_set = adr_req & bus_free & ~wrq;
Или такой фрагмент:
Превращается:
Это описание не слишком точное, оно не совсем корректно отображает работу RS-триггера когда оба входа активны (надо было бы писать два отдельных уравнения для out и ~out), но для наших целей сойдет, поскольку данное сочетание считаем запрещенным. Два крайних правых транзистора к триггеру отношения не имеют - это буфер.Код:reg out; wire rcmd_set; wire io_cmdr; always @(*) begin if (rcmd_set) out <= 1'b0; else if (io_cmdr) out <= 1'b1; end
D-триггер:
Превращается:
Тут тоже два крайних транзистора справа просто буферные.Код:reg out; wire ir_stb; wire [1:1] b; always @(*) begin if (ir_stb) out <= b[1]; end
Вот так и живем, пару недель по паре часов вечером и все 18 страниц невпихуемой схемы превращаются во вменяемый текстовый файл![]()
Последний раз редактировалось Vslav; 07.03.2017 в 22:02.
Рекомендация - пока вопрос к руководству форума об уменьшении картинок в делопроизводстве, выложить картинки на сторонний ресурс, чтобы люди могли их видеть)
- - - Добавлено - - -
Т.е. фактически это вручную описание схемы, без какой-либо автоматики.
Хм... тут и ошибиться недолго)
Или, говоря иначе, потранзисторная схема максимально близка к оригиналу, а HDL версия пропущена через изрядный человеческий фактор. И если хочется сохранить максимальную аутентичность, переводя схему, скажем в логические блоки, то лучше обращаться к потранзисторной.
Последний раз редактировалось Titus; 07.03.2017 в 21:26.
Ну матрицы я перевел автоматически утилитой, это примерно 7 страниц из 18. Ошибки в матрицах ловить очень сложно, там логика слабо проглядывается, вон микрокод ВМ1 сколько анализируется, даже специальный инструментарий пишется.
Тут такое дело - изначально разработчики рисовали процессор в логических вентилях (и у нас даже есть эта оригинальная схема), потом перевели схему в транзисторы по стандартным схемотехническим приемам (прообраз библиотеки), потом потюнинговали кое-где задержки (обычно буферы/инверторы добавляли), и усе. Мы восстановили транзисторную схему (она тоже с оговорками), распознали эти схемотехнические приемы, перевели в исходные вентили и написали их на HDL. Очень точно, это же цифра, логические функции задаются полностью однозначно, функцию типа 2И-НЕ испортить сложно. Современное HDL-описание ничуть не хуже схемы и полностью повторяет изначальный функциональный замысел разработчиков процессора. Угу, есть некоторая неэквивалентность описания схеме, типа работы RS-триггера в запрещенных комбинациях, но в критичных местах, где это (хотя и мало)вероятно - тоже учитывалось в описании. Но основная логика повторена очень точно. Кстати, по оригинальной схеме в логических вентилях сразу тоже сложно сказать как она будет работать при запрещенных комбинациях, тут только на транзисторы смотреть. Вот я смотрел и писал HDL-описание с учетом поведения именно транзисторов, а не вентилей.
Оригинальный процессор уже не повторить полностью. Даже если иметь фабрику. Нужно использовать старый техпроцесс и линейку оборудования тех лет, со всеми его технологическими особенностями. Даже если взять старые оригинальные фотошаблоны и новый техпроцесс - уже не факт, что получится идентичный рабочий процессор. ОК, берем новый техпроцесс - под него нужны новые шаблоны. А их уже так просто не сделать на основе транзисторной схемы - топология собирается из HDL-описания при помощи фабричных библиотек, в которых транзисторы уже объединены в свои проверенные и протестированные группы. В-общем, HDL-описание по отреверсенной схеме - это на сегодня максимально приближенная к оригинальной задумке инкарнация. Если оставаться реалистом, то круче уже не сделать.
Когда делали Китайский 1836ВМ3 в 1997 г.- по ТО и Э3 1806ВМ3, по китайским библиотекам рисовали года так 2 коллектив человек так 5.
Потом, т.к. камень нужен был вовсе не для школоты и ЧПУ - цикнули, "делайте только 100% совковое". К 2005 г. сделали ОП, тираж наладили к 2007 г.
Т.е., видимо, лет так 5 рисовали библиотеки и отлаживали процесс, потом 2 года патчили результат под техпроцесс.
Для тех, кто в теме - 5 лет хитрить с 1-2 транзисторами и поссорится со всеми возможными поставщиками ПМК -это норма...
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU
Транзисторы встречаются разные, они топологически отличаются, соответственно у них параметры разные, это опущено. На оригинальной схеме типы транзисторов указаны. Кое-где встроенные конденсаторы не нарисованы. На схеме ВМ3 явно есть скрытые диоды, которые по фото просто не вытащить. Но на понимание логики работы все эти элементы не влияют, поэтому меня это не парит. Как выше написал - точно повторить оригинал малореально, поэтому я ограничиваюсь функционалом.
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)