Научная статья на тему 'Технология покрытия дефектных блоков резервными компонентами'

Технология покрытия дефектных блоков резервными компонентами Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
62
19
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хаханов Владимир Иванович, Чумаченко Светлана Викторовна, Литвинова Евгения Ивановна, Захарченко Олег Валериевич

Предлагается технология минимального покрытия дефектных блоков резервными компонентами при восстановлении работоспособности логической части цифровой системы на кристалле. Рассматриваются общие положения и правила покрытия для матрицы конфигурируемых логических блоков с дефектными ячейками. Разрабатываются критерии покрытия дефектных ячеек. Приводятся примеры реализации алгоритма.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хаханов Владимир Иванович, Чумаченко Светлана Викторовна, Литвинова Евгения Ивановна, Захарченко Олег Валериевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Technology of a covering of defective blocks reserve components

The technology of the minimum covering of defective blocks reserve components is offered at restoration of working capacity of a logic part of digital system on a crystal. General provisions and rules of a covering for a matrix of configured logic blocks with defective cells are considered. Criteria of a covering of defective cells are developed. Examples of realisation of algorithm are resulted.

Текст научной работы на тему «Технология покрытия дефектных блоков резервными компонентами»

УДК 681.326:519.613

В.И. ХАХАНОВ, С.В. ЧУМАЧЕНКО, Е.И. ЛИТВИНОВА, О.В. ЗАХАРЧЕНКО

ТЕХНОЛОГИЯ ПОКРЫТИЯ ДЕФЕКТНЫХ БЛОКОВ РЕЗЕРВНЫМИ КОМПОНЕНТАМИ

Предлагается технология минимального покрытия дефектных блоков резервными компонентами при восстановлении работоспособности логической части цифровой системы на кристалле. Рассматриваются общие положения и правила покрытия для матрицы конфигурируемых логических блоков с дефектными ячейками. Разрабатываются критерии покрытия дефектных ячеек. Приводятся примеры реализации алгоритма.

1. Введение

Миллиарды цифровых систем на кристаллах, используемых в мире, содержат до 16 типов разнообразных компонентов (процессор, память, логика, шины, специализированные вычислители), которые можно разделить на 2 подмножества: память (90%) и логика (10%). При этом дефекты, возникающие в памяти, ремонтируются встроенными средствами достаточно успешно всеми ведущими компаниями (Virage Logic, Intel). Но 10% логики практически не поддаются регулярным решениям в части встроенного ремонта. На сегодня в мире самая большая проблема на рынке электронных технологий - как восстанавливать работоспособность логической части цифровой системы на кристалле. Ввиду высокой рыночной привлекательности в работе рассматривается проблема диагностирования и ремонта памяти и логических ячеек, входящая в топ-десятку актуальных проблем компьютерной инженерии планеты от Gartner research group, путем переадресации неисправных ячеек на исправные компоненты из резервных строк, столбцов и ячеек. Стратегия работает на логических блоках, которые должны быть адресуемыми (и иметь запасные ремонтные блоки) или перепрограммируемыми на исправном пространстве кристалла для осуществления встроенного ремонта. Модели восстановления и ремонта модулей памяти SiP рассматривались в работах [1-6].

Следует также учесть, что уровень продаж компьютеров упал во 2 квартале 2009 года на 8% и составил 66 миллионов штук, но продажа ноутбуков при этом увеличилась на 20%. Что

касается рынка чипов, то здесь фиксируется наивысший подъем продаж за последние 13 лет. Данное обстоятельство подтверждает закон Мура - транзистор сегодня ничего не стоит, платить пользователь будет за энергопотребление. Весь мир видит будущее в цифровых системах на кристаллах. Вывод - все рыночно-ориентированные идеи будут имплементиро-ваны в кристалл со специализированной функциональностью. В связи с этим актуальным представляется создание на кристалле инфраструктуры сервисного обслуживания, способной осуществлять встроенное диагностирование и ремонт, что существенно может повысить выход годной продукции и продлить время жизненного цикла цифрового изделия. Поэтому любое новое решение в данной области может быть интересным для рынка электронных технологий, что и определяет актуальность предложенной в исследовании технологии квазиоптимального покрытия дефектных блоков резервными компонентами.

В работе [7] рассматривается оптимизационная задача размещения прямоугольных объектов с переменными метрическими характеристиками в заданной области, когда необходимо разместить набор объектов в полубесконечной полосе без наложений друг на друга так, чтобы величина была минимальной. Предлагаются методы решения задачи и проводится их сравнительный анализ.

В [8] исследуется оптимизационная задача размещения прямоугольных объектов в полосе, выделяются дополнительные свойства математической модели задачи, на основе которых предлагается модификация точного метода решения задачи, основанного на методе ветвей и границ, позволяющая улучшить оценку вычислительной сложности алгоритма. Выделены новые свойства математической модели задачи, на основании чего построена эффективная модификация точного метода решения задачи и улучшена оценка вычислительной сложности алгоритма решения.

Развитию теории и методов оптимизационного геометрического проектирования, в частности, изучению оптимизационной задачи размещения прямоугольных объектов посвящены работы Ю.Г.Стояна (например, [1]).

В статье [10] приведен анализ современных технологий встроенного сервисного обслуживания функциональностей цифровой системы в пакете. Рассмотрены особенности архитектуры «System-in-Package» и существующие стратегии восстановления работоспособности цифровых систем, а также метод оценки надежности восстановления их работоспособности.

В работе [11] рссматривается проблема адаптации технологий тестирования цифровых систем на кристаллах (System on Chip - SoC) для нового конструктивного поколения цифровых систем - System-in-Package (SiP), позволяющего эффективно и компактно имп-лементировать в кристаллы сверхсложные специализированные вычислительные и радиочастотные устройства для рынка электронных технологий. Вместе с тем пакет кристаллов формирует спектр новых задач сервисного обслуживания SiP-функциональностей в реальном масштабе времени, которое существенно отличается от процессов встроенного диагностирования SoC. В связи с этим предлагается алгебралогический метод диагностирования и восстановления работоспособности функциональных логических блоков FPGA, основанный на использовании таблиц неисправностей и их анализе в реальном масштабе времени.

В [12] предлагается метод покрытия дефектных логических блоков цифровых систем на кристаллах ремонтными клетками путем обхода матрицы логических блоков в целях восстановления работоспособности компонентов программируемой логики. Метод позволяет получать решение в виде квазиоптимального покрытия всех дефектных блоков минимальным числом ремонтных клеток. Предлагается выбор одной из двух стратегий обхода строк или столбцов матрицы логических блоков на основании критериев структуризации, определяющих число неисправных блоков, приведенных к фактическому единичному каркасу модифицированной матрицы строк или столбцов.

Цель исследования - разработка технологии оптимального покрытия дефектных блоков резервными компонентами при восстановлении работоспособности логической части цифровой системы на кристалле.

Задачи исследования:

1) Разработка общих положений и правил покрытия для матрицы конфигурируемых логических блоков с дефектными ячейками.

2) Разработка критериев покрытия дефектных ячеек.

3) Составление алгоритма, описывающего обход матрицы конфигурируемых логических блоков в целях построения покрытия.

4) Примеры реализации алгоритма.

2. Общие положения и правила покрытия

Рассматривается матрица конфигурируемых логических блоков с отмеченными дефектными ячейками. В соответствующей ей матрице смежности дефекту отвечает идентификатор 1. При выявлении дефектной ячейки выполняется ее покрытие. Покрывающий элемент представляет собой блок из 9 ячеек, которые образуют квадрат размера 3 х 3.

Способы покрытия дефектной ячейки. Покрытие дефектной ячейки, которая рассматривается как базовая, можно выполнить 9 способами (рис. 1).

□ □ □ □ □ □ Я и □ □ □ □ □ □

□ в] I-,] 0+] □ □ ¡-1' .и □ □ □ □ □ □

□ у-1] □ Н □ □ ¡¡-1 □ ¡¡-1 □ □ Ц.1 □ ¡¡-1 □

□ ¡-м +и] ¡-И □ □ □ □ □ □ □ Я' -и ¡-1' □

□ □ □ □ □ □ □ □ □ □ □ Я' □

а б в

□ □ □ □ □ □ □ □ □ □ ИЗ' и □

в ¡-1' - □ п □ □ 0+] № В' в [и' и □

¡¡-2 ¡¡-1 □ □ □ □ □ □ ¡¡-1 ¡¡-2 ¡¡-2 □ и □

Р?! -и □ □ □ □ ¡-1' ¡-2' □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

г д е

□ □ И 0-20 □ □ □ □ □ □ □ □ □ □

□ □ оэ 0+2] □ □ □ □ □ □ □ □ □ □

□ □ □ и-1 ¡¡-2 □ □ □ и-1 ¡¡-2 ,-2 □ □ □

□ □ □ □ □ □ □ 1-1' ¡-1' ¡-2' Я' ¡-1' □ □

□ □ □ □ □ □ □ 1-2' № ¡-2' Е' □ □

ж з и

Рис. 1. Способы покрытия дефектной ячейки ау :

а - ау и а^-1 и а^+1 и а;-Ц-1 и а;-ц и аЫ^+1 и и а1+Ц и ;

б - ау и и а^+1 и а;-у-1 и и а^Ц+1 и а^2^-1 и и а^2^+1;

в - aij и ai,j-l и ai,j+l и и ai+l,j и ai+l,j+l и ai+2,j-l и ai+2,j и 2,j+l; г - ау и и а^-2 и ai-l,j и ai-1,j-1 и аЫ^-2 и ai+1,j и ai+1,j-1 и ai+1,j-2 ;

д - ау и а^+1 и а^+2 и и ai-l,j+l и 2 и ai+1,j и ai+1,j+1 и ai+1,j+2 ;

е - aij и и а^-2 и ai-1,j и ai-1,j-1 и ai-1,j-2 и ai-2,j и ^-2^-1 и ai—2,j—2 ; ж - ау и а^+1 и 2 и ai-l,j и ai-l,j+l и ai-1,j+2 и ai-2,j и ^-2^+1 и ai-2,j+2 ;

з - aij и а^+1 и 2 и ai+l,j и а+1, j+l и ai+l,j+2 и ai+2,j и ai+2,j+1 и ai+2, j+2 ; и - ау и а^-1 и ai,j-2 и и ai+l,j-l и а+l,j—2 и ai+2о и ai+2, j—1 и ai+2, j-2

Ограничения покрытия дефектной ячейки. Если дефектная ячейка расположена в первых/последних двух строках/столбцах, очевидно, количество способов покрытия для нее ограничивается вариантами, представленными на рис. 2.

□ □ □ □

□ □ □ □

□ □ □ □

□ □ □ □

□о □

□о □ □о

□л □ □о

□ □ □ □ □

б

□ПО

□ □□

□од □юр

ррр

□ор □др

□ □р

¿п1 □ рр

□ р □

□ □ □ □ □ □ □

□ □ □р □

!□ □ □I

о □

о □¡□о

Р □(□о □1

Р Ч

□о □

о □ □!

л □л □ □ □1

□ □ □ □

□ □ □ □ □

Рис. 2. Ограничения покрытия дефектной ячейки при расположении ее в двух крайних строках/ столбцах: а - единственно возможный вариант построения покрытия при попадании дефекта в

угловые ячейки ап,а1М,аМ1,м ; б - два способа покрытия при попадании дефекта в ячейки

а12, а21, а1М-1, ам-11, а2М, аМ2; в - три способа покрытия дефектной

ячейки при расположении ее на позициях а^ , аз1, а^^, а^2,1, аз,м, а^з, а N,^2, ;

г - четыре способа покрытия дефектной ячейки при расположении ее на позициях а 22, а 2,^1, а N4,2, ам-1,м-1; д - шесть способов покрытия при попадании дефекта в ячейки а2з , аз2 , а2,^2,

а^2,2, ^,N-1, а^1,Э, а^2^-1

Например, в случае попадания дефекта в угловые ячейки а11,а1м,ам1,ам,м (рис. 2,а) существует единственно возможный вариант построения покрытия, определяемый объединением прилегающих ячеек в целях образования соответствующего блока:

для ац- ац и а^2 и а^з и а21 и а22 и а2з и аз1 и аз2 и азз ; для ащ -

аШ и а1^-1 и а1^-2 и а2^ и а2^-1 и а2^-2 и аз^ и аз^-1 и аз^-2;

для а^1-

а№ и аШ и аШ и ^-1,1 и ^-1,2 и ^-1,з и ^-2,1 и ^-2,2 и ^-2,з ;

для aNN - и ^^-1 и ^^-2 и ^-1^ и ^-1^-1 и и aN-1,N-2 и aN-2,N и ^-2,N-1 и aN-2^-2 .

Аналогично можно сформировать описание покрытий для всех вариантов, указанных на рис. 2, б-д.

3. Критерии выбора и построения покрытия

При выборе покрывающего элемента предпочтение отдается квадрату с наибольшим весом. Вес определяется числом дефектных ячеек, которые попадают в покрывающий

квадрат. Например, на рис. з показаны варианты покрытия дефектной ячейки а^, когда возможен выбор покрывающего элемента с максимальным весом.

а

в

г

д

□ □ □ □ □ □

и п п п п

□ □ □ □ □ □ □о у п

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

□ □

□ □ □ □ □ □

Рис. 3. Выбор покрывающего элемента - квадрата с наибольшим весом (сплошная линия)

Построчный просмотр матрицы. При реализации алгоритма построения покрытия выполняется просмотр матрицы по строкам, начиная с первой, в порядке слева направо. Затем осуществляется переход на вторую строку и просмотр элементов матрицы в обратном порядке. Таким образом, строки матрицы с нечетными номерами всегда просматриваются слева направо, после чего выполняется переход на нижнюю строку с четным номером и предпринимается продвижение в обратном порядке - справа налево. Такой просмотр называется галсовым.

Для дефектной ячейки, встречающейся в строке, подбирается покрывающий квадрат с максимальным весом. После этого продолжается просмотр строки в целях выбора покрывающих квадратов для остальных дефектных ячеек данной строки.

При просмотре следующей строки часть дефектных ячеек в ней оказывается уже покрытой, тогда следует подобрать покрывающие квадраты для дефектных ячеек, оставшихся непокрытыми. При этом построенные ранее покрытия ограничивают выбор покрывающих квадратов для остальных дефектных ячеек, т.е. уменьшают в каждом случае их количество, что сокращает время поиска.

В случае, когда существует несколько способов покрытия дефектных ячеек квадратами с одинаковым максимальным весом, выбирается любой из них.

Если на каком-то этапе возникла ситуация, когда невозможно покрыть дефектную ячейку, следует вернуться назад к предыдущей дефектной ячейке в целях изменения ее покрытия квадратом, возможно, меньшего веса. При выборе нового покрытия предпочтение отдается квадрату с меньшим весом, покрывающему две соседние ячейки (расположенные по диагонали либо рядом в строке/столбце) и прилегающему к левому/правому краю (при продвижении слева направо или справа налево соответственно), с целью оставить большее количество свободных ячеек справа/слева соответственно для других покрытий. Другими словами, покрывающий квадрат смещается в сторону уже просмотренных к этому моменту строк/столбцов.

Просмотр матрицы по столбцам. Наравне с просмотром по строкам можно использовать продвижение по матрице сверху вниз по столбцам с последующим переходом вправо к соседнему столбцу и затем вверх. Тогда столбцы с нечетными номерами будут просматриваться сверху вниз, а с четными - слева направо. При этом покрытие выбирается аналогично предыдущему также с учетом смещения покрывающего квадрата при возможности в сторону уже просмотренных ячеек.

Пример 1. Рассмотрим матрицу конфигурируемых логических блоков с отмеченными дефектными ячейками, представленную на рис. 4.

Согласно алгоритму, выполняется просмотр матрицы построчно. Для каждого дефектного элемента определяется максимальный вес его окрестности и выполняется группировка ячеек по блокам, т.е. объединение в покрытие, с учетом приведенных выше правил.

Просмотр строки с номером i=1 показывает, что оценка веса окрестности дефектного

элемента а110 равна w(a1д0) = 2. Тогда следует объединить дефектные ячейки а110 и а28 в один покрывающий блок, а именно:

а18 и а19 и а1,10 и а28 и а29 и а2,10 и а38 и а39 и а3,10 .

При просмотре строки i=3 видно, что для ячейки а33 могло быть выбрано покрытие квадратом а33 и а34 и а35 и а43 и а44 и а45 и а53 и а54 и а55 с максимальным весом 56

w(aзз) = з . Однако после просмотра строки 1=4 справа налево оказалось бы, что дефектная ячейка а42 не может быть покрыта ни одним квадратом (рис. 5, а).

„1 2 3 4 5 6 7 8 9 10 11 12 „1 2 3 4 5 6 7 8 9 10 11 12

1 □ □ □ □ □ □ □ □ □ □ □ □ 1 1

2 □ □ □ □ □ □ □ □ □ □ □ □ 2 1

3 □ □ □ □ □ □ □ □ □ □ □ □ 3 1 1

4 □ □ □ □ □ □ □ □ □ □ □ □ 4 1 1

5 □ □ □ □ □ □ □ □ □ □ □ □ 5 1 1

6 □ □ □ □ □ □ □ □ □ □ □ □ 6 1

7 □ □ □ □ □ □ □ □ □ п □ □ 7 1 1

8 □ □ □ □ □ □ □ □ □ □ □ □ 8 1 1

9 □ □ □ □ □ □ □ □ □ □ □ □ 9

10 □ □ □ □ □ □ □ □ □ □ □ 10 1 1 1 1

11 □ □ □ □ □ □ □ □ □ □ □ □ 11

12 □ □ □ □ □ □ □ □ □ □ □ □ 12

а б

Рис. 4. Иллюстрация к примеру 1: а - матрица логических блоков с дефектными ячейками; б -

соответствующая матрица смежности

В этом случае следует вернуться к предыдущей ячейке, которая была покрыта. Если отсутствуют варианты изменения ее покрытия, то следует вернуться к предыдущей ячейке и изменить ее покрытие. На рис. 5,а это ячейка азз .

& е- ■0- [в- ■е- -н- ■0 10 0 е 0- [0 ч —1 в- 0- -в [е е & 0 0 0- - 0 0 :

0- и и ■0' у 04 0 +2 0 01 01 01 01 0- и 0- 0 0 0

■ЬЧ- и и и и и и и и 3 0 и И -ы- в 0 0 0 в 0 01 0

□ □ □ □ □ □ □ □ *4 0 и 01 01 01 0 0- 10 0 0 -в 13 -1

□ □ □ Я □ □ □ □ □ □ □ 1 1 1 1 1 1 1 | гп 1 1 I I в I | I I 0} 0

5 и 1_1 и и и и и и

□ □ □ □ □ □ □ □ □ □ □ □ Г6 т 1 | га 1 1 гп 1 | 1 1 I I I I I I I | 1 | I I

и * и и 1_1 и и и I_I и и и

□ □ □ □ □ □ □ □ □ □ □ в е е- 01 в в 0 в е в

и и и и и и □ и и и и □ -8 в 01 о -в 10 0 0 0 0 04 У

□ □ □ □ □ □ □ □ □ □ □ □ 9 в 10 1В -в е в 0 В в в

□ □ □ □ □ □ □ □ □ □ □ 10 11 12 г и и 'В1 а 10 "Р0- ГП □ а 01 Ь

□ □ □ □ □ □ □ □ □ □ □ □ в в в в в в 0 в 0 в

□ □ □ □ □ □ □ □ □ □ □ □ в в в в в в В в в в

а б

Рис. 5. Выбор покрытия при построчном продвижении

В результате получаем покрытие из 11 квадратов, среди которых 6 имеют вес 2 и 5 - вес 1. Из рис. 5, б видно, что расположенные рядом дефектные ячейки аю,9 и ащю можно было бы покрыть элементом:

а10,9 и а10,10 и а10,11 и а11,9 и а11,10 и а11,11 и а12,9 и а12,10 и а12,11 или а10,8 и а10,9 и а10,10 и а11,8 и а 11,9 и а11,10 и а12,8 и а12,9 и а12,10 . Тогда при изменении покрытия дефектной ячейки а87 на квадрат

а8,5 и а8,6 и а8,7 и а9,5 и а9,6 и а9,7 и а10,5 и а10,6 и а10,7

получится покрытие из 10 квадратов, среди которых 7 имеют вес 2 и 3 - вес 1 (рис. 6). Именно такое покрытие строится при просмотре матрицы по столбцам (рис. 6,а).

Рис. 6. Оптимальное покрытие матрицы конфигурируемых логических блоков (а) и матрицы смежности (б) для примера 1

Таким образом, в примере 1 при просмотре матрицы по строкам получено квазиоптимальное покрытие, а по столбцам - оптимальное. Как будет показано ниже, построчный просмотр матрицы практически всегда дает оптимальное покрытие. 4. Описание алгоритма

1. Ввести матрицу А = [а^ ]п .

2. Цикл по строкам (для i=1 до К).

2.1. Если номер строки нечетный i=2k+1, то перейти к п. 3 (цикл по столбцам).

2.2. Если номер строки четный i=2k, то перейти к п. 4

(цикл по столбцам - просмотр столбцов в обратном порядке от N до 1).

3. Цикл по столбцам (для j=1 до К).

4. Цикл по столбцам (для j=N до 1).

4.1. Вычислить веса соседних по отношению к базовой ячейке квадратов (обращение к ПОДПРОГРАММЕ 1/возврат из ПОДПРОГРАММЫ 1).

4.2. Выбрать в качестве покрывающего квадрат с максимальным весом.

4.3. Исключить из рассмотрения ячейки, образующие покрывающий квадрат (обращение к ПОДПРОГАММЕ 2/ возврат из ПОДПРОГРАММЫ 2).

4.4. Возврат к п. 4 (продолжение просмотра по столбцам).

4.5. Возврат к п. 2 (переход к очередной строке).

5. Вывести результат - оптимальное (квазиоптимальное) покрытие в виде набора покрывающих квадратов, каждый их которых представляет собой объединение 9 ячеек.

ПОДПРОГРАММА 1 осуществляет оценку веса соседних по отношению к базовой дефектной ячейке квадратов.

ПОДПРОГРАММА 2 исключает из рассмотрения ячейки, образующие покрывающий квадрат, но хранит их в памяти в целях выполнения возвращения, если такое потребуется.

5. Примеры реализации алгоритма

Рассмотрим реализацию алгоритма на ряде примеров, где матрицы логических блоков с дефектными элементами сгенерированы случайным образом.

Пример 2. Рассмотрим матрицу конфигурируемых логических блоков с отмеченными дефектными ячейками, представленную на рис. 7.

,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 □ □ □ □ □ и □ и □ □ □ □ □ □

2 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

3 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

4 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

5 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

6 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

7 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

8 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

9 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

10 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

11 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

12 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

13 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

14 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

15 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

-1- р И |ГТ [ГТ п р [р п И щ р п гч

г В 1 1 1 1 1 1 1 1 1 1 1 I I I I * I I п 1 1 га 1

* И н — Щ. 1_1 I_I * I_I 1_1 и

Цг В в- в 1± в- в У- и ы в в в в у в 1

"О" □ и и и и и и 0 13 и и □ И

5 И и и И £Г И о о И И -а И И и и Л

1 1 1 1 1 1 1 1 1 1 1 1 е I I I I 1 1 1 1

1 6 _1 и и 1_1 и и 1_1 I_I и * I_I и 1_1 1_1

7 и 9 И- 4± в в 'В в п в в В И" в ) ]

ст и и и -И- и □ пт п □ о пттп и

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

п о о п и и и и и пии □

и и и и и и и и и и и ппп и

Кт в у- в в вь в в в в В В &ЕЭВЗ ы

0 в в

112 и и и и и и и из и и

13 ь И ■н в в- -и и и и в и &0ВЗ в

и вь в в в- ■н в ы в и и а

И 1-+ И н ^ И н И ■н ь И внв-в в

Рис. 7. Матрица логических блоков Рис. 8. Маршрут обхода матрицы

с дефектными ячейками для примера 2 при построении покрытия

В целях построения покрытия начинаем построчный просмотр матрицы согласно приведенным правилам, критериям и алгоритму. Маршрут прохождения матрицы при построении покрытия приведен на рис. 8. Стрелки на дефектных ячейках показывают, относительно какой базовой ячейки выполняется покрытие (обрамление покрывающими квадратами).

Представленное на рис. 9 оптимальное покрытие матрицы состоит из 17 блоков, из них: 3 имеют вес 1, 9 - с весом 2 и 5 - с весом 3.

Пример 3. Рассмотрим варианты покрытия матрицы 15 х 15 конфигурируемых логических блоков с дефектными ячейками (рис. 10).

,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 и и и и и 3 ии

2 □ □ □ □ □ п п □ □ □ □ п

3 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

4 и и □ и □ □ и и и и и и и □ и

5 □ □ □ □ □ □ □ п □ □ □ □ □ □ □

6 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

7 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

8 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

9 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

10 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

11 □ □ □ □ □ □ □ □ □ □ □ □ □

12 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

13 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

14 □ □ □ □ □ □ □ □ □ □ □ □ □

15 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

Рис. 9. Оптимальное покрытие матрицы из примера 2

,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 и и и и □ □ и и и и и □ и в

2 □ □ □ □ □ □ в □ □ □ □ □ □ в □

3 □ □ □ □ □ □ в □ □ □ □ □ □ □ □

4 □ □ □ □ □ □ □ □ □ в □ □ □ □ □

5 □ □ □ □ в □ □ □ □ □ □ □ □ □ □

6 □ □ □ □ □ □ □ □ в □ □ □ □ в □

7 □ □ □ □ □ □ □ □ □ □ □ □ □ □

8 □ □ □ □ □ □ □ □ □ □ □ □ □ в □

9 □ □ в □ в □ □ □ □ □ □ □ □ □ □

10 □ □ □ □ □ □ □ □ □ в □ □ □ в □

11 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

12 □ □ □ □ □ □ □ □ □ □ □ □ □ □

13 □ □ □ □ □ □ □ □ □ □ □ □ □ □

14 □ □ □ □ □ □ □ □ □ □ □ □ □ в □

15 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

Рис. 10. Матрица 15х15 конфигурируемых

логических блоков с отмеченными дефектными ячейками

Покрытие, полученное просмотром матрицы построчно, приведено на рис. 11. Оно состоит из 16 квадратов, из которых: 4 с весом 1, 7 - с весом 2, 2 - с весом з, з - с весом 4.

1 2

3

4

5

6

7

8 9

10 11 12

13

14

15

12

34

5 6 7 8 9 10 11 12 13 14 15

Рис. 11. Покрытие матрицы из рис. 10

На рис. 12 показан результат построения покрытия при просмотре матрицы по столбцам с продвижением слева направо. Здесь также количество покрывающих элементов 16, при этом из них 4 с весом 1, 7 - с весом 2, 2 - с весом з, з - с весом 4.

1 2

3

4

5

6

7

8 9

10 11 12

13

14

15

у

Рис. 12. Продвижение по столбцам при построении покрытия для матрицы на рис. 10

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

Пример 4. Рассмотрим построение покрытия для матрицы 15 х 15 конфигурируемых логических блоков, представленной на рис. 1з, с отмеченными дефектными ячейками.

,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 □ □ □ □ □ □ □ □ □ □ □ □ □

2 □ □ □ □ □ □ □ □ □ □ □ □ □ □

3 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

4 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

5 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

6 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

7 □ □ □ □ □ □ □ □ □ □ □ □ □ □

8 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

9 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

10 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

11 □ о □ □ □ □ □ □ □ □ □ □ □ □ □

12 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

13 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

14 □ □ □ □ о □ □ □ □ □ □ □ □ □ □

15 □ □ □ □ □ □ □ □ □ □ □ □ □ □

Рис. 1з. Матрица конфигурируемых логических блоков с дефектными ячейками В целях построения покрытия предпримем обход матрицы по строкам. Маршрут и покрытие приведены на рис. 14.

Рис. 14. Продвижение по строкам при построении покрытия для матрицы логических блоков из рис.

Пунктирными линиями на рис. 14 показаны покрытия, которые рассматривались при построении, но не были выбраны.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Так, для покрытия дефектной ячейки а19 при просмотре первой строки из двух блоков с весом 2 предпочтение отдается блоку

а^7 и а^8 и а^9 и а27 и а28 и а29 и аз7 и аз8 и аз9, который объединяет часть уже просмотренных в первой строке ячеек (смещается влево по пути обхода строки), а не блоку

а18 и а19 и а1,10 и а28 и а29 и а2,10 и аз8 и аз9 и аз,10 .

При покрытии ячейки а4дз выбирается блок

а4,1з и а 4,14 и а 4,15 и а5дз и а5Д4 и а5Д5 и а6дз и а6,14 и а6,15 с весом 1, а не

а4,11 и а4Д2 и а4дз и а5Д1 и а5Д2 и а5дз и а6,ц и а6,12 и а6дз с таким же весом, поскольку просмотр четвертой строки выполняется справа налево и первый блок включает уже просмотренные к этому моменту ячейки, т. е. выбираемый блок сдвигается в сторону уже пройденных ячеек - вправо по пути обхода.

Таким образом, оптимальное покрытие матрицы, представленной на рис. 1з, состоит из 17 элементов: 8 - веса 1, 9 - веса 2.

Пример 5. Для матрицы размера 15 х 15 , приведенной на рис. 15, оптимальное покрытие определяется построчным просмотром и показано на рис. 16.

□ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ и □ □ □ □ и

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

—)-. 2" В я Я в я я я я- я 0 н я 0 У у у 1

J и 0 0- 0 3 0 0 ^ 0 0 й Ь й "1

3 -Й- -0 Й и 0 0 0 И а 0 Й й 0 й

г и 0 0 0- 0 0 0- 0 ы 0 и в 0 0

Н" й -0 0 1Й в 0 0 0 й 0 Й ч й й

и 1Й 10 0 0 0 0 Й 0 а й й й !1 1

1 т 8" и- -и- ■Й Й- ■Й 0 0 0 0 0 0' 0 а й о

и 0- 0 0 0 0 0 У 0 Й и- й й

9 и 0 0 0 0 0 0 0 В 0 0 и- 0 с

1 1 1 ■П. 1 1 1—1 1 1 1 1 1 1 1 1 1 1 1 1 1 1—1 1 1 1

<10 -44- _1 1_1 1_1 и 1—1 1_1 и и 1_1 1_ и 1_1 и _1 и

п л 0 0 0 я 0 л п п я л п 0 л

-12" в я я я я -- я я я я я И' Я я

п п Я И я я я я я я > и 0 0 п

14 15 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

Рис. 15. Матрица конфигурируемых логических Рис. 16. Обход матрицы при построении покрытия блоков с дефектными ячейками

Покрытие состоит из 1з элементов: 8 - веса 2, 5 - веса 1. При его построении первоначальное покрытие ячейки ацз квадратом

а и а и а и а и а и а и а и а и а 1,11 1,12 1,1Э 2,11 2,12 2,1з з,11 з,12 Э,1Э

пришл°сь изменить на а1,1з и а 1,14 и а 1,15 и а 2,1з и а 2,14 и а 2,15 и а Э,1Э и а з,14 и а з,15 , поскольку при дальнейшем продвижении оказалось невозможным покрыть ячейку аз,10.

Пример 6. Рассмотрим матрицу конфигурируемых логических блоков с дефектными ячейками, представленную на рис. 17, а. Предпримем построчный обход матрицы в целях построения оптимального покрытия дефектных ячеек (рис. 17, б).

d □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ D □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ D □ □ □ □ D

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □

„1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

а б

Рис. 17. Матрица с дефектными ячейками (а) и оптимальное покрытие (б)

6. Выводы

В результате исследований разработан метод квазиоптимального покрытия неисправных адресуемых ячеек цифровых систем на кристаллах ремонтными клетками, что позволяет существенно повысить выход годной продукции, реализованной в чипах программируемой логики.

Сравнение с аналогами. Существующие аналоги, как правило, ориентированы на оптимизацию размещения компонентов в объемах или на плоскостях. Отличие предложенного метода заключается в оптимизации покрытия неисправных компонентов ремонтными клетками, причем неисправности могут быть соседними или отстоять далеко друг от друга. Поэтому здесь функция цели - минимизировать число ремонтных клеток, которое полностью покроет все дефектные адресуемые ячейки кристалла.

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

Практическая значимость предложенного метода заключается в возможности его применения для встроенного ремонта компонентов цифровых систем на кристаллах, включающих адресуемые ячейки памяти или логические адресуемые блоки. В общем случае данный метод может быть применен для восстановления работоспособности любых адресуемых компонентов, представленных на плоскости.

Перспективы исследований. Имплементация технологии восстановления работоспособности цифровых систем на кристаллах для повышения надежности функционирования и выхода годной продукции в виде изделий, работающих в критических средах, таких как космос, авиация.

Список литературы: 1. Memory Repair Primer - A guide to understanding embedded memory Repair options and issues. Logic Vision. 2007. 2. YoungsL., Paramanandam S. Mapping and Repairing Embedded-Memory Defects // IEEE Design and Test of Computers. 1997. P. 18-24. 3. Zorian Y., Shoukourian S. Embedded-Memory Test and Repair: Infrastructure IP for SoC Yield // IEEE Design and Test of Computers. 2003. P. 58-66. 4. HuangR., Chen Ch., Wu Ch. Economic Aspects of Memory Built-in Self-Repair // IEEE Design & Test. 2007. P. 164-172. 5. Choi M., Park N., Lombardi F., Kim Y. B., Piuri V. Optimal Spare Utilization in Repairable and Reliable Memory Cores // 2003 International Workshop on Memory Technology,

Design and Testing (MTDT'03). 2003. P. 64-71. 6. Ohler Ph., Hellebrand S., Wunderlich H.-J. An Integrated Built-In Test and Repair Approach for Memories with 2D Redundancy // 12th IEEE European Test Symposium (ETS'07). 2007. P. 91-96. 7. НовожиловаМ.В., ЧубИ.А, МуринМ.Н. Метод решения задачи размещения прямоугольников с переменными метрическими характеристиками // Радиоэлектроника и информатика. 2008. №4. С. 134-141.8. ЧубИ.А., НовожиловаМ.В. Модификация точного метода решения задачи размещения прямоугольных объектов // АСУ И ПА. 2008. Вып. 145. С.57-63. 9. СтоянЮ.Г., Яковлев С.В. Математические модели и оптимизационные методы геометрического проектирования. К.: Наук. думка, 1986. 266 с. 10. Литвинова Е.И. Технологии встроенного ремонта компонентов System-in-Package // АСУ и приборы автоматики. 2008. Вып. 145. С. 40-48. 11. Литвинова Е.И. Технологии диагностирования и восстановления System-in-Package // АСУ и приборы автоматики. 2009. Вып. 146. С. 4-21.12. Литвинова Е.И. Метод покрытия неисправных логических блоков цифровых систем на кристаллах ремонтными клетками // Радиоэлектроника и информатика. 2009. №1. С.46-49.

Поступила в редколлегию 16.06.2009

Хаханов Владимир Иванович, декан факультета КИУ ХНУРЭ, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. (057)-702-13-26. E-mail: [email protected]

Чумаченко Светлана Викторовна, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: математическое моделирование нелинейных объектов с распределенными параметрами, теория рядов, методы дискретной оптимизации, технологии тестирования знаний. Увлечения: спорт, путешествия. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. (057)-702-13-26. E-mail: [email protected]

Литвинова Евгения Ивановна, канд. техн. наук, доцент кафедры технологии и автоматизации производства РЭС и ЭВС ХНУРЭ. Научные интересы: алгоритмизация задач автоматизированного проектирования электронных вычислительных средств, автоматизация диагностирования и встроенный ремонт компонентов цифровых систем в пакете (SiP). Увлечения: плаванье, музыка. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-421. Захарченко Олег Валериевич, аспирант кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей. Увлечения: спорт, религиеведение. Адрес: Украина, 61166, Харьков пр Ленина, 14, тел. 70-21-326.

i Надоели баннеры? Вы всегда можете отключить рекламу.