Microsemi-լոգո

Միկրոկիսահաղորդչային ներկառուցված FPGA կարգաբերում

Microsemi-In-Circuit-FPGA-Debug-արտադրանք

Ապրանքի մասին տեղեկատվություն

Տեխնիկական պայմաններ

  • Սարքի տեսակը՝ Microsemi SmartFusion2 SoC FPGA
  • Թողարկման ամսաթիվ՝ մայիս 2014թ
  • Վրիպազերծման հնարավորություններ՝ ներկառուցված FPGA վրիպազերծում, ներդրված տրամաբանական վերլուծիչ
  • Տվյալների հավաքագրման առավելագույն հաճախականությունը՝ մինչև 100 ՄՀց

Վերացական
FPGA-ները ներկառուցված համակարգերի հզոր դիզայնի տարրեր են՝ բազմաթիվ դիզայնի առավելություններով։tages, սակայն այս սարքերը կարող են ունենալ բարդ դիզայն՝ բարդ դիզայնի խնդիրներով, որոնք պետք է վրիպազերծվեն: Դիզայնի այնպիսի խնդիրների հայտնաբերումը, ինչպիսիք են սահմանման սխալները, համակարգի փոխազդեցության խնդիրները և համակարգի ժամանակի սխալները, կարող է մարտահրավեր լինել: FPGA-ում ներկառուցված վրիպազերծման հնարավորությունների ներառումը կարող է զգալիորեն բարելավել սարքավորումների վրիպազերծումը և խուսափել հիասթափության անթիվ ժամերից: Այս հոդվածը նկարագրում է FPGA-ների ներկառուցված վրիպազերծման մի քանի տարբեր մոտեցումներ, նույնականացնում է հիմնական փոխզիջումները և, նախնական տարբերակի միջոցով,ampMicrosemi SmartFusion®2 SoC FPGA սարքի համար նախատեսված դիզայնը կցույց տա, թե ինչպես կարելի է օգտագործել նոր հնարավորությունները՝ վրիպազերծումն ու թեստավորումը արագացնելու համար։

Ներածություն

FPGA-ները տարածված և հզոր դիզայնի տարրեր են և այժմ հանդիպում են գրեթե բոլոր ներդրված համակարգերում: Աճող հզորության, բարդ չիպային ֆունկցիոնալ բլոկների և առաջադեմ սերիական ինտերֆեյսների ներառման հետ մեկտեղ, այս սարքերը կարող են նաև ունենալ բարդ դիզայնի խնդիրներ, որոնք պետք է շտկվեն: Առաջադեմ FPGA-ներ օգտագործելիս շատ ավելի բարդ են դառնում այնպիսի խնդիրների հետևումը, ինչպիսիք են ֆունկցիոնալ սահմանման սխալները (FPGA-ի կամ համակարգի մակարդակում), ֆունկցիոնալ համակարգի փոխազդեցության խնդիրները, համակարգի ժամանակի խնդիրները և ինտեգրալ սխեմաների միջև ազդանշանի ճշգրտության խնդիրները (ինչպիսիք են աղմուկը, խաչաձև խոսակցությունը կամ արտացոլումները): Սիմուլյացիան, անշուշտ, մեծ օգնություն է դիզայնի բազմաթիվ խնդիրներ բացահայտելու համար, բայց իրական աշխարհի շատ փոխազդեցություններ չեն երևա, մինչև դիզայնը չներդրվի սարքավորման մեջ: Մշակվել են բարդ դիզայնի խնդիրների շտկման մի քանի տարբեր տեխնիկաներ՝ գործընթացը պարզեցնելու համար: Այս հիմնական տեխնիկաներից յուրաքանչյուրի ուշադիր ըմբռնումը, ներառյալ տարբեր առաջադեմները,...tages և disadvantages-ը օգտակար է, երբ հաշվի եք առնում, թե որ տեխնիկան կամ տեխնիկայի համադրությունն է հարմար որոշակի դիզայնի համար։
ՆախկինampMicrosemi SmartFusion2 SoC FPGA սարքի համար նախատեսված FPGA դիզայնը կարող է օգտագործվել որոշ առավելություններ ցուցադրելու համար։tages և disadvantagայս ստանդարտ տեխնիկաների, ինչպես նաև նորագույն ներհամակարգային վրիպազերծման հնարավորությունների օրինակներ: Այս օրինակելի օրինակըampԱյստեղ կցույց տրվի, թե ինչպես կարելի է օգտագործել այս տարբեր մեթոդները՝ սարքավորումների դեբագավորման ընթացքում ապարատային խնդիրների հայտնաբերումը և վերացումը արագացնելու համար։

Ինչո՞ւ է FPGA կարգաբերումը համակարգի նախագծման և մշակման կարևորագույն կողմը։
FPGA-ները ունեն երկու հիմնական օգտագործման մոդել, որոնք տարբերակում են դրանք այլ դիզայնի տարրերից: FPGA-ները կարող են օգտագործվել արտադրական արտադրանքի մեջ կամ կարող են օգտագործվել որպես մշակման միջոց՝ արտադրական դիզայնի հայեցակարգը ապացուցելու կամ նախատիպավորելու համար: Երբ օգտագործվում են որպես արտադրական միջոց, FPGA-ները կարող են շատ ավելի ճկուն թիրախ լինել, քան ASIC կամ CPU-ի վրա հիմնված արտադրական մեքենաները: Սա հատկապես կարևոր է նոր դիզայնի համար, որը դեռևս չի ներդրվել ապարատային ոլորտում: Տարբեր ճարտարապետական ​​​​ընտրանքներով նախագծերը կարող են հեշտությամբ ստեղծվել և փորձարկվել, որպեսզի որոշվի օպտիմալ դիզայնը: Չիպային պրոցեսորներով (SoC FPGA-ներ) FPGA-ները նաև հնարավորություն են տալիս փոխարինել CPU-ի վրա հիմնված մշակումը ապարատային աջակցությամբ FPGA-ի վրա հիմնված արագացման գործառույթներով: Այս առավելությունները...tagկարող են զգալիորեն կրճատել նոր արտադրանքի մշակման համար նախագծման, վավերացման, փորձարկման և ձախողումների վերլուծության համար անհրաժեշտ ժամանակը։
Երբ օգտագործվում է դիզայնի նախատիպավորման համար, օրինակ՝ արտադրական ASIC-ի համար, FPGA-ի ճկունությունը հիմնական առավելությունն է: Իրական ապարատային հարթակը, նույնիսկ այն, որը չի աշխատում լրիվ արագությամբ, շատ ավելի հեշտացնում է համակարգի մանրամասն կատարողականի չափանիշների, թողունակության վերլուծության տվյալների և ճարտարապետության հայեցակարգի ապացույցի արդյունքների ստացումը: Արդյունաբերական ստանդարտ ավտոբուսների (ինչպիսիք են PCIe®, Gigabit Ethernet, XAUI, USB, CAN և այլն) կարծրացված իրականացումների FPGA աջակցությունը պարզեցնում է այս ինտերֆեյսների հետ կապված թեստավորումը: FPGA-ների նորագույն ընտանիքները՝ ներկառուցված ARM պրոցեսորներով (SoC FPGA-ներ), հեշտացնում են ներդրված պրոցեսորներով իրականացումների նախատիպավորումը: Նախկինում մշակված պրոցեսորի կոդը կարող է տեղափոխվել նախատիպի մեջ, և նոր կոդը կարող է ստեղծվել ապարատային նախագծման աշխատանքներին զուգահեռ:

Ստանդարտ պրոցեսորի և ստանդարտ ինտերֆեյսային ավտոբուսների այս համադրությունը հնարավորություն է տալիս օգտագործել առկա կոդային գրադարանների, դրայվերների, ֆունկցիոնալ API-ների, իրական ժամանակի օպերացիոն համակարգերի և նույնիսկ լիարժեք օպերացիոն համակարգերի լայն էկոհամակարգը՝ աշխատող նախատիպ ստեղծելու համար: Բացի այդ, երբ դիզայնը հաստատվի, FPGA նախատիպը կարող է օգտագործվել սիմուլյացիայի լայնածավալ թեստային հավաքածուներ (թե՛ խթանի, թե՛ արձագանքի համար) հավաքելու համար, որոնք արտացոլում են իրական համակարգի տվյալները: Այս տվյալների հավաքածուները կարող են անգնահատելի լինել ASIC-ի կամ այլ արտադրական իրականացման համար վերջնական սիմուլյացիաներ ստեղծելու համար: ԱռաջընթացըtagFPGA-ն որպես դիզայնի նախատիպ օգտագործելը կարող է զգալիորեն կրճատել վերջնական արտադրանքի ներդրման համար նախագծման, վավերացման, փորձարկման և ձախողումների վերլուծության ժամանակը։
Այս երկու տարածված FPGA օգտագործման մոդելներում FPGA-ի ճկունությունը որպես նախագծման թիրախ հիմնական առավելություն է։tagե. Սա նշանակում է, որ դիզայնի բազմաթիվ փոփոխություններ և իտերացիաներ կլինեն նորմա, և, հետևաբար, դիզայնի սխալները արագորեն վրիպազերծելու ունակությունը կարևոր կլինի հնարավորինս շատ դիզայնի տարբերակների հնարավորություն ընձեռելու համար: Առանց արդյունավետ վրիպազերծման հնարավորության՝ առավելությունների մեծ մասըtagFPGA նախագծման ճկունությունը կնվազի պահանջվող լրացուցիչ վրիպազերծման ժամանակի պատճառով: Բարեբախտաբար, FPGA-ները կարող են նաև ապահովել լրացուցիչ ապարատային հնարավորություններ, որոնք զգալիորեն պարզեցնում են իրական ժամանակի վրիպազերծումը: Մինչ այս հնարավորություններին անդրադառնալը, եկեք նախ անդրադառնանք FPGA նախագծման հետ կապված ամենատարածված խնդիրներին, որպեսզի մենք ունենանք համապատասխան գիտելիքներ՝ գնահատելու տարբեր վրիպազերծման գործիքների արդյունավետությունը և դրանց հետ կապված փոխզիջումները:

FPGA դիզայնի վրիպազերծման ժամանակ տարածված խնդիրներ

Ժամանակակից FPGA-ների ընդլայնված հնարավորությունների հետ մեկտեղ, դրանց հետ կապված բարդության աճը դժվարացնում է սխալներից զերծ նախագծերի ստեղծումը: Փաստորեն, գնահատվել է, որ վրիպազերծումը կարող է զբաղեցնել ներդրված համակարգի նախագծման ցիկլի ավելի քան 50%-ը: Քանի որ շուկա մուտք գործելու ժամանակի ճնշումը շարունակում է սեղմել մշակման ցիկլը, սկզբնական համակարգի ապարատային վրիպազերծումը մնում է երկրորդական՝ չափազանց հաճախ ենթադրելով, որ ստուգումը (ինքնին մեծ տոկոս է կազմում)tagՄշակման ժամանակացույցի e-ն), կբռնի բոլոր սխալները համակարգի սկզբնական գործարկումից առաջ: Եկեք նայենք համակարգային խնդիրների մի քանի տարածված տեսակների՝ ավելի լավ հասկանալու համար, թե ինչ մարտահրավերների կհանդիպի տիպիկ դիզայնը համակարգի սկզբնական գործարկման ընթացքում:

Ֆունկցիոնալ սահմանման սխալները կարող են կրկնակի դժվար լինել գտնել, քանի որ դիզայները սխալ է հասկացել որոշակի պահանջ, ուստի սխալը կարող է անտեսվել նույնիսկ դիզայնի մանրամասները ուշադիր դիտարկելիս։ampՖունկցիոնալ սահմանման տարածված սխալներից մեկը կլինի այն, երբ վիճակի մեքենայի անցումը չի հայտնվում ճիշտ վիճակում: Սխալները կարող են նաև դրսևորվել համակարգի ինտերֆեյսներում՝ որպես փոխազդեցության խնդիր: Օրինակ՝ ինտերֆեյսի լատենտությունըample, կարող է սխալ նշված լինել, ինչը կհանգեցնի բուֆերի անսպասելի արտահոսքի կամ թերհոսքի պայմանի։
Համակարգային մակարդակի ժամանակային խնդիրները նախագծման սխալների մեկ այլ շատ տարածված աղբյուր են: Ասինխրոն իրադարձությունները, մասնավորապես, սխալների տարածված աղբյուր են, երբ համաժամեցման կամ ժամանակային տիրույթների հատման էֆեկտները ուշադիր չեն դիտարկվում: Արագությամբ աշխատելիս այս տեսակի սխալները կարող են շատ խնդրահարույց լինել և կարող են շատ հազվադեպ ի հայտ գալ, գուցե միայն այն դեպքում, երբ որոշակի տվյալների օրինաչափություններ են դրսևորվում: Ժամանակային խախտումների շատ տարածված դեպքեր ընկնում են այս կատեգորիայի մեջ և սովորաբար շատ դժվար է, եթե ոչ անհնար, մոդելավորել:

Ժամանակի խախտումները կարող են նաև լինել ինտեգրալ սխեմաների միջև ազդանշանի ցածր ճշգրտության արդյունք, մասնավորապես՝ յուրաքանչյուր սխեմայի համար բազմաթիվ էլեկտրական ռելսեր ունեցող համակարգերում: Ցածր ազդանշանի ճշգրտությունը կարող է հանգեցնել ազդանշանի աղմուկի, խաչաձև խոսակցությունների, անդրադարձումների, ավելորդ բեռնվածության և էլեկտրամագնիսական միջամտության (ԷՄԽ) խնդիրների, որոնք հաճախ դրսևորվում են որպես ժամանակի խախտումներ: Էլեկտրամատակարարման խնդիրները, ինչպիսիք են անցումային երևույթները (մասնավորապես՝ համակարգի գործարկման կամ անջատման ժամանակ), բեռի տատանումները և հզորության բարձր ցրման լարումները, նույնպես կարող են հանգեցնել անհասկանալի սխալների, որոնք հաճախ հեշտությամբ չեն կարող հայտնաբերվել էլեկտրամատակարարման աղբյուրի մոտ: Նույնիսկ երբ դիզայնը լիովին ճիշտ է, տախտակի պատրաստման խնդիրները կարող են հանգեցնել սխալների: Օրինակ՝ սխալ եռակցման միացումները և սխալ միացված միակցիչներըampօրինակ, կարող է լինել սխալների աղբյուր և նույնիսկ կարող է կախված լինել ջերմաստիճանից կամ տախտակի տեղադրությունից: FPGA փաթեթավորման առաջադեմ տեխնիկայի օգտագործումը կարող է դժվարացնել տպագիր միկրոսխեմայի վրա ազդանշանների զոնդավորումը, ուստի պարզապես ցանկալի ազդանշանին մուտք գործելը հաճախ կարող է խնդրահարույց լինել: Հաճախ նախագծման շատ խնդիրներ անմիջապես սխալ չեն առաջացնում և պետք է ալիքաձև շարժվեն նախագծում, մինչև սխալը իրականում դրսևորվի: Սկզբնական սխալը մինչև արմատային պատճառը գտնելը հաճախ կարող է լինել հիասթափեցնող, դժվար և ժամանակատար խնդիր:

ՆախampՕրինակ՝ թարգմանության աղյուսակում մեկ բիթի սխալը կարող է սխալի հանգեցնել միայն մի քանի ցիկլ անց։ Այս հոդվածում ավելի ուշ կքննարկենք որոշ գործիքներ, որոնք օգտագործում են հատուկ ներկառուցված վրիպազերծման սարքավորումներ, որոնք հատուկ ուղղված են այս «սխալների որսը» ավելի արագ և հեշտ դարձնելուն։ Մինչ այս գործիքների մանրամասներին անդրադառնալը, եկեք նախ նայենք ծրագրային ապահովման վրա հիմնված վրիպազերծման տեխնիկայի հայտնի սիմուլյացիային՝ առավելությունները ավելի լավ հասկանալու համար։tages և disadvantagՎիճազերծման համար սիմուլյացիա օգտագործելու եղանակները։

Սիմուլյացիայի կիրառումը վրիպազերծման համար
Սովորաբար, դիզայնի սիմուլյացիայի ժամանակ, դիզայնի ներսում և դրսում գտնվող բոլոր իրական կյանքի բաղադրիչները մաթեմատիկորեն մոդելավորվում են որպես ծրագրային գործընթացներ, որոնք հաջորդաբար կատարվում են ստանդարտ CPU-ի վրա: Դիզայնին լայն շրջանակի խթան կիրառելը և սպասվող արդյունքը սիմուլյացված դիզայնի արդյունքի հետ համեմատելը հեշտ միջոց է դիզայնի ամենաակնհայտ սխալները հայտնաբերելու համար: Ստորև նկար 1-ում ներկայացված է սիմուլյացիայի տիպիկ գործարկումը ցույց տվող պատուհան: Հստակ առաջադեմըtagՍիմուլյացիայի և սարքային-հիմնված կարգաբերման միջև տարբերությունն այն է, որ սիմուլյացիան կարող է իրականացվել ծրագրային ապահովման միջոցով՝ իրական սարքային-հիմնված նախագծման և թեստավորման սեղանի կարիք չկա։ Սիմուլյացիան կարող է արագորեն հայտնաբերել նախագծման բազմաթիվ սխալներ, մասնավորապես՝ սխալ տեխնիկական բնութագրերի, ինտերֆեյսի պահանջների թյուրըմբռնման, ֆունկցիայի սխալների և շատ այլ «կոպիտ» տեսակի սխալների հետ կապված սխալները, որոնք հեշտությամբ հայտնաբերվում են պարզ խթանիչ վեկտորների միջոցով։

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (1)

Սիմուլյացիան հատկապես արդյունավետ է, երբ դիզայներին հասանելի են խթանների լայնածավալ համակցություններ, և արդյունքում ստացված արդյունքները լավ հայտնի են: Այս դեպքերում սիմուլյացիան կարող է կատարել դիզայնի գրեթե սպառիչ փորձարկում: Դժբախտաբար, դիզայնների մեծ մասը հեշտ հասանելիություն չունի լայնածավալ թեստային հավաքածուներին, և դրանք ստեղծելու գործընթացը կարող է շատ ժամանակատար լինել: Նախագծի 100%-ը ծածկող թեստային հավաքածու ստեղծելը գործնականում անհնար է մեծ FPGA-ների վրա հիմնված դիզայնների համար, և պետք է օգտագործվեն կարճ ճանապարհներ՝ դիզայնի հիմնական տարրերը ծածկելու փորձ կատարելու համար: Սիմուլյացիայի հետ կապված մեկ այլ դժվարություն է այն, որ այն «իրական աշխարհի» իրականացում չէ և չի կարող բռնել ասինխրոն իրադարձությունները, արագ համակարգի փոխազդեցությունները կամ ժամանակի խախտումները: Վերջապես, սիմուլյացիայի գործընթացը կարող է շատ դանդաղ լինել, և եթե անհրաժեշտ են բազմաթիվ իտերացիաներ, սիմուլյացիան արագ դառնում է մշակման գործընթացի ամենաժամանակատար և հաճախ ամենաթանկ մասը:

Որպես այլընտրանք (կամ գուցե ավելի լավ ասած՝ որպես սիմուլյացիայի լրացում), FPGA նախագծողները պարզեցին, որ կարող են FPGA նախագծման մեջ ավելացնել վրիպազերծման սարքավորումներ՝ սարքի ներսում հիմնական ազդանշանները դիտարկելու և կառավարելու համար: Այս տեխնիկաները սկզբնապես մշակվել են որպես ad-hoc մոտեցումներ, բայց աստիճանաբար զարգացել են ստանդարտ սարքավորումների վրիպազերծման ռազմավարության մեջ: Ներկառուցված վրիպազերծման հնարավորությունների այս օգտագործումը զգալի առավելություն է տալիս:tagFPGA-ների վրա հիմնված նախագծերի համար, և հաջորդ բաժինը կուսումնասիրի երեք ամենատարածված ռազմավարությունները և դրանց տարբեր առավելությունները։tages և disadvantagէս.

FPGA-ների համար ներշղթայական կարգաբերման տարածված մոտեցումներ
FPGA-ներում ներկառուցված վրիպազերծման հնարավորությունների ներդրման ամենատարածված մեթոդներն օգտագործում են կամ ներկառուցված տրամաբանական վերլուծիչ, կամ արտաքին փորձարկման սարքավորումներ, կամ FPGA կառուցվածքի մեջ ներդրված նվիրված ազդանշանային զոնդի սարքավորում: Ներկառուցված տրամաբանական վերլուծիչը սովորաբար ներդրվում է FPGA կառուցվածքի միջոցով և տեղադրվում է կառուցվածքի մեջ: JTAG Միացքը օգտագործվում է վերլուծիչին մուտք գործելու համար, և ստացված տվյալները կարող են ցուցադրվել համակարգչի վրա: Երբ օգտագործվում է արտաքին փորձարկման սարքավորում, փորձարկվող FPGA դիզայնը փոփոխվում է այնպես, որ ընտրված ներքին FPGA ազդանշանները ուղղորդվեն ելքային միացումներին: Այս միացումները կարող են դիտարկվել արտաքին փորձարկման սարքավորումների միջոցով: Երբ օգտագործվում է նվիրված ազդանշանային զոնդի սարքավորում, ներքին ազդանշանների լայն ընտրանի կարող է կարդացվել իրական ժամանակում: Որոշ զոնդերի իրականացումներ կարող են նույնիսկ օգտագործվել գրանցող կամ հիշողության տեղանքներում գրելու համար՝ ավելի բարելավելով վրիպազերծման հնարավորությունները: Եկեք ավելի մանրամասն քննարկենք առաջադեմըtages և disadvantagայս տեխնիկաներից յուրաքանչյուրի ցուցիչները, ապա նայեք դրանցից մեկինample դիզայնը՝ տեսնելու համար, թե ինչպես կարող են այս տարբեր մոտեցումները ազդել ընդհանուր վրիպազերծման ժամանակի վրա։

FPGA-ի ներսում վրիպազերծմամբ ներկառուցված տրամաբանական վերլուծիչ
Ներկառուցված տրամաբանական վերլուծիչի գաղափարը անմիջական արդյունք էր այն ad-hoc ներկառուցված կարգաբերման հնարավորությունների, որոնք նախագծողները ներդրեցին, երբ FPGA-ները առաջին անգամ օգտագործվեցին։ Ներկառուցված տրամաբանական վերլուծիչները ավելացրին նոր հնարավորություններ և վերացրին նախագծողի կողմից սեփական վերլուծիչը մշակելու պահանջը։ FPGA-ների մեծ մասն առաջարկում է այս հնարավորությունները, իսկ երրորդ կողմերը՝ ստանդարտ վերլուծիչներ (Synopsys-ի Identify®-ը հայտնի օրինակներից մեկն է)։ampլե), որը կարող է հեշտությամբ փոխազդել ավելի բարձր մակարդակի գործիքների հետ՝ արտադրողականությունը հետագայում բարելավելու համար։

Լոգիկայի վերլուծիչի ֆունկցիոնալությունը ներդրվում է նախագծման մեջ՝ օգտագործելով FPGA կառուցվածքը և ներդրված հիշողության բլոկները որպես հետքային բուֆերներ, ինչպես պատկերված է նկար 2-ում: Ակտիվացնող ռեսուրսները նույնպես ստեղծվում են այնպես, որ բարդ ազդանշանային փոխազդեցությունները հեշտությամբ ընտրվեն և գրանցվեն: Վերահսկողության և տվյալների փոխանցման համար վերլուծիչին մուտք գործելը սովորաբար կատարվում է ստանդարտ J-ի միջոցով:TAG միացք՝ ինտերֆեյսի պահանջները պարզեցնելու համար: Գրանցված տվյալները կարող են ցուցադրվել համակարգչի վրա՝ օգտագործելով ընդհանուր viewing ծրագրակազմ և սովորաբար արտացոլում է տրամաբանական սիմուլյատորի ալիքային ձևի ելքը viewինգ ոճը։

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (2)

ԱդվանtagԱյս մոտեցման առավելություններն այն են, որ չեն օգտագործվում լրացուցիչ FPGA մուտք/ելք միացումներ, միայն ստանդարտ J-ն է։TAG ազդանշաններ: Ներկառուցված տրամաբանական վերլուծիչի IP միջուկները սովորաբար համեմատաբար էժան են և որոշ դեպքերում կարող են լինել առկա FPGA սինթեզի կամ սիմուլյացիայի գործիքների տարբերակ: Որոշ դեպքերում, ներկառուցված տրամաբանական վերլուծիչը կարող է նաև ապահովել լրացուցիչ ելքեր չօգտագործված մուտքերի/ելքերի վրա, եթե դա ավելի հարմար է: Թերություններից մեկըtagԱյս մոտեցման թերությունն այն է, որ պահանջվում է մեծ քանակությամբ FPGA ռեսուրսներ։ Մասնավորապես, եթե օգտագործվում են հետքային բուֆերներ, դա կնվազեցնի հասանելի բլոկային հիշողությունների քանակը։ Եթե անհրաժեշտ է լայն բուֆեր, սա նաև կլինի հիշողության խորության հետ կապված փոխզիջում (քանի որ ավելի լայն հիշողության օգտագործումը հանգեցնում է հիշողության ավելի մակերեսային խորության), ինչը մեծ թերություն է։tagե. փոքր սարքեր օգտագործելիս: Այս տեխնիկայի ամենամեծ թերությունն այն է, որ ամեն անգամ, երբ զոնդի տեղադրման ճշգրտում է կատարվում, անհրաժեշտ է վերակազմակերպել և վերծրագրավորել դիզայնը: Մեծ սարք օգտագործելիս այս գործընթացը կարող է զգալի ժամանակ պահանջել: Նախագծում ազդանշանային զոնդերի տեղադրման եղանակի պատճառով դժվար կարող է լինել ազդանշանի ժամանակային հարաբերությունները համեմատելը: Բացի այդ, ազդանշանային զոնդերի միջև ուշացումները հետևողական չեն, ուստի ժամանակային հարաբերությունները դժվար է համեմատել: Սա հատկապես դժվար է ասինխրոն ազդանշանները կամ տարբեր ժամանակային տիրույթներից ազդանշանները համեմատելիս:

FPGA-ի ներքին վրիպազերծում – Արտաքին փորձարկման սարքավորումներ
Արտաքին փորձարկման սարքավորումների հետ համատեղ ներկառուցված վրիպազերծման կոդի օգտագործումը բնական զարգացում էր, երբ արտաքին տրամաբանական վերլուծիչն արդեն հասանելի էր համակարգի փորձարկման համար: Ստեղծելով որոշ պարզ վրիպազերծման կոդ՝ ներքին փորձարկման ազդանշանները նույնականացնելու և ընտրելու և դրանք FPGA մուտքային/ելքային միացումների վրա կիրառելու համար, ինչպես ցույց է տրված նկար 3-ում, հնարավոր եղավ օգտագործել վերլուծիչների առաջադեմ հնարավորությունները (օրինակ՝ մեծ հետքային բուֆերներ, բարդ ակտիվացման հաջորդականություններ և բազմակի) viewing տարբերակներ)՝ պարզ, բայց հզոր վրիպազերծման միջավայրեր ստեղծելու համար: Ավելի բարդ ներկառուցված հնարավորությունները առաջադեմ ակտիվացման տարբերակների համար կարող են նվազագույնի հասցնել անհրաժեշտ ելքերի քանակը: Օրինակ՝ampՕրինակ, լայն ավտոբուսի վրա որոշակի հասցեներ ընտրելը կարող է արգելող լինել, եթե անհրաժեշտ լինեն արտաքին pin-եր։
Ներքին FPGA տրամաբանության օգտագործումը զգալիորեն նվազեցնում է մուտքի/ելքի պահանջները և նույնիսկ կարող է որոնել կոնկրետ հասցեների ձևանմուշներ (գուցե կանչի և վերադարձի հաջորդականություն)՝ ավելի բարդ խնդիրների վրիպազերծման համար: Եթե հասանելի է ընդհանուր օգտագործողի ինտերֆեյս, դա կարող է պարզեցնել ուսուցման կորը և բարելավել արտադրողականությունը:

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (3)

ԱդվանtagԱյս մոտեցման առավելությունն այն է, որ այն օգտագործում է արտաքին փորձարկման սարքավորումների արժեքը և, հետևաբար, գործիքի լրացուցիչ ծախսեր չկան: Որոշ վրիպազերծման սխեմայի IP միջուկներ հասանելի են սարքավորումների արտադրողների կամ FPGA արտադրողների կողմից և կարող են լինել շատ էժան կամ նույնիսկ անվճար: Սիգնալի ընտրության տրամաբանությունն իրականացնելու համար անհրաժեշտ FPGA ռեսուրսների քանակը շատ փոքր է, և քանի որ հետագծման ֆունկցիան կատարվում է արտաքին տրամաբանական վերլուծիչի միջոցով, բլոկային հիշողություններ անհրաժեշտ չեն: Քանի որ ընտրության տրամաբանությունը էժան է, կարող է նաև աջակցվել լայն ակտիվացմամբ մեծ թվով ալիքներ: Լոգիկայի վերլուծիչը կարող է աշխատել և՛ ժամանակի, և՛ վիճակի ռեժիմով, ինչը օգնում է մեկուսացնել որոշ ժամանակի խնդիրներ:
ԹերությունըtagԱյս մոտեցման թերությունները կարող են ներառել տրամաբանական վերլուծիչ գնելու անհրաժեշտությունը, եթե այն արդեն հատկացված չէ նախագծին։ Այս թերությունըtagԱյս մոտեցումը շատ դեպքերում կարող է բավարար լինել՝ խոչընդոտելու համար։ Սակայն նկատի ունեցեք, որ մատչելի են դառնում որոշ ցածրարժեք տրամաբանական վերլուծիչների տարբերակներ, որոնք ցուցադրման համար օգտագործում են համակարգիչ կամ պլանշետ, ինչը այս տարբերակը դարձնում է շատ ավելի մատչելի պարզ վրիպազերծման պահանջների համար։
Սպառված FPGA քորոցների քանակը կարող է լինել մեկ այլ թերություն։tagև եթե անհրաժեշտ է դիտարկել լայն ավտոբուսներ, անհրաժեշտ է զգալի պլանավորում տախտակի դասավորության և վրիպազերծման միակցիչների ավելացման համար: Այս պահանջը շատ դեպքերում դժվար է կանխատեսել նախագծման փուլում և առաջացնում է մեկ այլ անցանկալի բարդություն: Նման ներդրված տրամաբանական վերլուծիչի մոտեցմանը, արտաքին փորձարկման ռազմավարությունը պահանջում է դիզայնի վերակազմակերպում և վերածրագրավորում, երբ անհրաժեշտ է յուրաքանչյուր նոր փորձ:

Ընդհանուր թերությունըtagԱյս երկու տեխնիկաների առավելությունները՝ չիպի վրա տեղադրված ռեսուրսների օգտագործումը (որը կարող է նաև ազդել դիզայնի ժամանակացույցի աշխատանքի վրա և ստեղծել լրացուցիչ վրիպազերծման պահանջներ), դիզայնը վերակազմավորելու և վերածրագրավորելու անհրաժեշտությունը (որը կարող է վրիպազերծման ժամանակացույցին ավելացնել ժամեր կամ նույնիսկ օրեր), հավանական փորձարկման սցենարները բացահայտելու համար անհրաժեշտ նախնական պլանավորումը և չիպի լրացուցիչ մուտքի/ելքի ռեսուրսների օգտագործումը ստեղծեցին այս թերություններից զերծ մոտեցման անհրաժեշտություն: Մեկ արձագանքը որոշ սարքերի FPGA կառուցվածքում նվիրված վրիպազերծման տրամաբանության ավելացումն էր: Արդյունքում տեղի ունեցավ ապարատային զոնդերի միջոցով ներկառուցված վրիպազերծում:

FPGA-ի ներքին վրիպակազերծում – սարքային զոնդեր
Սարքավորումների զոնդերի օգտագործումը զգալիորեն պարզեցնում է FPGA-ների համար ներմիացման վրիպազերծման տեխնիկան: Այս տեխնիկան, որն իրականացվում է որպես Live Probe գործառույթ SmartFusion2®SoC FPGA և IGLOO®2 FPGA սարքերի վրա, FPGA հյուսվածքին ավելացնում է նվիրված զոնդերի գծեր՝ ցանկացած տրամաբանական տարրի գրանցման բիթի ելքը դիտարկելու համար: Ինչպես ցույց է տրված նկար 4-ի բլոկ-սխեմանում, սարքավորումային զոնդերը հասանելի են երկու զոնդերի ալիքներով՝ A և B:

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (3)

Ընտրված ռեգիստրի ելքերը (զոնդի կետերը), ինչպես օրինակ նկարի ներքևի մասում նշվածը, ուղղորդվում են երկու զոնդի ալիքների վերևում և, եթե ընտրվեն, կարող են կիրառվել կամ A, կամ B ալիքի վրա: Այս իրական ժամանակի ալիքային ազդանշանները կարող են ուղարկվել սարքի վրա գտնվող Զոնդ A և Զոնդ B նվիրված միացումներին: Զոնդ A և Զոնդ B ազդանշանները կարող են նաև ներքին ուղղորդվել ներկառուցված տրամաբանական վերլուծիչին:

Նկատի ունեցեք, որ զոնդի քորոցների ժամանակային բնութագրերը կանոնավոր են և ունեն աննշան շեղում մեկ զոնդի կետից մյուսը, ինչը շատ ավելի հեշտացնում է իրական ժամանակի ազդանշանների ժամանակային բնութագրերի համեմատությունը: Տվյալները կարող են հավաքագրվել մինչև 100 ՄՀց հաճախականությամբ, ինչը այն հարմար է դարձնում թիրախային նախագծերի մեծամասնության համար:
Հավանաբար ամենակարևորը զոնդի կետերի տեղադրություններն են, քանի որ դրանք չեն ընտրվում իրականացված նախագծի շրջանակներում (դրանք ընտրվում են հատուկ սարքավորումների միջոցով, մինչ նախագիծն աշխատում է FPGA-ի վրա), կարող են արագ փոխվել՝ պարզապես ընտրության տվյալները սարքին ուղարկելով: Նախագծի վերակազմակերպման և վերածրագրավորման կարիք չկա:
Live Probe հնարավորության օգտագործումն էլ ավելի պարզեցնելու համար, դրան կից վրիպազերծման ծրագրային գործիքը հասանելիություն ունի զոնդի բոլոր ազդանշանների տեղակայություններին ավտոմատ կերպով ստեղծված վրիպազերծման միջոցով։ fileԻնչպես ցույց է տրված նկար 5-ում, ազդանշանի անունը կարող է ընտրվել ազդանշանների ցանկից և կիրառվել ցանկալի ալիքի վրա: Սա կարող է արվել նույնիսկ այն ժամանակ, երբ նախագիծը աշխատում է, որպեսզի նախագծի ներսում զոնդավորման գործունեությունը լինի անխափան և շատ արդյունավետ:

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (5)

Շատ դեպքերում, ապարատային զոնդի հնարավորությունը, ինչպես Live Probe-ը, կարող է օգտագործվել նախկինում նկարագրված ներկառուցված տրամաբանական վերլուծիչի և արտաքին թեստավորման տեխնիկայի հետ համատեղ։

Ինչպես ցույց է տրված նկար 6-ում, Live Probe-ի ազդանշանները «արագ» ընտրելու հնարավորությունը հնարավորություն է տալիս արագ և հեշտությամբ փոխել դիտարկվող ազդանշանները՝ առանց դիզայնը վերակազմակերպելու անհրաժեշտության: Արտաքին տրամաբանական վերլուծիչը կամ հեռադիտակը կարող են հեշտությամբ դիտարկել զոնդավորված ազդանշանները, ինչպես պատկերված է նկարի վերին աջ մասում՝ զոնդի համար նախատեսված ելքային միացումների վրա: Այլընտրանքորեն (կամ գուցե նույնիսկ դրան զուգահեռ) ներքին տրամաբանական վերլուծիչը (նկարում պատկերված ILA Identification բլոկը) կարող է օգտագործվել զոնդի միացումները դիտարկելու համար: Զոնդի ազդանշանները կարող են գրանցվել ILA-ի կողմից և դիտարկվել ալիքային ձևի պատուհանում: Զոնդերի տեղադրությունները կարող են փոխվել՝ առանց նպատակային դիզայնը վերակազմակերպելու անհրաժեշտության:
Նկատի ունեցեք, որ ակտիվացման և հետագծման լրացուցիչ հնարավորությունները կարող են օգտագործվել զոնդի ֆունկցիոնալությունը բարելավելու համար, ինչը հեշտացնում է նույնիսկ բարդ նախագծային խնդիրների հայտնաբերումը։

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (6)

SmartFusion2 SoC FPGA և IGLOO2 FPGA սարքերի վրա հասանելի են նաև լրացուցիչ ապարատային վրիպազերծման հնարավորություններ: Այս հնարավորություններից մեկը, որը կոչվում է Active Probe, կարող է դինամիկ և ասինխրոն կարդալ կամ գրել ցանկացած տրամաբանական տարրի գրանցող բիթի վրա: Գրված արժեքը պահպանվում է մեկ ժամացույցի ցիկլի ընթացքում, որպեսզի բնականոն աշխատանքը կարողանա շարունակվել, ինչը այն դարձնում է շատ արժեքավոր վրիպազերծման գործիք: Active Probe-ը հատկապես հետաքրքիր է, եթե անհրաժեշտ է ներքին ազդանշանի արագ դիտարկում (գուցե պարզապես ստուգելու համար, որ այն ակտիվ է կամ ցանկալի վիճակում է, ինչպես վերագործարկման ազդանշանը), կամ եթե անհրաժեշտություն կա արագորեն ստուգել տրամաբանական ֆունկցիան՝ զոնդի կետում գրելով:
(գուցե վիճակի մեքենայի անցումը սկսելու համար՝ արագ մուտքային արժեք սահմանելով՝ կառավարման հոսքի խնդիրը մեկուսացնելու համար):

Microsemi-ի կողմից տրամադրվող մեկ այլ վրիպազերծման հնարավորություն է Memory Debug-ը: Այս գործառույթը թույլ է տալիս նախագծողին դինամիկ և ասինխրոն կերպով կարդալ կամ գրել ընտրված FPGA fabric SRAM բլոկի վրա: Ինչպես պատկերված է Debug Tool-ի էկրանի նկարում (Նկար 7), երբ ընտրվում է Memory Blocks ներդիրը, օգտատերը կարող է ընտրել ցանկալի հիշողությունը կարդալու համար, կատարել հիշողության լուսանկար, փոփոխել հիշողության արժեքները, ապա արժեքները հետ գրել սարքին: Սա կարող է հատկապես օգտակար լինել հաշվարկային կողմնորոշված ​​​​սկրետ-պահեստավորման համար նախատեսված կապի պորտերում օգտագործվող տվյալների բուֆերները ստուգելու կամ կարգավորելու համար կամ նույնիսկ ներկառուցված CPU-ի կողմից կատարված կոդի համար: Բարդ տվյալներից կախված սխալների վրիպազերծումը զգալիորեն ավելի արագ և հեշտ է, երբ հիշողությունները կարող են այդքան արագ դիտարկվել և վերահսկվել:

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (7)

Երբ դիզայնը վրիպազերծվում է, կարող է ցանկալի լինել անջատել սարքավորումների վրիպազերծման հնարավորությունները՝ զգայուն տեղեկատվությունը պաշտպանելու համար: Հարձակվողը կարող է օգտագործել նույն հնարավորությունները՝ կարևոր տեղեկատվությունը կարդալու կամ համակարգի կարգավորումները փոխելու համար, որոնք կարող են հեշտ մուտք գործել համակարգի զգայուն մասեր: Microsemi-ն ավելացրել է գործառույթներ, որոնք թույլ են տալիս նախագծողին պաշտպանել սարքը վրիպազերծումն ավարտվելուց հետո: Օրինակ՝ampՕրինակ՝ Live Probe և Active Probe մուտքը կարող է արգելափակվել՝ ֆունկցիան որպես հարձակման հնարավոր միջոց ամբողջությամբ անջատելու համար (դա նույնիսկ վերացնում է զոնդի ակտիվության կողմից մատակարարման հոսանքի մեջ որևէ օրինաչափություն ստեղծելու հնարավորությունը, որը կարող է օգտագործվել զոնդի տվյալները անուղղակիորեն դիտարկելու փորձ կատարելու համար): Այլընտրանքորեն, նախագծի ընտրված մասերին մուտքը կարող է արգելափակվել՝ միայն այդ բաժիններին մուտքը կանխելու համար: Սա կարող է հարմար լինել, եթե նախագծի միայն մի մասն է պետք անվտանգ լինի, ինչը նախագծի մնացած մասը դեռևս հասանելի է դարձնում դաշտային փորձարկման կամ սխալների վերլուծության համար:

Շղթայի մեջ սխալների հայտնաբերման համեմատական ​​​​աղյուսակ
Հիմա, երբ մանրամասն վերանայումview Նկարագրվել են երեք հիմնական ներկառուցված սարքավորումների վրիպազերծման տեխնիկաներից մեկը, ստեղծվել է ամփոփ աղյուսակ, ինչպես ցույց է տրված նկար 8-ում, որը մանրամասն նկարագրում է տարբեր առաջադեմ մեթոդները։tages և disadvantagյուրաքանչյուր մեթոդի առանձնահատկությունները։ Հիշելով, որ որոշ տեխնիկաներ կարող են օգտագործվել համատեղ (օրինակ՝ Live Probe և Internal Logic Analyzer (ILA)), ինչպես օրինակ՝ Synopsys Identify-ըampլե), մենք կարող ենք տեսնել յուրաքանչյուր տեխնիկայի հիմնական ուժեղ և թույլ կողմերը: Շղթայի ներսում առկա սարքավորումների վրիպազերծման հնարավորությունների հավաքածուն (Live Probe, Active Probe և Memory Debug՝ միասին անվանված SmartDebug), ավելի թույլ է մյուս տեխնիկաների համեմատ, երբ խոսքը վերաբերում է ընդհանուր զոնդերի քանակին (կարմիր շրջանակ) և ավելի թույլ է, քան լավագույնը (դեղին շրջանակ), երբ հաշվի ենք առնում գրանցման արագությունը (արտաքին փորձարկման սարքավորումները կարող են ավելի արագ լինել):
ILA-ի վրա հիմնված տեխնիկաները, ինչպիսին է Synopsys Identify-ը, ամենաթույլն են մյուս տեխնիկաների համեմատ և FPGA ռեսուրսների պահանջարկի դեպքում։ Արտաքին փորձարկման սարքավորումների վրա հիմնված տեխնիկաները ամենաթույլն են մի շարք նկատառումներից ելնելով, որոնցից ամենաշատը ծանրաբեռնված են արժեքը, նախագծման ժամանակի ազդեցությունը և զոնդի շարժման ծախսերը (նախագծը վերակազմավորելու անհրաժեշտության պատճառով)։ Հնարավոր է՝ օպտիմալ լուծումը SmartDebug-ի և մյուս տեխնիկաներից մեկի համադրությունն է, որպեսզի SmartDebug-ի ալիքների քանակի թուլությունը մեղմվի, իսկ զոնդի կետի շարժումը թերանա։tagմյուս տեխնիկաների ցուցանիշները նույնպես նվազել են։

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (8)

Սիգնալների դասակարգում
Կարելի է օգտակար տարբերակում կատարել ազդանշանների ամենատարածված տեսակներից մի քանիսի միջև, և սա կարող է օգնել վրիպազերծման մոտեցում պլանավորելիս։ Օրինակ՝ampՕրինակ, համակարգի մեկնարկից բացի այլ կերպ չփոխվող ազդանշանները, ինչպիսիք են համակարգի վերագործարկումը, բլոկի վերագործարկումը կամ նախնականացման գրանցիչները, կարող են դասակարգվել որպես ստատիկ ազդանշաններ: Այս տեսակի ազդանշաններին առավել արդյունավետորեն մուտք է գործում այնպիսի սարքի միջոցով, որը կարող է հեշտությամբ դիտարկել, ինչպես նաև կառավարել ազդանշանը՝ առանց երկար վերակազմակերպման ցիկլի անհրաժեշտության: Active Probe-ը հիանալի միջոց է ստատիկ ազդանշանների վրիպազերծման համար: Նմանապես, ազդանշանները, որոնք ավելի հաճախ են փոխվում, բայց ժամանակի մեծ մասի ընթացքում դեռևս ստատիկ են, կարող են դասակարգվել որպես կեղծ-ստատիկ և նաև ամենաարդյունավետ կերպով վրիպազերծվում են Active Probe-ի միջոցով: Հաճախակի փոփոխվող ազդանշանները, ինչպես ժամացույցի ազդանշանները, կարող են դասակարգվել որպես դինամիկ և դրանց մուտքը Active Probe-ի միջոցով այդքան էլ հեշտ չէ: Live Probe-ը ավելի լավ ընտրություն է այս ազդանշանները դիտարկելու համար:

Պարզ վրիպազերծման օգտագործման դեպք

Հիմա, երբ մենք ավելի լավ ենք հասկանում տարբեր սխեմաների վրիպազերծման տարբերակները, եկեք նայենք պարզ դիզայնի օրինակի։ampլե՝ տեսնելու, թե ինչպես են այս տեխնիկաները գործում: Նկար 9-ը ցույց է տալիս SmartFusion2 SoC FPGA սարքի պարզ FPGA դիզայնը: Միկրոկառավարիչի ենթահամակարգը (MSS) վերագործարկվում է CoreSF2Reset Soft IP բլոկի կողմից: Այս բլոկի մուտքային տվյալներն են՝ սնուցման միացման վերագործարկումը, օգտագործողի գործվածքի վերագործարկումը և արտաքին վերագործարկումը: Արդյունքները՝ օգտագործողի գործվածքի վերագործարկումը, MSS վերագործարկումը և M3 վերագործարկումը: Սխալի ախտանիշներն այն են, որ մուտքային/ելքային միացումների վրա ակտիվություն չկա, չնայած սարքը հաջողությամբ դուրս է գալիս POR վիճակից: Այս սխալի վրիպազերծման երեք տարբեր տարբերակները նույնպես պատկերված են նկարում. կապույտ վանդակը (նշված է ETE) նախատեսված է արտաքին փորձարկման սարքավորումների մեթոդի համար, կանաչ վանդակը (նշված է ILA)՝ ներքին տրամաբանական վերլուծիչի մեթոդի համար, իսկ նարնջագույն վանդակը (նշված է AP)՝ ակտիվ զոնդի մեթոդի համար: Մենք կենթադրենք, որ սխալի հնարավոր արմատական ​​պատճառները CoreSF2Reset Soft IP բլոկում սխալ հաստատված վերագործարկման մուտքային տվյալներն են:

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (9)

Եկեք այժմ նայենք նախկինում նկարագրված երեք ներշղթայական մեթոդների վրիպազերծման գործընթացին։

Արտաքին փորձարկման սարքավորումներ
Այս մեթոդը կիրառելիս ենթադրվում է, որ փորձարկման սարքավորումները հասանելի են և չեն օգտագործվում ավելի բարձր առաջնահերթության նախագծի կողմից: Բացի այդ, կարևոր է նախապես պլանավորել, որպեսզի որոշ FPGA մուտք/ելքեր հասանելի լինեն և հեշտությամբ միացվեն փորձարկման սարքավորումներին: Օրինակ՝ տպատախտակի վրա վերնագրի առկայությունըampօրինակ, շատ օգտակար կլիներ և կնվազեցներ «հավանական կասկածյալին» նույնականացնելու և նրան միանալու կամ ստուգման ընթացքում pin-երի հնարավոր կարճ միացման վրա ծախսվող ժամանակը: Դիզայնը պետք է վերակազմակերպվի՝ ընտրելու համար այն ազդանշանները, որոնք մենք ուզում ենք հետազոտել: Հուսով ենք, որ մենք չենք «կեղևազերծի սոխը» և ստիպված կլինենք ընտրել լրացուցիչ ազդանշաններ հետագա հետազոտության համար, քանի որ հաճախ մեր նախնական հետազոտությունը պարզապես ավելի շատ հարցերի է հանգեցնում: Ամեն դեպքում, վերակազմակերպման և վերածրագրավորման գործընթացը կարող է զգալի ժամանակ պահանջել, և եթե դա հանգեցնում է ժամանակային խախտումների, անհրաժեշտ է վերակազմակերպում (մենք բոլորս ծանոթ ենք, թե որքան հիասթափեցնող կարող է լինել ժամանակային փակման խնդիրները լուծելու փորձը, մասնավորապես, երբ դուք փոփոխություններ եք կատարում դիզայնի մեջ՝ դիզայնի սխալ գտնելու համար. ամբողջ գործընթացը կարող է տևել րոպեներից մինչև ժամեր): Կարևոր է նաև հիշել, որ եթե դիզայնը չունի ազատ օգտատիրոջ մուտք/ելքեր, այս մեթոդը չի կարող իրականացվել: Ավելին, այս մեթոդը կառուցվածքային առումով ներխուժում է դիզայն, և ժամանակային սխալները կարող են անհետանալ կամ կրկին հայտնվել իտերացիաների միջև:

Ներքին տրամաբանության վերլուծիչ
Այս մեթոդի կիրառմամբ ILA-ն պետք է տեղադրվի դիզայնի մեջ՝ օգտագործելով fabric ռեսուրսները, ապա պետք է վերակազմակերպվի։ Նկատի ունեցեք, որ եթե ILA-ն արդեն ստեղծվել է, ապա մեր կողմից հետազոտվող ազդանշանները կարող են չօգտագործվել գործիքային եղանակով, ինչը նույնպես կպահանջի վերակազմակերպում։ Այս գործընթացը կարող է փոխել սկզբնական դիզայնը և խախտել ժամանակային սահմանափակումները։ Եթե ժամանակը բավարարվում է, դիզայնը պետք է վերակազմակերպվի և վերագործարկվի։ Այս ամբողջ գործընթացը կարող է տևել մի քանի րոպե կամ նույնիսկ ժամ, եթե վերակազմակերպման ժամանակը երկար է և անհրաժեշտ են բազմաթիվ անցումներ։ Այս մոտեցումը կառուցվածքային առումով ինտրուզիվ է և կարող է հանգեցնել վերը նշված մեթոդն օգտագործելիս նկարագրված խնդիրներին նման խնդիրների։

Ակտիվ զոնդ
Այս մեթոդի կիրառմամբ ակտիվ զոնդը կարող է մատնանշվել տարբեր վերագործարկման ազդանշանների աղբյուրին, որոնցից բոլորն էլ ստացվում են գրանցամատյանի ելքերից (ինչպես սովորական է ցանկացած լավ թվային դիզայնի պրակտիկայում): Ազդանշանները ընտրվում են մեկ առ մեկ՝ ստորև նկար 10-ում ներկայացված ակտիվ զոնդի ցանկից: Ընտրված ազդանշանի արժեքները կարող են կարդացվել և ցուցադրվել ակտիվ զոնդի տվյալների պատուհանում: Ցանկացած սխալ պնդում հեշտությամբ հայտնաբերվում է: Այս թեստը կարող է իրականացվել անմիջապես՝ առանց սարքը վերակազմավորելու և վերածրագրավորելու անհրաժեշտության, և կառուցվածքային կամ ընթացակարգային առումով ներխուժող չէ: Ամբողջ գործընթացը տևում է ընդամենը մի քանի վայրկյան: Այս մեթոդը կարող է նաև ստեղծել կառավարելիություն (արժեքները ասինխրոն փոխելով), ինչը մյուս երկու մեթոդները թույլ չեն տա: Այս կոնկրետ դեպքումampԱյսինքն, ռեգիստրի կողմից ստացված վերագործարկման ազդանշանը կարող է հեշտությամբ զտվել և հայտնաբերվել ակտիվ վիճակում։

Վերագործարկման ազդանշանի ակնթարթային անջատումը կարող է իրականացվել հանգստի ազդանշաններ գեներացնող ռեգիստրի ասինխրոն մանիպուլյացիաների միջոցով։

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (10)

Ավելի բարդ վրիպազերծման օգտագործման դեպք
Վերոնշյալ դիզայնը շատ պարզ էր և օգտակար է որպես նկարագրված դիզայնի տեխնիկայի կիրառման ներածություն, բայց ավելի բարդ օրինակampՍա կարող է ավելի պատկերավոր լինել։ Շատ դեպքերում հետաքրքրության ազդանշանը ստատիկ ազդանշան չէ, ինչպես մեր պարզ օրինակում էր։ampբայց դինամիկ է: Տարածված դինամիկ ազդանշանը միջանկյալ ժամացույցն է, որը, հնարավոր է, օգտագործվում է սերիական ինտերֆեյսի համար ձեռքսեղմման ժամանակացույցի համար: Նկար 11-ը ցույց է տալիս նման դիզայն՝ օգտագործողի Soft IP միջուկով, այս դեպքում՝ համակարգի APB ավտոբուսին միացված հատուկ սերիական ինտերֆեյսով: Սխալի ախտանիշներն այն են, որ օգտագործողի հատուկ սերիական ինտերֆեյսի վրա ակտիվություն չկա, և երբ APB ավտոբուսի վարպետը գործարք է կատարում սերիական ինտերֆեյսին մուտք գործելու համար, այն մտնում է բացառության վիճակի մեջ՝ ցույց տալով սխալ ձեռքսեղմում: Այս պայմանները, կարծես, բացառում են ստատիկ պատճառը, ինչպիսին է սխալ վերագործարկման ազդանշանը, քանի որ գործարքի վիճակի մեքենան, կարծես, չի աշխատում սպասվող արագությամբ և, հետևաբար, առաջացնում է բացառություն: Հիմնական պատճառը, ենթադրվում է, օգտագործողի IP միջուկի ժամացույցի հաճախականության գեներատորն է:

Եթե ​​այն չի աշխատում ճիշտ հաճախականությամբ, ապա կառաջանան նկարագրված սխալները։

Միկրոկիսահաղորդչային FPGA-ի վրիպազերծում (11)

Այս իրավիճակում, հավանաբար, ավելի լավ ռազմավարություն է փոխարինել ակտիվ զոնդի մոտեցումը կենդանի զոնդով։ Սա պատկերված է վերևում գտնվող նկարում նարնջագույն LP տուփով՝ օգտագործելով J-ն։TAG ազդանշան զոնդի աղբյուրի ընտրության համար։

Արտաքին փորձարկման սարքավորումներ
Այս դեպքում մեթոդաբանությունը շատ նման է նախկինում նկարագրված պարզ օրինակին։ampօրինակ՝ օգտատիրոջ ժամացույցի ազդանշանը դուրս է բերվում փորձարկման կետ (հուսով եմ՝ վերնագրի վրա) և անհրաժեշտ է ժամանակատար վերակազմակերպում։ Կարող է նաև օգտակար լինել հղման ազդանշան բերելը, գուցե համակարգային ժամացույց, որն օգտագործվում է օգտատիրոջ IP հասցեն որպես համեմատության ազդանշան գրանցելու համար։ Մենք կրկին կենթարկվենք վերակազմակերպման և վերծրագրավորման անհրաժեշտությանը, այնպես որ ամբողջ գործընթացը կարող է զգալի ժամանակ պահանջել։

Ներքին տրամաբանության վերլուծիչ
Այս դեպքը շատ նման է պարզ օրինակինampօրինակ՝ ILA-ն պետք է տեղադրվի, կամ ցանկալի ազդանշանը սահմանվի, և կատարվի վերակազմակերպման և վերածրագրավորման ցիկլ։ Նախկինում նկարագրված բոլոր խնդիրները դեռևս հանգեցնում են վրիպազերծման ցիկլի զգալի ժամանակի։ Սակայն կա լրացուցիչ բարդություն։ ILA-ն ղեկավարող ժամացույցը պետք է լինի սինխրոն և, իդեալական դեպքում, շատ ավելի արագ՝ օգտատիրոջ Soft IP միջուկից դիտարկվող ժամացույցի համեմատ։ Եթե այս ժամացույցները ասինխրոն են կամ չունեն ճիշտ ժամանակային հարաբերություններ, տվյալների հավաքագրումը կլինի անկանխատեսելի և կարող է շփոթության աղբյուր լինել վրիպազերծման գործընթացի համար։
Նկատի ունեցեք, որ եթե օգտատիրոջ Soft IP ժամացույցը չի ստեղծվում չիպի վրա (հնարավոր է՝ այն վերականգնվում է սերիական ինտերֆեյսից), նախագծողին կարող է անհրաժեշտ լինել ավելացնել ժամացույցի մոդուլ՝ լրացուցիչ ռեսուրսներ օգտագործելով ավելի արագ ILA ժամացույց ստեղծելու և հնարավոր է՝ ժամանակի խախտում ստեղծելու համար։

Կենդանի զոնդ
Այս մեթոդի կիրառմամբ, Live Probe-ը կարող է արագորեն ուղղորդվել օգտատիրոջ ժամացույցի աղբյուրին և գրանցամատյանից ցանկացած այլ ժամացույցի աղբյուրի՝ սխալի հիմնական պատճառը գտնելու համար: Live Probe-ը կցուցադրի ընտրված ազդանշանների ելքերը իրական ժամանակում, և այդպիսով ազդանշանների միջև ցանկացած ժամանակային կապ շատ ավելի հեշտ է որոշել: Ամբողջ գործընթացը տևում է ընդամենը մի քանի վայրկյան:

Սերիական ինտերֆեյսների այլ վրիպազերծման հնարավորություններ
Կարևոր է նաև նշել, որ SmartFusion2 SoC FPGA և IGLOO2 FPGA սարքերում կան բազմաթիվ լրացուցիչ վրիպազերծման հնարավորություններ, որոնք կարող են օգտագործվել սերիական ինտերֆեյսների վրա, ինչպես նախորդում։ampդիզայն, որտեղ սխալները նույնիսկ ավելի բարդ են։ Օրինակ՝ SERDES Debugample-ն ապահովում է հատուկ վրիպազերծման հնարավորություններ նվիրված բարձր արագությամբ սերիական ինտերֆեյսների համար: SERDES վրիպազերծման որոշ առանձնահատկություններից են PMA թեստի աջակցությունը (ինչպիսիք են PRBS կաղապարի ստեղծումը և հետադարձ ցիկլի թեստավորումը), SERDES-ի բազմաթիվ թեստային կոնֆիգուրացիաների աջակցությունը՝ գրանցամատյանի մակարդակի վերակազմակերպմամբ՝ կոնֆիգուրացիայի փոփոխություններ կատարելու համար նախագծման ամբողջական հոսքի օգտագործումից խուսափելու համար, և տեքստային հաշվետվություններ, որոնք ցույց են տալիս կոնֆիգուրացված արձանագրությունները, SERDES կոնֆիգուրացիայի գրանցամատյանները և Lane կոնֆիգուրացիայի գրանցամատյանները: Այս առանձնահատկությունները SERDES վրիպազերծումը շատ ավելի հեշտ են դարձնում և կարող են օգտագործվել Live Probe-ի և Active Probe-ի հետ համատեղ՝ բարդ սխեմաների վրիպազերծումն ավելի արագ դարձնելու համար:
Նախկինում նկարագրված Memory Debug գործիքը կարող է օգտագործվել նաև SERDES Debug-ի հետ համատեղ՝ թեստավորումը արագացնելու համար: Քանի որ հիշողության բուֆերները կարող են արագ և հեշտությամբ ստուգվել և փոփոխվել Memory Debug-ի միջոցով, հնարավոր է արագ ստեղծել «փորձարկման փաթեթներ» և դիտարկել ցիկլային կամ միջհամակարգային հաղորդակցության արդյունքները: Դիզայները կարող է օգտագործել այս հնարավորությունները և այդպիսով նվազագույնի հասցնել մասնագիտացված «փորձարկման լարերի» անհրաժեշտությունը, որոնք սպառում են լրացուցիչ FPGA հյուսվածք և կարող են ազդել չիպի ժամանակի վրա:

Եզրակացություն
Այս հոդվածում մանրամասն նկարագրված են FPGA-ների և SoC FPGA-ների համար ներկառուցված վրիպազերծման իրականացման մի քանի տարբեր մոտեցումներ՝ ինտեգրված տրամաբանական վերլուծիչի օգտագործումը, արտաքին փորձարկման սարքավորումների օգտագործումը և FPGA կառուցվածքում ինտեգրված նվիրված զոնդերի սխեմաների օգտագործումը: SmartFusion2 SoC FPGA և IGLOO2 FPGA սարքերի վրա Microsemi-ի կողմից առաջարկվող մասնագիտացված և նվիրված զոնդերի սխեմաների ավելացումը, ինչպիսիք են Active Probe-ը և Live Probe-ը, զգալիորեն արագացնում և պարզեցնում է վրիպազերծման գործընթացը: Ներքին ազդանշանների ընտրությունը արագ փոփոխելու ունակությունը (առանց շատ ժամանակատար վերակազմակերպման և վերածրագրավորման ցիկլ կատարելու անհրաժեշտության) և ներքին ազդանշանները զոնդավորելու ունակությունը (առանց FPGA կառուցվածք օգտագործելու և հնարավոր ժամանակային խախտումներ մտցնելու անհրաժեշտության) ցույց են տրվել որպես հիմնական առավելություն:tagFPGA նախագծերի վրիպազերծման ժամանակ։ Բացի այդ, նկարագրվեց բազմաթիվ մեթոդաբանությունների օգտագործումը, որոնք կարող են միասին աշխատել՝ ապահովելով ավելի համապարփակ վրիպազերծման հնարավորություն։ Վերջապես, երկու նախկինampՆկարագրված մեթոդների միջև փոխզիջումները պատկերելու համար տրվեցին debug-ի օգտագործման դեպքեր։

Ավելին իմանալու համար

  1. IGLOO2 FPGA-ներ
  2. SmartFusion2 SoC FPGA-ներ

Microsemi Corporation-ը (Nasdaq: MSCC) առաջարկում է կիսահաղորդչային և համակարգային լուծումների համապարփակ պորտֆոլիո կապի, պաշտպանության և անվտանգության, օդատիեզերական և արդյունաբերական շուկաների համար: Արտադրանքները ներառում են բարձր արդյունավետություն և ճառագայթման միջոցով կարծրացած անալոգային խառը ազդանշանային ինտեգրալ սխեմաներ, FPGA-ներ, SoC-ներ և ASIC-ներ; էներգիայի կառավարման արտադրանք; ժամանակի և համաժամացման սարքեր և ժամանակի ճշգրիտ լուծումներ՝ սահմանելով ժամանակի համաշխարհային ստանդարտը. ձայնի մշակման սարքեր; ՌԴ լուծումներ; դիսկրետ բաղադրիչներ; անվտանգության տեխնոլոգիաներ և մասշտաբային հակատտamper արտադրանք; Power-over-Ethernet ինտեգրալ սխեմաներ և միջին անցքեր; ինչպես նաև անհատական ​​​​նախագծման հնարավորություններ և ծառայություններ: Microsemi-ի գլխավոր գրասենյակը գտնվում է Ալիսո Վիեխոյում, Կալիֆոռնիա, և ամբողջ աշխարհում ունի մոտավորապես 3,400 աշխատակից: Իմացեք ավելին՝ www.microsemi.com.

© 2014 Microsemi Corporation. Բոլոր իրավունքները պաշտպանված են. Microsemi-ն և Microsemi լոգոն Microsemi Corporation-ի ապրանքանիշերն են: Բոլոր այլ ապրանքային և սպասարկման նշանները պատկանում են իրենց համապատասխան սեփականատերերին:

Microsemi կորպորատիվ գլխամասային գրասենյակ

ՀՏՀ

  • Հարց. Որքա՞ն է սարքի տվյալների հավաքագրման առավելագույն հաճախականությունը։
    Ա. Սարքը աջակցում է տվյալների հավաքագրմանը մինչև 100 ՄՀց հաճախականությամբ, ինչը հարմար է թիրախային նախագծերի մեծ մասի համար:
  • Հարց. Արդյո՞ք ես պետք է վերակազմեմ դիզայնը, երբ օգտագործում եմ զոնդերի սխեմաներ վրիպազերծման համար:
    Ա. Ոչ, զոնդի կետերի տեղադրությունը կարող է արագ փոխվել առանց նախագծի վերակազմավորման կամ վերածրագրավորման անհրաժեշտության:

Փաստաթղթեր / ռեսուրսներ

Միկրոկիսահաղորդչային ներկառուցված FPGA կարգաբերում [pdfՀրահանգներ
FPGA-ի ներշղթայական վրիպազերծում, FPGA վրիպազերծում, վրիպազերծում

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *