Мицросеми Ин-Цирцуит ФПГА Дебуг
Информације о производу
Спецификације
- Тип уређаја: Мицросеми СмартФусион2 СоЦ ФПГА
- Датум изласка: мај 2014
- Могућности отклањања грешака: Ин-Цирцуит ФПГА Дебуг, уграђени логички анализатор
- Максимална фреквенција хватања података: до 100МХз
Абстрацт
ФПГА су моћни елементи дизајна у уграђеним системима са много предности у дизајнуtagес, али ови уређаји могу имати сложен дизајн са сложеним проблемима дизајна које треба отклонити. Праћење проблема дизајна као што су грешке у дефиницији, проблеми у интеракцији са системом и грешке системског времена може бити изазов. Укључивање могућности за отклањање грешака у кругу у ФПГА може драматично побољшати хардверско отклањање грешака и избећи број сати фрустрације. Овај рад описује неколико различитих приступа отклањању грешака у кругу за ФПГА, идентификује кључне компромисе и кроз екampле дизајн, намењен за Мицросеми СмартФусион®2 СоЦ ФПГА уређај, показаће како се нове могућности могу користити за убрзање отклањања грешака и тестирања.
Увод
ФПГА су продорни и моћни елементи дизајна и сада се налазе у готово сваком уграђеном систему. Са повећањем капацитета, укључивањем сложених функционалних блокова на чипу и напредних серијских интерфејса, ови уређаји такође могу имати сложене проблеме дизајна које треба отклонити. Праћење проблема као што су грешке функционалне дефиниције (на ФПГА или системском нивоу), проблеми са функционалном интеракцијом система, проблеми са системским временом и проблеми верности сигнала између ИЦ-а (као што су шум, преслушавање или рефлексије) постају много сложенији када се користе напредни ФПГА. Симулација је свакако велика помоћ у идентификацији многих дизајнерских проблема, али многе интеракције у стварном свету неће се појавити док се дизајн не имплементира у хардвер. Развијено је неколико различитих техника за отклањање грешака у сложеном дизајну како би се процес поједноставио. Пажљиво разумевање сваке од ових кључних техника, укључујући различите предностиtagес и дисадванtagес, корисно је када се разматра која техника или комбинација техника је погодна за одређени дизајн.
Бившиampле ФПГА дизајн, намењен за Мицросеми СмартФусион2 СоЦ ФПГА уређај, може се користити за демонстрирање неких предностиtagес и дисадванtagе ових стандардних техника као и најновије могућности за отклањање грешака у кругу. Овај илустративни прampће показати како се ове различите технике могу користити за убрзање идентификације и елиминације хардверских проблема током хардверског отклањања грешака.
Зашто је ФПГА отклањање грешака критичан аспект дизајна и развоја система?
ФПГА имају два главна модела употребе који их разликују од осталих елемената дизајна. ФПГА се могу користити у производном производу или се могу користити као развојно средство за доказивање или прототип концепта дизајна производње. Када се користе као производно возило, ФПГА могу бити много флексибилнија мета од производних возила заснованих на АСИЦ-у или ЦПУ-у. Ово је посебно важно за нови дизајн, онај који још увек није имплементиран у хардверу. Дизајни са различитим архитектонским опцијама могу се лако креирати и тестирати тако да се идентификује оптимални дизајн. ФПГА са он-цхип процесорима (СоЦ ФПГАс) такође омогућавају компромис са процесирањем заснованим на ЦПУ-у са хардверски потпомогнутим ФПГА-базираним функцијама убрзања. Ови адванtagес може драматично смањити време потребно за дизајн, валидацију, тестирање и анализу грешака за развој нових производа.
Када се користи за израду прототипа дизајна, можда за производни АСИЦ, флексибилност ФПГА је кључна предност. Стварна хардверска платформа, чак и она која не ради пуном брзином, чини много лакшим добијање детаљних метрика перформанси система, података анализе пропусности и резултата архитектуре доказа о концепту. ФПГА подршка за ојачане имплементације индустријских стандардних магистрала (као што су ПЦИе®, Гигабит Етхернет, КСАУИ, УСБ, ЦАН и други) поједностављује тестирање повезано са овим интерфејсима. Најновије породице ФПГА са АРМ процесорима на чипу (СоЦ ФПГА) олакшавају прототип имплементације са уграђеним процесорима. Претходно развијени процесорски код се може пренети на прототип, а нови код креиран паралелно са напорима дизајна хардвера.
Ова комбинација стандардног процесора са стандардним интерфејс магистралама омогућава да се искористи велики екосистем доступних библиотека кода, драјвера, функционалних АПИ-ја, оперативних система у реалном времену, па чак и комплетних оперативних система за много брже креирање радног прототипа. Поред тога, када се дизајн учврсти, ФПГА прототип се може користити за снимање опсежних симулационих тестних скупова (и за стимуланс и за одговор) који одражавају стварне системске податке. Ови скупови података могу бити од непроцењиве вредности у креирању коначних симулација за АСИЦ или другу производну имплементацију. АдванtagКоришћење ФПГА као прототипа дизајна може драматично смањити време за пројектовање, валидацију, тестирање и анализу грешака за имплементацију финалног производа.
У оба ова уобичајена модела ФПГА употребе, флексибилност ФПГА као циља дизајна је кључна предностtagе. То значи да би многе промене дизајна и итерације биле норма, и стога би способност брзог отклањања грешака у дизајну била критична за омогућавање што је могуће више опција дизајна. Без ефикасне могућности отклањања грешака, велики део предностиtagФлексибилност ФПГА дизајна ће бити смањена додатним потребним временом за отклањање грешака. Срећом, ФПГА такође могу да обезбеде додатне хардверске карактеристике које драматично поједностављују отклањање грешака у реалном времену. Пре него што погледамо ове могућности, хајде да прво погледамо најчешће типове проблема са којима се ФПГА дизајн може суочити како бисмо имали одговарајућу позадину за процену ефикасности и повезаних компромиса различитих алата за отклањање грешака.
Уобичајени проблеми приликом отклањања грешака у ФПГА дизајну
Заједно са проширеним могућностима које модерни ФПГА доносе, повезана повећана сложеност отежава креирање дизајна без грешака. У ствари, процењено је да отклањање грешака може да заузме више од 50% циклуса дизајна уграђеног система. С обзиром на то да притисци времена на тржиште настављају да сужавају развојни циклус, отклањање грешака у хардверу почетног система се пребацује на задњу мисао—пречесто под претпоставком да је та верификација (сама велики проценатtagе плана развоја), ухватиће све грешке пре почетног покретања система. Хајде да погледамо само неколико уобичајених типова системских проблема да бисмо боље разумели изазове са којима ће се типичан дизајн суочити током почетног покретања система.
Грешке функционалне дефиниције може бити двоструко тешко пронаћи пошто је дизајнер погрешно разумео одређени захтев, тако да се грешка може превидети чак и када се пажљиво погледају детаљи дизајна. БившиampУобичајена грешка функционалне дефиниције би била када транзиција државног строја не заврши у правом стању. Грешке се такође могу појавити у системским интерфејсима као проблем интеракције. Кашњење интерфејса, нпрampле, може бити погрешно наведен, што доводи до неочекиваног преливања бафера или услова недовољно преливања.
Проблеми са временом на системском нивоу су још један врло чест извор грешака у дизајну. Асинхрони догађаји су, посебно, чест извор грешака када се ефекти синхронизације или укрштања временских домена не разматрају пажљиво. Када се ради великом брзином, ове врсте грешака могу бити веома проблематичне и могу се појавити веома ретко, можда само када се манифестују специфични обрасци података. Многа уобичајена кршења времена спадају у ову категорију и обично их је веома тешко, ако не и немогуће симулирати.
Кршење времена такође може бити резултат ниске верности сигнала између интегрисаних кола, посебно у системима са више шина за напајање за свако коло. Ниска верност сигнала може резултирати шумом сигнала, преслушавањем, рефлексијама, прекомерним оптерећењем и електромагнетним сметњама (ЕМИ) које се често појављују као кршење времена. Проблеми са напајањем, као што су транзијенти (посебно током покретања или гашења система), варијације оптерећења и напрезања велике дисипације енергије такође могу довести до мистериозних грешака, које се често не могу лако пратити до извора напајања. Чак и када је дизајн потпуно исправан, проблеми са производњом плоче могу довести до грешака. Неисправни лемни спојеви и неправилно причвршћени конектори, нпрampле, може бити извор грешака и чак може зависити од температуре или локације плоче. Употреба напредних ФПГА техника паковања може отежати испитивање сигнала на штампаној плочи, тако да само добијање приступа жељеном сигналу често може бити проблематично. Често многи проблеми у дизајну не стварају тренутну грешку и морају се провлачити кроз дизајн све док се грешка заправо не испољи. Праћење почетне грешке до основног узрока често може бити фрустрирајући, тежак и дуготрајан задатак.
Фор екampДакле, један бит погрешан у табели превода можда неће резултирати грешком све до много циклуса касније. Неки од алата о којима ћемо расправљати касније у овом раду, а који користе наменски хардвер за отклањање грешака у кругу, посебно су усмерени на то да ове „траге грешака“ учине бржим и лакшим. Пре него што уђемо у детаље ових алата, хајде да прво погледамо популарну софтверску симулацију технике отклањања грешака како бисмо боље разумели предностиtagес и дисадванtagес коришћења симулације за отклањање грешака.
Употреба симулације за отклањање грешака
Типично у симулацији дизајна, све компоненте из стварног живота унутар и изван дизајна се математички моделирају као софтверски процеси који се извршавају секвенцијално на стандардном ЦПУ-у. Примена широког спектра стимулуса на дизајн и провера очекиваног излаза у односу на излаз симулираног дизајна, је једноставан начин да се ухвате најочитије грешке у дизајну. Прозор који приказује типичну симулацију дат је на слици 1 испод. Јасан адванtagЕ од симулације у односу на отклањање грешака засновано на хардверу, јесте да се симулација може обавити у софтверу – није потребан стварни дизајн заснован на хардверу и тестна столица. Симулација може брзо ухватити многе грешке у дизајну, посебно оне повезане са нетачним спецификацијама, неразумевањем захтева интерфејса, грешкама у функцији и многим другим 'грубим' типовима грешака које се лако детектују кроз једноставне векторе стимулуса.
Симулација је посебно ефикасна када су дизајнеру доступне опсежне комбинације стимулуса и када су резултујући резултати добро познати. У овим случајевима, симулација може да уради скоро исцрпан тест дизајна. Нажалост, већина дизајна нема лак приступ обимним тестовима и процес њиховог креирања може да одузме много времена. Стварање тестног пакета који покрива 100% дизајна је практично немогуће за велике дизајне засноване на ФПГА и морају се користити пречице да би се покушало покрити кључне елементе дизајна. Још једна потешкоћа са симулацијом је да то није имплементација у „стварном свету“ и да не може да ухвати асинхроне догађаје, интеракције система при брзини или кршења времена. Коначно, процес симулације може бити веома спор и ако је потребно много итерација, симулација брзо постаје најзахтевнији, а често и најскупљи део процеса развоја.
Као алтернативу (или можда боље речено, као додатак симулацији), ФПГА дизајнери су открили да могу додати хардвер за отклањање грешака у ФПГА дизајн како би посматрали и контролисали кључне сигнале унутар уређаја. Ове технике су се првобитно развиле као ад-хоц приступи, али су се постепено развиле у стандардну стратегију за отклањање грешака у хардверу. Ова употреба могућности за отклањање грешака у кругу нуди значајан напредакtagес за дизајне засноване на ФПГА, а следећи одељак ће истражити три најчешће стратегије и њихове различите предностиtagес и дисадванtagес.
Уобичајени приступи за отклањање грешака у кругу за ФПГА
Најчешће технике за имплементацију могућности за отклањање грешака унутар кола у ФПГА користе или уграђени логички анализатор, екстерну опрему за тестирање или наменски хардвер сонде сигнала уграђен у ФПГА тканину. Уграђени логички анализатор се обично имплементира помоћу ФПГА тканине и убацује се у дизајн. Тхе ЈTAG порт се користи за приступ анализатору и снимљени подаци се могу приказати на рачунару. Када се користи екстерна опрема за тестирање, ФПГА дизајн који се тестира се модификује тако да се одабрани интерни ФПГА сигнали усмеравају на излазне пинове. Ове игле се затим могу посматрати преко спољне опреме за тестирање. Када се користи наменски хардвер сигналне сонде, широк избор интерних сигнала се може очитати у реалном времену. Неке имплементације сонде се чак могу користити за писање за регистрацију или меморијске локације, чиме се додатно побољшавају могућности отклањања грешака. Погледајмо детаљније адванtagес и дисадванtagе сваке од ових техника, а затим погледајте бившегampле дизајнирајте да видите како ови различити приступи могу утицати на укупно време отклањања грешака.
Ин-Цирцуит ФПГА Дебуг-Ембеддед Логиц Анализер
Концепт уграђеног логичког анализатора био је директан резултат ад-хоц могућности за отклањање грешака у кругу које су дизајнери имплементирали када су ФПГА први пут коришћени. Уграђени логички анализатори су додали нове могућности и елиминисали захтев за дизајнера да развије сопствени анализатор. Већина ФПГА нуди ове могућности, а треће стране нуде стандардне анализаторе (Идентифи®, из Синопсис-а, је један популаран бившиampле) који се лако могу повезати са алатима вишег нивоа ради даљег побољшања продуктивности.
Функционалност логичког анализатора је уметнута у дизајн, користећи ФПГА тканину и уграђене меморијске блокове као бафере праћења, као што је илустровано на слици 2. Ресурси за покретање су такође креирани тако да се сложене интеракције сигнала могу лако одабрати и ухватити. Приступ анализатору за контролу и пренос података се обично врши преко стандардног ЈTAG порт за поједностављење захтева интерфејса. Снимљени подаци се могу приказати на рачунару помоћу заједничког viewинг софтвера и типично одражава излаз таласног облика логичког симулатора viewинг стиле.
АдванtagПредности овог приступа су да се не користе додатни ФПГА И/О пинови, већ само стандардни ЈTAG сигнали. ИП језгра уграђеног логичког анализатора су обично релативно јефтина и у неким случајевима могу бити опција за постојећу ФПГА синтезу или алате за симулацију. У неким случајевима, уграђени логички анализатор такође може да обезбеди додатне излазе на некоришћеним И/О-овима, ако је то погодније. Један од недостатакаtagЗа овај приступ је потребна велика количина ФПГА ресурса. Конкретно, ако се користе бафери праћења, то ће смањити број доступних блок меморија. Ако је потребан широк бафер, то ће такође бити компромис са дубином меморије (пошто употреба шире меморије резултира мањом дубином меморије) – велики недостатакtagе када користите мање уређаје. Можда је највећи недостатак ове технике то што је сваки пут када се изврши прилагођавање постављања сонде потребно поново компајлирати и репрограмирати дизајн. Када користите велики уређај, овај процес може потрајати значајно време. Због начина на који су сигналне сонде постављене у дизајн, може бити тешко корелирати временске односе сигнала. Поред тога, кашњења између сонди сигнала нису конзистентна и стога је временске односе тешко упоредити. Ово представља посебну потешкоћу када се пореде асинхрони сигнали или сигнали из различитих временских домена.
Ин-Цирцуит ФПГА Дебуг – Екстерна тестна опрема
Употреба кода за отклањање грешака у кругу у комбинацији са екстерном опремом за тестирање била је природан развој када је екстерни логички анализатор већ био доступан за тестирање система. Креирањем једноставног кода за отклањање грешака за идентификацију и одабир интерних тест сигнала и њихову примену на ФПГА И/О, као што је приказано на слици 3, било је могуће искористити напредне могућности анализатора (као што су велики бафери трагова, сложене секвенце покретања и вишеструке viewинг оптионс) за креирање једноставних, али моћних окружења за отклањање грешака. Сложеније могућности унутар кола за напредне опције окидања могу минимизирати број потребних излаза. Фор екampДакле, бирање специфичних адреса на широкој магистрали могло би бити недовољно ако би били потребни екстерни пинови.
Коришћење интерне ФПГА логике драматично смањује И/О захтеве и чак може тражити специфичне обрасце адреса (можда секвенцу позива и повратка) за отклањање сложенијих проблема. Ако је доступан заједнички кориснички интерфејс, то може да поједностави криву учења и побољша продуктивност.
АдванtagПредности овог приступа су да он користи трошкове екстерне опреме за тестирање и стога нема додатних трошкова алата. Нека ИП језгра кола за отклањање грешака су доступна од произвођача опреме или ФПГА произвођача и могу бити веома ниска или чак бесплатна. Количина ФПГА ресурса потребних за имплементацију логике одабира сигнала је веома мала, а пошто се функција праћења врши помоћу екстерног логичког анализатора, меморије блока нису потребне. Пошто је логика избора јефтина, може се подржати и велики број канала са широким окидањем. Логички анализатор може да ради и у режиму за регулисање времена и у режиму стања који помаже да се изолују неки проблеми са временом.
ДисадванtagОви приступи могу укључити потребу за куповином логичког анализатора, ако он већ није додељен пројекту. Овај недостатакtagе може бити довољно да обесхрабри овај приступ у многим случајевима. Међутим, имајте на уму да постају доступне неке јефтине опције логичког анализатора које користе рачунар или таблет за приказ, што ову опцију чини много исплативијом за једноставне захтеве за отклањање грешака.
Број потрошених пинова ФПГА може бити још један недостатакtagе и ако је потребно посматрати широке магистрале, потребно је значајно планирање распореда плоче и додавање конектора за отклањање грешака. Овај захтев је најчешће тешко предвидети у раној фази пројектовања и још једну нежељену сложеност. Слично приступу уграђеног логичког анализатора, стратегија екстерног тестирања захтева поновно компајлирање и репрограмирање дизајна, када је потребан сваки нови експеримент.
Заједнички недостатакtagове две технике — коришћење ресурса на чипу (који такође могу утицати на перформансе времена дизајна и створити додатне захтеве за отклањање грешака), потреба за поновним компајлирањем и репрограмирањем дизајна (што може додати сате или чак дане распореду за отклањање грешака), претходно планирање потребно за идентификацију вероватних сценарија тестирања и коришћење додатних улазно/излазних ресурса чипа без ових потребних ресурса. Један одговор је био додавање наменске логике за отклањање грешака у ФПГА тканину на неким уређајима. Резултат је био отклањање грешака у кругу коришћењем хардверских сонди.
Ин-Цирцуит ФПГА Дебуг – Хардверске сонде
Употреба хардверских сонди драматично поједностављује технике за отклањање грешака у кругу за ФПГА. Ова техника имплементирана као функција Ливе Пробе на СмартФусион2®СоЦ ФПГА и ИГЛОО®2 ФПГА уређајима, додаје наменске линије сонде у ФПГА тканину како би се посматрао излаз било ког бита регистра логичког елемента. Као што је приказано на блок дијаграму на слици 4, хардверске сонде су доступне у два канала сонде А и Б.
Одабрани излази регистра (тачке сонде), попут оног који се налази на дну слике, рутирају се изнад два канала сонде и ако се изаберу могу се применити на А или Б канал. Ови сигнали канала у реалном времену се затим могу послати на наменске пинове сонде А и сонде Б на уређају. Сигнали сонде А и сонде Б се такође могу интерно усмерити ка уграђеном логичком анализатору.
Имајте на уму да су временске карактеристике пинова сонде регуларне и да имају занемарљиво одступање од једне тачке сонде до друге, што чини много лакшим упоређивање временских карактеристика сигнала у реалном времену. Подаци се могу ухватити на фреквенцији до 100МХз што га чини прикладним за већину циљаних дизајна.
Можда је најважније да локације тачака сонде, пошто нису изабране као део имплементираног дизајна (одабране су преко наменског хардвера док дизајн ради на ФПГА), могу се брзо променити једноставним слањем података о избору на уређај. Није потребно поновно компајлирање и репрограмирање дизајна.
Да би још више поједноставио коришћење могућности Ливе Пробе, повезани софтверски алат за отклањање грешака има приступ свим локацијама сигнала сонде путем аутоматски генерисаног отклањања грешака file. Као што је приказано на слици 5, назив сигнала се може изабрати са листе сигнала и применити на жељени канал. Ово се може урадити чак и док је дизајн у току, тако да активност сондирања унутар дизајна буде беспрекорна и веома ефикасна.
У многим случајевима, могућност хардверске сонде, као што је Ливе Пробе, може да се користи у комбинацији са претходно описаним уграђеним логичким анализатором и екстерним техникама тестирања.
Као што је приказано на слици 6, способност Ливе Пробе да бира сигнале 'у ходу' омогућава брзу и лаку промену сигнала који се посматрају без потребе за поновним компајлирањем дизајна. Спољни логички анализатор или опсег може лако да посматра сондиране сигнале, као што је илустровано у горњем десном делу слике на наменским излазним пиновима сонде. Алтернативно (или можда чак и као додатак) интерни логички анализатор (блок ИЛА Идентифи, приказан на слици) може се користити за посматрање пинова сонде. Сигнали сонде могу бити ухваћени од стране ИЛА и посматрани на прозору таласног облика. Локације сонде се могу мењати без потребе за поновним компајлирањем циљног дизајна.
Имајте на уму да се додатне могућности за покретање и праћење могу користити за побољшање функционалности сонде, што олакшава уочавање чак и сложених проблема дизајна.
Додатне могућности хардверског отклањања грешака су такође доступне на СмартФусион2 СоЦ ФПГА и ИГЛОО2 ФПГА уређајима. Једна од ових могућности, названа Ацтиве Пробе, може динамички и асинхроно читати или писати у било који регистрски бит логичког елемента. Написана вредност остаје за један циклус такта тако да се нормалан рад може наставити, што га чини веома вредним алатом за отклањање грешака. Активна сонда је од посебног интереса ако се жели брзо посматрање унутрашњег сигнала (можда једноставно да би се проверило да ли је активан или у жељеном стању, као што је сигнал за ресетовање), или ако постоји потреба да се брзо тестира логичка функција писањем у тачку сонде.
(можда за покретање транзиције државног строја брзим постављањем улазне вредности да би се изоловао проблем тока контроле).
Још једна могућност за отклањање грешака коју пружа Мицросеми је Мемори Дебуг. Ова функција омогућава дизајнеру да динамички и асинхроно чита или пише у изабрани ФПГА СРАМ блок. Као што је илустровано на снимку екрана алатке за отклањање грешака (Слика 7), када је изабрана картица Мемори Блоцкс, корисник може да изабере жељену меморију за читање, изврши снимање снимка меморије, измени вредности меморије, а затим запише вредности назад у уређај. Ово може бити посебно корисно за проверу или подешавање бафера података који се користе у комуникационим портовима за рачунарски оријентисане греблице или чак за код који извршава уграђени ЦПУ. Отклањање грешака у сложеним грешкама зависним од података је знатно брже и лакше када се меморије могу посматрати и контролисати тако брзо.
Када је дизајн отклоњен, можда би било пожељно искључити могућности хардверског отклањања грешака како би се заштитиле осетљиве информације. Нападач би могао да користи те исте могућности да прочита критичне информације или промени системске поставке које могу да омогуће лак приступ осетљивим деловима система. Мицросеми је додао функције које омогућавају дизајнеру да осигура уређај након што је отклањање грешака завршено. Фор екampДакле, приступ Ливе Пробе и Ацтиве Пробе може бити закључан да би се потпуно онемогућила функција као могуће средство напада (чак елиминише могућност да активност сонде ствара било какве обрасце у струји напајања који би се могли користити за покушај индиректног посматрања података сонде). Алтернативно, приступ одабраним деловима дизајна може бити закључан да би се спречио приступ само тим деловима. Ово може бити згодно ако само део дизајна треба да буде сигуран, чинећи остатак дизајна и даље доступним за тестирање на терену или анализу грешака.
Упоредна табела за отклањање грешака у кругу
Сада када је детаљно реview описане су три главне технике за отклањање грешака у хардверу у кругу, креиран је сажети графикон, као што је приказано на слици 8, који детаљно описује различите предностиtagес и дисадванtagес сваке методе. Имајући на уму да се неке технике могу користити заједно (Ливе Пробе и Интернал Логиц Анализер (ИЛА), као што је Синопсис Идентифи, нпр.ampле), можемо видети кључне предности и слабости сваке технике. Колекција могућности за отклањање грешака у хардверу у кругу (Ливе Пробе, Ацтиве Пробе и Мемори Дебуг—заједно назване СмартДебуг), најслабије су у поређењу са другим техникама када је у питању број укупних доступних сонди (црвени круг) и слабије су од најбољих (жути круг) када се узме у обзир брзина снимања (спољна тестна опрема).
Технике засноване на ИЛА, као што је Синопсис Идентифи, најслабије су у поређењу са другим техникама и када се узму у обзир захтеви за ФПГА ресурсима. Технике базиране на опреми за екстерно тестирање су најслабије у односу на бројна разматрања, а најтеже су трошкови, утицај времена дизајна и померања сонде (због потребе поновног компајлирања дизајна). Можда је оптимално решење комбинација СмартДебуг-а и једне од других техника, тако да се број канала слабости СмартДебуг-а може ублажити и померање тачке сонде умањитиtagсмањене су и друге технике.
Класификације сигнала
Може се направити корисна разлика између неких од најчешћих типова сигнала и то може помоћи при планирању приступа отклањању грешака. Фор екampДакле, сигнали који се не мењају осим током покретања система, као што су ресетовање система, ресетовање блока или иницијализациони регистри могу се класификовати као статички сигнали. Овим типовима сигнала се најефикасније приступа преко постројења које лако може посматрати, као и контролисати сигнал, без потребе за дугим циклусом поновног компајлирања. Ацтиве Пробе је одлично средство за отклањање грешака у статичким сигналима. Слично томе, сигнали који се чешће мењају, али су и даље статични у великој већини времена, могу се класификовати као псеудостатички и такође се најефикасније отклањају грешака помоћу Ацтиве Пробе. Сигнали који се често мењају, попут сигнала сата, могу се класификовати као динамички и није им тако лако приступити преко активне сонде. Ливе Пробе је бољи избор за посматрање ових сигнала.
Једноставан случај коришћења за отклањање грешака
Сада када имамо боље разумевање различитих опција за отклањање грешака у кругу, погледајмо једноставан дизајн нпр.ampда видимо како ове технике раде. Слика 9 приказује једноставан ФПГА дизајн у СмартФусион2 СоЦ ФПГА уређају. Подсистем микроконтролера (МСС) се ресетује помоћу ЦореСФ2Ресет Софт ИП блока. Улази за овај блок су ресетовање по укључењу, ресетовање корисничког ткања и екстерно ресетовање. Излази су ресетовање на Усер Фабриц, МСС ресетовање и М3 ресетовање. Симптоми грешке су да нема активности на И/О-овима иако уређај успешно излази из ПОР стања. Три различите опције за отклањање грешака у овој грешци су такође илустроване на слици: Плава кутија (означена ЕТЕ) је за метод спољне опреме за тестирање; зелена кутија (означена ИЛА) је за методу унутрашњег логичког анализатора; а наранџаста кутија (означена АП) је за метод активне сонде. Претпоставићемо да су потенцијални основни узроци грешке неисправно потврђени улази за ресетовање у ЦореСФ2Ресет Софт ИП блок.
Погледајмо сада процес отклањања грешака за три од претходно описаних метода у кругу.
Екстерна тестна опрема
Користећи ову методу, претпоставља се да је тестна опрема доступна и да је не користи пројекат вишег приоритета. Поред тога, важно је планирати унапред како би неки ФПГА И/О уређаји били доступни и могли се лако повезати са опремом за тестирање. Имати заглавље на ПЦБ-у, нпрampле, било би од велике помоћи и минимизирало би време утрошено на идентификацију и повезивање са 'вероватним осумњиченим' или потенцијални кратки спој пинова током сондирања. Дизајн ће морати да се поново компајлира да би се изабрали сигнали које желимо да истражимо. Надамо се да нећемо 'гулити лук' и морати да изаберемо додатне сигнале за даљу истрагу, јер често наша почетна истрага само доводи до више питања. У сваком случају, процес поновног компајлирања и репрограмирања може да потраје значајно време, а ако доведе до кршења времена, потребан је редизајн (сви смо упознати са колико фрустрирајућим може бити покушај решавања проблема са затварањем времена, посебно када правите промене дизајна да бисте пронашли грешку у дизајну—цео процес може трајати од минута до сати)! Такође је важно запамтити да ако дизајн нема слободне корисничке И/О, овај метод се не може применити. Штавише, овај метод је структурално наметљив за дизајн — а грешке везане за време могу нестати или се поново појавити између итерација.
Интерни логички анализатор
Користећи овај метод, ИЛА се мора уметнути у дизајн користећи материјалне ресурсе, а затим га треба поново компајлирати. Имајте на уму да ако је ИЛА већ инстанцирана, сигнали које желимо да истражимо можда нису инструментирани, што би такође захтевало поновно компајлирање. Овај процес ризикује промену оригиналног дизајна и кршење временских ограничења. Ако је тајминг испуњен, дизајн треба репрограмирати и поново покренути. Цео овај процес може потрајати неколико минута или чак сати ако је време поновног компајлирања дуго и потребно је више пролаза. Овај приступ је структурално наметљив и може резултирати сличним проблемима онима који су описани када се користи горњи метод.
Активна сонда
Користећи ову методу, активна сонда може бити усмерена на извор различитих сигнала ресетовања, од којих сви потичу из излаза регистра (као што је уобичајено у свакој доброј пракси дигиталног дизајна). Сигнали се бирају један по један, из менија Ацтиве Пробе приказаног на слици 10 испод. Изабране вредности сигнала се могу прочитати и приказати у прозору података активне сонде. Све погрешне тврдње се лако идентификују. Овај тест се може урадити одмах без потребе за поновним компајлирањем и репрограмирањем уређаја и није структурално или процедурално наметљив. Цео процес траје само неколико секунди. Овај метод такође може да створи могућност контроле (асинхроно мењање вредности) што друге две методе неће дозволити. У овом конкретном прampДакле, сигнал за ресетовање који потиче из регистра може се лако испитати и открити да се држи у активном стању.
Тренутачно пребацивање сигнала за ресетовање може се постићи асинхроним манипулисањем регистром који генерише остале сигнале.
Сложенији случај употребе за отклањање грешака
Горенаведени дизајн је био веома једноставан и користан је као увод у коришћење описаних техника дизајна, али сложенији нпр.ampто би могло бити још илустративније. Много пута сигнал од интереса није статички сигнал као што је био у нашем једноставном бившемampле но је динамичан. Уобичајени динамички сигнал је средњи сат, који се можда користи за мерење времена руковања за серијски интерфејс. На слици 11 приказан је такав дизајн са корисничким Софт ИП језгром, у овом случају, прилагођеним серијским интерфејсом повезаним на системску АПБ магистралу. Симптоми грешке су да нема активности на корисничком прилагођеном серијском интерфејсу и да када мастер АПБ магистрале изда трансакцију за приступ серијском интерфејсу, он прелази у услов изузетка који указује на нетачно руковање. Чини се да ови услови искључују статички узрок, као што је нетачан сигнал за ресетовање, пошто се чини да машина стања трансакције не ради очекиваном брзином и на тај начин узрокује изузетак. Сматра се да је основни узрок генератор фреквенције такта унутар корисничког ИП језгра.
Ако не ради на исправној фреквенцији, настале би описане грешке.
У овој ситуацији је вероватно боља стратегија да се приступ Ацтиве Пробе замени са Ливе Пробе. Ово је илустровано на горњој слици наранџастом ЛП кутијом, користећи ЈTAG сигнал за избор извора сонде.
Екстерна тестна опрема
За овај случај, методологија је веома слична претходно описаном једноставном прampле. Сигнал корисничког сата се доводи до тачке тестирања (надамо се у заглављу) и потребно је поновно компајлирање које одузима много времена. Такође може бити од помоћи да се изнесе референтни сигнал, можда системски сат који се користи за тактирање ИП корисника као сигнал за поређење. Поново ћемо бити подвргнути потреби да поново компајлирамо и репрограмирамо како би цео процес могао да потраје значајно време.
Интерни логички анализатор
Овај случај је веома сличан једноставном прampле. ИЛА мора бити уметнут, или жељени сигнал дефинисан, и циклус поновног компајлирања и репрограмирања мора бити извршен. Сви претходно описани проблеми и даље доводе до значајног времена циклуса отклањања грешака. Међутим, постоји додатна сложеност. Сат који покреће ИЛА треба да буде синхрони, и идеално много бржи у односу на сат који се посматра из корисничког Софт ИП језгра. Ако су ови сатови асинхрони или немају тачне временске односе, хватање података ће бити непредвидиво и могући извор забуне у процесу отклањања грешака.
Имајте на уму да ако кориснички Софт ИП сат није генерисан на чипу (можда је опорављен из серијског интерфејса), дизајнер ће можда морати да дода модул такта да генерише бржи ИЛА такт користећи додатне ресурсе и евентуално креирање кршења времена.
Ливе Пробе
Користећи овај метод, Ливе Пробе се може брзо указати на извор корисничког сата и било који други извор такта из регистра да би се пронашао основни узрок грешке. Ливе Пробе ће приказати изабране излазе сигнала у реалном времену и стога је било који временски однос између сигнала много лакше одредити. Цео процес траје само неколико секунди.
Друге функције за отклањање грешака за серијске интерфејсе
Такође је важно истаћи да постоје многе додатне могућности за отклањање грешака у СмартФусион2 СоЦ ФПГА и ИГЛОО2 ФПГА уређајима који се могу користити на серијским интерфејсима, попут оног у претходном екampле дизајн где су грешке још компликованије. СЕРДЕС Дебуг, нпрampле, пружа специфичне могућности за отклањање грешака за наменске серијске интерфејсе велике брзине. Неке од функција СЕРДЕС Дебуг укључују подршку за ПМА тест (као што је генерисање ПРБС шаблона и тестирање повратне петље) подршку за више конфигурација СЕРДЕС теста са реконфигурацијом на нивоу регистра како би се избегло коришћење пуног тока дизајна за промене конфигурације, и текстуалне извештаје који приказују конфигурисане протоколе, СЕРДЕС конфигурационе регистре и регистре конфигурације траке. Ове карактеристике чине СЕРДЕС отклањање грешака много лакшим и могу се користити заједно са Ливе Пробе и Ацтиве Пробе ради даљег убрзања отклањања грешака сложених кола.
Претходно описани алат за отклањање грешака у меморији се такође може користити у комбинацији са СЕРДЕС Дебуг-ом за убрзање тестирања. Пошто се меморијски бафери могу брзо и лако прегледати и променити помоћу Мемори Дебуг-а, могуће је брзо креирати 'тест пакете' и посматрати резултате повратне петље или међусистемске комуникације. Дизајнер може искористити ове могућности и на тај начин минимизирати потребу за специјализованим 'тест упртачима' који троше додатну ФПГА тканину и који могу утицати на тајминг чипа.
Закључак
Овај рад је детаљно описао неколико различитих приступа имплементацији отклањања грешака у кругу за ФПГА и СоЦ ФПГА-употребу интегрисаног логичког анализатора, употребу екстерне опреме за тестирање и употребу наменских кола сонде интегрисаних у ФПГА тканину. Додавање специјализованих и наменских кола сонде, као што су Ацтиве Пробе и Ливе Пробе које нуди Мицросеми на СмартФусион2 СоЦ ФПГА и ИГЛОО2 ФПГА уређајима, показало се да значајно убрзава и поједностављује процес отклањања грешака. Способност брзог модификовања селекције интерних сигнала (без потребе да се изврши веома дуготрајан циклус поновног компајлирања и поновног програмирања), и способност да се испитају унутрашњи сигнали (без потребе за коришћењем ФПГА тканине и потенцијалног увођења временских кршења) показали су се као главни предностиtagес приликом отклањања грешака у ФПГА дизајну. Поред тога, описана је употреба више методологија, које могу да раде заједно да обезбеде још свеобухватнију могућност отклањања грешака. Коначно, два бивampЛе дебуг случајеви коришћења су дати да илуструју компромисе између описаних метода.
Да бисте сазнали више
- ИГЛОО2 ФПГАс
- СмартФусион2 СоЦ ФПГА
Мицросеми Цорпоратион (Насдак: МСЦЦ) нуди свеобухватан портфолио полупроводничких и системских решења за комуникације, одбрану и безбедност, ваздухопловство и индустријска тржишта. Производи укључују аналогна интегрисана кола са мешовитим сигналом високих перформанси и зрачењем ојачана, ФПГА, СоЦ и АСИЦ; производи за управљање напајањем; уређаји за мерење времена и синхронизације и прецизна временска решења, постављајући светски стандард за време; уређаји за обраду гласа; РФ решења; дискретне компоненте; безбедносне технологије и скалабилни анти-тampер продуцтс; Повер-овер-Етхернет ИЦ и средњи распони; као и могућности и услуге прилагођеног дизајна. Седиште компаније Мицросеми је у Алисо Виехо, Калифорнија, и има око 3,400 запослених широм света. Сазнајте више на ввв.мицросеми.цом.
© 2014 Мицросеми Цорпоратион. Сва права задржана. Мицросеми и Мицросеми лого су заштитни знаци Мицросеми Цорпоратион. Сви остали заштитни знакови и услужни знаци су власништво њихових власника.
Седиште компаније Мицросеми
- Један Ентерприсе, Алисо Виејо ЦА 92656 САД
- Унутар САД: +1 800-713-4113
- Напољу САД: +1 949-380-6100
- продаја: +1 949-380-6136
- факс: +1 949-215-4996
- Е-маил: салес.суппорт@мицросеми.цом
ФАК
- П: Која је максимална фреквенција хватања података на уређају?
О: Уређај подржава снимање података до 100МХз, погодно за већину циљних дизајна. - П: Да ли треба да поново компајлирам дизајн када користим кола сонде за отклањање грешака?
О: Не, локације тачака сонде могу се брзо променити без потребе за поновном компилацијом или репрограмирањем дизајна.
Документи / Ресурси
![]() |
Мицросеми Ин-Цирцуит ФПГА Дебуг [пдфУпутства Ин-Цирцуит ФПГА Дебуг, ФПГА Дебуг, Дебуг |