А у тебя сколько в итоге вышло триггеров по входу сигналов?
А у тебя сколько в итоге вышло триггеров по входу сигналов?
"... жизнь удалась, если найдётся кто-нибудь, кто заберёт с помойки твои книги и инструменты, когда ты умрёшь". (c) marta_ketro
Любой компьютер, в котором стоят резисторы, компьютером может называться с натяжкой. (с) Д. Михайлов
Syntal, я не понял вопрос. Уточни-перефразируй?
Больше игр нет
Ты же сэмплируешь все входные сигналы, какова глубина сэмплируемой последовательности?
"... жизнь удалась, если найдётся кто-нибудь, кто заберёт с помойки твои книги и инструменты, когда ты умрёшь". (c) marta_ketro
Любой компьютер, в котором стоят резисторы, компьютером может называться с натяжкой. (с) Д. Михайлов
Syntal, так одним словом и не ответишь, к тому же боюсь соврать. Для RA/CA я держу 4 отсчета, то есть у меня 4 семпла ШАП держатся. Все стробирующие сигналы проходят через "антидребезг" с памятью на 8 отсчетов: если состояние было стабильное и изменилось, запоминается новое состояние и держится таким, пока не будет сочтено за новое стабильное. Простое семплирование, как обсуждалось несколько страниц назад, ни в каком виде не давало стабильного результата. Может быть я не все способы испробовал.
После того, как получаю низкий уровень на CAS, на следующий клок выдаю сигнал валидности декодированного адреса (вот это я подвинул вчера, чтобы было сразу: это дало положительный сдвиг, но не исправило всех бед). Это одно из условий формирования команды чтения SDRAM.
Поскольку CAS может обгонять ЧТЗУ, а может опаздывать, все это проходит через еще один автомат, который в зависимости от того, что пришло первым, ждет второго и выдает на выходе собственно команду чтения SDRAM.
Больше игр нет
Любопытная идея. Только вот как быть в другом случае, когда CAS приходит позже — адрес никак не угадать. Ну и вообще сложно, особенно учитывая то, что речь идет о разных клоковых доменах.
К сожалению я не знаю, какие именно ситуации приводят к сходу с рельс. Наверное исходя из того, что mdos20 работает, а T-72 рассыпается, можно сделать какой-то вывод. Как обычно, добавление SignalTap-a все портит, так что на его данные я могу опираться только иногда и очень косвенно.
Больше игр нет
Вобще-то если пришел чтзу, но cas еще нет тоже можно начинать читать. Часть адреса с ras, часть с шавв, остальное будет с cas, когда он придет. Тут я фактически повторяю старую идею, которую ты отверг, но вдруг теперь ты созрел.
Упомяну еще один (очевидный) вариант специально для mdos20. Теперь он не очень нужен, но пусть будет перечислен. Можно 16 Кб A000-DFFF из микродосной области (23h в 10h) держать в циклоне. fdd при этом, как я понимаю, не влезет, но mdos20 fdd и не нужен.
"Отверг", страсти-мордасти! Конечно я не хочу так делать, потому что есть большая разница между нормальным читаемым адресом и совершенно неперевариваемой кашей векторовских RA/CA. Моск же сводит от перетасовки бит с добавленной инверсией. Но если никаких других способов не останется, придется сделать так.
Больше игр нет
А нельзя в "защите от дребезга" учитывать предсказания вероятности появления RAS/CAS ?
Ну к примеру выявить, что ожидаемый сигнал может появляться только в определённом такте машинного цикла...
Я сейчас сам не знаю чего написал...
Но я о том, что может есть какая-то закономерность/зависимость появления ожидаемого сигнала, от фазы/цикла/такта или ещё чего, когда приход сигнала можно с большей вероятностью идентифицировать как "достоверный", а не ждать ещё "4 отсчета" - для уверенности...
KTSerg, они не для уверенности держатся 4 отсчета. Это просто выравнивание времени прихода сигналов. Например, CAS детектировали, знаем, что опоздали на клок, значит взяли значение ШАП 1 клок назад.
Предсказывать это вряд ли.
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)