Важная информация

User Tag List

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 43

Тема: Качественный (параноидальный) тест ОЗУ

  1. #21
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В схемках XT и первых PS/2 была. А по сути: микра ставится параллельно остальным, кроме данных. Вход микры подключаем к выходу схемы XOR всех бит данных (т.е. в нашем случае 8XOR). Выход на XOR с тем же 8XOR. Если будет неравенство - то генерировать NMI и желательно защелкнуть адрес возникновения.

  2. #22
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересно узнать побольше про реальную программу, на которой происходит сбой. Большая-ли она? Реально-ли её дизасемблировать, расчленить, составить на её основе тесты?

  3. #23
    Member
    Регистрация
    05.09.2010
    Адрес
    Киев
    Сообщений
    90
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Интересно узнать побольше про реальную программу, на которой происходит сбой. Большая-ли она? Реально-ли её дизасемблировать, расчленить, составить на её основе тесты?
    Программа - shell.rk из комплекта ПО SD контроллера от vinxru
    Есть исходники на C и ассемблере. Я ее поковырял немного, чуть сузил круг поиска, но всерьез внутрь пока не лез - 12кб бинарник.

    Нашел тут микруху 155ИП2 - как раз занимается контролем четности. C NMI сложновато в Микро-80, поэтому при обнаружении ошибки можно сбрасывать сигнал READY и на инженерном пульте смотреть адрес
    vlad6502.livejournal.com

  4. #24
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, можно и так. Вполне себе.

  5. #25
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Смотрю в SHELL.ASM и вижу команду INR M.
    Можно её проверить, на удачу:
    берём память в аккумулятор.
    Делаем цикл 16 раз.
    В цикле 16 команд INR M.
    Сравниваем аккумулятор с памятью.
    Если NZ, то печатаем HL, A и (HL).
    Переходим на следующую ячейку.

    Как-бы тест на скорость. А то обычно тесты сначало пишут, потом ждут, потом проверяют.

  6. #26
    Member
    Регистрация
    05.09.2010
    Адрес
    Киев
    Сообщений
    90
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    еще в самом начале я пробовал полный перебор значений ячеек - там как раз было циклическое запись/чтение значений каждого байта

    но, для очистки совести, можно попробовать Ваш вариант
    vlad6502.livejournal.com

  7. #27
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    INR M отличается от LDA/STA/LDAX/STAX/MOV M тем, что это RMW команда. А это значит, что тайминги будут следующие: 4-3-3. 3 такта между чтением и записью. Самое короткое из возможных. Т.е., я хочу сказать, что надо пробовать разные методы чтения и записи.

  8. #28
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,057
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нужно гуглить в интернете научные труды на тему тестирования динамической памяти. Там много разных нюансов. Например, некоторые ошибки проявляются только если одновременно идет изменение уровня на многих (всех) линиях адреса или данных. Это приводит к появлению помех по питанию, и иногда (особенно на дефектных микросхемах) такие помехи приводят к ошибкам.

    Много дельных мыслей высказал MM, спасибо. И я поддержу сказанное им. От разводки платы зависит 90% работоспособности схемы. И для микросхем ОЗУ это тоже актуально. Очень критична разводка питания. Нужно много блокировочных конденсаторов разных номиналов, поближе к выводам питания микросхем, чтобы сглаживать пики потребления тока как на низких, так и на высоких частотах. Дорожки питания должны быть толстыми и вести прямо к источнику питания. По возможности еще и короткими.

    При разводке питания удобно представить себе, что микросхема является источником импульсов тока на своих выводах питания. И нужно эти импульсы тока замкнуть наиболее коротким путем, чтобы они не распространялись по схеме. И словосочетание "наиболее коротким" следует понимать очень серьезно. Каждый лишний миллиметр дорожки - зло.

  9. #29
    Member
    Регистрация
    05.09.2010
    Адрес
    Киев
    Сообщений
    90
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В начале этого топика я как раз давал ссылку на диссертацию «Исследование методов проверки работоспособности микросхем памяти РЭА», там большой раздел по алгоритмам тестирования ОЗУ

    Вчера попробовал тест от DDp . Успех можно назвать частичным - тест просто завис Когда я перекомпилировал его в область памяти статического ОЗУ - заработал, но проблемную РУшку так и не обнаружил.

    Идея с INR M - интересна, попробую.
    vlad6502.livejournal.com

  10. #30
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для дополнительной парноидальности можно заполнить память нулями, прогнать по 256 раз INR M, потом по 256 раз DCR M.
    Заполнить память FF-ами, опять прогнать.
    Заполнить память FF-ами, прогнать.
    Заполнить память AA-ами, прогнать.
    Заполнить память 55-ами, прогнать.
    Заполнить память рандомом, прогнать.
    Инвертировать память, прогнать.

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. тест-ПЗУ
    от Egal в разделе Память
    Ответов: 18
    Последнее: 27.08.2010, 13:12
  2. Тест
    от Пётр в разделе Программирование
    Ответов: 1
    Последнее: 11.08.2007, 10:28
  3. Качественный эмуль по MS DOS
    от randomize usr 0 в разделе Эмуляторы
    Ответов: 9
    Последнее: 07.03.2005, 15:53

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •