Детектирующая тестовая последовательность для магистральных структур в системах с оперативной памятью

Бесплатный доступ

Предлагается тестовая последовательность обнаружения и разделения неисправных состояний подсистемы «магистраль - внешняя память» вычислительного ядра БЦВМ. Сжато излагаются также некоторые новые подходы и принципы, использованные при построении алгоритма диагноза.

Тестовая последовательность, диагностика отказов, оперативная память

Короткий адрес: https://sciup.org/147154756

IDR: 147154756

Текст научной статьи Детектирующая тестовая последовательность для магистральных структур в системах с оперативной памятью

Проверки, которые производятся после изго-товления модулей бортовой цифровой вычисли-тельной машина (БЦВМ) и в ходе их испытаний, показали, что 70‒90 % всех неисправностей при-ходится на вычислительное ядро . Эти неисправно-сти подразделяются на три группы: 1) дефекты демультиплексированной параллельной магистра-ЛИ ( дпм), или, что то же самое, неисправности * связей между процессором и внешней памятью; 2) дефекты кристаллов внешней памяти; 3) дефек-ты, относящиеся к работе микропроцессора. Доля магистральных дефектов среди всех дефектов вы-числительного ядра составляет 85‒90 %. Традици-онно для тестирования подсистемы «магистраль ‒ внешняя память» применяются программы, ори-оптированные преимущественно на проверку са-мих кристаллов памяти [1, 2]. Эти тесты обнару-живают факт неработоспособности подсистемы в целом, в том числе и из-за дефектов связей, однако являются малоинформативными с точки зрения определения неисправного состояния. Практиче-ски такая потребность существует именно в отно-шении магистральных дефектов, а также разделе-ниягрупп 1и 2.

Объект диагностики . Вычислительное ядро модуля состоит из процессора PROCESSOR, логи-ки формирования сигналов управления MCLC, магистральных шин адреса ADDRESS, данных DATA и управления CS, статической оперативной памяти произвольного доступа SRAM и какого-либо типа постоянной (энергонезависимой) памя-ти с параллельным доступом ROM (рис. 1). Шина управления, как правило , расщепляется путём ло-гического комбинирования процессорных стробов CS c некоторыми разрядами адреса или битами MACB регистра ввода-вывода. В простейшем слу-чае логика MCLC может отсутствовать, тогда сиг-налы управления памятью являются процессор-ными стробами в чистом виде.

Рассмотрим типовые временные диаграммы сигналов демультиплексированной синхронной магистрали, имеющей 16-разрядную шину адреса и 16-разрядную шину данных D[0…15] (ZZZZ обозначает пассивное состояние шины) (рис. 2). Во время конвейерных циклов выборки команды или чтения(read)/записи(write) операндов из/в внешней памяти процессорный контроллер маги-страли по сигналам дешифратора команд уста-

Рис. 1. Функциональная схема вычислительного модуля БЦВМ

навливает адрес A[0…15], мультиплексируя одну из внутренних адресных шин процессора наружу, и уровни сигналов управления, заставляя память выставить данные или стробируя запись данных из процессора в память. Назначение сигналов управ-ления : WE ‒ запись (по возрастащему фрону), RD ‒ строб чтения, R/W ‒ селектор чтения/записи, STRB ‒ общий строб доступа по магистрали, DS ‒ строб доступа к адресному пространству данных, CLKOUT ‒ тактовая частота магистрали (в данном примере 12,5 МГц).

Допустим, что для физической адресации яче-ек SRAM 32K*16 использованыA[0…14], а разряд A15 используется как сигнал управления для фор-мирования строба доступа к микросхеме, напри-мер, согласно уравнению CE=A15 OR DS. На вы-воды WE (write enable) и OE(out enable) микросхемы SRAM заведены процессорные стробы WE и RD.

Сигналы и классы неисправностей . Все сигналы диагностируемого модуля разбиваются на пять функциональных групп: 1) CS ‒ линии пита-ния микросхем подсистемы и образующие по форме временной диаграммы шесть подгрупп сиг-налы управления памятью, к которым относятся процессорные стробы, тактовая частота магистра-

ЛИ, управляющие адресные разряды, биты регист-ров I/O доступа к памяти MACB и производные перечисленных сигналов; 2) A ‒ адресные разряды магистральной шины, участвующие в физической адресации ячеек памяти; 3) D ‒ линии данных; 4) F ‒ внешние сигналы постоянного уровня; 5) P ‒ периодические несинхронизированные с CLKOUT внешние сигналы, производные непро-цессорных генераторов, если они есть в устройст-ве (AG на рис. 1). Группы 1, 2 и3 образуют маги-стральные сигналы (I), группы 4и5 ‒ внешние (E).

Физическими дефектами нашего объекта яв-ляются : -ду собой (SH-I1-I2-…) или со сторонними сигна-лами (SH-I-E), обрывы сигнальных линий и отсут-ствие питания микросхем памяти и управляющей логики (BR-I), общие для подсистемы дефекты логических элементов MCLC и сигнальных трак-ТОВ (SPF-CS), дефекты переключения сигналов (SWF-I), вызванные высоким сопротивлением сиг-нальных цепей, и дефекты кристаллов памяти (MCD). Все возможные одиночные неисправности подсистемы принадлежат к одному из следующих классов , выделяемых соответственно функции сигнала(-ов):

Рис. 2. Временные диаграммы магистральных сигналов (write-write-read)

  • 1)    BR-CS ‒ обрывы сигналов управления и питания от микросхем SRAM;

  • 2)    SH-CS-A ‒ замыкания CS с линиями A;

  • 3)    SH-CS-D ‒ замыкания CS с линиями D;

  • 4)    SH-CS-F ‒ замыкания CS с внешними ли-НИЯМИ постоянного уровня F;

  • 5)    SH-CS-P ‒ замыкания CS с периодически-ми сигналами P;

  • 6)    SPF-CS ‒ статические дефекты тракта фор-мирования сигнала CS;

  • 7)    SWF-CS ‒ дефекты переключения CS;

  • 8)    BR-D ‒ обрывы разрядов данных;

  • 9)    SH-D-A ‒ замыкания между линиями дан-ных и адреса;

  • 10)    SH-D-D ‒ замыкания линий данных ;

  • 11)    SH-D-F ‒ замыкания разрядов данных c линиями постоянного уровня;

  • 12)    SH-D-P ‒ замыкания линий данных с сиг-налами группы P;

  • 13)    SWF-D ‒ дефекты переключения разрядов данных;

  • 14)    BR-A ‒ обрывы разрядов адреса;

  • 15)    SH-A-A ‒ замыкания между линиями ад-реса;

  • 16)    SH-A-F ‒ замыкания линий адреса c ЛИ-НИЯМИ постоянного уровня;

  • 17)    SH-A-P ‒ замыкания с сигналами группы P;

  • 18)    SWF-A ‒ дефекты переключения разрядов адреса;

  • 19)    MCD ‒ дефекты кристалла SRAM.

Класс образуется одним или несколькими ви-дами неисправностей. Вид есть типовое связанное искажение уровней определённых сигналов, в ряде случаев сопровождающееся и нарушением работы электронных схем, для которых эти сигналы явля-ются входными . Например, ВИДЫ SH-WE-A[x], SH-RD-A[x], SH-CE-A[x], SH-A[15]-A[x], SH-DS-A[x] и SH-CLKOUT-A[x] составляют класс SH-CS-A. Искажение уровней вызывается либо дефектами сигнальных линий, либо кристальными дефектами памяти (MCD) и элементов магистральной логики (часть дефектов SPF). Как будет показано ниже, приведённая функциональная классификация в ос-новном совпадает с разбиением видов дефектов на ранжированные группы и характеризует влияние дефектов на обмены с памятью с точки зрения про-цессораи, следовательно , способ их обнаружения.

Логические типы магистральных дефек-тов.В [3] было показано, что использование толь-ко классических OR- и AND-моделей замыканий и константных моделей обрывов [4] недостаточно для описания поведения подсистемы, так как в неисправном состоянии она может утрачивать свой детерминизм. Поэтому логические типы за-мыканий были дополнены неопределённым со-:

  • S0 (suppressing 0) ‒ устанавливается потенци-ал , всегда воспринимаемый приёмником как ус-тойчивый лог. 0 (может быть и выше стандартного Uвх0max);

S1 (supressing 1) ‒ устанавливается потенциал, всегда воспринимаемый приёмником как устойчи-вая лог. 1 (может быть и ниже стандартного U 1min);

INDTL (indetermined level) ‒ результирующий потенциал приёмником воспринимается неустой-чиво : . 1, то как лог. 0 в течение одного цикла или в разных циклах.

Аналогичным образом логические типы об-:

H1 (hanging 1) ‒ вход микросхемы ведёт себя так, как будто на него подана постоянная лог. 1;

H0 (hanging 0) ‒ вход микросхемы ведёт себя так, как будто на него подан постоянный лог. 0;

HSSW (hanging self-switching input) ‒ вход самопроизвольно переключается из-за наводок в кристалле, воспринимается неодинаково при об-ращениях с разными наборами на шине адреса, чтении и записи или изменяется в течение одного обращения.

Модели неисправностей . Пусть

Z =Т(X, Yn‒1, n) ‒ некоторая форма представления передаточной функции исправного дискретного последователь-ностного объекта диагностики (E0), где X ‒ набор входных переменных в цикле n; Yn‒1 ‒ значение внутренних переменных после фронта записи в элементы памяти в цикле n‒1; Z ‒ выходные функции в цикле n после определённого времени установки выходов. Легко определить, что эта функция для подсистемы «магистраль ‒ оператив-ная память» :

Dr[A](n) = Dm[A’](n) = Dp[A](i = max(0, n‒1)), где Dr[A](n) ‒ данные , читаемые процессором в n-цикле из адреса A; Dm[A’](n) ‒ содержимое ячейки с физическим адресом A’, однозначно соотносимым с магистральным адресом A; Dp[A](i = max(0, n‒1)) ‒ данные, выставляемые процессором на магистраль в i-цикле записи в па-мять по адресу A, i-цикл является последней запи-сью по адресу A.

Объект, находящийся в i-неисправном со-стоянии (Ei), которому соответствует одиночный дефект1 Si, реализует передаточную функцию Zi = Тi(X, Yn‒1, n). Функция Zi с входным набором Xt = {A, Dp} и, возможно, значением внутренних переменных Yn‒1 описывает элементарную про-верку лt, результат которой принято обозначать Rti. Такие функции с необходимыми наборами Xt (об их выборее далее) составлялись в виде синтак-сических диаграмм записи-чтения для каждого вида магистрального дефекта и его логического типа [3]. Синтаксическая диаграмма является тек-стовым представлением поведения объекта, кото-рое получается, если вместо временных диаграмм исправных сигналов (см . рис . 2) подставить диа-граммы неисправных и проследить работу памяти в этих условиях.

Методика разбиений . Если множество до-пустимых одиночных неисправностей объекта S, а множество их сочетаний ‒ C (SСC), то фактиче-ская j-неисправность подсистемы в общем случае представляется Cj = Sk + Sl + … + Sp, причём на дефекты Sk…Sp не налагается ограничений по чис-лу и видовой принадлежности. Особенностью сис-тем с неоднородными сигналами является то, что детектирующие проверки для некоторого подмно-жества неисправностей могут быть осуществлены только при отсутствии некоторых других их под-множеств. Для выбора последовательности прове-рок, обнаруживающих любые неисправности при наличии произвольных их сочетаний, нами пред-ложен принцип разбиения на ранжированные под-множества и маскирования дефектов подчинённых рангов.

Принцип состоит в следущем :

S группируется в непересекающиеся ранжирован-ные подмножества Ft (t ‒ ранг подмножества) та-ким образом, чтобы любой одиночный дефект подмножества текущего ранга можно было обна-ружить при отсутствии дефектов старших рангов и независимо от наличия или отсутствия любых де-фектов из подмножеств подчинённых рангов. Са-мым старшим рангом является первый, для него все остальные подмножества, имеющие ранг t > 1, являются подчинёнными. Критерием включения простого дефекта Si в подмножество старшего ранга Ft из исходного F’, ранг которого принима-ется равным t+1, является возможность физически осуществить и однозначно интерпретировать та-кую элементарную проверку, которая при наличии любых других дефектов ранга t+1 даст результат Rt (ответ исправного объекта) при отсутствии Si и Rti * Rt ‒ при его наличии.

Таким образом, сначала берется исходное множество F’=S, t=1 и выделяется F1, затем t=2, F’=S‒F1 и уже из нового F’ выделяется группа дефектов F2 и так далее вплоть до последнего класса или вида дефектов. В результате примене-ния этой процедуры исходное множество разбива-ется на v подмножеств Ft (t = 1, 2, …, v) так, что S=F1 и F2 и… Fv. Каждому подмножеству Ft соответствует свой этап теста, предназначенный для обнаружения и определения дефектов только из этого подмножества. Этапы теста выполняются поочерёдно в ранговом порядке соответствующих подмножеств, начиная с самого старшего (t=1) И кончая младшим (t= ). Основная тестовая после-довательность состоит из детектирующих прове-рок для каждого подмножества Ft; в неё не вклю-чаются части этапов, выполняющих окончатель- ное разделение и определение дефектов внутри подмножества. Иными словами, это путь по графу алгоритма диагноза от состояния «полностью не-определённо» до «исправно».

Главная тестовая последовательность. Ал-горитмы детектирующих проверок каждого этапа представлены в виде Фортран-подобного псевдо-кода; для примера взята простая подсистема, ОПИ-санная в начале .                                 :

Адреса ячеек SRAM: AD0=0000h ‒ нижней (нулевой), ADF=7FFFh ‒ верхней;

RPT nw: X0—>(AD0)…nw сопряжённых запи-сей числа X0 по адресу AD0;

RPT nr: A[I=0…nr‒1]<—(AD0)…nr чтений в массив A из адреса AD0;

sdc (settle down cycles) ‒ количество циклов, по прошествии которых считается, что дефекты переключения перестают проявляться.

Операторы вида IF(Rti#Rt) GOTO FIND_xx | FAILURE_xx ‒ переход на подпрограмму опреде-ления неисправностей внутри детектированного подмножеств Ft (c локализующими проверками | без дополнительных проверок).

EAED: F1={SPF-CS, BR-CS, SH-CS-A, SH-CS-D, BR-D, SH-CS-F, SH-CS-P, SH-D-F, SH-D-P}. Выявление дефектов F1 производится последова-:

  • 1)    после многократной записи по адресу A0 RAM числа D0 это же самое число D0 правильно читается процессором, начиная с цикла sdc+1;

  • 2)    после многократной записи по адресу A1 RAM числа D1 это же самое число D1 правильно читается процессором, начиная с цикла sdc+1 .

Входные переменные обеих проверок связаны следующим образом: A1=NOT A0, D1=NOT D0, A0 и D0 берутся произвольно . Инверсные значе -НИЯ Aи Dp обеспечивают обнаружение замыканий SH-CS-A и SH-CS-D с любыми подгруппами CS, а инверсия данных, кроме того, ‒ также и с BR-D и SH-D-F. Многократное чтение необходимо для достоверного обнаружения замыканий INDTL-ТИПОВ, а также замыканий CS иD с сигналами P.

Любые замыкания разрядов адреса между со-бой типа SH-A[x](1)-A[y](0)(…-A[z]), а также с другими сигналами SH-A[x](0)-D[y](1), SH-A[x](1)-F(0), SH-A[x]-P и обрывы адреса BR-A[x] могут приводить уровень на этих разрядах Aв зону неопределённости (неустойчивости). В таком случае неизвестен не только определённый адрес попадания, что само по себе не представляет осо-бого неудобства, но и то, постоянен ли адрес в пределах цикла. Непостоянство адреса в пределах цикла приводит к практически непредсказуемой порче как записываемых, так и читаемых данных ‒ в том смысле, что случайным образом изменяются все разряды D. Маскирование подобных дефектов делается применением наборов {A0=0000h, D0=0000h} и {A1=7FFFh, D1=FFFFh}, полностью исключающих возможную неустойчивость из-за SH-A[x]-A[y](…-A[z]) и SH-A[x]-D[y].

EAED:

  • -    RPT nw: 0000h—>(AD0)..............(1)

  • -    RPT nr: A[I=0…nr‒1]<—(AD0)...(2)

  • -    YA=A[sdc]

  • -    DO I=sdc+1, nr‒1

  • -    YA=YA OR A[I]

  • -    END DO

  • -    IF(YA#0000h) GOTO FAILURE_AD0_X0

  • -    RPT nw: FFFFh—>(ADF)..............(3)

  • -    RPT nr: A[I=0… nr‒1]<—(ADF)...(4)

  • -    YB=A[sdc]

  • -    DO I=sdc+1, nr‒1

  • -    YB=YB AND A[I]

  • -    END DO

  • -    IF(YB#FFFFh) GOTO FAILURE_ADF_XF

    Для избежания влияния возможной несла-бильности адреса из-за BR-A, SH-A-F и SH-A-P, а также для маскирования SWF применена много-кратная запись, которая помещает значения 0000h (1) и FFFFh (3) во все ячейки, куда они в принципе могут попасть. Многократное чтение позволяет определить, получаем мы значения 0000h и FFFFh из памяти устойчиво или нет. Результаты каждой элементарной проверки ‒ массивы, получаемые в (2) и (3), ‒ подвергаются поэлементным логиче-ским OR и AND, результаты которых позволяют за одно сравнение обнаружить неисправность. OR собирает хотя бы раз полученные по каждому раз-ряду лог.1, AND ‒ лог.0; любое из этих событий означает Rit # Rt. Если в (2) получено только зна-чение 0000h, а в (4) ‒ FFFFh, то это значит, что дефекты F1 отсутствуют :      N0 по адресу A0 и

  • N1 по адресу A1 были правильно записаны и мно-гократно считаны из памяти, за исключением, возможно, sdc первых циклов.

CSSW: F2={SWF-A15, SWF-DS, SWF-CE}. Дефекты переключения сигналов управления вы-зывают провалы обращения к памяти после пере-: в течение какого- строб CE не достигает уровня лог. 0, и хотя бы первое чтение будет произведено с пассивной ши-ны . Элементарные проверки этого этапа представ-ляют собой следующую последовательность дей-ствий :                              ‒ установка логических элементов MCLC в нерабочее состоя-ние изменением одного из входных сигналов, A15 ИЛИ DS, и чтения при отключенном режиме (для сохранения уровня второго сигнала) или ожидание длительностью N магистральных циклов, установ-ка проверяемого сигнала в активное состояние и однократное чтение в этом же цикле. При этом все линии физической адресации памяти A[0…14] во время выполнения проверки необходимо поддер-живать в неизменном уровне, чтобы SWF-A не повлияли на эксперимент. Если известно значение VPB, читаемое с пассивной шины данных ‒ допус-ТИМ , это FFFFh, ‒ следует ограничиться чтением из адреса, значение в котором отличается от VPB(AD0).

CSSW:

  • -    RPT nr: YA<—(8000h)   !инвертированный

бит A15, чтение с пассивной шины

  • -    YB <—(AD0)

  • -    RPT nr: YC<—(AD0(PS)) !обращение по тому же адресу, но в пространстве кода

  • -    YD <—(AD0(DS))        !снова чтение из

пространства данных

  • -    IF((YB*0000h) AND (YD*0000h)) GOTO FAILURE_SW_CE

  • -    ELSE IF (YB*0000h) GOTO FAILURE_SW_A15

  • -    ELSE IF (YD*0000h) GOTO FAILURE_SW_DS

Стробы RD и WE переключаются в калщом цикле чтения и записи, поэтому SWF-RD и SWF-WE неотличимы от их статических дефектов и обнаруживаются на предыдущем этапе EAED.

EAND: F3={SH-A[x]-D[y]}. Данный класс за-мыканий обнаруживается записью по AD0 числа Dp[FFFF] И по ADF ‒ Dp[0000]. Правильный ре-зультат при S0 и S1 ни в какой из этих двух комби-наций получить невозможно . Логические типы за-мыкания при чтении и записи могут отличаться, но если при записи тип S0 или S1, то отличие не играет никакой роли. A[x] и D[y] при записи имеют одина-ковый и определённый уровень (лог. 0 ИЛИ лог. 1), и происходит одно из двух:

пишется в неправильную ячейку , либо в правиль-ную ячейку пишется число с искажённым разрядом D[y]. В первом случае мы прочитаем из адреса ADF ИЛИ AD0 прежнее значение, FFFFh ИЛИ 0000h, на-ходящееся там после прохождения EAED, во вто-ром ‒ читаем число с искажённым D[y]. В обоих случаях здесь при чтении Ar[x]=Dm[y].

Для INDTL-типа возможно разное логическое восприятие одного уровня двумя разными приём-никами,т.е. при записи фактический адрес Aw[x] может быть не равен D[y] (в случаях S0 и S1 это невозможно). Поэтому необходимо рассматривать запись по A[x]=0 разряда D[y] и нулём, и едини-цей, то же самое и для A[x]=1 ‒ возникают альтер-нативы, не сводящиеся к простой комбинации чте-ния и записи при S0 и S1. Однако применяя обе комбинации A-D, можно c достаточной опреде-лённостью утверждать, что INDTL также не даст правильного значения хотя бы в одной из них.

Кроме целевого SH-A-D, к неправильной за-писи может привести SWF-A, а также нестабиль-ность адреса из-за BR-A=INDTL, SH-A-F=INDTL, а также из -за SH-A-P. Поэтому для их маскирова-ния поступаем здесь аналогично EAED ‒ делаем запись многократной (1) и (3).

EAND:

  • -    RPT nw: FFFFh—>(AD0)(1)

  • -    YF <—(AD0)(2)

  • -    RPT nw: 0000h—>(ADF)(3)

  • -    Y0<—(ADF)(4)

  • -    IF((YF*FFFFh) OR (Y0*0000h)) GOTO FIND_ADSHB

ADDRSTB: F4={BR-A=INDTL, SH-A-F=INDTL, SH-A-P}.                                (1)(3)

EAND,

AD0,

FFFFh,              ,- пись при обращении по ADF, - число 0000h. Устойчивость адреса, а именно тот факт, что запись

-ходят из одной и той же ячейки (не путать с правильностью адреса ) определяется так: один раз (1, 3),        -

, (2, 4).

ADF              FFFFh,

AD0 ‒      0000h,‒

.- ном случае из другой возможной ячейки будет

,

(1) (3) EAND.‒ изменяющимся уровнем на входах микросхемы ‒;

EAA. только устанавливаются флаги нестабильности , A0_INSTB

AF_INSTB.

ADDRSTB:

  • -    A0_INSTB=.FALSE., AF_INSTB=.FALSE.

  • -    RPT nr: YA (ADF) !              SWF-A

  • -    FFFFh (ADF)..............................(1)

  • -    RPT nr: A[I=0…nr‒1] (ADF).....(2)

  • -    YA=A[sdc]

  • -    DO I=sdc+1, nr‒1

  • -    YA=YA AND A[I]

  • -    END DO

  • -    IF(YA FFFFh) AF_INSTB=.TRUE.

  • -    RPT nr: YA (AD0) !              SWF-A

  • -    0000h (AD0)...............................(3)

  • -    RPT nr: A[I=0…nr‒1] (AD0).....(4)

  • -    YA=A[sdc]

  • -    DO I=sdc+1, nr‒1

  • -    YA=YA OR A[I]

  • -    END DO

  • -    IF(YA 0000h) A0_INSTB=.TRUE.

EAA: F5={SH-A[x]-A[y](…-A[z]), BR-A[x], SH-A[x]-F}.                     INDTL - жадресного замыкания произвольной кратности SH-A[x]-A[y](…-A[z]).- x, y, …

(           )                               ()

( )            --

, .-

  • x, y, …:

программной установке всех разрядов адреса в ‒         AD0 ADF.

, , LMA        UMA.‒

,-

H1

SH-A-F=1,                   ,-

.‒

,-

  • ,             ,H0

SH-A-F=0.

n        LMA UMA-

2n.

комбинации нулей и единиц в замкнутых разрядах

‒-

1 ‒,

, . .

S0 S1.

W1 (walking 1)2,       1-

,-

BRNLMA ‒

S0,                  ‒S1.

В последнем случае оно обязательно попадёт в UMAW0.

LMA W1,

UMA W0,

;

UMA, LMA.

LMA,  UMA.       W1 W0

A[x],          ,

LMA,   UMA.

EAA:

  • -    ECN=0000h, BRN=FFFFh, UAB=14 ! разряд адреса

    • -    B1=0001h!

()

  • -    FBW1=0000h, FBW0=0000h

  • -    DO I=0, UAB

  • -   ADW1=B1! W1-

  • -   ADW0=(NOT B1) AND 7FFFh ! W0-
  • -   RPT sdc+1: ECN (AD0)(1)
  • -   RPT sdc+1: ECN (ADF)(2)

  • -   RPT nw: BRN (ADW1)(3)

  • -   RPT nw: BRN (ADW0)(4)

  • -   RPT sdc+1: RBV1 (AD0)

  • -    IF(RBV1 ECN) FBW1=FBW1 OR B1

  • -   RPT sdc+1: RBV0 (ADF)

  • -    IF(RBV0 ECN) FBW0=FBW0 OR B1

  • -   B1=SHFL(B1,1)!

  • -    END DO

  • -    FB=FBW0 OR FBW1 !-

  • ные разряды в одну переменную
  • -    IF(FB 0) GOTO FIND_EAA

W1(3)  W0(4)-

LMA UMA              ECN(1 2),

BRN

ADW1 ADW0-

.

может быть как переписью числом BRN, так и лю -бым искажением, поскольку при записи с пере-ключением адреса внутри цикла asw (см . атрибу-ты записи на синтаксических диаграммах) данные могут искажаться непредсказуемым образом; ДЛЯ большей надёжности лучше брать ECN=NOT BRN. Поскольку на этом этапе ещё ничего не из-вестно о наличии замыканий SH-D-D, нужно взять ECN=0000h, BRN=FFFFh. Неисправный разряд A[x], детектированный операцией W1 ИЛИ W0, заносится в соответствующие переменные FBW1 и FBW0. Определение дефектов ‒ групп замыканий и обрывов ‒ осуществляется в процедуре FIND_EAA с помощью комбинаторных алгорит-мов связывания неисправных разрядов.

ADDRSW: F6={SWF-A, SWF-D}. Для каждого разряда адреса A[x] при неизменных остальных производятся сопряжённые чтения попеременно из адресов с A[x]=0 и A[x]=1. Для проверки переклю-чения необходимо длительность магистральных циклов установить минимальной, а чтение произво-дить в циклах, следующих непосредственно друг за другом. После записей (1)‒(4) этапа EAA в ячейках LMA и UMA содержится 0000h, а во всех ячейках с адресами ADW1 и ADW0 ‒ FFFFh. Для определе-НИЯ F6 достаточно использовать один из наборов адресов, возьмём LMA+ADW1. Если в переключа-тельной последовательности из каждого ADW1 получаем только FFFFh (2), а из LMA ‒ только 0000h (1), то SWF-A и SWF-D отсутствуют. В про-тивном случае в позиции текущего разряда A[x] устанавливается 1 в переменной SWFA_10 (ошибка при чтении LMA ‒ A[x] переключался из 1в 0) ИЛИ SWFA_01 (ошибка при чтении ADW1 ‒ A[x] пере-ключался из 0в 1). Получаемые OR- и AND-значения для каждого разряда сохраняются в мае-сивах V0(3) и VF(4); по этим значениям можно су-дить какой неисправностью ‒ SWF-A ИЛИ SWF-D ‒ вызвано конкретное несравнение .

ADDRSW:

  • -    SWFA_10=0000h, SWFA_01=0000h

  • -    B1=0001h      !проверяемый разряд адреса

  • -    DO CB=0, UAB

  • -    ADW1=B1

  • -    DO I=0, nr‒1

  • -     A[2*I]<—(LMA)………………..…(1)

  • -      A[2*I+1]<—(ADW1)……………...(2)

  • -    END DO

  • -    DO I=0, nr‒1

  • -      V0[CB]=A[2*I] OR 0000h……….(3)

  • -      VF[CB]=A[2*I+1] AND FFFFh….(4)

  • -    END DO

  • -   IF(V0[CB]*0000h) SWFA_10=SWFA_10

OR B1

  • -   IF(VF[CB] ф FFFFh) SWFA_01=SWFA_10

OR B1

  • -    END DO

  • -    IF((SWFA_10 OR SWFA_01)*0) GOTO FAILURE_SWA

EDD: F7={SH-D[x]-D[y]-(…-D[z])}. Неисправ-ные разряды обнаруживаются либо W1, либо W0 по разрядам D, адрес здесь значения не имеет. Если обратиться к синтаксическим диаграммам SH-D-D, то будет видно , что правильный результат при ло-гических типах S0 и S1 ни в W1, ни в W0 получить нельзя :

сам, а в другом читается правильно, но искажается другой, замкнутый с ним. При INDTL-типе (про -цессорных драйверов) ДЛЯ SH-D[x]-D[y] возможна, хотя и маловероятна, запись в память по разным разрядам разных значений. Тогда результат чтения будет зависеть от результирующего уровня вы-ходных буферов памяти, который может быть лю-бым. Теоретически процессор может прочитать разряды xиy в любой комбинации {11,00,10,01}, из которых 10 правильная, хотя разное восприятие одного и того же уровня двумя элементами одной микросхемы всё же маловероятно . Такие досто-верно не исключаемые события будем отсеивать совместным применением W1 и W0. Процедура FIND_EDD, определяющая группы замыкания, использует только алгоритм полного связывания, поэтому все неисправные разряды, детектирован-ные как W1, так и W0, запоминаются в одной пе-ременной SDB.

EDD:

  • -    XD1=0001h, SDB=0000h, UDB=15 !старший разряд данных

  • -    DO I=0,UDB

  • -    XD0=NOT XD1

  • -   XD1—>(AD0)               ! запись W1

  • -   Y1<—(AD0)

  • -   XR0—>(AD0)               ! запись W0

  • -   YR0<—(AD0)

  • -   IF((Y0^XD0) OR (Y1^XD1)) SDB=SDB

OR XD1

  • -    XD1=SHFL (XD1,1) !сдвиг текущего разряда данных на 1 влево

  • -    END DO

  • -    IF(SDB#0) GOTO FIND_EDD

После прохождения всех семи этапов (EAED… ‒ EDD) диагностируемая подсистема не может иметь магистральных дефектов, что даc возможность однозначно интерпретировать ре-зультаты кристалльных тестов SRAM.

Список литературы Детектирующая тестовая последовательность для магистральных структур в системах с оперативной памятью

  • Уильямс, Г.Б. Отладка микропроцессорных систем/Г.Б. Уильямс. -М.: Энергоатомиздат, 1988. -С. 49.
  • Van de Goor, A.J. Testing semiconductor memories: Theory and practice/A.J. van de Goor. -Chichester: J. Wiley & Sons, UK, 1991.
  • Выборное, П.В. О подходах к составлению диагностических тестов вычислительного ядра БЦВМ/П.В. Выборнов, Б.Н. Гаврилин//Вопросы оборонной техники. -2010. -Серия 9. -№ 1
  • Feng, C. A new diagnosis approach for short faults in interconnects/C. Feng, W.K. Huang, F. Lombardi//Proc. IEEE fault-tolerant computing symp. -1995. -June -P. 331-339.
Статья научная