Кіріспе

ATPG (автоматты сынақ үлгісін жасау және автоматты сынақ үлгісін генераторы) – электрондық дизайнды автоматтандыру әдісі немесе технологиясы, цифрлық тізбекке қолданғанда автоматты сынақ жабдығына дұрыс жұмыс істеуін және ақаулардың салдарынан туындаған бұрыс жұмыс істеуін ажыратуға мүмкіндік береді. Дайындалған үлгілер жартылай өткізгіш құрылғыларды өндірістен кейін сынауға немесе ақаудың себебін анықтауға (ақаулық талдау) көмектеседі. ATPG тиімділігі модельделген ақаулардың немесе ақаулық модельдерінің санымен, сондай-ақ жасалған үлгілердің санымен өлшенеді. Бұл көрсеткіштер әдетте сынақ сапасын (көбірек ақауларды анықтағанда жоғары) және сынақ қолдану уақытын (көбірек үлгілерде жоғары) көрсетеді. ATPG-нің тиімділігі қарастырылып отырған ақаулық модельге, сыналып жатқан тізбектің түріне (толық сканирлеу, синхронды тізбектік немесе асинхронды тізбектік), сыналып жатқан тізбекті бейнелеу үшін қолданылатын абстракция деңгейіне (логикалық элемент, регистрлік алмасу, коммутатор) және қажетті сынақ сапасына байланысты маңызды фактор болып табылады.

Негізгі білім

Ақау – құрылғының өндіріс процесінде туындаған қате. Қате моделі – ақаудың дизайнның жұмысын қалай өзгертетінін математикалық тұрғыдан сипаттау. Сыналатын құрылғыға (DUT) сынақ үлгісі қолданғанда, құрылғының негізгі шығыстарында байқалатын логикалық мәндер сол сынақ үлгісінің нәтижесі деп аталады. Егер сынақ үлгісі дәл жобаланғандай жұмыс істейтін, ақаусыз құрылғыда сыналып жатса, онда ол сынақ үлгісінің күтілетін нәтижесі болып саналады. Егер тек бір ғана ақау бар құрылғыны сынағанда, сынақ үлгісінің нәтижесі күтілетін нәтижеден өзгеше болса, онда ақау сол сынақ үлгісі арқылы анықталған деп есептеледі. Белгілі бір ақау үшін АТПЖ (автоматты сынақ үлгісін жасау) процесі екі кезеңнен тұрады: ақауды белсендіру және ақаудың таралуы. Ақауды белсендіру ақау моделінің орнында, ақау моделі тудырған мәнге қарама-қарсы сигнал мәнін орнатады. Ақаудың таралуы алынған сигнал мәнін немесе ақаудың әсерін, ақау орнынан бастапқы шығысқа дейінгі жолды сезімталдандыру арқылы алға жылжытады. АТПЖ кем дегенде екі жағдайда белгілі бір ақау үшін сынақ үлгісін таба алмайды. Біріншіден, ақау өзінен анықталмайтын болуы мүмкін, яғни, сол ақауды анықтайтын ешқандай үлгі болмайды. Мұның классикалық мысалы – артық схема, ол бірде-бір ақаудың шығысты өзгертуіне себеп болмайтындай етіп жасалған. Мұндай схемада кез келген ақау анықталмайды. Екіншіден, анықтау үлгісі болуы мүмкін, бірақ алгоритм оны таба алмайды. АТПЖ мәселесі NP-толық болғандықтан (Булдық қанағаттандыру мәселесін азайту арқылы), үлгілердің бар болғанымен, АТПЖ оларды табуға тым көп уақыт жұмсағандықтан бас тартатын жағдайлар болады (әрине, P≠NP болған жағдайда).

Ақаулық үлгілері

бір ақаулық болжамы: тізбекте бір ғана ақаулық пайда болады. Егер біз ақаулық моделінде k мүмкін ақаулық түрлерін анықтасақ және тізбекте n сигналдық сызық болса, бір ақаулық болжамы бойынша, жалғыз ақаулықтардың жалпы саны k × n-ге тең. бірнеше ақаулық болжамы: тізбекте бірнеше ақаулық пайда болуы мүмкін.

Қаттылық құлдырау

Теңдес қателер барлық кіріс үлгілері үшін бірдей қателі мінез-құлықты тудырады. Теңдес қателер жиынтығынан кез келген бір қате бүкіл жиынтықтың өкілі бола алады. Мұндай жағдайда, n сигналдық сызығы бар схема үшін k × n қателік сынағынан әлдеқайда аз тесттер қажет болады. Барлық қателер жиынтығынан теңдес қателерді алып тастау процесі қателерді ығыстыру деп аталады.

Қаттылықта тұрып қалған модель

Соңғы бірнеше ондаған жылдар бойы практикада ең көп қолданылатын ақаулық моделі – бір тұйықталған ақаулық моделі. Бұл модельде схемадағы сигнал желілерінің біреуі схемаға берілген кіріске қарамастан, белгілі бір логикалық мәнде тұрып қалады деп есептеледі. Осылайша, егер схемада n сигнал желісі болса, онда схемада 2n тұйықталған ақаулық болуы мүмкін, олардың кейбіреулері бір-біріне эквивалентті болып саналады. Тұйықталған ақаулық моделі – логикалық ақаулық моделі, себебі ақаулық анықтамасымен байланысты ешқандай кешігу туралы ақпарат жоқ. Ол сондай-ақ тұрақты ақаулық моделі деп те аталады, өйткені ақаулықтың әсері тұрақты болып есептеледі, ал кездейсоқ ақаулар (көрінетіндей) кездейсоқ пайда болады және уақытша ақаулар сирек кездеседі, мысалы, жұмыс жағдайларына (температура, қуат көзінің кернеуі) немесе айналасындағы сигнал желілеріндегі деректердің мәндеріне (жоғары немесе төмен кернеу күйлері) байланысты. Бір тұйықталған ақаулық моделі – құрылымдық модель, өйткені ол құрылымдық қақпалық схема моделіне негізделген. 100% тұйықталған ақаулықпен қамтуды қамтамасыз ететін сынақ жиынтығы схемадағы барлық мүмкін тұйықталған ақаулықтарды анықтауға арналған сынақтардан тұрады. 100% тұйықталған ақаулықпен қамту міндетті түрде жоғары сапаны кепілдемейді, себебі басқа да көптеген ақаулар жиі кездеседі (мысалы, көпірлі ақаулар, ашық тізбектер, кешігу ақаулары).

Транзисторлардың ақаулары

Бұл модель CMOS логикалық қақпаларындағы ақауларды сипаттау үшін қолданылады. Транзистор деңгейінде транзистор қысқа тұрып немесе ашық тұрып қалуы мүмкін. Қысқа тұрғанда транзистор үнемі ток өткізетіндей (немесе қосулы күйде қалып) жұмыс істейді, ал ашық тұрғанда транзистор ешқашан ток өткізбейді (немесе өшірілуі мүмкін). Қысқа тұру VDD және VSS арасында тізбек бойында қысқа тұйықталған жағдайды тудырады.

Көпіршік ақаулары

Екі сигнал желісінің арасындағы қысқа тұйықталуды көпірлік ақаулар деп атайды. VDD немесе Vss-ке көпір салу, тұрып қалған ақау моделімен тең. Дәстүрлі түрде, көпір пайда болғанда екі сигнал да логикалық "ЖӘНЕ" немесе "ЕМЕС" операциясы арқылы модельделетін. Егер бір драйвер көпір жағдайында екінші драйверге басымдық етсе, басымдық драйвер логикалық мәнді екінші драйверге таңдайды, мұндай жағдайда басымдық көпірлік ақау қолданылады. CMOS VLSI құрылғыларының шындығын жақсырақ бейнелеу үшін, басымдық "ЖӘНЕ" немесе басымдық "ЕМЕС" көпірлік ақау моделі қолданылады. Соңғы жағдайда, басымдық драйвер өзінің мәнін сақтайды, ал екінші драйвер өзінің және басымдық драйвердің мәндерінің "ЖӘНЕ" немесе "ЕМЕС" операциясының нәтижесін алады.

Комбинациялық АТГ

Комбинациялық ATPG әдісі логикалық схеманың жеке түйіндерін (немесе флип-флоптарды) схеманың жалпы жұмысына қарамастан сынауға мүмкіндік береді. Сынақ жүргізілген кезде, «скан» режимі қосылып, барлық флип-флоптар (FF) қарапайым байланысқа түсіріледі, бұл олардың қалыпты жұмыс кезіндегі арналуына сәйкес өзара байланыстарын айналып өтеді. Бұл, салыстырмалы түрде қарапайым векторлық матрицаны пайдаланып, құрамындағы барлық FF-терді жылдам сынауға, сондай-ақ ақауларды нақты FF-терге анықтауға мүмкіндік береді.

Тізбекті АТГ

Тізбекті схема ATPG барлық мүмкін сынақ векторлары тізбектерінің кеңістігінде белгілі бір ақауды анықтау үшін сынақ векторларының тізбесін іздейді. Қысқа тізбекті табу немесе оны жылдам табу үшін әртүрлі іздеу стратегиялары мен эвристикалық тәсілдер әзірленді. Дегенмен, хабарланған нәтижелерге сәйкес, ешбір стратегия немесе эвристикалық тәсіл барлық қолданыстар немесе схемалар үшін басқаларынан жоғары нәтиже бермейді. Бұл байқау сынақ генераторына кең ауқымды эвристикалық жиынтықты қосу қажеттігін көрсетеді. Тіпті қарапайым тұйықталған ақауды анықтау үшін тізбекті схемада векторлар тізбегі қажет. Сонымен қатар, жад элементтерінің болуына байланысты, тізбекті схемадағы ішкі сигналдарды басқару және бақылау комбинациялық логикалық схемадағыдан әлдеқайда қиын. Бұл факторлар тізбекті ATPG-ның күрделілігін комбинациялық ATPG-ға қарағанда әлдеқайда жоғары етеді, онда жеке түйіндерге оңай қол жеткізу үшін сканерлік тізбек (яғни, сынақ үшін ғана ауыстырылатын сигналдар тізбегі) қосылады. Тізбекті ATPG-ның жоғары күрделілігіне байланысты, ол үлкен, жоғары тізбекті схемалар үшін, ешқандай Сынақ үшін Жобалау (DFT) схемасын қамтымайтын жағдайда, қиын міндет болып қала береді. Дегенмен, бұл сынақ генераторлары, жартылай сканерлеу сияқты төмен шығынды DFT техникаларымен біріктіріліп, үлкен жобаларды сынауда белгілі бір деңгейде табысқа жетті. Аумаққа немесе өнімділікке сезімтал жобалар үшін тізбекті схема ATPG және жартылай сканерлеуді пайдалану шешімі, комбинациялық схема ATPG негізіндегі танымал толық сканерлеу шешіміне тартымды балама ұсынады.

Нанометрлік технологиялар

Тарихи тұрғыдан алғанда, ATPG қақпа деңгейіндегі ақаулар моделінен туындаған ақаулар жиынтығына бағытталған. Жобалау тенденциялары нанометрлік технологияға қарай жылдам дамығандықтан, жаңа өндіріс сынақтарының мәселелері пайда болуда. Жобалауды тексеру кезінде инженерлер енді сенімділік пен өнімділікке қайшы әсер ететін сызылымдық қиылыстар мен қуат көзінің шуылын елемеуге болмайды. Қазіргі ақаулықты модельдеу және вектор жасау техникалары, сынақ жасау кезінде уақыт ақпаратын ескеретін, үлкен жобаларға бейімделетін және экстремалды жобалау шарттарын қамтитын жаңа модельдер мен техникаларға ұступа бастарды. Нанометрлік технология үшін көптеген қазіргі жобалауды тексеру мәселелері өндіріс сынақтарының мәселелеріне айналып жатыр, сондықтан жаңа ақаулық модельдеуі мен ATPG техникалары қажет болады.

Алгоритмдік әдістер

Өте үлкен интегралдық схемаларды жоғары қателік жабумен сынау күрделілігіне байланысты қиын міндет. Сондықтан, комбинациялық және реттік тізбектерді шешу үшін көптеген әртүрлі ATPG әдістері әзірленді. Бульдік айырмашылық және сөздік ұсыныстар сияқты ерте сынақ генерациялау алгоритмдерін компьютерде іске асыру мүмкін болмады. D алгоритмі жад талаптары тұрғысынан алғашқы тәжірибелік сынақ генерациялау алгоритмі болды. D алгоритмі [Роттың 1966 жылғы ұсынысы] D белгілемесін енгізді, ол көптеген ATPG алгоритмдерінде қолданыла береді. D алгоритмі D (SA0) немесе (SA1) арқылы белгіленетін, тұрып қалған қате мәнін бастапқы шығысқа таратуға тырысады. Жолға бағытталған шешім қабылдау (PODEM) D алгоритмінен жақсартылған. PODEM 1981 жылы Прабху Гоел жасаған, D алгоритміндегі кемшіліктер дизайндық жаңарулар D алгоритмінің жүзеге асыра алмайтын тізбектерге әкелген кезде анық болды. Fan Out бағытталған (FAN алгоритмі) PODEM-нен жақсартылған. Ол ATPG іздеу кеңістігін шектейді, есептеу уақытын қысқартады және кері ізденуді жылдамдатады. Сынақ векторларын жасау үшін кейде Бульдік қанағаттандыруға негізделген әдістер қолданылады. Псевдорандомдық сынақ генерациясы – тесттерді жасаудың ең қарапайым әдісі. Ол сынақ векторларын жасау үшін псевдорандомдық сан генераторын пайдаланады және жақсы машиналық нәтижелерді есептеу үшін логикалық симуляцияға, ал жасалған векторлардың қателік жабуын есептеу үшін қателік симуляциясына сенеді. Wavelet Automatic Spectral Pattern Generator (WASP) – реттік ATPG үшін спектрлік алгоритмдерге қарағанда жақсартылған. Ол есептеу уақытын қысқарту және компакторды жылдамдату үшін іздеу кеңістігінде толқындық эвристиканы қолданады. Оны Rake Software компаниясының қызметкері Суреш Кумар Деванатан және Рутгерс университетінің профессоры Майкл Бушнелл ұсынды. Суреш Кумар Деванатан WASP-ті Ратгерс университетіндегі диссертациясының бір бөлігі ретінде ойлап тапты.

Тиісті конференциялар

АТГ - жыл бойы көптеген конференцияларда талқыланатын тақырып. АҚШ-тағы басты конференциялар – Халықаралық Тестілеу Конференциясы және VLSI Тестілеу Симпозиумы, ал Еуропада DATE және ETS конференцияларында осы мәселе қарастырылады.