УДК 658:512.011; 681.326; 519.713 ХМАРНИЙ СЕРВ1С ДЛЯ ТЕСТУВАННЯ I ВЕРИФ1КАЦП СИСТЕМ НА КРИСТАЛАХ
Литвинова e.i, смельянов i.b,
ХАХАНОВ 1.В._
Описуються методи i реалiзацiя апаратно-програмного забезпечення безумовного паралельного синтезу теспв на оcновi булевих похiдних для лопки, подано! у ви-глядi чорно! скриньки i описано! кубiтним покриттям. Наводяться тeорeтичнi основи застосування мeтодiв i оцiнка !х eфeктивноcтi для широкого класу цифрових схем, рeалiзованих в програмованих логiчних прист-роях. Пропонуються iнновацiйнi методи обчислення лопчних похiдних i дедуктивного моделювання не-справностей для функцiональних eлeмeнтiв, описаних кубггним покриттям.
Ключовi слова: синтез теспв, проектування i верифь кащя SoC, кубiтнe покриття, цифрова схема, моделювання несправностей, булева пох!дна. 1. Реал1защя лопчноТ функщональносл на еле-ментах пам'ят
Поняття адресного виконання лопчних операц!й, реал!зованих на елементах пам'ят! LUT в програмованих лопчних пристроях (PLD), дае потен-ц!йну можлив!сть створювати на кристал! т!льки адресний прост!р, максимально технолог!чний для вбудованого в!дновлення працездатност! вс!х компонент!в, що беруть участь у формуванн! функц!ональност! [1-3]. Актуальшсть створення адресного простору для компонент п!дтвер-джуеться розпод!лом лог!ки i пам'ят! на кристал!, представленим на рис. 1, де п!сля 2020 року на ч!п! буде т!льки один в!дсоток лог!ки i 99 в!д-сотк!в пам'ят!.
Тенденц!я до зб!льшення пам'ят! дае можлив!сть вбудованого в!дновлення працездатност! в!дмов-лених осередк!в за рахунок вид!лених додаткових ресурс!в для !х ремонту (spare logic cells). Проблема автономного усунення дефект!в (са-мов!дновлення працездатност!) лопчних еле-мент!в пов'язана з в!дсутн!стю у них адреси. Але вир!шити ii можна, якщо зв'язки м!ж елементами лог!ки зробити гнучкими за допомогою программ опису структури, вм!щено! в пам'ят!, яка з'еднае лог!чн! компоненти в схему. Кр!м структури взаемодй елемент!в, пам'ять повинна м!стити порядок !х обробки. У раз! виникнення дефекту в одному з адресованих лопчних елемент!в система вбудованого тестування в!дновить його працез-датн!сть шляхом переадресац!! на зав!домо справ-ний аналог з ремонтного запасу. Просто вир!шу-еться проблема п!двищення якост! та над!йност! цифрових систем на кристалах шляхом створення !нфраструктури вбудованого тестування, д!агнос-тування, оптим!зац!! та в!дновлення працездатност! за рахунок апаратно! надм!рност! i зменшення швидкод!! виконання функцюнальних операц!й
[2-5].
100% 80% 60% 40% 20% 0%
Рис. 1. Розподш пам'ят! i логiкм на кристал! Мета - !стотне тдвищення швидкод!! синтезу те-ст!в i дедуктивно! вериф!кац!! для blackbox функ-ц!ональностей лог!чних компонент!в за рахунок використання компактних опис!в у форм! куб!т-них покритт!в ! паралельного виконання м!н!ма-льного числа реестрових лог!чних операц!й (shift, or, not, nxor). Задач1:
1) Метод генерац!! тест!в для blackbox функц!она-льностей лопчних схем на основ! використання куб!тних покритт!в ! паралельного виконання реестрових лопчних операцш (shift, or, not, nxor).
2) Метод обчислення булевих пох!дних для синтезу тест!в на основ! використання куб!тних по-критт!в.
3) Метод синтезу тест!в на основ! використання булевих пох!дних, поданих векторами в формат! куб!тних покритт!в.
4) Метод дедуктивного моделювання несправностей для функцюнальних елемент!в, поданих векторами куб!тних покритт!в.
5) Процесор моделювання несправностей ! справно! повед!нки на основ! куб!тного опису функц!о-нальностей, !нтегруючий розроблен! методи в хмарний або SoC-шфраструктурний серв!с тестування.
Сутн!сть досл!дження - розробка метод!в гене-рування вх!дних тестових посл!довностей ! оц!нки !х якост! для функцюнальних лопчних компонент!в шляхом паралельного виконання реестрових лопчних операцш (shift, or, not, nxor) над куб!тним покриттям ! його пох!дними в структур! процесора куб!тного моделювання. Тестування ! д!агностування запам'ятовуючих пристро!в реал!зуеться за допомогою спец!альних алгоритм!в, що генерують тести: марш; нуль ! одиниця, що б!жать; логарифм!чний розпод!л [15]. Якщо елементи пам'ят! виконують функц!! лопчних схем (reusable logic), то для них сл!д ге-нерувати тести перев!рки функц!ональностей, не прив'язан! до ф!зики процес!в збер!гання даних. Тому дал! розглядаеться метод синтезу тест!в для функц!ональних схем, представлених у форм! black box, опис яких задаеться куб!тним вектором [6-7].
тлдгс ■Memory
■--i---1---1---1---1---1---1---1
1999 2002 2005 2008 2011 2014 2017 2020
Ринкова привабливють застосування квантових методiв обчислень при створенш комп'ютинго-вих структур в кiберпросторi заснована на вико-ристаннi кубiтних моделей даних, орieнтованих на паралельне вирiшення завдань проектування, тестування, дискретно! оптимiзaщ! [5,8], завдяки збшьшенню витрат пам'ятi. Не вдаючись в детал1 фiзичних основ квантово! механiки, що стосу-ються недетермшовано! взаемодн атомних часток [9,10], далi використовуеться поняття кубiта як двшковоговектора для спiльного i одночасного завдання булеана станiв у дискретнiй област кь берпростору на основi лшшно! суперпозицн уш-тарних кодiв, орiентованих на паралельне вико-нання операцш У теорн квантових обчислень, якашвидко розвиваеться, вектори станiв утворю-ють квантовий регiстр з n кубтв, що формують унiтарний або гшьбертовий [11] простiр H, розмь рнють якого мае ступеневу залежнiсть вщ числа кубiтiв .
Мотивацiя нового шдходу для проектування комп'ютингових систем обумовлена появою хма-рних сервюв у рамках ново! кiберкультури InternetofThings, яка представляе собою спещаль зоваш системи, що реалiзуються в апаратурi або в програмному продуктi. Будь-який компонент функщональносп, так само як i структура си-стеми, представляеться векторною формою, впо-рядкованою за адресами, таблицею ютинност^ що реалiзуеться за допомогою пам'ятi. Логiчнi функцн в традицiйному виконаннi reusable logic не розглядаються. Вiд цього частково змен-шуеться швидкодiя, але, з огляду на те, що 94% SoC-кристала становить пам'ять [2,3], останш 6% будуть iмплементуватися в пам'яп, що не критично для бшьшосп хмарних сервiсiв. Практично для створення ефективних комп'ютингових структур слщ використовувати теорiю, засновану на обчислювальних компонентах високого рiвня абстракцп: адресована пам'ять i транзакцiя. Особливють оргашзацн даних в класичному комп'ютерi полягае в адресацн бiта, байта або ш-шого компонента. Адресащя створюе проблему в обробцi асощаци елементiв множини, якi не адре-суються та не мають порядку за визначенням. Рiшенням може бути процесор, де образ ушвер-суму, з n унiтарно кодованих примiтивiв, викори-стовуе суперпозицiю для формування булеана |B(A)|=2n усiх можливих сташв [4,12]. Коректнiсть використання прикметника «куб^на» для моделей цифрових пристро!в заснована на порiвняннi лшшно! i булево! алгебри Кантора з алфавитом Ak = {0,1, X, 0}. Тут першi два символи - приштиви. Третiй визначаеться супер-позицiею: X=0U1. У гiльбертовому простор! лшшна алгебра оперуе примiтивами а|0), Р|1) кубiтa, третiй символ також е суперпозищею двох
складових: |у)=а|0)+Р|1). У лшшнш aлгебрi немае символу, вщповщного порожнш множит, вш е похщною вщ функцп, зворотно! по вщношенню до суперпозицi!. В теорн множин такою опе-рaцiею е перетин, який дае порожню множину на примгтивах: 0 = 0П1. У гiльбертовому простор1 такою операщею е скалярний добуток або функщя Дiрaкa (a|b) [11], яка мае геометричну ш-терпретащю:(а|Р) =|a|x|p|xcosZ(a, Р). Якщо про-екцi! a i b вектора квантового стану ортогональш, виходить:
<a|P)=|a|x|p|xcosZ(a,P) = |a|x|p|xcosz90° =0. Скалярний добуток ортогональних векторiв дорiвнюе нулю, що е аналогом символу порож-ньо! множини в алгебрi Кантора. Таблиця вщповщносп алгебри множин та лшшно! алгебри, що зображена нижче, пiдтверджуе власти-вост !зоморф!зму м!ж символами булеана i станами куб!т-вектора:
Boolean Ak = 0 1 X = Oul 0 = Onl
Qubit | у) = Ю> ID a 0) + p 1) a|0)|p|1)
Отже, структуру даних «булеан» можна розгля-дати як детермшований образ квантового кубга в алгебрi логiки, елементи яко! унiтарно кодуються двiйковими векторами i мають властивостi супер-позицi!, паралелiзму i змiшування. Це дае мож-ливiсть використовувати пропонованi кубiтнi мо-делi для пiдвищення швидкодi! аналiзу цифрових пристро!в на класичних обчислювачах, а також без модифiкацi! - у квантових комп'ютерах, як! з'являться через кшька рокiв на ринку елек-тронiки.
2. Кубiтний метод синтезу тес^в
Пропонуеться метод синтезу теспв, що викорис-товуе куб^ш вектори або Q-покриття функцюна-льних примiтивiв цифрових пристро!в, який характеризуемся компактнiстю опису даних i парале-лiзмом виконання логiчних операцш Q-покриття е векторна форма опису поведшки цифрового пристрою, де кожен розряд мае адресу, що фор-муеться двшковими станами його вхщних зм!нних:
.....<*,••.,(?„), 01 = {0,1},0! = 0(|),1=(Х1Х2,...,Х1,...,Х11).
Q-тест е векторна форма неявного завдання тесто-вих послiдовностей цифрового пристрою, де ко-ординати вектора формують впорядковану послiдовнiсть двшкових наборiв, що подаються на вхщш змшш за правилом:
п. -от-Я-*
1ншими словами, якщо координата вектора Q(i)=1, то тестовий набiр, складений з двiйкових розрядiв, якi формують десяткову адресу ^ по-даеться на входи пристрою. В шшому випадку, при нульовому значеннi координати Q(i)=0, такий тестовий набiр вiдсутнiй.
Абстрагуючись вщ поняття таблицi ютинность пропонусться формальний безумовний алгоритм кубiтного синтезу теста для функцюнальних примiтивiв на основi Q-покриття, стосовно ранiше розглянутого прикладу: 1) 1нвертування всiх розрядiв Q-покриття функщ-онального елемента, що мае три вхщш змшш:
О 1 0 0 1 0 0 1 0
О 0 110 110 1
2) Лопчний зсув номерiв розрядiв швертованого кубiтного вектора вiдповiдно до послщовносп номерiв:
Q1 (X!) = 45670123,
Q2(X2) = 23016745,
Qз(Xз) = 10325476. Тут дie просте логiчне правило: для першо! вхщно! (молодшо!) змшно! виконуеться паралель-ний обмiн даними мiж сусщшми координатами, для друго! вхщно! змшно! реалiзуеться обмiн даними, але вже мiж сусiднiми парами координат, для третьо! змшно! виконуеться обмш даними мiж сусiднiми тетрадами координат вектора адрес.
Узагальнення операцш зсуву для функцюналь-ностi, що мютить 4 змiнних, представлено на рис. 2.
О 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 0 0 0 1 1 1 0 1 0 0 1 1 0 0 1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ё 0 1 1 1 0 0 0 1 0 1 1 0 0 1 1 0
1 0 3 2 5 4 7 б 9 8 11 10 13 12 15 14
5,(0) 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1
■«—> 2 3 <0 1 > 6 7 4—► 4 5 ■«—> 10 11 48 9 14 -У 15 12 -> 13
ад 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1
4 5 6 7 0 1 2 3 12 13 14 15 8 9 10 11
ад 0 0 0 1 0 1 1 1 0 1 1 0 0 1 1 0
3 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7
0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1
«->
Рис. 2. Операцп зсуву для 4-входово! функцюналь-ностi
Збшьшення кiлькостi змiнних принципово не змшюе сутностей зсуву даних: зустрiчний зсув двох бтв, пар бiтiв, тетрад бтв, вiсiмок, ... Процедура зус^чного зсуву даних в швертова-ному куб^ному векторi е найбiльш часозатрат-ною в алгоритмi синтезу теспв для функцюналь-них елементiв. Тому И швидкодiя матиме макси-мальне значення при апаратнiй реалiзацil зсувних операцш.
3) Порiвняння за допомогою операцп е^валент-ностi отриманих, в даному випадку, трьох швер-тованих i переупорядкованих Q-векторiв з вихщним Q-покриттям функцiонального еле-мента:
О 110 10 110
0 0 10 10 0 1
§1(0) 10 0 10 0 10
1 0 0 0 0 1 1 0
0 0 0 1 0 1 1 0
т^дФЗ,«}) Т2 - С.>:-:Ч;.;<.), 10 11 10 11 10 10 1111 0 0 111111
Т = Т | V V Т-} 10 111111
4) Диз'юнкщя отриманих трьох векторiв формуе Q-тест, одиничнi координати яких визначають те-стовi набори для перевiрки всiх поодиноких кон-стантних несправностей зовшшшх входiв i ви-ходiв.
З огляду на iстотнiсть зустрiчних реестрових зсу-вiв, нижче пропонуеться унiверсальний алгоритм отримання перестановок куб^них фрагментiв за-лежно вiд номера вхщно! змшно!, що мае три вкладених цикли:
1) Завдання ^номера вхвдно! змшно! або кроку 21 для зус^чного зсуву даних в кубiтi: i = 1, п.
2) Формування циклу обробки кубга з вже зада-ним кроком 21 (2,4,8,16...), кратним ступеш двiйки: j = 0, 2П — 1, 21. Залежно вiд номера вхщно! змiнно! i формуються такi послщовност iндексу j=f(i): [(0,2,4,6_), (0,4,8,12...), (0,8,16,32...)].
3) Задання циклу зустрiчного зсуву даних для пари сусщшх груп: t = j,j + 21-1 — 1. Значення вдексу t=f(i,j): обробка кубiта першо! змшно! -(0,0; 2,2; 4,4...), друго! змшно! - (0,1; 4,5; 8,9.), третьо! змшно! - (0,3; 8,11; 16,19.). Виконання операцш зсуву за допомогою використання буферного репстра В (рис. 3):
^ = Qi,t+j) ^ «ц^ = Ql,t) ^ (Ql,t = Bt).
Кiнець алгоритму зсуву даних в репстрах.
Рис. 3 .Зустр!чнийзсувсус!дн!хчастинкуб!та Обчислювальна складнiсть послiдовного алгоритму для обробки куб^ного покриття функцю-нальносп, що мае п вхiдних змшних, дорiвнюе q = 3П2п.
Приклад 1. Синтезувати тест для перевiрки функцюнальносп, задано! логiчним рiвнянням:
"У = X1X2X3 V X1X2X3 V ^^^ V X1X2X3. Результати виконання алгоритму синтезу тесту за Q-вектором на основi послiдовного виконання чо-тирьох реестрових логiчних операцш (по!;, 8Ый, пхог, ог) представлеш у виглядi:
Q 0 0 1 11 0 0 1
Q 11 0 0 0 1 10
Si(Q) 1 1 0 0 1 0 0 1
S2(Q) 0 0 1 1 1 0 0 1
S3(Q) 0 110 110 0
Т, -QGS|(Qi T2=Q©S2(Q) T3=Q©S3(Q) 0 0 0 0 1 1 1 1 11111111 10 10 10 10
Г = Tj v Г2 v Гч 11111111
На рис. 4 представлений секвенсор синтезу теспв для функцюнальних елеменпв, заданих куб№ ними покриттями. Вш мютить модуль управ-лшня, який розподшяе чотири синхро!мпульси, створюючи цикл генерацн тесту, що включае 4 паралельш оперaцi!, як! виконуються послщовно: 0) Початкова стартова операщя, що шщюеться сигналом Start, передбачае завантаження в репстр куб^ного покриття. 1) синхро!мпульс Clk N ак-тивуе виконання операцн iнверсi! Not над вмютом регiстрa куб^ного покриття. 2) Синхросигнал Clk S активуе виконання операцш зустр!чного зсуву над вмютом, в даному випадку трьох, регiстрiв, отримуючи таю результати: S1 (not Q), S2 (not Q), S3 (not Q). 3) Поим синхросигнал Clk C шщюе виконання паралельних операцш пор!вняння (в даному випадку для трьох регiстрiв) отриманих кaндидaтiв в тест з початковим куб^ним покрит-тям: nxor (notQ, 5г), nxor (notQ, S2), nxor (notQ, S3). 4) Синхросигнал Clk U активуе виконання or-операцн над кандидатами в тест, в даному випадку реaлiзaцiю лопчного об'еднання вмюту трьох репсов:
T = or[nxor(notQ, S1),nxor(notQ, S2),nxor(notQ, S3)]
S,(Q) S2(0) S31Q) Q©S| 0©S2 QÖS3
1
Start Clk N
1
5
Test Ö-1
2~ T~
4
5 ¡6 7*
Clk S
Clk С
Clk U
Control Unit
Рис. 4. Секвенсор синтезу теспв
Якщо не економити на апаратур^ то швидкодда тестового генератора можна довести до чотирьох автоматних тaктiв q=4 паралельного виконання лопчних реестрових оперaцiй, що дае можливють вбудовувати секвенсор в BIST-шфраструктуру цифрових систем на кристалах для online тесту-
вання функцiональних елеменпв. При цьому су-марна кшьюсть 2П - розрядних регiстрiв дорiвню-ватиме К(п)=1+1+п+п+1=(2п+3), а загальний об-сяг реестрово! пам'ятi в бгах буде дорiвнювати К(Я)=(2п+3) 2П, де п - число вхiдних змшних фу-нкцiонального элемента.
3. Обчислення булевих похщних для Q-синтезу теспв
Розглянемо метод обчислення булевих похщних по куб^ному покриттю для створення умов ак-тивiзацi! вхiдних змшних при ситэд кубiтних тестiв. Проведемо аналогию мiж двома формами булевих функцш для взяття похiдних: анал^ич-ною та векторною. Дослiдження методу вико-наемо на прикладi: 1(х) = х2х3 V х2х3. Питання, що пiдлягаютьрозв'язанню: 1) Визна-чення похiдних першого порядку за анал^ично-юта кубiтною формами завдання логiчно! функцi!. 2) Верифшащя отриманих умов активiзацi! шляхом !х моделювання на однiй з форм опису функщональносн. 3) Синтез теспв активiзацi! змiнних логiчно! функцп на основi обчислення похiдних.
Куб^ний метод взяття булево! пох1дно!:
1) Визначити куб^ний вектор функцiональностi.
2) Виконати хог-операщю для зсунутих назустрiч один одному сусiднiх частин кубга: бiти, пари, тетради.
3) Результат записати в обидвi сусiднi частини: бпи. пари, тетради:
Y 0 1 0 1 о
0
1 1
Xl
0
1 1 о
0
1 1 о
Y' Г2
0 о о
0
1 1 1 1
Y' гз
1 1 1 1
0 0 0 о
Для розглянутого прикладу виконання процедури обчислення похщно! за першою змшною мае ви-гляд: {a,b}=a©b, (0110,0110)=0101©0011. Для отримання похтдно! за другою змшною величиною слщ послщовно xor-скласти сусщш пари куб^-вектора Y, а загальний результат записати в кожну пару: {a,b}=a©b: (00,00)=01©01, (11,11)=00ф 11. Для отримання похщно! по третiй змшнш слщ послщовно xor-скласти сусщш 6!ти кубiт-векторa Y, а загальний результат записати в кожен бгт сусадв: {a,b}=a©b: (1,1)=0©1, (1,1)=0©1, (0,0)= 0©0, (0,0)=0ф0. Звичайно, що кубiт-похiднa за будь-якою вхщною змшною, як вектор, мае вщносну симетрiею р!в-носн пiдвекторa з побудови: похщна першо! змшно! мае симетричну р!внють двох тетрад, похщна друго! змшно! мае симетричну р!вшсть
кожних сусщшх пар, похвдна третьо! змшно! мае симетричну рiвнiсть кожних сусщшх бтв. Визначити всi похiднi для функцй трьох змiнних: Г(х) = Х2Хз V Х1Х2Х3.
Нижче представлений виключно простий процес обчислення похщних на кубiтному покриттi без розгляду таблиц iстинностi, що на формальному р1вш мае такий виг ляд:
у % %
10 11 0 0 0 1 0 0 10 0 10 0 10 11 0 0 11 0 0 11 1111
1нтерпретащя отриманих кубiт-похiдних. При-родно, що похiднi е функцй, задаш векторами. Вони можуть бути записаш в аналiтичнiй формi (ДНФ) за одиничними значеннями змiнних, яю формують адреси осередкiв кубiт-вектора: = 011 V 111 = Х^^ V X1X2X3
= X2Xз(Хl V Xl) = X2Xз. У2 = 000 V 010 V 100 V 101 V 110 V 111
= Х1Х3 V Xl. У3 = 000 V 001 V 100 V 101 V 110 V 111 = Х1Х2 V Xl.
Мiнiмiзацiя булевих функцш, вiдповiдних похiдним, приводить до анал^ичних виразiв, де вiдсутнi змшш, за якими береться похiдна. Таким чином, вс результати по обчисленню похвдних вiд трьох форм (анал^ична, таблична, векторна) завдання функцi! е щентичними. Найбiльш техно-логiчним е метод обчислення похщно! за кубт ним покриттям. Метод мае меншу обчислювальну складнiсть в силу компактного представлення функцiональностi.
Як альтернатива, далi пропонуеться технологiчно простий метод синтезу теспв на основi взяття похiдних по кубiтних покриттях функцюнальних елементiв.
1) Початкове завдання функцюнальносп кубiт-ним покриттям.
2) Виконання операцiй зустрiчного зсуву частин кубiт-вектора i подальшого покоординатного хог-пiдсумовування для отримання векторiв похщних для кожно! вхщно! змiнно!.
3) Логiчне об'еднання векторiв похвдних, яке фор-муе тест-вектор, що дорiвнюе за розмiром куб^ному покриттю.
4) У разi необхщност отримання мiнiмального тесту виршуеться завдання покриття (вже на мат-рицi кубiт-похiдних) шляхом знаходження мшмального числа пар одиничних координат
куб^-вектора всiх змiнних, де пара одиниць повинна перевiряти поодинокi константш несправ-ностi кожного входу.
Рис. 5 шюструе таблицi процесу отримання тесту вщповщно до пунктiв алгоритму для функцюнальносп 1(х) = Х2Х3 V Х1Х2Х3, представлено!
схемною структурою.
о о о
0
1 1 1 1
х2 0
0
1 1 о
0
1 1
XI 0 _ 1 ' 1 1 1
1 1
0 1
0
Рис. 5.Отримання тесту для структури булево! функцй З урахуванням виконання пункту 3 алгоритм синтезу дае мшмальний тест перевiрки вхщних змшних, який мютить 5 наборiв, що представлено стовпцем Т, а також продубльовано в явному ви-глядi правою таблицею. 1нтерес представляе той факт, що результат виконання процедури взяття похщно! по кубiт-вектору вже мютить тест ак-тивiзацi! кожно! змшно!. Об'еднаний тест пе-ревiряе всi константнi несправностi вх!дних змшних, а також може бути використаний для дiагностування несправностей, оскiльки для ютот-них входiв усi похщш-вектори будуть рiзними. Фактично взяття похвдно! за змiнною на куб№по-критп формуе Q-тест, не бiльше i не менше. 4. Дедуктивний аналп несправностей цифро-вих структур
Використовуеться для визначення якостi тесту щодо введеного класу несправностей, як правило, одиночних константних. 1снуе розвинена теорiя дедуктивного аналiзу [4], орiентована на пара-лельну обробку спискiв несправностей. Пропонуеться технолопчна реалiзацiя дедуктивного мо-делювання на кубiтнiй формi завдання функцю-нальностей, яка вiдрiзняеться вщ наведено! вище паралелiзмом виконання лопчних операцiй, а також можливютю застосування методу для будь-яких цифрових структур.
Сукупнють кубiт-похiдних для вшх вхiдних змiнних, обчислених по куб^ному покриттю, яв-ляе собою куб^ну матрицю для реалiзацi! дедуктивного методу моделювання несправностей. Рядок матриц формуе умови для транспортування списюв несправностей вiд зовшшшх входiв до ви-ходу за правилом: поодиною значення створюють об'еднання вхщних списюв, а нульовi сигнали вказують на входи, списки яких повинш бути вiднятi з результату об'еднання. Наявнють всiх нульових сигналiв у рядку створюе умови перетину вхщних списюв мiж собою. Як приклад пропонуеться побудова дедуктивних формул транспортування списюв несправностей
вщ вхщних змiнних до виходу функцюнальносн, задано! вхiдними наборами, кубiтним покриттям з векторними похщними:
xi х2 х3 Y Xj Х2 Х3 О 0 0 10 11 О О 1 0 0 0 1 О 1 0 0 0 1 0
0 1 1 0 10 0
1 0 0 10 11 1 О 1 0 0 11 1 1 О 0 0 11 1 1 1 1111
У загальному випадку формула дедуктивного мо-делювання лопчних функцюнальностей, пред-ставлених у виглядi куб^них векторiв, мае такий вигляд:
L =vf:n1 (xi1 Л xi2 Л ... Л xij Л ... Л xin) Л (Xi1 V V Xi2V ... V Xij V ... V Xin), L =V2=ni (xii Л ... Л xin) Л (XiiV. V Xi^ L = x Л X, x = xij, X = Xij, i = 1, 2n, j = 1, n. Тут L - список вихщних несправностей; x - мат-риця вхщних тестових наборiв; X - матриця куб^них похiдних вiд кубiтного покриття; n -число вхщних змiнних.
Алгоритм побудови дедуктивно! формули для задано! функцюнальносп включае таю пункти:
1) Завдання куб^-вектора функцюнальносп.
2) Обчислення куб^-похщних для вхщних змшних з метою отримання вщповщно! матрищ.
3) Формування аналiтичноï або матрично-вектор-но! форми обчислення вихiдних списюв несправностей шляхом логiчного множення матриць вхiдних тестових впливiв i матрищ похщних. Нижче представлений процес обчислення аналiтичноï i векторно! форм для дедуктивного моделювання несправностей лопчно! функцю-нальностi:
T = (000,001,010,011,100,101,110,111). Q = (011,001,010,100,011,011,011,111)]. L = (000 Л 011) V (001 Л 001) V (010 Л 010) V
V (011 Л 100)V
V (100 Л 011) V (101 Л 011) V (110 Л 011) V
V (111 Л 111). L = (ВД^ Л XiX2X3) V (xix2_x3 Л X1X2X3) V
V (xix2S3 Л XiX2X3) V
V (xix2x3 Л X1X2X3) V (xix2x3 Л X1X2X3) V
V(xi^2x3 Л X1X2X3) V
V (x^x? Л XiX2X3) V (xix2x3 Л X1X2X3). Обчислення векторних форм для дедуктивного моделювання несправностей основних логiчних примiтивiв: or, and, xor представлено в наступнiй таблищ:
х2 Yv X? Х^
Xî Х£ Y® X® Xj
000110000 1 1 011010101 1 1 1 0 1 1 0 0 0 1 1 1 1 1110 0 1110 1 1
Тут визначеш два вектор-стовпщ табличного за-дання вхщних змшних (x1,x2), кубiт-вектор функцп or - Yv, дв! похщш (X^,X2) для кожно! вхщно! змшно!. Дал! показан!: куб!т-вектор за-дання функцп and i дв! колонки похщних, а також куб!т-вектор функцп xor i два стовпщ похщних по вхщним змшним. Формули дедуктивного моделювання трив!ально записуються по рядках: Lv = X1x2(X1 V X2) V X1 x2(X1 V X2) V x1x2 (X1 V V X2) V X1X2(X1 V X2),
LA = _ _
= X1X2(X1V X2)V _
V X1X2(X1 V X2) V X1X2 (X1 V X2) V X1X2 (X1 V X2),
L®_=_
= X1X2(X1V X2) V _
V X1X2(X1 V X2) V X1X2(X1 V X2) V X1X2 (X1 V X2) = (X1V X2).
Тут вхщш змшш xi з'еднуються м!ж собою знаком кон'юнкцп, а похщш - змшш транспортування списюв вхщних несправностей, позначен! символом Xi, об'еднуються м!ж собою знаком диз'юнкцп, вщповщно до стану координат стов-пщв-похщних.
Таким чином, запропонована технолопя моделю-вання несправностей, що заснована на викори-станш векторних куб!тних форм задання функцю-нальностей i похщних, не мае аналопв за доступ-шстю розумшня, простотою реал!зацп та швид-код!ею. На рис. 6 зображено процесор куб!тного моделювання цифрових пристро!в, що включае структури: справного штерпретативного моделю-вання,дедуктивного анал!зу несправностей, при-значеного для оцшки якост тесту i побудови таблиц! несправностей, а також модутв тестування i д!агностування дефектов на стад!ях проектування i експлуатацп. Основна вщмшшсть вщ юнуючих ршень полягае у використанш Q-покриття, пред-ставленого у форм! вектора сташв функцюнальносп, що дае можливють ютотно пщвищити швидкод!ю моделювання за рахунок виконання паралельних реестрових операцш
FM
ТВ
CD
h
Q-derivatives
Shift-Xor Register
Q-coverage
S¡¡ Л(ХП W...VX;,,) -
T- v[QfflS¡(Q)l
j-1 J=l
M¡ -Qi[M(*i>]
l-face -►I UUT |—► LFSR —> Library (Cloud, SoQ
Рис. 6. Процесор кубггного моделювання цифрових пристро!в
Тут: Control Unit - пристрш управлшня симулято-ром, який синхрошзуе роботу блоюв справного моделювання та структурних компонента дедуктивного анал1зу несправностей; FM - Fault Matrix, матриця вхщних несправностей розглянуто! функцюнальност цифрового пристрою; TB - Test Bench, упорядкована сукупшсть вхщних пе-ревiряючих послiдовностей, де поточний вхвдний набiр iдентифiкуeться як xi; CD - Circuit Description - схемний опис цифрового пристрою, де функцюнальш елементи представленi кубт ними покриттями Q-coverage. Обробка останшх здiйснюeться блоком справного моделювання Mi = Qi [M(xi)], який реалiзуe адреснi транзакцii мiж кубiтним покриттям i вектором моделювання М. Результати справного моделювання вхщних наборiв формують матрицю GM (Good simulation Matrix), яка записуеться в Library. Блок Shift-Xor Register формуе матрицю похщних в куб^нш формi (Q-derivatives), застосовуючи реестровi операцii зсуву i xor. L-блок формування вихiдного списку несправностей використовуе формулу аналiзу вхщного набору i рядки матрицi похвдних
L = xi Л (Xi1 V ... V Xin). Результати дедуктивного аналiзу формують списки несправностей, вiдповiдних вхщних наборiв, якi об'еднуються в DM - Fault Detected Matrix i заносяться до Library. Крiм того, T-мо-дуль формуе Q-тест i оцiнюе його якiсть в матриц одиночних константних несправностей зовнiшнiх входiв i виходiв функцiональних елементiв, яю заносяться в Library. Тести для функцюнальностей разом з матрицями несправностей формують бiблiотеку Library = {Signature, Q-coverage, Q-test, Quality, DM, GM}, яка може багаторазово викори-стовуватися як хмарний або вбудований в SoC сервю для тестування i / або дiагностування функцiональностей UUT (Unit Under Test) на ос-новi використання iнтерфейсу I-face, що тдтри-муе стандарти IEEE 1500 SECT, IP (Internet Protocol). Пошук тестових сервiсiв у бiблiотецi здiйснюеться за куб^ним вектором, попередньо
згоpнутим в 16-pозpядний двiйковий код - сигта-туpу (Sign), нa основi perierpa зсуву з лiнiйними звоpотними зв'язгами (LFSR. Цe дae можливiсть стpуктуpувaти бiблiотeку для швидкого отpи-мaння iнфоpмaцiï тa пpовeдeння тeстувaння в pe-жимi online.
Cтpуктуpa взaeмодiючиx компонeнтiв xмapного сepвiсу QuaSim пpeдстaвлeнa нa pис. 7. Квaнтовe aбо кубiтнe уявлeння модeлi цифpового пpистpою paзом з iнтepпpeтaтивним симулятоpом склaдa-ють ядpо систeми, iнтeгpовaноï у вeликi дaнi 1н-тepнeту.
Big Data, Platform Google & Amazon, Microsoft, IBM
HDL Models ol
SoC Elements
Data of Design Knowledge
Task & Specification of Project
Cloud Service QuaSim
<*> Parsers & Convenors ■-Ч-»- Quantum Simulator Data S, Microservices
nternet of Things (Simulation Service)
Visualization on User Gadget
Functional Elements mr-L
Circuits Simulation
HDL Models of Circuits
Security & Autheri-ttfication
Quality of Design
Рис. 7. Хмapний ^pb^ тeстувaння i модeлювaння
Ц дae можливють викоpистовувaти як виxiднi дaнi в^^ил спeцифiкaцiï i тeстбeнчi, описaнi та мовax VHDL, Verilog. Зaнуpeння QuaSim сepвiсу в iнтepнeт-пpостip пepeдбaчae вивaнтaжeння pe-зультaтiв його pоботи, пов'язaноï з aнaлiзом i син-тeзом нaвчaльниx aбо pинково оpieнтовaниx ^о-eктiв у сepвiси збepiгaння дaниx нa плaтфоpмax Google, Amazon, Microsoft, IBM, Facebook. Дe-монстpaцiя xмapного iнтepфeйсу для тeстувaння i вepифiкaцiï цифpовиx сxeм пpeдстaвлeнa нa pœ.
Рис. S. Cкpiншот стpуктуpи з тpигepaми
Пpиpодно, що iнтeгpaцiя xмapного сepвiсу з кiбepпpостоpом пepeдбaчae нaявнiсть rnpœp-мiкpосepвiсiв для пepeтвоpeння спeцифiкaцiй з мов опису aпapaтуpи у внуфшню мову QuaSim, a тaкож мae iснувaти i звоpотнe пepeтвоpeння дa-ниx з кубiтного уявлeння в стaндapти HDL-мов. Пapсepизaцiя зaбeзпeчуe можливiсть викоpи-стaння вiдкpитиx в im^^ri пpоeктiв для ïx вив-чeння i поpiвняння в систeмi модeлювaння Q-sim, a тaкож pобить доступними внутpiшнi пpоeктнi
ршення QuaSim для вс!х бажаючих на ринку освгтшх сервюв. 5. Висновки
1) Розроблено метод i секвенсор синтезу теспв для функцюнальних лопчних компоненнв, який характеризуеться паралельним виконанням реестрових лопчних операцш (shift, or, not, nxor) над кубпним вектором i його похщними, що дае можливють ютотно зменшити час генерування вхщних набор!в i тестування пристрою в режим! embedded online.
2) Розроблено метод обчислення похщних для ге-нераци теспв функцюнальних компоненнв, який характеризуеться паралельним виконанням реестрових лопчних операцш (shift, or, not, nxor) над кубпним вектором, що дозволяе ютотно зменшити час генерування вхщних набор!в i тестування пристрою за рахунок апаратно! надм!р-носп.
3) Розроблено метод моделювання справно! по-ведшки i несправностей для функцюнальних компоненнв, який характеризуеться паралельним ви-конанням реестрових лопчних операцш (shift, or, not, nxor) над кубпним вектором i його похщними, що дае змогу ютотно зменшити час верифшаци i тестування цифрового пристрою в режим! embedded online.
4) Запропоновано процесор кубпного моделю-вання цифрових пристро!в ¡мплементувати в SoC або Cloud Service для анал!зу справно! поведшки i несправностей на основ! використання кубпних покритнв функцюнальних елеменнв, який вщр!зняеться вщ вщомих реал!зацш застосуван-ням мшмального набору реестрових лопчних операцш i високою швидкод!ею.
5) Практична значущють дослщжень полягае в можливосн хмарно! реал!зацп швидкод!ючого методу синтезу теспв i моделювання несправностей для функцюнальних лопчних компоненнв на основ! паралельного виконання реестрових лопчних операцш (shift, or, not, nxor) над кубп-ним вектором i його похщними, що дае можливють генерувати вхщш набори i оцшювати !х якють в режим! online. Кр!м того, хмарний мшросервю синтезу теснв i моделювання де-фекнв для функцюнальних лопчних компоненнв може бути затребуваний для навчальних i науко-вих цшей в процесах синтезу та анал!зу цифрових архпектур.
6) Запропонований метод синтезу теспв для функцюнальностей на основ! кубпного покриття може бути використаний як вбудований BIST-компонент для сервюного обслуговування SoC на основ! стандарту граничного сканування IEEE 1500 SECT або як хмарний online сервю тестування апаратних модул!в за допомогою IP-протоколу.
7) Подальш! дослщження в данш обласн будуть спрямоваш на створення програмно-апаратних генератор!в теснв, симулятор!в несправностей, справно! поведшки, алгоритмв д!агностування та б!блютечних ршень, вбудованих в шфраструк-туру кристашв i / або хмарш сервюи, що викори-стовують кубпний опис функцюнальносн лопч-ного компонента.
Лiтература: 1. Рябцев В.Г., Муамар Д.Н. Метод и средства визуализации алгоритмов тестов диагностирования запоминающих устройств // Электронное моделирование. 2010. Том 32. № 3. С. 43-52. 2.Zorian Y.,Shoukourian S. Test solutions for nanoscale Systems-on-Chip: Algorithms, methods and test infrastructure // Ninth International Conference on Computer Science and Information Technologies Revised Selected Papers, Yerevan, 2013. Р. 1-3. 3. Tshagharyan G., Harutyunyan G., Shoukourian S. and Zorian Y. Overview study on fault modeling and test methodology development for FinFET-based memories // 2015 IEEE East-West Design & Test Symposium (EWDTS), Batumi, 2015. Р. 1-4. 4. Проектирование и тестирование цифровых систем на кристаллах / В. И. Хаханов и др. Харьков: ХНУРЭ, 2009. 484 с. 5. Abramovici M., Breuer M.A. and Friedman A.D. Digital systems testing and testable design // Computer-SciencePress. 1998. 652 p. 6. Кубитные структуры данных вычислительных устройств / В. И. Хаханов, Ваджеб Гариби, Е. И. Литвинова, А. С. Шкиль // Электронное моделирование. 2015. Т. 37, № 1. С. 76-99. 7. Кубитные технологии анализа и диагностирования цифровых устройств / В. И. Хаханов, Тамер Бани Амер, С. В. Чумаченко, Е. И. Литвинова // Электронное моделирование. 2015. Т. 37, № 3. С. 17-40. 8. Автоматизированное проектирование цифровых устройств / С.С.Бадулин, Ю.М.Барнаулов и др. / Под ред. С. С. Ба-дулина.М.: Радиоисвязь, 1981. 240 с. 9. Michael A. Nielsen & Isaac L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press. 2010. 676p. 10.Mikio Nfrfhara. Quantum Computing. An Overview. Higashi-Osaka: Kinki University, 2010. 53p. 11. Курош А.Г. Курс высшей алгебры. М.: Наука. 1968. 426 с. 12.Бондаренко М.Ф., Хаханов В.И., Литвинова Е.И. Структура логического ассоциативного мультипроцессора // Автоматика и телемеханика. 2012. № 10. С. 7192. 13. Molnar L. and Gontean A.Fault simulation methodes, 2016 // 12th IEEE International Symposium on Electronics and Telecommunications (ISETC), Timisoara, Romania, 2016. Р. 194-197. 14. Hadjitheophanous S., Ne-ophytou S. N., Michael M. K. Scalable parallel fault simulation for shared-memory multiprocessor systems // 2016 IEEE 34th VLSI Test Symposium (VTS), Las Vegas, NV, 2016. Р. 1-6. 15. Pomeranz Irith, Reddy Sudhakar M. Aliasing Computation Using Fault Simulation with Fault Dropping // IEEE Trans. on Computers. 1995. P. 139-144. 16.Ubar R., Kousaar J., Gorev M. and Devadze S., Combinational fault simulation in sequential circuits // 2015 IEEE International Symposium on Circuits and Systems (ISCAS), Lisbon, 2015. Р. 2876-2879. 17. GorevM., Ubar R. and Devadze S., Fault simulation with parallel exact critical path tracing in multiple core environment // 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, 2015. Р. 1180-1185. 18. Pomeranz
I. Fault simulation with test switching for static test compaction // 2014 IEEE 32nd VLSI Test Symposium (VTS), Napa, CA, 2014. Р. 1-6. 19. Mirkhani S. and Abraham J. A. EAGLE: A regression model for fault coverage estimation using a simulation based metric // 2014 International Test Conference, Seattle, WA, 2014. Р. 1-10. 20. Hahanov I., Gharibi W., Iemelianov I., Tamer Bani Amer. QuaSim -Cloud Service for Digital Circuits Simulation // IEEE 2016 East-West Design & Test Symposium. Yerevan, Armenia. P. 363-370. 21. Литвинова Е.И., Хаханов И.В.Кванто-вый компьютинг для проектирования цифровых систем// Радиоэлектроника и информатика. 2015. № 4. С. 42-45.
Transliterated bibliography:
1. Ryabcev V.G., Muamar D.N. Metod i sredstva vizualizacii algoritmov testov diagnostirovaniya zapominayushchih ustrojstv // Elektronnoe modelirovanie 2010. Tom 32. № 3. S. 43-52.
2.Zorian Y.,Shoukourian S. Test solutions for nanoscale Systems-on-Chip: Algorithms, methods and test infrastructure // Ninth International Conference on Computer Science and Information Technologies Revised Selected Papers, Yerevan, 2013, pp. 1-3. doi: 10.1109/CSITechnol.2013.6710371.
3.Tshagharyan G., Harutyunyan G., Shoukourian S. and Zorian Y. Overview study on fault modeling and test methodology development for FinFET-based memories // 2015 IEEE East-West Design & Test Symposium (EWDTS), Batumi, 2015. Р. 1-4. doi: 10.1109/EWDTS.2015.7493149
4.Proektirovanie i testirovanie cifrovyh sistem na kristallah / V. I. Hahanov i dr. Har'kov: HNURE, 2009. 484 s.
5Abramovici M., Breuer M.A. and Friedman A.D. Digital systems testing and testable design // ComputerScience-Press. 1998. 652 p.
6.Kubitnye struktury dannyh vychislitel'nyh ustrojstv / V.
I. Hahanov, Vadzheb Garibi, E. I. Lit-vinova, A. S. Shkil' // Elektronnoe modelirovanie. 2015. T. 37, № 1. S. 76-99.
7.Kubitnye tekhnologii analiza i diagnostirovaniya cifrovyh ustrojstv / V.I. Hahanov, Tamer Bani Amer, S.V. Chumachenko, E.I. Litvinova // Elektronnoe modelirovanie. 2015. T. 37, № 3. S. 17-40. 8Avtomatizirovannoe proektirovanie cifrovyh ustrojstv / S.S.Badulin, Yu.M.Barnaulov i dr. / Pod red. S.S. Badulina.M.: Radio i svyaz', 1981. 240 s. 9MichaelA. Nielsen&IsaacL. Chuang. Quantum Computation and Quantum Information. Cambridge University Press. 2010. 676p.
10.Mikio Nfrfhara. Quantum Computing. An Overview. Higashi-Osaka: Kinki University, 2010. 53p.
II. Kurosh A.G. Kurs vysshej algebry. Izd-vo: Moskva: Nauka. 1968. 426 s.
12. Bondarenko M.F., Hahanov V.I., Litvinova E.I. Struktura logicheskogo associativnogo mul'tipro-cessora// Avtomatika i telemekhanika. 2012. № 10. S. 71-92. 13Molnar L. and Gontean A. Fault simulation methodes," 2016 12th IEEE International Symposium on Electronics and Telecommunications (ISETC), Timisoara, Romania, 2016.Р. 194-197.
14.Hadjitheophanous S., Neophytou S. N.,Michael M. K. Scalable parallel fault simulation for shared-memory multiprocessor systems // 2016 IEEE 34th VLSI Test Symposium (VTS), Las Vegas, NV, 2016.Р. 1-6.
15.Pomeranz Irith, Reddy Sudhakar M. Aliasing Computation Using Fault Simulation with Fault Dropping // IEEE Trans. on Computers. 1995. P. 139-144.
16. Ubar R., Kousaar J., Gorev M. and Devadze S., Combinational fault simulation in sequential circuits // 2015 IEEE International Symposium on Circuits and Systems (ISCAS), Lisbon, 2015. Р. 2876-2879.
17.Gorev M., Ubar R. and Devadze S., Fault simulation with parallel exact critical path tracing in multiple core environment // 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, 2015. Р. 1180-1185.
18.Pomeranz I. Fault simulation with test switching for static test compaction // 2014 IEEE 32nd VLSI Test Symposium (VTS), Napa, CA, 2014. Р. 1-6.
19Mirkhani S. and Abraham J. A. EAGLE: A regression model for fault coverage estimation using a simulation based metric // 2014 International Test Conference, Seattle, WA, 2014. Р. 1-10.
20.Hahanov I., Gharibi W., Iemelianov I., Tamer Bani Amer. QuaSim - Cloud Service for Digital Circuits Simulation // IEEE 2016 East-West Design & Test Symposium. Yerevan, Armenia. P. 363-370.
21.Litvinova E.I., Hahanov I.V. Kvantovyj komp'yuting dlya proektirovaniya cifrovyh sistem // Radioelektronika i informatika. 2015. № 4. S. 42-45.
Надшшла до редколеги 11.07.2017 Рецензент: д-р техн. наук, проф. Кривуля Г.Ф. Литвинова Свгешя 1вашвна,д-р техн. наук, проф. ка-федри АПОТ ХНУРЕ. Науков1 штереси: проектування та тестування цифрових систем. Хобг музика. Адреса: Укра!на, 61166, Харшв, пр. Науки, 14, email: litvinova [email protected]. Емельянов 1гор Валершович, науковий сшвробггник кафедри АПОТ ХНУРЕ. Науков1 штереси: проектування та тестування цифрових систем. Хобг мандри. Адреса: Укра!на, 61166, Харшв, пр. Науки, 14, e-mail: [email protected].
Хаханов 1ван Володимирович, студент кафедри АПОТ факультету К1У ХНУРЕ. Науковпнтереси: тех-шчна д1агностика цифрових систем, програмуваня. Хоб1: горш лиш, англшська мова. Адреса: Укра!на, 61166, Харьков, пр. Науки, 14, тел. +3805770-21-326,e-mail: [email protected].
Litvinova Evgenia Ivanovna, Dr. of Tech. Sciences, prof., Design Automation Department, NURE. Scientific interests: design and testing of digital systems. Hobbies: music. Address: Ukraine, 61166, Kharkov, Nauki Ave, 14, e-mail: [email protected]. Yemelyanov Igor Valerievich, researcher, Design Automation Department, NURE. Scientific interests: design and testing of digital systems. Hobbies: traveling. Address: Ukraine, 61166, Kharkov, Nauki Ave, 14, e-mail: [email protected].
Hahanov Ivan Vladimirovich, student, Design Automation Department, NURE. Scientific interests: technical diagnostics of digital systems, programming. Hobby: mountain skiing, English. Address: Ukraine, 61166, Kharkov, Nauki Ave., 14, ph. + 3805770-21-326, e-mail: [email protected].