Нашел у себя такую платку. Не относится ли она тоже к PDP-шным компам советским?
Скрытый текст
[свернуть]
Нашел у себя такую платку. Не относится ли она тоже к PDP-шным компам советским?
Скрытый текст
[свернуть]
Последний раз редактировалось Titus; 18.04.2020 в 17:21.
Красиво провтыканный транзистор. Приводил к тому что при инкременте регистровой пары (2 по 8 бит) всегда был перенос в старший байт, в итоге стартовый вектор читался по адресам {24, 426}
hobot(18.04.2020)
То же самое может быть и с реальной микросхемой, транзистор может работать, но при каком-то напряжении питания или температуре глючить.
Но тут мы все видим глазками, все глюки можно выловить. Главное, что я со схемой разобрался, долго искал ошибку в Верилоге, потом решил-таки что пропущена где-то цепь, подсветил две подозреваемые, на топологии они высветились - опа, а вот тут перекресток у них есть, смотрим фотку - а там нет транзистора, бинго.
- - - Добавлено - - -
Исправлена новая порция ошибок:
- 1611: старшие биты регистров r[x][7:4] записывались с игнорированием фазы с1, была пропущена пара скобок begin/end
- 1611: неверное была написана цепь переноса для младшего разряда ALU
- 1611: регистры r[c:f] неверно шарились при адресации посредством G-индекса
- 1611: был пропущен транзистор в матрице управления вносимым битов переноса, в итоге для некоторых инструкций старший байт в регистровой паре всегда инкрементировался
- lsi: таймер Q-bus не снимал запрос по аборту зависшего цикла, в итоге ИК1 оставался всегда в сбросе после события зависания шины
Сейчас читает вектор 24, но не переходит, в итоге выводит что-то в консоль при выпадении в ODT.
hobot(18.04.2020)
hobot(18.04.2020)
![]()
- - - Добавлено - - -
Нашел еще ошибку в формировании строба записи в регистр трансляции. И очевидно не отрабатывается сигнал RNI (Read Next Instruction). Там этот микрокод умеет упрыгивать неожиданно по контрольным точкам. То есть ты смотришь в листинг - там какие-то команды написаны, и думаешь что они обычно одна за другой будут выполняться. Но тут в PLA срабатывает компаратор адреса и неожиданно случается локальный писец - оно упрыгивает в слабопредсказуемое место - адрес назначения зависит от кучи параметров - собственно адреса точки, регистра трансляции, статуса регистра трансляции, входов прерываний. Надо полный листинг нарабатывать, с указанием таких адресов точек, без этого листинг не анализируемый.
Последний раз редактировалось Vslav; 19.04.2020 в 01:09.
hobot(19.04.2020)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)