માઇક્રોસેમી-લોગો

માઇક્રોસેમી ઇન-સર્કિટ FPGA ડીબગ

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ-ઉત્પાદન

ઉત્પાદન માહિતી

વિશિષ્ટતાઓ

  • ઉપકરણ પ્રકાર: માઇક્રોસેમી સ્માર્ટફ્યુઝન2 SoC FPGA
  • પ્રકાશન તારીખ: મે 2014
  • ડિબગીંગ ક્ષમતાઓ: ઇન-સર્કિટ FPGA ડિબગ, એમ્બેડેડ લોજિક એનાલાઇઝર
  • મહત્તમ ડેટા કેપ્ચર આવર્તન: 100MHz સુધી

અમૂર્ત
FPGAs એ એમ્બેડેડ સિસ્ટમ્સમાં શક્તિશાળી ડિઝાઇન તત્વો છે જેમાં ઘણા ડિઝાઇન ફાયદા છેtages, પરંતુ આ ઉપકરણોમાં જટિલ ડિઝાઇન સમસ્યાઓ સાથે જટિલ ડિઝાઇન હોઈ શકે છે જેને ડીબગ કરવાની જરૂર છે. વ્યાખ્યા ભૂલો, સિસ્ટમ ક્રિયાપ્રતિક્રિયા સમસ્યાઓ અને સિસ્ટમ સમય ભૂલો જેવા ડિઝાઇન મુદ્દાઓને ટ્રેક કરવા એક પડકાર હોઈ શકે છે. FPGA માં ઇન-સર્કિટ ડિબગ ક્ષમતાઓનો સમાવેશ હાર્ડવેર ડિબગમાં નાટ્યાત્મક સુધારો કરી શકે છે, અને કાઉન્ટેસ કલાકોની હતાશા ટાળી શકે છે. આ પેપર FPGAs માટે ઇન-સર્કિટ ડિબગ કરવા માટે ઘણા જુદા જુદા અભિગમોનું વર્ણન કરે છે, મુખ્ય ટ્રેડ-ઓફ ઓળખે છે, અને ભૂતપૂર્વ દ્વારાampમાઇક્રોસેમી સ્માર્ટફ્યુઝન®2 SoC FPGA ઉપકરણ માટે લક્ષિત આ ડિઝાઇન, ડિબગિંગ અને પરીક્ષણને ઝડપી બનાવવા માટે નવી ક્ષમતાઓનો ઉપયોગ કેવી રીતે કરી શકાય તે બતાવશે.

પરિચય

FPGAs વ્યાપક અને શક્તિશાળી ડિઝાઇન તત્વો છે અને હવે તે લગભગ દરેક એમ્બેડેડ સિસ્ટમમાં જોવા મળે છે. વધતી ક્ષમતા, જટિલ ઓન-ચિપ ફંક્શનલ બ્લોક્સ અને અદ્યતન સીરીયલ ઇન્ટરફેસના સમાવેશ સાથે, આ ઉપકરણોમાં જટિલ ડિઝાઇન સમસ્યાઓ પણ હોઈ શકે છે જેને ડીબગ કરવાની જરૂર છે. અદ્યતન FPGAs નો ઉપયોગ કરતી વખતે કાર્યાત્મક વ્યાખ્યા ભૂલો (FPGA અથવા સિસ્ટમ સ્તરે), કાર્યાત્મક સિસ્ટમ ક્રિયાપ્રતિક્રિયા સમસ્યાઓ, સિસ્ટમ સમય સમસ્યાઓ અને ICs (જેમ કે અવાજ, ક્રોસસ્ટોક અથવા પ્રતિબિંબ) વચ્ચે સિગ્નલ વફાદારી સમસ્યાઓ જેવા મુદ્દાઓને ટ્રેક કરવા એ બધા વધુ જટિલ બની જાય છે. સિમ્યુલેશન ચોક્કસપણે ઘણી ડિઝાઇન સમસ્યાઓ ઓળખવામાં મોટી મદદ છે, પરંતુ હાર્ડવેરમાં ડિઝાઇન લાગુ ન થાય ત્યાં સુધી ઘણી વાસ્તવિક દુનિયાની ક્રિયાપ્રતિક્રિયાઓ દેખાશે નહીં. પ્રક્રિયાને સરળ બનાવવા માટે જટિલ ડિઝાઇન સમસ્યાઓને ડીબગ કરવા માટે ઘણી અલગ તકનીકો વિકસાવવામાં આવી છે. આ દરેક મુખ્ય તકનીકોની કાળજીપૂર્વક સમજ, જેમાં વિવિધ એડવાન્સનો સમાવેશ થાય છેtages અને disadvantages, ચોક્કસ ડિઝાઇન માટે કઈ તકનીક અથવા તકનીકોનું સંયોજન યોગ્ય છે તે ધ્યાનમાં લેતી વખતે ઉપયોગી છે.
ભૂતપૂર્વampમાઇક્રોસેમી સ્માર્ટફ્યુઝન2 SoC FPGA ઉપકરણ માટે લક્ષિત FPGA ડિઝાઇનનો ઉપયોગ કેટલીક એડવાન્સિસ દર્શાવવા માટે થઈ શકે છેtages અને disadvantagઆ માનક તકનીકો તેમજ નવીનતમ ઇન-સર્કિટ ડિબગ ક્ષમતાઓનું જ્ઞાન. આ ઉદાહરણરૂપ ઉદાહરણampઆ લેખમાં, અમે બતાવીશું કે હાર્ડવેર ડિબગીંગ દરમિયાન હાર્ડવેર સમસ્યાઓની ઓળખ અને નિવારણને ઝડપી બનાવવા માટે આ વિવિધ તકનીકોનો ઉપયોગ કેવી રીતે કરી શકાય છે.

FPGA ડિબગીંગ સિસ્ટમ ડિઝાઇન અને વિકાસનું એક મહત્વપૂર્ણ પાસું કેમ છે?
FPGAs માં બે મુખ્ય ઉપયોગ મોડેલો છે જે તેમને અન્ય ડિઝાઇન તત્વોથી અલગ પાડે છે. FPGAs નો ઉપયોગ ઉત્પાદન ઉત્પાદનમાં થઈ શકે છે અથવા ઉત્પાદન ડિઝાઇન ખ્યાલને સાબિત કરવા અથવા પ્રોટોટાઇપ કરવા માટે વિકાસ વાહન તરીકે ઉપયોગ કરી શકાય છે. જ્યારે ઉત્પાદન વાહન તરીકે ઉપયોગ થાય છે, ત્યારે FPGAs ASIC અથવા CPU-આધારિત ઉત્પાદન વાહનો કરતાં વધુ લવચીક લક્ષ્ય હોઈ શકે છે. આ ખાસ કરીને નવી ડિઝાઇન માટે મહત્વપૂર્ણ છે, જે હજુ સુધી હાર્ડવેરમાં અમલમાં મૂકવામાં આવી નથી. વિવિધ આર્કિટેક્ચરલ વિકલ્પો સાથે ડિઝાઇન સરળતાથી બનાવી અને પરીક્ષણ કરી શકાય છે જેથી શ્રેષ્ઠ ડિઝાઇન ઓળખી શકાય. ઓન-ચિપ પ્રોસેસર્સ (SoC FPGAs) સાથે FPGAs હાર્ડવેર સહાયિત FPGA-આધારિત પ્રવેગક કાર્યો સાથે CPU-આધારિત પ્રક્રિયાને ટ્રેડ-ઓફ કરવાનું પણ શક્ય બનાવે છે. આ ફાયદાtagનવા ઉત્પાદન વિકાસ માટે ડિઝાઇન, માન્યતા, પરીક્ષણ અને નિષ્ફળતા વિશ્લેષણ માટે જરૂરી સમય નાટકીય રીતે ઘટાડી શકે છે.
જ્યારે ડિઝાઇનના પ્રોટોટાઇપિંગ માટે ઉપયોગ થાય છે, કદાચ ઉત્પાદન ASIC માટે, ત્યારે FPGA લવચીકતા એક મુખ્ય ફાયદો છે. વાસ્તવિક હાર્ડવેર પ્લેટફોર્મ, ભલે તે પૂર્ણ ગતિએ ચાલતું ન હોય, વિગતવાર સિસ્ટમ પ્રદર્શન મેટ્રિક્સ, થ્રુપુટ વિશ્લેષણ ડેટા અને આર્કિટેક્ચર પ્રૂફ-ઓફ-કન્સેપ્ટ પરિણામો મેળવવાનું ખૂબ સરળ બનાવે છે. ઉદ્યોગ માનક બસો (જેમ કે PCIe®, ગીગાબીટ ઇથરનેટ, XAUI, USB, CAN, અને અન્ય) ના કઠણ અમલીકરણ માટે FPGA સપોર્ટ આ ઇન્ટરફેસ સાથે સંકળાયેલ પરીક્ષણને સરળ બનાવે છે. ઓન-ચિપ ARM પ્રોસેસર્સ (SoC FPGAs) સાથે FPGAs ના નવીનતમ પરિવારો, એમ્બેડેડ પ્રોસેસર્સ સાથે પ્રોટોટાઇપ અમલીકરણને સરળ બનાવે છે. અગાઉ વિકસિત પ્રોસેસર કોડને પ્રોટોટાઇપમાં પોર્ટ કરી શકાય છે અને હાર્ડવેર ડિઝાઇન પ્રયાસ સાથે સમાંતર રીતે બનાવેલ નવો કોડ.

સ્ટાન્ડર્ડ પ્રોસેસર અને સ્ટાન્ડર્ડ ઇન્ટરફેસ બસનું આ સંયોજન ઉપલબ્ધ કોડ લાઇબ્રેરીઓ, ડ્રાઇવરો, ફંક્શનલ API, રીઅલ ટાઇમ ઓપરેટિંગ સિસ્ટમ્સ અને સંપૂર્ણ ઓપરેટિંગ સિસ્ટમ્સના વિશાળ ઇકોસિસ્ટમનો ઉપયોગ કરીને વધુ ઝડપથી કાર્યરત પ્રોટોટાઇપ બનાવવાનું શક્ય બનાવે છે. વધુમાં, એકવાર ડિઝાઇન મજબૂત થઈ જાય, પછી FPGA પ્રોટોટાઇપનો ઉપયોગ વ્યાપક સિમ્યુલેશન ટેસ્ટ સેટ્સ (ઉત્તેજના અને પ્રતિભાવ બંને માટે) કેપ્ચર કરવા માટે થઈ શકે છે જે વાસ્તવિક સિસ્ટમ ડેટાને પ્રતિબિંબિત કરે છે. આ ડેટા સેટ્સ ASIC અથવા અન્ય ઉત્પાદન અમલીકરણ માટે અંતિમ સિમ્યુલેશન બનાવવામાં અમૂલ્ય હોઈ શકે છે. ફાયદાtagડિઝાઇન પ્રોટોટાઇપ તરીકે FPGA નો ઉપયોગ કરવાથી અંતિમ ઉત્પાદન અમલીકરણ માટે ડિઝાઇન, માન્યતા, પરીક્ષણ અને નિષ્ફળતા વિશ્લેષણ માટેનો સમય નાટકીય રીતે ઘટાડી શકાય છે.
આ બંને સામાન્ય FPGA ઉપયોગ મોડેલોમાં ડિઝાઇન લક્ષ્ય તરીકે FPGA ની સુગમતા એક મુખ્ય ફાયદો છેtage. આનો અર્થ એ છે કે ઘણા ડિઝાઇન ફેરફારો અને પુનરાવર્તનો સામાન્ય હશે, અને આમ ડિઝાઇન ભૂલોને ઝડપથી ડીબગ કરવાની ક્ષમતા શક્ય તેટલા વધુ ડિઝાઇન વિકલ્પોને સક્ષમ કરવા માટે મહત્વપૂર્ણ રહેશે. કાર્યક્ષમ ડીબગ ક્ષમતા વિના મોટાભાગની પ્રગતિtagવધારાના ડિબગીંગ સમય દ્વારા FPGA ડિઝાઇન લવચીકતા ઓછી થશે. સદભાગ્યે, FPGAs વધારાની હાર્ડવેર સુવિધાઓ પણ પ્રદાન કરી શકે છે જે રીઅલ-ટાઇમ ડિબગીંગને નાટકીય રીતે સરળ બનાવે છે. આ ક્ષમતાઓ પર નજર નાખતા પહેલા, ચાલો પહેલા FPGA ડિઝાઇનમાં આવતી સૌથી સામાન્ય પ્રકારની સમસ્યાઓ પર નજર કરીએ જેથી અમારી પાસે વિવિધ ડિબગીંગ ટૂલ્સની કાર્યક્ષમતા અને સંકળાયેલ ટ્રેડ-ઓફનું મૂલ્યાંકન કરવા માટે યોગ્ય પૃષ્ઠભૂમિ હોય.

FPGA ડિઝાઇનને ડીબગ કરતી વખતે સામાન્ય સમસ્યાઓ

આધુનિક FPGAs દ્વારા લાવવામાં આવતી વિસ્તૃત ક્ષમતાઓ સાથે, સંકળાયેલી વધેલી જટિલતા ભૂલ-મુક્ત ડિઝાઇન બનાવવાનું વધુ મુશ્કેલ બનાવે છે. હકીકતમાં, એવો અંદાજ લગાવવામાં આવ્યો છે કે ડિબગીંગ એમ્બેડેડ સિસ્ટમ ડિઝાઇન ચક્રના 50% થી વધુ ભાગ લઈ શકે છે. સમય-થી-બજાર દબાણ વિકાસ ચક્રને દબાવવાનું ચાલુ રાખતા, પ્રારંભિક સિસ્ટમનું હાર્ડવેર ડિબગીંગ પાછળથી વિચારણામાં ફેરવાઈ જાય છે - ઘણી વાર એવું ધારી લે છે કે ચકાસણી (પોતે એક મોટો ટકાવારી)tagવિકાસ સમયપત્રકનો e), પ્રારંભિક સિસ્ટમ લાવવા પહેલાં બધી ભૂલો પકડી લેશે. પ્રારંભિક સિસ્ટમ લાવવા દરમિયાન લાક્ષણિક ડિઝાઇનને કયા પડકારોનો સામનો કરવો પડશે તે વધુ સારી રીતે સમજવા માટે ચાલો સિસ્ટમ સમસ્યાઓના થોડા સામાન્ય પ્રકારો જોઈએ.

ડિઝાઇનરે ચોક્કસ જરૂરિયાતને ગેરસમજ કરી હોવાથી કાર્યાત્મક વ્યાખ્યા ભૂલો શોધવાનું બમણું મુશ્કેલ બની શકે છે, તેથી ડિઝાઇનની વિગતોને કાળજીપૂર્વક જોતી વખતે પણ ભૂલને અવગણી શકાય છે. એક ભૂતપૂર્વampસામાન્ય કાર્યાત્મક વ્યાખ્યા ભૂલ એ હશે જ્યાં રાજ્ય મશીન સંક્રમણ યોગ્ય સ્થિતિમાં સમાપ્ત થતું નથી. ભૂલો સિસ્ટમ ઇન્ટરફેસમાં ક્રિયાપ્રતિક્રિયા સમસ્યા તરીકે પણ દેખાઈ શકે છે. ઇન્ટરફેસ લેટન્સી, ઉદાહરણ તરીકેample, ખોટી રીતે ઉલ્લેખિત હોઈ શકે છે જેના પરિણામે અણધારી બફર ઓવરફ્લો અથવા અંડરફ્લો સ્થિતિ થઈ શકે છે.
સિસ્ટમ લેવલ ટાઇમિંગ સમસ્યાઓ ડિઝાઇન ભૂલોનો બીજો ખૂબ જ સામાન્ય સ્ત્રોત છે. ખાસ કરીને, અસુમેળ ઘટનાઓ, જ્યારે સિંક્રનાઇઝેશન અથવા ક્રોસિંગ ટાઇમિંગ ડોમેન ઇફેક્ટ્સને કાળજીપૂર્વક ધ્યાનમાં લેવામાં આવતી નથી ત્યારે ભૂલોનો એક સામાન્ય સ્ત્રોત છે. ઝડપે કામ કરતી વખતે આ પ્રકારની ભૂલો ખૂબ જ સમસ્યારૂપ બની શકે છે અને ખૂબ જ ભાગ્યે જ દેખાઈ શકે છે, કદાચ ત્યારે જ જ્યારે ચોક્કસ ડેટા પેટર્ન પોતાને પ્રગટ કરે છે. ઘણા સામાન્ય સમય ઉલ્લંઘનો આ શ્રેણીમાં આવે છે અને સામાન્ય રીતે ખૂબ જ મુશ્કેલ હોય છે, જો અનુકરણ કરવું અશક્ય ન હોય તો.

સમય ઉલ્લંઘન પણ સંકલિત સર્કિટ વચ્ચે ઓછી સિગ્નલ વફાદારીનું પરિણામ હોઈ શકે છે, ખાસ કરીને દરેક સર્કિટ માટે બહુવિધ પાવર રેલ ધરાવતી સિસ્ટમોમાં. ઓછી સિગ્નલ વફાદારી સિગ્નલ અવાજ, ક્રોસસ્ટોક, પ્રતિબિંબ, વધુ પડતું લોડિંગ અને ઇલેક્ટ્રો-મેગ્નેટિક હસ્તક્ષેપ (EMI) સમસ્યાઓમાં પરિણમી શકે છે જે ઘણીવાર સમય ઉલ્લંઘન તરીકે દેખાય છે. પાવર સપ્લાય સમસ્યાઓ, જેમ કે ટ્રાન્ઝિયન્ટ્સ (ખાસ કરીને સિસ્ટમ સ્ટાર્ટ-અપ અથવા શટ-ડાઉન દરમિયાન), લોડ ભિન્નતા અને ઉચ્ચ પાવર ડિસીપેશન સ્ટ્રેસ પણ રહસ્યમય ભૂલોમાં પરિણમી શકે છે, જે ઘણીવાર સરળતાથી પાવર સપ્લાય સ્ત્રોત પર શોધી શકાતી નથી. ડિઝાઇન સંપૂર્ણપણે યોગ્ય હોય ત્યારે પણ બોર્ડ ફેબ્રિકેશન સમસ્યાઓ ભૂલોમાં પરિણમી શકે છે. ખામીયુક્ત સોલ્ડર સાંધા અને અયોગ્ય રીતે જોડાયેલા કનેક્ટર્સ, ઉદાહરણ તરીકેample, ભૂલોનો સ્ત્રોત હોઈ શકે છે અને તાપમાન અથવા બોર્ડ સ્થાન પર પણ આધાર રાખી શકે છે. અદ્યતન FPGA પેકેજિંગ તકનીકોનો ઉપયોગ પ્રિન્ટેડ સર્કિટ બોર્ડ પર સિગ્નલોની તપાસ કરવાનું મુશ્કેલ બનાવી શકે છે, તેથી ફક્ત ઇચ્છિત સિગ્નલની ઍક્સેસ મેળવવી ઘણીવાર સમસ્યારૂપ બની શકે છે. ઘણી વખત ડિઝાઇન સમસ્યાઓ તાત્કાલિક ભૂલ પેદા કરતી નથી અને ભૂલ ખરેખર પ્રગટ ન થાય ત્યાં સુધી ડિઝાઇનમાં છલકાતી રહે છે. શરૂઆતની ભૂલને મૂળ કારણ સુધી પાછી ખેંચવી ઘણીવાર નિરાશાજનક, મુશ્કેલ અને સમય માંગી લે તેવું કાર્ય હોઈ શકે છે.

માજી માટેampહા, અનુવાદ કોષ્ટકમાં થોડી પણ ભૂલ ઘણા ચક્રો પછી ભૂલમાં પરિણમી શકે નહીં. આ પેપરમાં આપણે પછીથી ચર્ચા કરીશું તેવા કેટલાક સાધનો, જે સમર્પિત ઇન-સર્કિટ ડિબગ હાર્ડવેરનો ઉપયોગ કરે છે, ખાસ કરીને આ 'બગ હન્ટ્સ' ને ઝડપી અને સરળ બનાવવા માટે લક્ષ્યાંકિત છે. આ સાધનોની વિગતોમાં પ્રવેશતા પહેલા, ચાલો પહેલા એક લોકપ્રિય સોફ્ટવેર-આધારિત ડિબગીંગ ટેકનિક સિમ્યુલેશન જોઈએ જેથી એડવાન્સને વધુ સારી રીતે સમજી શકાય.tages અને disadvantagડિબગીંગ માટે સિમ્યુલેશનનો ઉપયોગ કરવાની રીત.

ડિબગીંગ માટે સિમ્યુલેશનનો ઉપયોગ
સામાન્ય રીતે ડિઝાઇન સિમ્યુલેશનમાં, ડિઝાઇનની અંદર અને બહારના બધા વાસ્તવિક ઘટકો ગાણિતિક રીતે સોફ્ટવેર પ્રક્રિયાઓ તરીકે મોડેલ કરવામાં આવે છે જે પ્રમાણભૂત CPU પર ક્રમિક રીતે ચલાવવામાં આવે છે. ડિઝાઇનમાં વિવિધ પ્રકારના ઉત્તેજના લાગુ કરવા અને સિમ્યુલેટેડ ડિઝાઇન આઉટપુટ સામે અપેક્ષિત આઉટપુટ તપાસવાથી, સૌથી સ્પષ્ટ ડિઝાઇન ભૂલો પકડવાનો એક સરળ રસ્તો છે. લાક્ષણિક સિમ્યુલેશન રન દર્શાવતી વિંડો નીચે આકૃતિ 1 માં આપવામાં આવી છે. સ્પષ્ટ લાભtagહાર્ડવેર-આધારિત ડિબગીંગમાં સિમ્યુલેશનનો મુખ્ય મુદ્દો એ છે કે સિમ્યુલેશન સોફ્ટવેરમાં કરી શકાય છે - કોઈ વાસ્તવિક હાર્ડવેર-આધારિત ડિઝાઇન અને ટેસ્ટબેન્ચની જરૂર નથી. સિમ્યુલેશન ઘણી ડિઝાઇન ભૂલોને ઝડપથી પકડી શકે છે, ખાસ કરીને ખોટી સ્પષ્ટીકરણો, ઇન્ટરફેસ આવશ્યકતાઓની ગેરસમજ, ફંક્શન ભૂલો અને ઘણી અન્ય 'ગ્રોસ' પ્રકારની ભૂલો જે સરળ ઉત્તેજના વેક્ટર દ્વારા સરળતાથી શોધી શકાય છે.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (1)

સિમ્યુલેશન ખાસ કરીને ત્યારે અસરકારક હોય છે જ્યારે ડિઝાઇનર પાસે વ્યાપક ઉત્તેજના સંયોજનો ઉપલબ્ધ હોય અને પરિણામી આઉટપુટ સારી રીતે જાણીતા હોય. આ કિસ્સાઓમાં, સિમ્યુલેશન ડિઝાઇનનું લગભગ સંપૂર્ણ પરીક્ષણ કરી શકે છે. કમનસીબે, મોટાભાગની ડિઝાઇનમાં વ્યાપક પરીક્ષણ સ્યુટ્સની સરળ ઍક્સેસ હોતી નથી અને તેમને બનાવવાની પ્રક્રિયા ખૂબ જ સમય માંગી લે તેવી હોઈ શકે છે. મોટા FPGA-આધારિત ડિઝાઇન માટે 100% ડિઝાઇનને આવરી લેતો ટેસ્ટ સ્યુટ બનાવવો વર્ચ્યુઅલ રીતે અશક્ય છે અને ડિઝાઇનના મુખ્ય ઘટકોને આવરી લેવા માટે શોર્ટકટનો ઉપયોગ કરવો આવશ્યક છે. સિમ્યુલેશન સાથે બીજી મુશ્કેલી એ છે કે તે 'વાસ્તવિક દુનિયા' અમલીકરણ નથી અને અસુમેળ ઘટનાઓ, ગતિશીલ સિસ્ટમ ક્રિયાપ્રતિક્રિયાઓ અથવા સમય ઉલ્લંઘનોને પકડી શકતું નથી. છેલ્લે, સિમ્યુલેશન પ્રક્રિયા ખૂબ જ ધીમી હોઈ શકે છે અને જો ઘણી પુનરાવર્તનોની જરૂર હોય તો સિમ્યુલેશન ઝડપથી સૌથી વધુ સમય માંગી લેતું અને ઘણીવાર વિકાસ પ્રક્રિયાનો સૌથી ખર્ચાળ ભાગ બની જાય છે.

એક વિકલ્પ તરીકે (અથવા કદાચ વધુ સારી રીતે કહીએ તો, સિમ્યુલેશનના ઉમેરા તરીકે) FPGA ડિઝાઇનરોએ શોધી કાઢ્યું કે તેઓ ઉપકરણમાં મુખ્ય સંકેતોનું અવલોકન અને નિયંત્રણ કરવા માટે FPGA ડિઝાઇનમાં ડિબગ હાર્ડવેર ઉમેરી શકે છે. આ તકનીકો મૂળ રૂપે એડ-હોક અભિગમ તરીકે વિકસાવવામાં આવી હતી, પરંતુ ધીમે ધીમે પ્રમાણભૂત હાર્ડવેર ડિબગ વ્યૂહરચનામાં વિકસિત થઈ છે. ઇન-સર્કિટ ડિબગ ક્ષમતાઓનો આ ઉપયોગ નોંધપાત્ર ફાયદો આપે છેtagFPGA-આધારિત ડિઝાઇન માટેના ES અને આગળનો વિભાગ ત્રણ સૌથી સામાન્ય વ્યૂહરચનાઓ અને તેમના વિવિધ ફાયદાઓનું અન્વેષણ કરશેtages અને disadvantages

FPGA માટે સામાન્ય ઇન-સર્કિટ ડીબગ અભિગમો
FPGAs માં ઇન-સર્કિટ ડિબગ ક્ષમતાઓને અમલમાં મૂકવા માટેની સૌથી સામાન્ય તકનીકો કાં તો એમ્બેડેડ લોજિક વિશ્લેષક, બાહ્ય પરીક્ષણ સાધનો અથવા FPGA ફેબ્રિકમાં એમ્બેડેડ સમર્પિત સિગ્નલ પ્રોબ હાર્ડવેરનો ઉપયોગ કરે છે. એમ્બેડેડ લોજિક વિશ્લેષક સામાન્ય રીતે FPGA ફેબ્રિકનો ઉપયોગ કરીને અમલમાં મૂકવામાં આવે છે અને ડિઝાઇનમાં દાખલ કરવામાં આવે છે. JTAG વિશ્લેષકને ઍક્સેસ કરવા માટે પોર્ટનો ઉપયોગ થાય છે અને કેપ્ચર કરેલ ડેટા પીસી પર પ્રદર્શિત કરી શકાય છે. જ્યારે બાહ્ય પરીક્ષણ સાધનોનો ઉપયોગ કરવામાં આવે છે, ત્યારે પરીક્ષણ હેઠળની FPGA ડિઝાઇનમાં ફેરફાર કરવામાં આવે છે જેથી પસંદ કરેલા આંતરિક FPGA સિગ્નલો આઉટપુટ પિન પર રૂટ થાય. આ પિન પછી બાહ્ય પરીક્ષણ સાધનો દ્વારા અવલોકન કરી શકાય છે. જ્યારે સમર્પિત સિગ્નલ પ્રોબ હાર્ડવેરનો ઉપયોગ કરવામાં આવે છે, ત્યારે આંતરિક સિગ્નલોની વિશાળ પસંદગી વાસ્તવિક સમયમાં વાંચી શકાય છે. કેટલાક પ્રોબ અમલીકરણોનો ઉપયોગ રજિસ્ટર અથવા મેમરી સ્થાનો પર લખવા માટે પણ થઈ શકે છે જે ડિબગ ક્ષમતાઓને વધુ વધારશે. ચાલો એડવાન્સ પર વધુ વિગતવાર જોઈએ.tages અને disadvantagઆ દરેક તકનીકોના es અને પછી એક ભૂતપૂર્વ જુઓampઆ વિવિધ અભિગમો એકંદર ડિબગીંગ સમયને કેવી રીતે અસર કરી શકે છે તે જોવા માટે ડિઝાઇન કરો.

ઇન-સર્કિટ FPGA ડીબગ-એમ્બેડેડ લોજિક એનાલાઇઝર
એમ્બેડેડ લોજિક વિશ્લેષકનો ખ્યાલ એ એડ-હોક ઇન-સર્કિટ ડિબગીંગ ક્ષમતાઓનું સીધું પરિણામ હતું જે ડિઝાઇનરોએ FPGAsનો પ્રથમ ઉપયોગ કરતી વખતે અમલમાં મૂક્યું હતું. એમ્બેડેડ લોજિક વિશ્લેષકોએ નવી ક્ષમતાઓ ઉમેરી અને ડિઝાઇનર માટે પોતાનું વિશ્લેષક વિકસાવવાની જરૂરિયાતને દૂર કરી. મોટાભાગના FPGAs આ ક્ષમતાઓ પ્રદાન કરે છે અને તૃતીય પક્ષો પ્રમાણભૂત વિશ્લેષકો પ્રદાન કરે છે (સિનોપ્સિસ તરફથી Identify®, એક લોકપ્રિય ઉદાહરણ છે).ample) જે ઉત્પાદકતામાં વધુ સુધારો કરવા માટે ઉચ્ચ સ્તરના સાધનો સાથે સરળતાથી ઇન્ટરફેસ કરી શકે છે.

આકૃતિ 2 માં દર્શાવ્યા મુજબ, FPGA ફેબ્રિક અને એમ્બેડેડ મેમરી બ્લોક્સનો ઉપયોગ કરીને, લોજિક વિશ્લેષક કાર્યક્ષમતા ડિઝાઇનમાં દાખલ કરવામાં આવી છે. ટ્રિગરિંગ સંસાધનો પણ બનાવવામાં આવ્યા છે જેથી જટિલ સિગ્નલ ક્રિયાપ્રતિક્રિયાઓ સરળતાથી પસંદ કરી શકાય અને કેપ્ચર કરી શકાય. નિયંત્રણ અને ડેટા ટ્રાન્સફર માટે વિશ્લેષકની ઍક્સેસ સામાન્ય રીતે માનક J દ્વારા કરવામાં આવે છે.TAG ઇન્ટરફેસ આવશ્યકતાઓને સરળ બનાવવા માટે પોર્ટ. કેપ્ચર કરેલ ડેટા સામાન્ય ઉપયોગ કરીને પીસી પર પ્રદર્શિત કરી શકાય છે viewસોફ્ટવેરનું સંચાલન કરે છે અને સામાન્ય રીતે લોજિક સિમ્યુલેટર વેવફોર્મ આઉટપુટને પ્રતિબિંબિત કરે છે viewશૈલી.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (2)

એડવાનtagઆ અભિગમના મુખ્ય સિદ્ધાંતો એ છે કે કોઈ વધારાના FPGA I/O પિનનો ઉપયોગ કરવામાં આવતો નથી, ફક્ત પ્રમાણભૂત JTAG સિગ્નલો. એમ્બેડેડ લોજિક વિશ્લેષક IP કોરો સામાન્ય રીતે પ્રમાણમાં સસ્તા હોય છે અને કેટલાક કિસ્સાઓમાં તે હાલના FPGA સંશ્લેષણ અથવા સિમ્યુલેશન ટૂલ્સનો વિકલ્પ હોઈ શકે છે. કેટલાક કિસ્સાઓમાં, જો તે વધુ અનુકૂળ હોય તો, એમ્બેડેડ લોજિક વિશ્લેષક ન વપરાયેલ I/O પર વધારાના આઉટપુટ પણ પ્રદાન કરી શકે છે. ગેરફાયદાઓમાંની એકtagઆ અભિગમનો મુખ્ય ઉદ્દેશ્ય એ છે કે મોટી માત્રામાં FPGA સંસાધનોની જરૂર પડે છે. ખાસ કરીને, જો ટ્રેસ બફરનો ઉપયોગ કરવામાં આવે તો આ ઉપલબ્ધ બ્લોક મેમરીની સંખ્યા ઘટાડશે. જો વિશાળ બફરની જરૂર હોય તો આ મેમરી ડેપ્થ સામે ટ્રેડ-ઓફ પણ હશે (કારણ કે વિશાળ મેમરીનો ઉપયોગ છીછરી મેમરી ડેપ્થમાં પરિણમે છે) - એક મોટો ગેરલાભtagનાના ઉપકરણોનો ઉપયોગ કરતી વખતે. કદાચ આ તકનીકનો સૌથી મોટો ગેરલાભ એ છે કે જ્યારે પણ પ્રોબ પ્લેસમેન્ટમાં ગોઠવણ કરવામાં આવે છે, ત્યારે ડિઝાઇનને ફરીથી કમ્પાઇલ અને ફરીથી પ્રોગ્રામ કરવી જરૂરી છે. મોટા ઉપકરણનો ઉપયોગ કરતી વખતે આ પ્રક્રિયામાં નોંધપાત્ર સમય લાગી શકે છે. ડિઝાઇનમાં સિગ્નલ પ્રોબ્સ જે રીતે મૂકવામાં આવે છે તેના કારણે સિગ્નલ સમય સંબંધોને સહસંબંધિત કરવું મુશ્કેલ બની શકે છે. વધુમાં, સિગ્નલ પ્રોબ્સ વચ્ચે વિલંબ સુસંગત નથી અને તેથી સમય સંબંધોની તુલના કરવી મુશ્કેલ છે. અસુમેળ સિગ્નલો અથવા વિવિધ સમય ડોમેનમાંથી સિગ્નલોની તુલના કરતી વખતે આ એક ખાસ મુશ્કેલી છે.

ઇન-સર્કિટ FPGA ડીબગ - બાહ્ય પરીક્ષણ સાધનો
જ્યારે સિસ્ટમ પરીક્ષણ માટે બાહ્ય લોજિક વિશ્લેષક પહેલેથી જ ઉપલબ્ધ હતું ત્યારે બાહ્ય પરીક્ષણ સાધનો સાથે ઇન-સર્કિટ ડીબગ કોડનો ઉપયોગ એક કુદરતી વિકાસ હતો. આકૃતિ 3 માં બતાવ્યા પ્રમાણે, આંતરિક પરીક્ષણ સંકેતોને ઓળખવા અને પસંદ કરવા અને તેમને FPGA I/Os પર લાગુ કરવા માટે કેટલાક સરળ ડીબગ કોડ બનાવીને, વિશ્લેષકોની અદ્યતન ક્ષમતાઓ (જેમ કે મોટા ટ્રેસ બફર્સ, જટિલ ટ્રિગરિંગ સિક્વન્સ અને બહુવિધ) નો લાભ લેવાનું શક્ય હતું. viewing વિકલ્પો) સરળ છતાં શક્તિશાળી ડીબગ વાતાવરણ બનાવવા માટે. અદ્યતન ટ્રિગરિંગ વિકલ્પો માટે વધુ જટિલ ઇન-સર્કિટ ક્ષમતાઓ જરૂરી આઉટપુટની સંખ્યા ઘટાડી શકે છે. ઉદાહરણ તરીકેampહા, જો બાહ્ય પિનની જરૂર હોય તો પહોળી બસ પર ચોક્કસ સરનામાં પસંદ કરવાનું પ્રતિબંધિત હોઈ શકે છે.
આંતરિક FPGA લોજિકનો ઉપયોગ કરવાથી I/O જરૂરિયાતો નાટકીય રીતે ઓછી થાય છે અને વધુ જટિલ સમસ્યાઓને ડીબગ કરવા માટે ચોક્કસ સરનામાં પેટર્ન (કદાચ કોલ અને રીટર્ન ક્રમ) પણ શોધી શકાય છે. જો એક સામાન્ય વપરાશકર્તા ઇન્ટરફેસ ઉપલબ્ધ હોય, તો આ શીખવાની કર્વને સરળ બનાવી શકે છે અને ઉત્પાદકતામાં સુધારો કરી શકે છે.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (3)

એડવાનtagઆ અભિગમનો ફાયદો એ છે કે તે બાહ્ય પરીક્ષણ સાધનોના ખર્ચનો લાભ લે છે અને તેથી કોઈ વધારાનો ટૂલ ખર્ચ થતો નથી. કેટલાક ડિબગ સર્કિટ IP કોરો સાધનો ઉત્પાદકો અથવા FPGA ઉત્પાદકો પાસેથી ઉપલબ્ધ છે, અને તે ખૂબ જ ઓછી કિંમતે અથવા મફત પણ હોઈ શકે છે. સિગ્નલ પસંદગી લોજિકને અમલમાં મૂકવા માટે જરૂરી FPGA સંસાધનોની માત્રા ખૂબ જ ઓછી છે, અને ટ્રેસ ફંક્શન બાહ્ય લોજિક વિશ્લેષકનો ઉપયોગ કરીને કરવામાં આવતું હોવાથી, કોઈ બ્લોક મેમરીની જરૂર નથી. પસંદગી લોજિક સસ્તું હોવાથી, વિશાળ ટ્રિગરિંગ સાથે મોટી સંખ્યામાં ચેનલોને પણ સપોર્ટ કરી શકાય છે. લોજિક વિશ્લેષક ટાઇમિંગ મોડ અને સ્ટેટ મોડ બંનેમાં કાર્ય કરી શકે છે જે કેટલાક સમય મુદ્દાઓને અલગ કરવામાં મદદ કરે છે.
આ disadvantagઆ અભિગમના કેટલાક પાસાંઓમાં લોજિક વિશ્લેષક ખરીદવાની જરૂરિયાત શામેલ હોઈ શકે છે, જો તે પ્રોજેક્ટ માટે પહેલાથી જ ફાળવેલ ન હોય. આ ગેરલાભtagઘણા કિસ્સાઓમાં આ અભિગમને નિરુત્સાહિત કરવા માટે e પૂરતું હોઈ શકે છે. જોકે, નોંધ લો કે કેટલાક ઓછા ખર્ચે લોજિક વિશ્લેષક વિકલ્પો ઉપલબ્ધ થઈ રહ્યા છે જે ડિસ્પ્લે માટે પીસી અથવા ટેબ્લેટનો ઉપયોગ કરે છે, જે આ વિકલ્પને સરળ ડીબગ આવશ્યકતાઓ માટે વધુ ખર્ચ-અસરકારક બનાવે છે.
વપરાશમાં લેવાયેલા FPGA પિનની સંખ્યા બીજી ગેરલાભ હોઈ શકે છેtage અને જો પહોળી બસોનું અવલોકન કરવાની જરૂર હોય, તો બોર્ડ લેઆઉટ માટે નોંધપાત્ર આયોજન અને ડિબગ કનેક્ટર્સ ઉમેરવાની જરૂર છે. ડિઝાઇન તબક્કાની શરૂઆતમાં આ જરૂરિયાત અને બીજી અનિચ્છનીય જટિલતાની આગાહી કરવી મોટાભાગે મુશ્કેલ હોય છે. એમ્બેડેડ લોજિક વિશ્લેષક અભિગમની જેમ, બાહ્ય પરીક્ષણ વ્યૂહરચનામાં દરેક નવા પ્રયોગની જરૂર હોય ત્યારે ડિઝાઇનનું ફરીથી કમ્પાઇલિંગ અને ફરીથી પ્રોગ્રામિંગ જરૂરી છે.

સામાન્ય ગેરલાભtagઆ બે તકનીકોમાંથી એક - ઓન-ચિપ સંસાધનોનો ઉપયોગ (જે ડિઝાઇનના સમય પ્રદર્શનને પણ અસર કરી શકે છે અને વધારાની ડિબગીંગ આવશ્યકતાઓ બનાવી શકે છે) ડિઝાઇનને ફરીથી કમ્પાઇલ અને ફરીથી પ્રોગ્રામ કરવાની જરૂરિયાત (જે ડિબગ શેડ્યૂલમાં કલાકો અથવા તો દિવસો ઉમેરી શકે છે) સંભવિત પરીક્ષણ દૃશ્યોને ઓળખવા માટે જરૂરી અપ-ફ્રન્ટ પ્લાનિંગ, અને વધારાના ચિપ I/O સંસાધનોના ઉપયોગથી આ ખામીઓ વિના અભિગમની જરૂરિયાત ઊભી થઈ. એક પ્રતિભાવ એ કેટલાક ઉપકરણો પર FPGA ફેબ્રિકમાં સમર્પિત ડિબગ લોજિકનો ઉમેરો હતો. હાર્ડવેર પ્રોબ્સનો ઉપયોગ કરીને ઇન-સર્કિટ ડિબગિંગ પરિણામ હતું.

ઇન-સર્કિટ FPGA ડીબગ - હાર્ડવેર પ્રોબ્સ
હાર્ડવેર પ્રોબ્સનો ઉપયોગ FPGAs માટે ઇન-સર્કિટ ડિબગ તકનીકોને નાટકીય રીતે સરળ બનાવે છે. SmartFusion2®SoC FPGA અને IGLOO®2 FPGA ઉપકરણો પર લાઇવ પ્રોબ સુવિધા તરીકે અમલમાં મુકાયેલી આ તકનીક, કોઈપણ લોજિક એલિમેન્ટ રજિસ્ટર બીટના આઉટપુટનું અવલોકન કરવા માટે FPGA ફેબ્રિકમાં સમર્પિત પ્રોબ લાઇન્સ ઉમેરે છે. આકૃતિ 4 માં બ્લોક ડાયાગ્રામમાં બતાવ્યા પ્રમાણે, હાર્ડવેર પ્રોબ્સ બે પ્રોબ ચેનલો A અને B માં ઉપલબ્ધ છે.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (3)

પસંદ કરેલા રજિસ્ટર આઉટપુટ (પ્રોબ પોઈન્ટ), જેમ કે આકૃતિના તળિયે આપેલા આઉટપુટ, બે પ્રોબ ચેનલોની ઉપર રૂટ કરવામાં આવે છે અને જો પસંદ કરવામાં આવે તો A અથવા B ચેનલ પર લાગુ કરી શકાય છે. આ રીઅલ-ટાઇમ ચેનલ સિગ્નલો પછી ઉપકરણ પર સમર્પિત પ્રોબ A અને પ્રોબ B પિન પર મોકલી શકાય છે. પ્રોબ A અને પ્રોબ B સિગ્નલોને આંતરિક રીતે એમ્બેડેડ લોજિક વિશ્લેષક પર પણ રૂટ કરી શકાય છે.

નોંધ કરો કે પ્રોબ પિનની સમય લાક્ષણિકતાઓ નિયમિત હોય છે અને એક પ્રોબ પોઇન્ટથી બીજા પોઇન્ટમાં નજીવું વિચલન હોય છે, જેનાથી રીઅલ-ટાઇમ સિગ્નલોની સમય લાક્ષણિકતાઓની તુલના કરવાનું ખૂબ સરળ બને છે. ડેટા 100MHz સુધી કેપ્ચર કરી શકાય છે જે તેને મોટાભાગના લક્ષ્ય ડિઝાઇન માટે યોગ્ય બનાવે છે.
કદાચ સૌથી અગત્યનું, પ્રોબ પોઈન્ટ સ્થાનો, કારણ કે તેઓ અમલમાં મૂકાયેલ ડિઝાઇનના ભાગ રૂપે પસંદ કરવામાં આવતા નથી (ડિઝાઇન FPGA પર ચાલી રહી હોય ત્યારે તેઓ સમર્પિત હાર્ડવેર દ્વારા પસંદ કરવામાં આવે છે), ફક્ત પસંદગી ડેટા ઉપકરણ પર મોકલીને ઝડપથી બદલી શકાય છે. કોઈ ડિઝાઇન રિકમ્પાઇલ અને રિપ્રોગ્રામિંગની જરૂર નથી.
લાઈવ પ્રોબ ક્ષમતાના ઉપયોગને વધુ સરળ બનાવવા માટે, સંકળાયેલ ડીબગ સોફ્ટવેર ટૂલ આપમેળે જનરેટ થયેલા ડીબગ દ્વારા તમામ પ્રોબ સિગ્નલ સ્થાનોની ઍક્સેસ ધરાવે છે. file. આકૃતિ 5 માં બતાવ્યા પ્રમાણે, સિગ્નલ નામ સિગ્નલ સૂચિમાંથી પસંદ કરી શકાય છે અને ઇચ્છિત ચેનલ પર લાગુ કરી શકાય છે. ડિઝાઇન ચાલુ હોય ત્યારે પણ આ કરી શકાય છે જેથી ડિઝાઇનમાં પ્રોબિંગ પ્રવૃત્તિ સરળ અને ખૂબ કાર્યક્ષમ બને.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (5)

ઘણા કિસ્સાઓમાં, લાઈવ પ્રોબ જેવી હાર્ડવેર પ્રોબ ક્ષમતાનો ઉપયોગ અગાઉ વર્ણવેલ એમ્બેડેડ લોજિક વિશ્લેષક અને બાહ્ય પરીક્ષણ તકનીકો સાથે મળીને કરી શકાય છે.

આકૃતિ 6 માં બતાવ્યા પ્રમાણે, 'ઓન ધ ફ્લાય' સિગ્નલો પસંદ કરવાની લાઇવ પ્રોબ ક્ષમતા ડિઝાઇનને ફરીથી કમ્પાઇલ કર્યા વિના નિરીક્ષણ હેઠળના સિગ્નલોને ઝડપથી અને સરળતાથી બદલવાનું શક્ય બનાવે છે. એક બાહ્ય લોજિક વિશ્લેષક અથવા સ્કોપ સરળતાથી પ્રોબ કરેલા સિગ્નલોનું અવલોકન કરી શકે છે, જેમ કે સમર્પિત પ્રોબ આઉટપુટ પિન પર આકૃતિના ઉપરના જમણા ભાગમાં દર્શાવવામાં આવ્યું છે. વૈકલ્પિક રીતે (અથવા કદાચ વધુમાં) આંતરિક લોજિક વિશ્લેષક (આકૃતિમાં બતાવેલ ILA ઓળખ બ્લોક) નો ઉપયોગ પ્રોબ પિનનું અવલોકન કરવા માટે કરી શકાય છે. પ્રોબ સિગ્નલો ILA દ્વારા કેપ્ચર કરી શકાય છે અને વેવફોર્મ વિન્ડો પર અવલોકન કરી શકાય છે. લક્ષ્ય ડિઝાઇનને ફરીથી કમ્પાઇલ કર્યા વિના પ્રોબ સ્થાનો બદલી શકાય છે.
નોંધ કરો કે ટ્રિગરિંગ અને ટ્રેસ માટેની વધારાની ક્ષમતાઓનો ઉપયોગ પ્રોબ કાર્યક્ષમતા વધારવા માટે થઈ શકે છે, જેનાથી જટિલ ડિઝાઇન સમસ્યાઓ પણ સરળતાથી શોધી શકાય છે.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (6)

SmartFusion2 SoC FPGA અને IGLOO2 FPGA ઉપકરણો પર વધારાની હાર્ડવેર ડિબગ ક્ષમતાઓ પણ ઉપલબ્ધ છે. આ ક્ષમતાઓમાંથી એક, જેને એક્ટિવ પ્રોબ કહેવાય છે, તે કોઈપણ લોજિક એલિમેન્ટ રજિસ્ટર બીટને ગતિશીલ અને અસુમેળ રીતે વાંચી અથવા લખી શકે છે. એક લેખિત મૂલ્ય એક ઘડિયાળ ચક્ર માટે ચાલુ રહે છે જેથી સામાન્ય કામગીરી ચાલુ રહી શકે, જે તેને ખૂબ જ મૂલ્યવાન ડિબગીંગ સાધન બનાવે છે. જો આંતરિક સિગ્નલનું ઝડપી અવલોકન ઇચ્છિત હોય (કદાચ ફક્ત તે સક્રિય છે કે ઇચ્છિત સ્થિતિમાં છે, જેમ કે રીસેટ સિગ્નલ), અથવા જો પ્રોબ પોઇન્ટ પર લખીને લોજિક ફંક્શનનું ઝડપથી પરીક્ષણ કરવાની જરૂર હોય તો એક્ટિવ પ્રોબ ખાસ રસ ધરાવે છે.
(કદાચ નિયંત્રણ પ્રવાહ સમસ્યાને અલગ કરવા માટે ઇનપુટ મૂલ્ય ઝડપથી સેટ કરીને સ્ટેટ મશીન સંક્રમણ શરૂ કરવા માટે).

માઇક્રોસેમી દ્વારા પૂરી પાડવામાં આવતી બીજી ડિબગ ક્ષમતા મેમરી ડીબગ છે. આ સુવિધા ડિઝાઇનરને પસંદ કરેલા FPGA ફેબ્રિક SRAM બ્લોકને ગતિશીલ અને અસુમેળ રીતે વાંચવા અથવા લખવાની મંજૂરી આપે છે. ડીબગ ટૂલ (આકૃતિ 7) ના સ્ક્રીનશોટમાં દર્શાવ્યા મુજબ, જ્યારે મેમરી બ્લોક્સ ટેબ પસંદ કરવામાં આવે છે ત્યારે વપરાશકર્તા વાંચવા માટે ઇચ્છિત મેમરી પસંદ કરી શકે છે, મેમરીનો સ્નેપશોટ કેપ્ચર ચલાવી શકે છે, મેમરી મૂલ્યોમાં ફેરફાર કરી શકે છે અને પછી મૂલ્યોને ઉપકરણ પર પાછા લખી શકે છે. આ ખાસ કરીને ગણતરીલક્ષી સ્ક્રેચ-પેડ માટે સંદેશાવ્યવહાર પોર્ટમાં ઉપયોગમાં લેવાતા ડેટા બફરને તપાસવા અથવા સેટ કરવા માટે અથવા એમ્બેડેડ CPU દ્વારા એક્ઝિક્યુટ કરાયેલ કોડ માટે પણ ઉપયોગી થઈ શકે છે. જ્યારે યાદોને ઝડપથી અવલોકન અને નિયંત્રિત કરી શકાય છે ત્યારે જટિલ ડેટા આધારિત ભૂલોને ડિબગ કરવી નોંધપાત્ર રીતે ઝડપી અને સરળ બને છે.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (7)

એકવાર ડિઝાઇન ડીબગ થઈ જાય પછી સંવેદનશીલ માહિતીને સુરક્ષિત રાખવા માટે હાર્ડવેર ડીબગ ક્ષમતાઓને બંધ કરવી ઇચ્છનીય હોઈ શકે છે. હુમલાખોર આ જ સુવિધાઓનો ઉપયોગ મહત્વપૂર્ણ માહિતી વાંચવા અથવા સિસ્ટમ સેટિંગ્સ બદલવા માટે કરી શકે છે જે સિસ્ટમના સંવેદનશીલ ભાગોને સરળતાથી ઍક્સેસ કરવાની મંજૂરી આપી શકે છે. માઇક્રોસેમીએ ડિબગીંગ પૂર્ણ થયા પછી ડિઝાઇનરને ઉપકરણને સુરક્ષિત કરવાની મંજૂરી આપવા માટે સુવિધાઓ ઉમેરી છે. ઉદાહરણ તરીકેampહા, લાઈવ પ્રોબ અને એક્ટિવ પ્રોબની ઍક્સેસને હુમલાના સંભવિત માધ્યમ તરીકે ફંક્શનને સંપૂર્ણપણે અક્ષમ કરવા માટે લોક કરી શકાય છે (તે સપ્લાય કરંટમાં કોઈપણ પેટર્ન બનાવવાની પ્રોબ પ્રવૃત્તિની શક્યતાને પણ દૂર કરે છે જેનો ઉપયોગ પ્રોબ ડેટાને પરોક્ષ રીતે અજમાવવા અને અવલોકન કરવા માટે થઈ શકે છે). વૈકલ્પિક રીતે, ડિઝાઇનના પસંદ કરેલા ભાગોની ઍક્સેસને લોક કરી શકાય છે જેથી ફક્ત તે વિભાગોની ઍક્સેસને અટકાવી શકાય. આ અનુકૂળ હોઈ શકે છે જો ડિઝાઇનનો ફક્ત એક ભાગ સુરક્ષિત રાખવાની જરૂર હોય જેથી બાકીની ડિઝાઇન ફીલ્ડ પરીક્ષણ અથવા ભૂલ વિશ્લેષણ માટે હજુ પણ સુલભ બને.

ઇન-સર્કિટ ડીબગ સરખામણી ચાર્ટ
હવે એક વિગતવાર સમીક્ષાview ત્રણ મુખ્ય ઇન-સર્કિટ હાર્ડવેર ડિબગ તકનીકોનું વર્ણન કરવામાં આવ્યું છે, જે આકૃતિ 8 માં બતાવ્યા પ્રમાણે સારાંશ ચાર્ટ બનાવવામાં આવ્યો છે જે વિવિધ એડવાન્સિસની વિગતો આપે છે.tages અને disadvantagદરેક પદ્ધતિના es. યાદ રાખવું કે કેટલીક તકનીકોનો ઉપયોગ એકસાથે થઈ શકે છે (લાઇવ પ્રોબ અને ઇન્ટરનલ લોજિક એનાલાઇઝર (ILA), જેમ કે સિનોપ્સિસ આઇડેન્ટિફાઇ, ઉદાહરણ તરીકેample), આપણે દરેક ટેકનિકની મુખ્ય શક્તિઓ અને નબળાઈઓ જોઈ શકીએ છીએ. ઇન-સર્કિટ હાર્ડવેર ડીબગ ક્ષમતાઓનો સંગ્રહ (લાઇવ પ્રોબ, એક્ટિવ પ્રોબ અને મેમરી ડીબગ—જેને સામૂહિક રીતે સ્માર્ટડીબગ કહેવામાં આવે છે), ઉપલબ્ધ કુલ પ્રોબ્સની સંખ્યા (લાલ વર્તુળ) ની વાત આવે ત્યારે અન્ય તકનીકોની તુલનામાં સૌથી નબળા હોય છે અને જ્યારે કેપ્ચર ગતિ ધ્યાનમાં લેવામાં આવે ત્યારે શ્રેષ્ઠ (પીળા વર્તુળ) કરતા નબળા હોય છે (બાહ્ય પરીક્ષણ સાધનો ઝડપી હોઈ શકે છે).
ILA-આધારિત તકનીકો, જેમ કે Synopsys Identify, અન્ય તકનીકોની તુલનામાં અને FPGA સંસાધન આવશ્યકતાઓને ધ્યાનમાં લેવામાં આવે ત્યારે સૌથી નબળી હોય છે. બાહ્ય પરીક્ષણ સાધનો-આધારિત તકનીકો ખર્ચ, ડિઝાઇન સમય અસર અને પ્રોબ મૂવમેન્ટ ઓવરહેડ (ડિઝાઇનને ફરીથી કમ્પાઇલ કરવાની જરૂરિયાતને કારણે) સાથે સંખ્યાબંધ વિચારણાઓ પર સૌથી નબળી હોય છે. કદાચ શ્રેષ્ઠ ઉકેલ સ્માર્ટડિબગ અને અન્ય તકનીકોમાંથી એકનું સંયોજન છે, જેથી સ્માર્ટડિબગની ચેનલોની નબળાઈ ઘટાડી શકાય અને પ્રોબ પોઇન્ટ મૂવમેન્ટ ડિસએડવાન.tagઅન્ય તકનીકોના ઉપયોગો પણ ઓછા થયા.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (8)

સિગ્નલ વર્ગીકરણ
કેટલાક સૌથી સામાન્ય પ્રકારના સિગ્નલો વચ્ચે ઉપયોગી તફાવત કરી શકાય છે અને આ ડિબગીંગ અભિગમનું આયોજન કરતી વખતે મદદ કરી શકે છે. ઉદાહરણ તરીકેampઅને, સિસ્ટમ સ્ટાર્ટ-અપ દરમિયાન બદલાતા ન હોય તેવા સિગ્નલો, જેમ કે સિસ્ટમ રીસેટ, બ્લોક રીસેટ અથવા ઇનિશિયલાઇઝેશન રજિસ્ટર, સ્ટેટિક સિગ્નલો તરીકે વર્ગીકૃત કરી શકાય છે. આ પ્રકારના સિગ્નલોને એવી સુવિધા દ્વારા સૌથી વધુ કાર્યક્ષમ રીતે એક્સેસ કરવામાં આવે છે જે લાંબા રિકમ્પાઇલ ચક્રની જરૂર વગર સરળતાથી અવલોકન અને સિગ્નલને નિયંત્રિત કરી શકે છે. એક્ટિવ પ્રોબ એ સ્ટેટિક સિગ્નલોને ડીબગ કરવા માટે એક ઉત્તમ સુવિધા છે. તેવી જ રીતે, જે સિગ્નલો વધુ વારંવાર બદલાય છે પરંતુ મોટાભાગના સમય માટે સ્થિર રહે છે, તેમને સ્યુડો-સ્ટેટિક તરીકે વર્ગીકૃત કરી શકાય છે અને એક્ટિવ પ્રોબનો ઉપયોગ કરીને સૌથી અસરકારક રીતે ડીબગ પણ કરવામાં આવે છે. વારંવાર બદલાતા સિગ્નલો, જેમ કે ઘડિયાળના સિગ્નલો, ને ગતિશીલ તરીકે વર્ગીકૃત કરી શકાય છે અને એક્ટિવ પ્રોબ દ્વારા સરળતાથી એક્સેસ કરી શકાતા નથી. આ સિગ્નલોનું નિરીક્ષણ કરવા માટે લાઇવ પ્રોબ વધુ સારી પસંદગી છે.

સરળ ડીબગ ઉપયોગ કેસ

હવે જ્યારે આપણને વિવિધ ઇન-સર્કિટ ડિબગ વિકલ્પોની વધુ સારી સમજ છે, ચાલો એક સરળ ડિઝાઇન ઉદાહરણ જોઈએampઆ તકનીકો કેવી રીતે કાર્ય કરે છે તે જોવા માટે. આકૃતિ 9, SmartFusion2 SoC FPGA ઉપકરણમાં એક સરળ FPGA ડિઝાઇન બતાવે છે. માઇક્રોકન્ટ્રોલર સબસિસ્ટમ (MSS) CoreSF2Reset Soft IP બ્લોક દ્વારા રીસેટ કરવામાં આવે છે. આ બ્લોકમાં ઇનપુટ પાવર ઓન રીસેટ, યુઝર ફેબ્રિક રીસેટ અને એક્સટર્નલ રીસેટ છે. આઉટપુટ યુઝર ફેબ્રિક પર રીસેટ, MSS રીસેટ અને M3 રીસેટ છે. ભૂલના લક્ષણો એ છે કે ઉપકરણ POR સ્થિતિમાંથી સફળતાપૂર્વક બહાર નીકળે છે છતાં I/Os પર કોઈ પ્રવૃત્તિ નથી. આ ભૂલને ડીબગ કરવા માટેના ત્રણ અલગ અલગ વિકલ્પો આકૃતિમાં પણ દર્શાવવામાં આવ્યા છે: વાદળી બોક્સ (ETE લેબલ થયેલ) બાહ્ય પરીક્ષણ સાધન પદ્ધતિ માટે છે; લીલો બોક્સ (ILA લેબલ થયેલ) આંતરિક લોજિક વિશ્લેષક પદ્ધતિ માટે છે; અને નારંગી બોક્સ (AP લેબલ થયેલ) સક્રિય ચકાસણી પદ્ધતિ માટે છે. આપણે ધારીશું કે ભૂલના સંભવિત મૂળ કારણો CoreSF2Reset Soft IP બ્લોકમાં અયોગ્ય રીતે દાવો કરાયેલ રીસેટ ઇનપુટ્સ છે.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (9)

ચાલો હવે અગાઉ વર્ણવેલ ત્રણ ઇન-સર્કિટ પદ્ધતિઓ માટે ડીબગ પ્રક્રિયા જોઈએ.

બાહ્ય પરીક્ષણ સાધનો
આ પદ્ધતિનો ઉપયોગ કરીને, એવું માનવામાં આવે છે કે પરીક્ષણ સાધનો ઉપલબ્ધ છે અને ઉચ્ચ પ્રાથમિકતા ધરાવતા પ્રોજેક્ટ દ્વારા ઉપયોગમાં લેવાતા નથી. વધુમાં, અગાઉથી આયોજન કરવું મહત્વપૂર્ણ છે જેથી કેટલાક FPGA I/O ઉપલબ્ધ હોય અને પરીક્ષણ સાધનો સાથે સરળતાથી કનેક્ટ થઈ શકે. PCB પર હેડર હોવુંampલે, ખૂબ જ મદદરૂપ થશે અને 'સંભવિત શંકાસ્પદ' અથવા પ્રોબિંગ દરમિયાન પિનના સંભવિત શોર્ટિંગને ઓળખવા અને કનેક્ટ કરવામાં વિતાવેલો સમય ઘટાડશે. અમે જે સિગ્નલોની તપાસ કરવા માંગીએ છીએ તે પસંદ કરવા માટે ડિઝાઇનને ફરીથી કમ્પાઇલ કરવાની જરૂર પડશે. આશા છે કે, અમે 'ડુંગળી પાછી છોલીશું નહીં' અને વધુ તપાસ માટે વધારાના સિગ્નલો પસંદ કરવાની જરૂર પડશે, કારણ કે ઘણીવાર અમારી પ્રારંભિક તપાસ ફક્ત વધુ પ્રશ્નોમાં પરિણમે છે. કોઈપણ કિસ્સામાં, ફરીથી કમ્પાઇલ અને ફરીથી પ્રોગ્રામિંગ પ્રક્રિયામાં નોંધપાત્ર સમય લાગી શકે છે, અને જો તે સમયના ઉલ્લંઘનમાં પરિણમે છે તો ફરીથી ડિઝાઇનની જરૂર પડે છે (આપણે બધા પરિચિત છીએ કે સમય બંધ કરવાની સમસ્યાઓને ઉકેલવાનો પ્રયાસ કેટલો નિરાશાજનક હોઈ શકે છે, ખાસ કરીને, જ્યારે તમે ડિઝાઇન બગ શોધવા માટે ડિઝાઇન ફેરફારો કરી રહ્યા હોવ - સમગ્ર પ્રક્રિયામાં મિનિટોથી કલાકો સુધીનો સમય લાગી શકે છે)! એ યાદ રાખવું પણ મહત્વપૂર્ણ છે કે જો ડિઝાઇનમાં કોઈ મફત વપરાશકર્તા I/O ન હોય, તો આ પદ્ધતિ અમલમાં મૂકી શકાતી નથી. વધુમાં, આ પદ્ધતિ ડિઝાઇનમાં માળખાકીય રીતે કર્કશ છે - અને સમય સંબંધિત ભૂલો પુનરાવર્તનો વચ્ચે અદૃશ્ય થઈ શકે છે અથવા ફરીથી દેખાઈ શકે છે.

આંતરિક તર્ક વિશ્લેષક
આ પદ્ધતિનો ઉપયોગ કરીને, ફેબ્રિક સંસાધનોનો ઉપયોગ કરીને ડિઝાઇનમાં ILA દાખલ કરવું આવશ્યક છે, અને પછી તેને ફરીથી કમ્પાઇલ કરવાની જરૂર છે. નોંધ કરો કે જો ILA પહેલાથી જ ઇન્સ્ટન્ટિએટેડ થઈ ગયું હોય, તો આપણે જે સિગ્નલોની તપાસ કરવા માંગીએ છીએ તે ઇન્સ્ટ્રુમેન્ટેડ ન હોઈ શકે, જેના માટે ફરીથી કમ્પાઇલ કરવાની પણ જરૂર પડશે. આ પ્રક્રિયા મૂળ ડિઝાઇન બદલવાનું અને સમય મર્યાદાઓનું ઉલ્લંઘન કરવાનું જોખમ લે છે. જો સમય પૂર્ણ થાય છે, તો ડિઝાઇનને ફરીથી પ્રોગ્રામ કરવાની અને ફરીથી શરૂ કરવાની જરૂર છે. જો ફરીથી કમ્પાઇલ સમય લાંબો હોય અને બહુવિધ પાસની જરૂર હોય તો આ સમગ્ર પ્રક્રિયામાં ઘણી મિનિટો અથવા તો કલાકો લાગી શકે છે. આ અભિગમ માળખાકીય રીતે કર્કશ છે અને ઉપરોક્ત પદ્ધતિનો ઉપયોગ કરતી વખતે વર્ણવેલ સમસ્યાઓ જેવી જ સમસ્યાઓમાં પરિણમી શકે છે.

સક્રિય તપાસ
આ પદ્ધતિનો ઉપયોગ કરીને એક્ટિવ પ્રોબને વિવિધ રીસેટ સિગ્નલોના સ્ત્રોત તરફ નિર્દેશિત કરી શકાય છે, જે બધા રજિસ્ટર આઉટપુટ દ્વારા મેળવવામાં આવે છે (જેમ કે કોઈપણ સારી ડિજિટલ ડિઝાઇન પ્રેક્ટિસમાં સામાન્ય છે). સિગ્નલો એક પછી એક પસંદ કરવામાં આવે છે, નીચે આકૃતિ 10 માં બતાવેલ એક્ટિવ પ્રોબ મેનૂમાંથી. પસંદ કરેલા સિગ્નલ મૂલ્યો વાંચી શકાય છે અને એક્ટિવ પ્રોબ ડેટા વિંડો પર પ્રદર્શિત થાય છે. કોઈપણ ખોટી દલીલો સરળતાથી ઓળખી શકાય છે. આ પરીક્ષણ ઉપકરણને ફરીથી કમ્પાઇલ અને ફરીથી પ્રોગ્રામ કરવાની જરૂર વગર તરત જ કરી શકાય છે અને તે માળખાકીય અથવા પ્રક્રિયાગત રીતે ઘુસણખોરી કરતું નથી. આખી પ્રક્રિયામાં ફક્ત થોડીક સેકંડ લાગે છે. આ પદ્ધતિ નિયંત્રણક્ષમતા (અસુમેળ મૂલ્યોમાં ફેરફાર) પણ બનાવી શકે છે જેને અન્ય બે પદ્ધતિઓ મંજૂરી આપશે નહીં. આ ખાસ ઉદાહરણમાંampએટલે કે, રજિસ્ટર દ્વારા મેળવેલ રીસેટ સિગ્નલ સરળતાથી તપાસી શકાય છે અને સક્રિય સ્થિતિમાં રાખવામાં આવ્યો હોવાનું શોધી શકાય છે.

રીસેટ સિગ્નલનું ક્ષણિક ટોગલિંગ રજિસ્ટરને અસુમેળ રીતે હેરફેર કરીને બાકીના સિગ્નલો ઉત્પન્ન કરીને પ્રાપ્ત કરી શકાય છે.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (10)

વધુ જટિલ ડીબગ ઉપયોગ કેસ
ઉપરોક્ત ડિઝાઇન ખૂબ જ સરળ હતી અને વર્ણવેલ ડિઝાઇન તકનીકોનો ઉપયોગ કરવાના પરિચય તરીકે ઉપયોગી છે, પરંતુ વધુ જટિલ ઉદાહરણample કદાચ વધુ દૃષ્ટાંતરૂપ હોઈ શકે છે. ઘણી વખત રસનો સંકેત સ્થિર સંકેત હોતો નથી જેટલો તે આપણા સરળ ભૂતપૂર્વમાં હતો.ample પરંતુ ગતિશીલ છે. સામાન્ય ગતિશીલ સિગ્નલ એ એક મધ્યવર્તી ઘડિયાળ છે, જેનો ઉપયોગ કદાચ સીરીયલ ઇન્ટરફેસ માટે હેન્ડશેકના સમય માટે થાય છે. આકૃતિ 11 યુઝર સોફ્ટ આઇપી કોર સાથે આવી ડિઝાઇન બતાવે છે, આ કિસ્સામાં, સિસ્ટમ APB બસ સાથે જોડાયેલ કસ્ટમ સીરીયલ ઇન્ટરફેસ. ભૂલોના લક્ષણો એ છે કે યુઝર કસ્ટમ સીરીયલ ઇન્ટરફેસ પર કોઈ પ્રવૃત્તિ નથી, અને જ્યારે APB બસ માસ્ટર સીરીયલ ઇન્ટરફેસને ઍક્સેસ કરવા માટે ટ્રાન્ઝેક્શન જારી કરે છે ત્યારે તે ખોટા હેન્ડશેક સૂચવતી અપવાદ સ્થિતિમાં જાય છે. આ પરિસ્થિતિઓ ખોટા રીસેટ સિગ્નલ જેવા સ્ટેટિક કારણને નકારી કાઢે છે, કારણ કે ટ્રાન્ઝેક્શન સ્ટેટ મશીન અપેક્ષિત દરે કાર્ય કરી રહ્યું નથી અને આમ અપવાદનું કારણ બને છે. મૂળ કારણ યુઝર આઇપી કોરમાં ઘડિયાળ આવર્તન જનરેટર હોવાનું માનવામાં આવે છે.

જો તે યોગ્ય આવર્તન પર ચાલી રહ્યું ન હોય તો વર્ણવેલ ભૂલો પરિણમશે.

માઇક્રોસેમી-ઇન-સર્કિટ-FPGA-ડીબગ- (11)

આ પરિસ્થિતિમાં એક્ટિવ પ્રોબ અભિગમને લાઈવ પ્રોબથી બદલવો એ કદાચ વધુ સારી વ્યૂહરચના છે. ઉપરોક્ત આકૃતિમાં નારંગી રંગના LP બોક્સ દ્વારા J નો ઉપયોગ કરીને દર્શાવવામાં આવ્યું છે.TAG ચકાસણી સ્ત્રોત પસંદગી માટે સિગ્નલ.

બાહ્ય પરીક્ષણ સાધનો
આ કિસ્સામાં, પદ્ધતિ અગાઉ વર્ણવેલ સરળ ઉદાહરણ જેવી જ છેample. યુઝર ક્લોક સિગ્નલને ટેસ્ટ પોઈન્ટ પર લાવવામાં આવે છે (આશા છે કે હેડર પર) અને સમય માંગી લે તેવી રીકમ્પાઈલની જરૂર છે. રેફરન્સ સિગ્નલ બહાર લાવવામાં પણ મદદરૂપ થઈ શકે છે, કદાચ સિસ્ટમ ક્લોક જેનો ઉપયોગ યુઝર આઈપીને સરખામણી સિગ્નલ તરીકે ક્લોક કરવા માટે થાય છે. આપણને ફરીથી રીકમ્પાઈલ અને રીપ્રોગ્રામ કરવાની જરૂરિયાતનો સામનો કરવો પડશે જેથી સમગ્ર પ્રક્રિયામાં નોંધપાત્ર સમય લાગી શકે.

આંતરિક તર્ક વિશ્લેષક
આ કેસ સાદા ભૂતપૂર્વ જેવો જ છેample. ILA દાખલ કરવું આવશ્યક છે, અથવા ઇચ્છિત સિગ્નલ વ્યાખ્યાયિત કરવું જોઈએ, અને ફરીથી કમ્પાઇલ અને ફરીથી પ્રોગ્રામ ચક્ર ચલાવવામાં આવશે. અગાઉ વર્ણવેલ બધી સમસ્યાઓ હજુ પણ નોંધપાત્ર ડિબગ ચક્ર સમય તરફ દોરી જાય છે. જોકે, એક વધારાની જટિલતા છે. ILA ચલાવતી ઘડિયાળ સિંક્રનસ હોવી જોઈએ, અને આદર્શ રીતે વપરાશકર્તા સોફ્ટ IP કોરમાંથી અવલોકન કરવા માટેની ઘડિયાળના સંદર્ભમાં ઘણી ઝડપી હોવી જોઈએ. જો આ ઘડિયાળો અસુમેળ હોય, અથવા યોગ્ય સમય સંબંધો ન હોય, તો ડેટા કેપ્ચર અણધારી હશે અને ડિબગ પ્રક્રિયા માટે મૂંઝવણનો સંભવિત સ્ત્રોત હશે.
નોંધ કરો કે જો યુઝર સોફ્ટ IP ઘડિયાળ ઓન-ચીપ જનરેટ ન થાય (કદાચ તે સીરીયલ ઇન્ટરફેસમાંથી પુનઃપ્રાપ્ત કરવામાં આવે) તો ડિઝાઇનરને વધારાના સંસાધનોનો ઉપયોગ કરીને ઝડપી ILA ઘડિયાળ જનરેટ કરવા માટે ઘડિયાળ મોડ્યુલ ઉમેરવાની જરૂર પડી શકે છે અને સંભવતઃ સમય ઉલ્લંઘન બનાવી શકે છે.

લાઈવ પ્રોબ
આ પદ્ધતિનો ઉપયોગ કરીને, લાઈવ પ્રોબને રજિસ્ટરમાંથી યુઝર ઘડિયાળના સ્ત્રોત અને અન્ય કોઈપણ ઘડિયાળના સ્ત્રોત તરફ ઝડપથી નિર્દેશ કરી શકાય છે જેથી ભૂલનું મૂળ કારણ શોધી શકાય. લાઈવ પ્રોબ પસંદ કરેલા સિગ્નલ આઉટપુટને રીઅલ ટાઇમમાં બતાવશે અને તેથી સિગ્નલો વચ્ચેનો કોઈપણ સમય સંબંધ નક્કી કરવો ખૂબ સરળ બને છે. આખી પ્રક્રિયામાં ફક્ત થોડીક સેકન્ડ લાગે છે.

સીરીયલ ઇન્ટરફેસ માટે અન્ય ડીબગ સુવિધાઓ
એ પણ નોંધવું મહત્વપૂર્ણ છે કે SmartFusion2 SoC FPGA અને IGLOO2 FPGA ઉપકરણોમાં ઘણી વધારાની ડીબગ ક્ષમતાઓ છે જેનો ઉપયોગ સીરીયલ ઇન્ટરફેસ પર થઈ શકે છે, જેમ કે અગાઉના સંસ્કરણમાં.ampએવી ડિઝાઇન જ્યાં ભૂલો વધુ જટિલ હોય. SERDES ડીબગ, ઉદાહરણ તરીકેample, સમર્પિત હાઇ-સ્પીડ સીરીયલ ઇન્ટરફેસ માટે ચોક્કસ ડીબગ ક્ષમતાઓ પૂરી પાડે છે. SERDES ડીબગ સુવિધાઓમાં PMA ટેસ્ટ સપોર્ટ (જેમ કે PRBS પેટર્ન જનરેશન અને લૂપબેક ટેસ્ટિંગ) નો સમાવેશ થાય છે, જેમાં રજિસ્ટર-લેવલ રિકન્ફિગરેશન સાથે બહુવિધ SERDES ટેસ્ટ કન્ફિગરેશન માટે સપોર્ટ છે જેથી રૂપરેખાંકનમાં ફેરફાર કરવા માટે સંપૂર્ણ ડિઝાઇન ફ્લોનો ઉપયોગ ટાળી શકાય, અને રૂપરેખાંકિત પ્રોટોકોલ, SERDES રૂપરેખાંકન રજિસ્ટર અને લેન રૂપરેખાંકન રજિસ્ટર દર્શાવતા ટેક્સ્ટ રિપોર્ટ્સનો સમાવેશ થાય છે. આ સુવિધાઓ SERDES ડિબગિંગને ખૂબ સરળ બનાવે છે અને જટિલ સર્કિટના ડિબગિંગને વધુ ઝડપી બનાવવા માટે લાઇવ પ્રોબ અને એક્ટિવ પ્રોબ સાથે જોડાણમાં ઉપયોગ કરી શકાય છે.
અગાઉ વર્ણવેલ મેમરી ડીબગ ટૂલનો ઉપયોગ SERDES ડીબગ સાથે મળીને ઝડપી પરીક્ષણ માટે પણ થઈ શકે છે. મેમરી બફર્સને મેમરી ડીબગ સાથે ઝડપથી અને સરળતાથી નિરીક્ષણ અને બદલી શકાય છે, તેથી ઝડપથી 'ટેસ્ટ પેકેટ્સ' બનાવવા અને લૂપબેક અથવા ઇન્ટર-સિસ્ટમ કોમ્યુનિકેશન પરિણામોનું અવલોકન કરવું શક્ય છે. ડિઝાઇનર આ ક્ષમતાઓનો લાભ લઈ શકે છે અને આમ વધારાના FPGA ફેબ્રિકનો ઉપયોગ કરતા વિશિષ્ટ 'ટેસ્ટ હાર્નેસ'ની જરૂરિયાતને ઘટાડી શકે છે અને તે ચિપ ટાઇમિંગને અસર કરી શકે છે.

નિષ્કર્ષ
આ પેપરમાં FPGAs અને SoC FPGAs માટે ઇન-સર્કિટ ડિબગ લાગુ કરવા માટેના ઘણા જુદા જુદા અભિગમોનું વિગતવાર વર્ણન કરવામાં આવ્યું છે - ઇન્ટિગ્રેટેડ લોજિક એનાલાઇઝરનો ઉપયોગ, બાહ્ય પરીક્ષણ સાધનોનો ઉપયોગ અને FPGA ફેબ્રિકમાં સંકલિત સમર્પિત પ્રોબ સર્કિટનો ઉપયોગ. સ્માર્ટફ્યુઝન2 SoC FPGA અને IGLOO2 FPGA ઉપકરણો પર માઇક્રોસેમી દ્વારા ઓફર કરાયેલ એક્ટિવ પ્રોબ અને લાઇવ પ્રોબ જેવા વિશિષ્ટ અને સમર્પિત પ્રોબ સર્કિટનો ઉમેરો, ડિબગ પ્રક્રિયાને નોંધપાત્ર રીતે ઝડપી અને સરળ બનાવે છે. આંતરિક સિગ્નલોની પસંદગીમાં ઝડપથી ફેરફાર કરવાની ક્ષમતા (ખૂબ સમય માંગી લે તેવી રીકમ્પાઇલ અને રી-પ્રોગ્રામ ચક્ર ચલાવવાની જરૂર વિના), અને આંતરિક સિગ્નલોની તપાસ કરવાની ક્ષમતા (FPGA ફેબ્રિકનો ઉપયોગ કરવાની જરૂર વિના અને સંભવિત રીતે સમય ઉલ્લંઘન રજૂ કરવાની જરૂર વિના) મુખ્ય ફાયદા તરીકે દર્શાવવામાં આવી હતી.tagFPGA ડિઝાઇનને ડિબગ કરતી વખતે es. વધુમાં, બહુવિધ પદ્ધતિઓનો ઉપયોગ, જે એકસાથે કામ કરીને વધુ વ્યાપક ડિબગ ક્ષમતા પ્રદાન કરી શકે છે તેનું વર્ણન કરવામાં આવ્યું હતું. અંતે, બે ભૂતપૂર્વampવર્ણવેલ પદ્ધતિઓ વચ્ચેના ટ્રેડ-ઓફને દર્શાવવા માટે ડીબગ ઉપયોગના કિસ્સાઓ આપવામાં આવ્યા હતા.

વધુ જાણવા માટે

  1. IGLOO2 FPGAs
  2. સ્માર્ટફ્યુઝન2 SoC FPGAs

માઇક્રોસેમી કોર્પોરેશન (નાસ્ડેક: MSCC) સંચાર, સંરક્ષણ અને સુરક્ષા, એરોસ્પેસ અને ઔદ્યોગિક બજારો માટે સેમિકન્ડક્ટર અને સિસ્ટમ સોલ્યુશન્સનો વ્યાપક પોર્ટફોલિયો ઓફર કરે છે. ઉત્પાદનોમાં ઉચ્ચ-પ્રદર્શન અને રેડિયેશન-કઠણ એનાલોગ મિશ્ર-સિગ્નલ સંકલિત સર્કિટ, FPGAs, SoCs અને ASICsનો સમાવેશ થાય છે; પાવર મેનેજમેન્ટ ઉત્પાદનો; સમય અને સિંક્રનાઇઝેશન ઉપકરણો અને ચોક્કસ સમય ઉકેલો, સમય માટે વિશ્વના ધોરણને સેટ કરો; વૉઇસ પ્રોસેસિંગ ઉપકરણો; આરએફ ઉકેલો; સ્વતંત્ર ઘટકો; સુરક્ષા તકનીકો અને સ્કેલેબલ એન્ટિટીamper ઉત્પાદનો; પાવર-ઓવર-ઇથરનેટ IC અને મિડસ્પેન્સ; તેમજ કસ્ટમ ડિઝાઇન ક્ષમતાઓ અને સેવાઓ. માઇક્રોસેમીનું મુખ્ય મથક એલિસો વિજો, કેલિફોર્નિયામાં છે અને વૈશ્વિક સ્તરે આશરે 3,400 કર્મચારીઓ ધરાવે છે. વધુ જાણો www.microsemi.com.

© 2014 માઇક્રોસેમી કોર્પોરેશન. બધા હકો અમારી પાસે રાખેલા છે. માઇક્રોસેમી અને માઇક્રોસેમી લોગો માઇક્રોસેમી કોર્પોરેશનના ટ્રેડમાર્ક છે. અન્ય તમામ ટ્રેડમાર્ક્સ અને સર્વિસ માર્કસ તેમના સંબંધિત માલિકોની મિલકત છે.

માઇક્રોસેમી કોર્પોરેટ હેડક્વાર્ટર

FAQ

  • પ્રશ્ન: ઉપકરણની મહત્તમ ડેટા કેપ્ચર આવર્તન કેટલી છે?
    A: આ ઉપકરણ 100MHz સુધીના ડેટા કેપ્ચરને સપોર્ટ કરે છે, જે મોટાભાગના લક્ષ્ય ડિઝાઇન માટે યોગ્ય છે.
  • પ્રશ્ન: શું ડિબગીંગ માટે પ્રોબ સર્કિટનો ઉપયોગ કરતી વખતે મારે ડિઝાઇન ફરીથી કમ્પાઇલ કરવાની જરૂર છે?
    A: ના, ડિઝાઇન રિકમ્પાઇલેશન અથવા રિપ્રોગ્રામિંગની જરૂર વગર પ્રોબ પોઇન્ટ સ્થાનો ઝડપથી બદલી શકાય છે.

દસ્તાવેજો / સંસાધનો

માઇક્રોસેમી ઇન-સર્કિટ FPGA ડીબગ [પીડીએફ] સૂચનાઓ
ઇન-સર્કિટ FPGA ડીબગ, FPGA ડીબગ, ડીબગ

સંદર્ભો

એક ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. જરૂરી ક્ષેત્રો ચિહ્નિત થયેલ છે *