Нечего добавить. Хватит слов, приступим к делу!
Вид для печати
Нечего добавить. Хватит слов, приступим к делу!
Пофиксил:
- проблема ненадежного выхода из RESET при длительном (на несколько тактов F2), подправил генерацию t1f1
- при длительном F2 не рестартовало нормально после снятия HOLD, подправил
- немного упростил шину данных, так как флаги теперь на схему анализа перехода транслируются напрямую (а не через шину данных), лишние выдачи флагов на шину можно убрать.
- в модуль vm80a добавил синхронизацию фазовых сигналов F1/F2
- потестировал на модели с разными схемами тактирования, работает
- потестировал на DE0, работает
Схоронил, зазеркалил, скомпилировал, запустил. Неплохой результат уже!
http://savepic.ru/5635929.png
http://savepic.ru/5633881.png
http://savepic.ru/5623641.png
Еще бы чуть-чуть сбросить весу и цены бы ему не было. Как закончится эксесайзер - отпишу, но пока все ОК.
При принудительной установке READY, HOLD и INT выигрываем всего 10ЛЕ. Не густо. Я думаю, что в проекте есть места, где можно получить выигрыш без поломки совместимости. Нужно только поискать.
Ну усё, данная модель ревизии "j" все тесты прошла по чесноку.
http://savepic.ru/5607270.jpg
Занимаюсь анализом схемы. Есть занятные места. Возможно таки получится похудеть не потеряв внешней и внутренней совместимости с оригиналом.
Продолжаю преобразовывать транзисторную схему ВМ80А. Скажу сразу, я заменил латчи на D триггеры, т.к. в рамках данной схемы их поведение одинаково (проверял на симуляции) а ПЛИС не очень любят латчи как таковые. Таким образом, схеме не требуется внешняя синхронизирующая частота, все на честных F1 и F2. Так же, были убраны лишние двойные инверсии (особенность транзисторного дизайна) в процессе восстановления логики. Я уже почти закончил первый лист, где тактовые и цикловые формирователи. Вот:
http://savepic.ru/5822866m.jpg
На данный момент схема занимает 36LE и способна взлететь на:
http://savepic.ru/5823890.png
Очень интересно, как это будет выглядеть в итоге. Даже сейчас видны мультиплексоры и некоторые другие элементы на "россыпухе", которые можно свернуть в один элемент для наглядности. Но это будет уже вторым заходом, после подтверждения правильности схемы в тестах.
Хм - на таких частотах клон специалиста - сделает карту 3d ускорителя :) куда уж там о бедном синклере говорить :)
А вот когда будет одно питание и один клок - будет совсем хорошо. Вернее питание то уже и так одно.
Исправил несколько неточностей в схеме и добавил еще несколько блоков. Еще немного и первый лист будет полностью готов. Затем примусь сразу за 3й, чтобы инструкции хавало и можно было уже проверить, потому как на втором там АЛУ, а на четвертом регистры.
Прошу прощения, что влезаю со своим любопытством - сколько примерно корпусов выйдет, если собирать аналог ВМ80 на 155 серии?
сделайте на 74HC* серии в смд корпусах и с питанием 3.3в - для применения с плисами )
ну так по идее можно попробовать задать в симуляторе задержку ттл чипов и по идее при синтезе он покажет максимальную частоту дизайна.
В любом случае 155 серия - во первых много жрет. во вторых - очень тормозная.
Заменить то на 74HC можно но человек задавал вопрос именно про 155 серию.
Это у ВАС там в эмуляторе-симуляторе можно менять на 74HC... - это СОВЕРШЕННО другое чем 155, логика якобы таже но входы совсем другие и внутренне другое и выходы другие. Менять можно только логически а в реальных схемах их припутывать друг-дружке к 74ALS нельзя ...
На К155 серии будет работать на частоте 8 МГц без проблем. Да и кушать не так уж и много.
Потому, что во всех справочниках пишут, что предельная частота работы всех микросхем, за исключением некоторых, как К155ЛА12 (5 МГц), 10...30 МГц, и обычно тут же добавляют, что при проектировании цифровых приборов следует иметь в виду, что фактическое быстродействие триггеров и счётчиков превышает указанное в 1,5...2 раза.
Задержки, это уже другое, не считал. Но с 2...3 МГц К155 логика уж точно справится.
50 корпусов не так много.
Из спортивного интереса развожу вручную в Спринт-лейауте видеоконтроллер Микро 80. Причем развожу, чтобы выглядело под ретро - никаких дорожек между ногами микросхем, дорожки шириной 1мм - можно такую плату вручную маркером нарисовать и вытравить без фоторезиста и лазерного утюга. Практически готово, надо чуть переделать - забыл про конденсаторы по питанию.
Там 45 корпусов, так что 50 корпусов это реально.
---------- Post added at 09:30 ---------- Previous post was at 09:26 ----------
А по быстродействию - вообще не знаю какой в этом интерес - увеличивать быстродействие ВМ80. На эту тему мне интересней другое - какое получится быстродействие на 561 серии если собрать.
Собирал подобное, были критические места, где требовалось считать нс и распараллеливать логику, иначе не работало. К тому-же ещё важно было правильно развести сигнальные и питающие шины с блокировочными конденсаторами. Процесс отладки макета затягивался бывало на месяцы, т.к. приходилось разбирать и переделывать неработающие блоки. В общем геморное и неблагодарное это занятие, поэтому и перешел на универсальное и в разы практичное - FPGA.
А вообще то, многое зависит от человека и его цели. Просто многие ещё так и остались в 80-х, когда в аппаратуре доминировали три вида микросхем: ТТЛ, КМОП и ЭСЛ :) и интересно только долгое тра...
50 корпусов всего - конечно не много а вот 50 корпусов только самого процессора - дофига. потребление около 1.5 ампер минимум вместо 200 мА за готовый чип и еще и размер платы нифига себе.
Проще и дешевле по всем параметрам( потреблению, габаритам и прочему) купить готовый процессор.
Единственно в случае реализации на CPLD надо посмотреть максимальную нагрузку чипа - с целью при необходимости добавить на плату переходник - регистры для усиления нагрузочной способности.
Если уж делать на 74xxx, то я бы применил 74HC и 74HCT (для наружных цепей), но корпусов будет много, 50 - это вы, ребята, большие оптимисты :), мне видится 150+ (давать прогнозы неблагодарное занятие, так что это просто мнение, скорее всего ошибочное). На TTL/TTLS такую большую схему сделать можно, но потреблять будет ой-ей. Когда-то давно для похожей большой TTL схемы проектировался импульсный источник на 1 кВт, 5В и несколько каналов в сумме дававших 200А - при испытаниях на КЗ оно пинцет расплавило в лужицу.
Если кем-то будет разработана печатная плата и будет продаваться набор для сборки "процессора ВМ80А в тумбочке" - то я бы вероятно купил для школьного кружка. Только светодиодов побольше, побольше :)
И я тут подумал - у меня все равно будет делаться КСМ (контроллер символьного монитора от ДВК/Э-60) на FPGA, так что 580-ый модуль мне тоже пригодится. Когда дойдут руки до КСМ-а, доделаю процессор - будет одна тактовая и шина Wishbone снаружи, так же есть интересная идея для турбо/обычного режима, сохранится растактовка. Такое уже можно и на OpenCores выложить, но это все нескоро.
А я ориентируюсь на данные указанные в справочниках на К155 и К555 серию. Которые совпадают с реальным потреблением, проверено на практике, а частота для этих серий находится в диапазоне до 10 МГц, на больших частотах могут быть проблемы, хотя некоторые экземпляры работают и на больших частотах.
Но если учитывать сказанные выше частоты, до 10 МГц, то никаких заоблачных потреблений не будет, и можно ориентироваться в среднем 2А на каждые 50 шт. микросхем. И это с большим запасом.
Итак, на чем мы остановились?
BarsMonster, так работает же проц: http://zx-pk.ru/showthread.php?t=24003
Кстати, а только мне интересно что же внутри настоящей ULA от Спектрумов 48/128?
Никто еще доноров не предлагал?
Сильно загружен, нет времени пока продолжать проект по отрисовки логической схемы по транзисторной. Надеюсь через пару-тройку дней выделю время для этого. Верилог модель действительно работает. http://zx-pk.ru/showthread.php?t=23349&page=25 Зеркало исходников: http://hwm.us.to/vm80/
Тоже использовал ядро vm80a.v для своей реализации Радио-86РК на ПЛИСине.
Машинка тикает исправно.
HardWareMan, я тоже хотел бы запустить экзорциста, в твоей реализации функции вывода на экран сделаны стандартно, по векторам эркашным?
Можно тебя попросить сделать файлик .RK с экзорцистом? :v2_blush:
Вот, сделай как надо. Рабочий адрес как у оригинала: 0100Н.
Воть....
Переписал адреса для РК86 32кб.
http://savepic.org/6177517.jpg
Звук пришлось отключить, иначе с ума спрыгнешь от жужжания.
Изменяющийся мусор внизу - вроде как стек. Боюсь, не потрут ли его выводимые строки текста...
---------- Post added at 19:32 ---------- Previous post was at 19:02 ----------
Таки мешается стек. На ALUOP NN наехало на "мусор" и по результатам выдало ошибку CRC.
Еще разок передвинул, ниже экрана.
Теперь всё спокойно тикает.
Осталось только поделиться со страждущими.
Да жду пока закончит. Уже давно мучает ALUOP(ABCDEHLХРЕНВАМВСЕМ) :)
---------- Post added at 21:31 ---------- Previous post was at 21:20 ----------
Вот эксисайзер, для Радио-86РК 32кб ОЗУ.
---------- Post added at 23:12 ---------- Previous post was at 21:31 ----------
Йес!
http://savepic.org/6187554.jpg
Можно идти спать.