مائیکروسیمی لوگو

مائیکروسیمی ان سرکٹ FPGA ڈیبگ

Microsemi-In-Circuit-FPGA-Debug-product

پروڈکٹ کی معلومات

وضاحتیں

  • ڈیوائس کی قسم: Microsemi SmartFusion2 SoC FPGA
  • ریلیز کی تاریخ: مئی 2014
  • ڈیبگنگ کی صلاحیتیں: ان سرکٹ FPGA ڈیبگ، ایمبیڈڈ لاجک اینالائزر
  • زیادہ سے زیادہ ڈیٹا کیپچر فریکوئنسی: 100MHz تک

خلاصہ
FPGAs ایمبیڈڈ سسٹمز میں بہت سے ڈیزائن ایڈوان کے ساتھ طاقتور ڈیزائن عناصر ہیں۔tages، لیکن ان آلات میں پیچیدہ ڈیزائن کے مسائل کے ساتھ پیچیدہ ڈیزائن ہوسکتے ہیں جنہیں ڈیبگ کرنے کی ضرورت ہے۔ ڈیزائن کے مسائل کا سراغ لگانا جیسے تعریف کی غلطیاں، سسٹم کے تعامل کے مسائل، اور سسٹم ٹائمنگ کی خرابیاں۔ FPGA میں ان سرکٹ ڈیبگ صلاحیتوں کو شامل کرنے سے ہارڈویئر ڈیبگ کو ڈرامائی طور پر بہتر بنایا جا سکتا ہے، اور کئی گھنٹوں کی مایوسی سے بچا جا سکتا ہے۔ یہ مقالہ FPGAs کے لیے ان سرکٹ ڈیبگ کے لیے کئی مختلف طریقوں کی وضاحت کرتا ہے، کلیدی تجارت کی نشاندہی کرتا ہے، اور ایک سابق کے ذریعےample ڈیزائن، جس کا ہدف Microsemi SmartFusion®2 SoC FPGA ڈیوائس ہے، دکھائے گا کہ ڈیبگ اور ٹیسٹ کو تیز کرنے کے لیے کس طرح نئی صلاحیتوں کا استعمال کیا جا سکتا ہے۔

تعارف

FPGAs وسیع اور طاقتور ڈیزائن عناصر ہیں اور اب عملی طور پر ہر ایمبیڈڈ سسٹم میں پائے جاتے ہیں۔ بڑھتی ہوئی صلاحیت کے ساتھ، پیچیدہ آن-چِپ فنکشنل بلاکس اور جدید سیریل انٹرفیس کی شمولیت سے ان آلات میں ڈیزائن کے پیچیدہ مسائل بھی ہو سکتے ہیں جنہیں ڈیبگ کرنے کی ضرورت ہے۔ اعلی درجے کی FPGAs کا استعمال کرتے وقت فنکشنل ڈیفینیشن کی غلطیاں (FPGA یا سسٹم لیول پر)، فنکشنل سسٹم کے تعامل کے مسائل، سسٹم ٹائمنگ کے مسائل، اور ICs (جیسے شور، کراس اسٹال، یا ریفلیکشن) کے درمیان سگنل فیڈیلیٹی کے مسائل کا سراغ لگانا یہ سب بہت زیادہ پیچیدہ ہو جاتے ہیں۔ ڈیزائن کے بہت سے مسائل کی نشاندہی کرنے میں تخروپن یقیناً ایک بڑی مدد ہے، لیکن بہت سے حقیقی دنیا کے تعاملات اس وقت تک ظاہر نہیں ہوں گے جب تک کہ ڈیزائن کو ہارڈ ویئر میں لاگو نہیں کیا جاتا۔ اس عمل کو آسان بنانے کے لیے پیچیدہ ڈیزائن کے مسائل کو ڈیبگ کرنے کے لیے کئی مختلف تکنیکیں تیار کی گئی ہیں۔ ان کلیدی تکنیکوں میں سے ہر ایک کی محتاط تفہیم، بشمول مختلف ایڈونtages اور disadvantages، مفید ہے جب اس بات پر غور کیا جائے کہ کون سی تکنیک یا تکنیک کا مجموعہ کسی خاص ڈیزائن کے لیے موزوں ہے۔
ایک سابقample FPGA ڈیزائن، جس کا ہدف ایک Microsemi SmartFusion2 SoC FPGA ڈیوائس ہے، کچھ ایڈوان کو ظاہر کرنے کے لیے استعمال کیا جا سکتا ہے۔tages اور disadvantagان معیاری تکنیکوں کے ساتھ ساتھ جدید ترین ان سرکٹ ڈیبگ صلاحیتیں۔ یہ مثالی سابقample یہ دکھائے گا کہ ہارڈویئر ڈیبگ کے دوران ہارڈ ویئر کے مسائل کی شناخت اور ان کے خاتمے کے لیے ان مختلف تکنیکوں کو کس طرح استعمال کیا جا سکتا ہے۔

FPGA ڈیبگنگ سسٹم ڈیزائن اور ڈیولپمنٹ کا ایک اہم پہلو کیوں ہے؟
FPGAs کے استعمال کے دو اہم ماڈل ہیں جو انہیں دوسرے ڈیزائن عناصر سے ممتاز کرتے ہیں۔ FPGAs کو پروڈکشن پروڈکٹ میں استعمال کیا جا سکتا ہے یا پروڈکشن ڈیزائن کے تصور کو ثابت کرنے یا پروٹو ٹائپ کرنے کے لیے ایک ڈیولپمنٹ گاڑی کے طور پر استعمال کیا جا سکتا ہے۔ جب پروڈکشن گاڑی کے طور پر استعمال کیا جاتا ہے تو، FPGAs ASIC یا CPU پر مبنی پروڈکشن گاڑیوں سے کہیں زیادہ لچکدار ہدف ہو سکتے ہیں۔ یہ ایک نئے ڈیزائن کے لیے خاص طور پر اہم ہے، جو ابھی تک ہارڈ ویئر میں لاگو نہیں ہوا ہے۔ مختلف آرکیٹیکچرل اختیارات کے ساتھ ڈیزائن آسانی سے بنائے اور جانچے جاسکتے ہیں تاکہ بہترین ڈیزائن کی شناخت کی جاسکے۔ آن-چِپ پروسیسرز (SoC FPGAs) کے ساتھ FPGAs ہارڈ ویئر کی مدد سے FPGA پر مبنی ایکسلریشن فنکشنز کے ساتھ CPU پر مبنی پروسیسنگ کی تجارت کو بھی ممکن بناتے ہیں۔ یہ ایڈوانtages نئی مصنوعات کی ترقی کے لیے ڈیزائن، توثیق، جانچ، اور ناکامی کے تجزیے کے لیے درکار وقت کو ڈرامائی طور پر کم کر سکتا ہے۔
جب کسی ڈیزائن کو پروٹو ٹائپ کرنے کے لیے استعمال کیا جاتا ہے، شاید پروڈکشن ASIC کے لیے، FPGA لچک ایک اہم فائدہ ہے۔ ایک حقیقی ہارڈویئر پلیٹ فارم، یہاں تک کہ ایک جو پوری رفتار سے نہیں چلتا ہے، سسٹم کی کارکردگی کے تفصیلی میٹرکس، تھرو پٹ تجزیہ ڈیٹا اور فن تعمیر کے ثبوت کے تصور کے نتائج حاصل کرنا بہت آسان بنا دیتا ہے۔ صنعتی معیاری بسوں (جیسے PCIe®، Gigabit Ethernet، XAUI، USB، CAN، اور دیگر) کے سخت نفاذ کے لیے FPGA سپورٹ ان انٹرفیس سے وابستہ جانچ کو آسان بناتا ہے۔ آن چپ ARM پروسیسرز (SoC FPGAs) کے ساتھ FPGAs کے جدید ترین خاندان، ایمبیڈڈ پروسیسرز کے ساتھ پروٹو ٹائپ عمل درآمد کو آسان بناتے ہیں۔ پہلے تیار کردہ پروسیسر کوڈ کو پروٹوٹائپ پر پورٹ کیا جا سکتا ہے اور ہارڈ ویئر ڈیزائن کی کوشش کے متوازی طور پر بنائے گئے نئے کوڈ کو۔

معیاری انٹرفیس بسوں کے ساتھ معیاری پروسیسر کا یہ امتزاج دستیاب کوڈ لائبریریوں، ڈرائیوروں، فنکشنل APIs، ریئل ٹائم آپریٹنگ سسٹمز، اور یہاں تک کہ مکمل آپریٹنگ سسٹمز کے بڑے ماحولیاتی نظام کا فائدہ اٹھانا ممکن بناتا ہے تاکہ کام کرنے والے پروٹوٹائپ کو زیادہ تیزی سے بنایا جا سکے۔ مزید برآں، ایک بار ڈیزائن کو مضبوط کرنے کے بعد، FPGA پروٹو ٹائپ کو وسیع نقلی ٹیسٹ سیٹس (محرک اور ردعمل دونوں کے لیے) حاصل کرنے کے لیے استعمال کیا جا سکتا ہے جو نظام کے اصل ڈیٹا کی عکاسی کرتے ہیں۔ یہ ڈیٹا سیٹ ASIC یا دیگر پیداواری عمل درآمد کے لیے حتمی نقالی بنانے میں انمول ہو سکتے ہیں۔ ایڈوانtagFPGA کو بطور ڈیزائن پروٹو ٹائپ استعمال کرنے سے حتمی مصنوع کے نفاذ کے لیے ڈیزائن، تصدیق، جانچ اور ناکامی کے تجزیے کے لیے وقت کو ڈرامائی طور پر کم کیا جا سکتا ہے۔
ان دونوں عام FPGA ماڈلز میں FPGA کی لچک ڈیزائن ہدف کے طور پر ایک اہم فائدہ ہے۔tage اس کا مطلب یہ ہے کہ ڈیزائن میں بہت سی تبدیلیاں اور تکرار معمول ہوں گے، اور اس طرح ڈیزائن کی غلطیوں کو تیزی سے ڈیبگ کرنے کی صلاحیت زیادہ سے زیادہ ڈیزائن کے اختیارات کو فعال کرنے کے لیے اہم ہوگی۔ ایک موثر ڈیبگ صلاحیت کے بغیر زیادہ تر ایڈوانtagڈیبگنگ کے اضافی وقت سے FPGA ڈیزائن کی لچک کم ہو جائے گی۔ خوش قسمتی سے، FPGAs ہارڈ ویئر کی اضافی خصوصیات بھی فراہم کر سکتے ہیں جو ڈرامائی طور پر ریئل ٹائم ڈیبگنگ کو آسان بناتے ہیں۔ ان صلاحیتوں کو دیکھنے سے پہلے، آئیے سب سے پہلے ان مسائل کی سب سے عام اقسام پر نظر ڈالتے ہیں جن کا سامنا ایک FPGA ڈیزائن کو ہو سکتا ہے تاکہ ہمارے پاس مختلف ڈیبگنگ ٹولز کی کارکردگی اور اس سے متعلقہ تجارت کا جائزہ لینے کے لیے مناسب پس منظر ہو۔

FPGA ڈیزائن کو ڈیبگ کرتے وقت عام مسائل

توسیعی صلاحیتوں کے ساتھ جو جدید FPGAs لاتی ہیں، اس سے وابستہ بڑھتی ہوئی پیچیدگی غلطی سے پاک ڈیزائن بنانا مزید مشکل بنا دیتی ہے۔ درحقیقت، یہ اندازہ لگایا گیا ہے کہ ڈیبگنگ ایمبیڈڈ سسٹم ڈیزائن سائیکل کا 50% سے زیادہ حصہ لے سکتی ہے۔ وقت سے مارکیٹ کے دباؤ کے ساتھ ترقی کے چکر کو نچوڑنا جاری ہے، ابتدائی نظام کی ہارڈویئر ڈیبگنگ کو بعد میں سوچنے پر مجبور کیا جاتا ہے - اکثر یہ فرض کرتے ہوئے کہ تصدیق (خود ایک بڑا فیصد)tagای ڈیولپمنٹ شیڈول کا)، ابتدائی نظام لانے سے پہلے تمام کیڑے پکڑ لے گا۔ آئیے سسٹم کے مسائل کی صرف چند عام اقسام پر نظر ڈالتے ہیں تاکہ ان چیلنجوں کو بہتر طور پر سمجھا جا سکے جن کا سامنا ایک عام ڈیزائن کو ابتدائی نظام کی تشکیل کے دوران کرنا پڑے گا۔

فنکشنل تعریف کی غلطیاں تلاش کرنا دگنا مشکل ہو سکتا ہے کیونکہ ڈیزائنر نے کسی خاص ضرورت کو غلط سمجھا ہے، اس لیے ڈیزائن کی تفصیلات کو غور سے دیکھتے ہوئے بھی غلطی کو نظر انداز کیا جا سکتا ہے۔ ایک سابقampایک عام فنکشنل تعریف کی خرابی وہ ہوگی جہاں ریاستی مشین کی منتقلی صحیح حالت میں ختم نہیں ہوتی ہے۔ خرابیاں سسٹم انٹرفیس میں ایک تعامل کے مسئلے کے طور پر بھی ظاہر ہو سکتی ہیں۔ انٹرفیس میں تاخیر، مثال کے طور پرample، غلط طریقے سے متعین کیا جا سکتا ہے جس کے نتیجے میں ایک غیر متوقع بفر اوور فلو یا انڈر فلو کی حالت ہوتی ہے۔
سسٹم لیول ٹائمنگ کے مسائل ڈیزائن کی غلطیوں کا ایک اور بہت عام ذریعہ ہیں۔ غیر مطابقت پذیر واقعات، خاص طور پر، غلطیوں کا ایک عام ذریعہ ہیں جب ہم وقت سازی یا کراسنگ ٹائمنگ ڈومین اثرات پر غور نہیں کیا جاتا ہے۔ جب رفتار سے کام کرتے ہیں تو اس قسم کی خرابیاں بہت مشکل ہو سکتی ہیں اور بہت کم ظاہر ہو سکتی ہیں، شاید صرف اس صورت میں جب مخصوص ڈیٹا پیٹرن خود کو ظاہر کریں۔ ٹائمنگ کی بہت سی عام خلاف ورزیاں اس زمرے میں آتی ہیں اور عام طور پر بہت مشکل ہوتی ہیں، اگر ان کی تقلید کرنا ناممکن نہیں ہے۔

وقت کی خلاف ورزیاں انٹیگریٹڈ سرکٹس کے درمیان کم سگنل کی وفاداری کا نتیجہ بھی ہو سکتی ہیں، خاص طور پر ہر سرکٹ کے لیے متعدد پاور ریلوں والے سسٹمز میں۔ کم سگنل کی مخلصی کے نتیجے میں سگنل شور، کراسسٹالک، عکاسی، اضافی لوڈنگ اور الیکٹرو میگنیٹک مداخلت (EMI) کے مسائل پیدا ہوسکتے ہیں جو اکثر اوقات کی خلاف ورزی کے طور پر ظاہر ہوتے ہیں۔ بجلی کی فراہمی کے مسائل، جیسے عارضی (خاص طور پر سسٹم اسٹارٹ اپ یا شٹ ڈاؤن کے دوران)، لوڈ کی مختلف حالتوں اور ہائی پاور کی کھپت کا دباؤ بھی پراسرار خرابیوں کا باعث بن سکتا ہے، جو اکثر بجلی کی فراہمی کے ذریعہ سے آسانی سے نہیں ملتی۔ یہاں تک کہ جب ڈیزائن مکمل طور پر درست ہو تو بورڈ بنانے کے مسائل کے نتیجے میں غلطیاں ہو سکتی ہیں۔ ناقص سولڈر جوڑ اور غلط طریقے سے منسلک کنیکٹر، سابق کے لیےample، غلطیوں کا ذریعہ ہو سکتا ہے اور درجہ حرارت یا بورڈ کے مقام پر منحصر بھی ہو سکتا ہے۔ اعلی درجے کی FPGA پیکیجنگ تکنیک کا استعمال پرنٹ شدہ سرکٹ بورڈ پر سگنلز کی جانچ کرنا مشکل بنا سکتا ہے، لہذا صرف مطلوبہ سگنل تک رسائی حاصل کرنا اکثر پریشانی کا باعث بن سکتا ہے۔ اکثر ڈیزائن کے بہت سے مسائل فوری طور پر خرابی پیدا نہیں کرتے ہیں اور اس وقت تک ڈیزائن میں پھوٹ پڑتی ہے جب تک کہ غلطی خود ظاہر نہ ہو جائے۔ ابتدائی خرابی کو اصل وجہ تک پہنچانا اکثر مایوس کن، مشکل اور وقت طلب کام ہوسکتا ہے۔

سابق کے لیےampمثال کے طور پر، ترجمے کے جدول میں ایک بھی غلطی کے نتیجے میں کئی چکروں تک غلطی نہیں ہو سکتی۔ کچھ ٹولز جن پر ہم بعد میں اس مقالے میں بات کریں گے، جو سرکٹ میں ڈیبگ ہارڈویئر کا استعمال کرتے ہیں، خاص طور پر ان 'بگ ہنٹس' کو تیز اور آسان بنانے کے لیے ہدف بنائے گئے ہیں۔ ان ٹولز کی تفصیلات میں جانے سے پہلے، آئیے پہلے ایک مقبول سافٹ ویئر پر مبنی ڈیبگنگ تکنیک سمولیشن کو دیکھتے ہیں تاکہ ایڈوان کو بہتر طور پر سمجھا جا سکے۔tages اور disadvantagڈیبگنگ کے لیے تخروپن کا استعمال کرنا۔

ڈیبگنگ کے لیے تخروپن کا استعمال
عام طور پر ڈیزائن کے تخروپن میں، ڈیزائن کے اندر اور باہر تمام حقیقی زندگی کے اجزاء کو ریاضیاتی طور پر سافٹ ویئر پروسیس کے طور پر تیار کیا جاتا ہے جو ایک معیاری CPU پر ترتیب وار عمل میں آتے ہیں۔ ڈیزائن پر محرک کی ایک وسیع رینج کا اطلاق کرنا اور مصنوعی ڈیزائن کے آؤٹ پٹ کے خلاف متوقع آؤٹ پٹ کو چیک کرنا، ڈیزائن کی سب سے واضح غلطیوں کو پکڑنے کا ایک آسان طریقہ ہے۔ ایک ونڈو جو ایک عام سمولیشن رن دکھا رہی ہے نیچے تصویر 1 میں دی گئی ہے۔ واضح ایڈوانtagنقلی آیات کی ہارڈ ویئر پر مبنی ڈیبگنگ، یہ ہے کہ سافٹ ویئر میں تخروپن کیا جا سکتا ہے - کسی حقیقی ہارڈ ویئر پر مبنی ڈیزائن اور ٹیسٹ بینچ کی ضرورت نہیں ہے۔ تخروپن ڈیزائن کی بہت سی خرابیوں کو تیزی سے پکڑ سکتا ہے، خاص طور پر وہ غلط تصریحات، انٹرفیس کے تقاضوں کی غلط فہمی، فنکشن کی غلطیاں، اور بہت سی دوسری 'مجموعی' قسم کی غلطیاں جو سادہ محرک ویکٹرز کے ذریعے آسانی سے پتا چل جاتی ہیں۔

Microsemi-In-Circuit-FPGA-Debug- (1)

تخروپن خاص طور پر اس وقت موثر ہوتا ہے جب ڈیزائنر کے لیے وسیع محرک کے مجموعے دستیاب ہوں اور اس کے نتیجے میں حاصل ہونے والے نتائج اچھی طرح سے معلوم ہوں۔ ان صورتوں میں، نقلی ڈیزائن کا تقریباً مکمل ٹیسٹ کر سکتا ہے۔ بدقسمتی سے، زیادہ تر ڈیزائنوں کو وسیع ٹیسٹ سویٹس تک آسانی سے رسائی حاصل نہیں ہوتی ہے اور انہیں بنانے کے عمل میں بہت وقت لگ سکتا ہے۔ ایک ٹیسٹ سوٹ بنانا جو کہ 100% ڈیزائن پر محیط ہو، بڑے FPGA پر مبنی ڈیزائنز کے لیے عملی طور پر ناممکن ہے اور ڈیزائن کے اہم عناصر کو آزمانے اور کور کرنے کے لیے شارٹ کٹس کا استعمال کرنا چاہیے۔ تخروپن کے ساتھ ایک اور مشکل یہ ہے کہ یہ 'حقیقی دنیا' کا نفاذ نہیں ہے اور غیر مطابقت پذیر واقعات، تیز رفتار نظام کے تعاملات، یا وقت کی خلاف ورزیوں کو نہیں پکڑ سکتا۔ آخر میں، تخروپن کا عمل بہت سست ہو سکتا ہے اور اگر بہت سے تکرار کی ضرورت ہو تو نقلی تیزی سے سب سے زیادہ وقت طلب، اور اکثر ترقیاتی عمل کا سب سے مہنگا حصہ بن جاتا ہے۔

متبادل کے طور پر (یا شاید بہتر کہا گیا ہے، تخروپن میں اضافے کے طور پر) FPGA ڈیزائنرز نے پایا کہ وہ FPGA ڈیزائن میں ڈیبگ ہارڈویئر کو شامل کر سکتے ہیں تاکہ ڈیوائس کے اندر اہم سگنلز کا مشاہدہ اور ان کو کنٹرول کیا جا سکے۔ یہ تکنیکیں اصل میں ایڈہاک نقطہ نظر کے طور پر تیار کی گئی تھیں، لیکن آہستہ آہستہ ایک معیاری ہارڈویئر ڈیبگ حکمت عملی میں تیار ہو گئی ہیں۔ ان سرکٹ ڈیبگ صلاحیتوں کا یہ استعمال اہم ایڈوان پیش کرتا ہے۔tages FPGA پر مبنی ڈیزائنز کے لیے اور اگلا سیکشن تین سب سے عام حکمت عملیوں اور ان کے مختلف ایڈوان کو تلاش کرے گا۔tages اور disadvantages

FPGAs کے لیے عام ان سرکٹ ڈیبگ اپروچز
FPGAs میں ان سرکٹ ڈیبگ صلاحیتوں کو نافذ کرنے کی سب سے عام تکنیک یا تو ایمبیڈڈ لاجک اینالائزر، بیرونی ٹیسٹ کا سامان، یا FPGA فیبرک کے اندر سرایت شدہ سگنل پروب ہارڈویئر کا استعمال کرتی ہے۔ ایمبیڈڈ لاجک اینالائزر کو عام طور پر ایف پی جی اے فیبرک کا استعمال کرتے ہوئے لاگو کیا جاتا ہے اور اسے ڈیزائن میں داخل کیا جاتا ہے۔ جےTAG پورٹ کا استعمال تجزیہ کار تک رسائی کے لیے کیا جاتا ہے اور پکڑے گئے ڈیٹا کو پی سی پر دکھایا جا سکتا ہے۔ جب بیرونی ٹیسٹ کا سامان استعمال کیا جاتا ہے تو، ٹیسٹ کے تحت FPGA ڈیزائن میں ترمیم کی جاتی ہے تاکہ منتخب کردہ اندرونی FPGA سگنلز آؤٹ پٹ پنوں کی طرف روانہ ہوں۔ ان پنوں کو پھر بیرونی ٹیسٹ کے آلات کے ذریعے دیکھا جا سکتا ہے۔ جب وقف شدہ سگنل پروب ہارڈویئر استعمال کیا جاتا ہے، تو اندرونی سگنلز کا ایک وسیع انتخاب حقیقی وقت میں پڑھا جا سکتا ہے۔ کچھ تحقیقات کے نفاذ کو رجسٹر کرنے یا میموری والے مقامات پر لکھنے کے لیے بھی استعمال کیا جا سکتا ہے تاکہ ڈیبگ کی صلاحیتوں کو مزید بڑھایا جا سکے۔ آئیے ایڈوان پر مزید تفصیل سے دیکھتے ہیں۔tages اور disadvantagان میں سے ہر ایک تکنیک کے es اور پھر ایک سابق کو دیکھیںampیہ دیکھنے کے لیے ڈیزائن کریں کہ یہ مختلف طریقے ڈیبگنگ کے مجموعی وقت کو کیسے متاثر کر سکتے ہیں۔

ان سرکٹ FPGA ڈیبگ ایمبیڈڈ لاجک اینالائزر
ایمبیڈڈ لاجک اینالائزر کا تصور ایڈہاک ان-سرکٹ ڈیبگنگ صلاحیتوں کا براہ راست نتیجہ تھا جسے ڈیزائنرز نے اس وقت نافذ کیا جب FPGAs پہلی بار استعمال کیے گئے۔ ایمبیڈڈ منطقی تجزیہ کاروں نے نئی صلاحیتیں شامل کیں اور ڈیزائنر کے لیے اپنا تجزیہ کار تیار کرنے کی ضرورت کو ختم کردیا۔ زیادہ تر FPGA ان صلاحیتوں کو پیش کرتے ہیں اور تیسرے فریق معیاری تجزیہ کار پیش کرتے ہیں (Identify®، Synopsys سے، ایک مشہور سابقہ ​​ہےampلی) جو پیداواری صلاحیت کو مزید بہتر بنانے کے لیے اعلیٰ سطح کے ٹولز کے ساتھ آسانی سے انٹرفیس کر سکتا ہے۔

FPGA فیبرک اور ایمبیڈڈ میموری بلاکس کو ٹریس بفر کے طور پر، جیسا کہ شکل 2 میں دکھایا گیا ہے، ڈیزائن میں منطقی تجزیہ کار کی فعالیت داخل کی جاتی ہے۔ کنٹرول اور ڈیٹا کی منتقلی کے لیے تجزیہ کار تک رسائی عام طور پر معیاری J کے ذریعے کی جاتی ہے۔TAG انٹرفیس کی ضروریات کو آسان بنانے کے لیے پورٹ۔ پکڑے گئے ڈیٹا کو کامن کا استعمال کرتے ہوئے پی سی پر دکھایا جا سکتا ہے۔ viewing سافٹ ویئر اور عام طور پر ایک منطق سمیلیٹر ویوفارم آؤٹ پٹ کا آئینہ دار ہوتا ہے۔ viewانداز

Microsemi-In-Circuit-FPGA-Debug- (2)

ایڈوانtagاس نقطہ نظر کا مطلب یہ ہے کہ کوئی اضافی FPGA I/O پن استعمال نہیں کیا جاتا ہے، صرف معیاری JTAG سگنل ایمبیڈڈ لاجک اینالائزر آئی پی کور عام طور پر نسبتاً سستے ہوتے ہیں اور بعض صورتوں میں موجودہ FPGA ترکیب، یا نقلی ٹولز کا آپشن ہو سکتے ہیں۔ کچھ معاملات میں، ایمبیڈڈ لاجک اینالائزر غیر استعمال شدہ I/Os پر اضافی آؤٹ پٹ بھی فراہم کر سکتا ہے، اگر یہ زیادہ آسان ہو۔ نقصانات میں سے ایکtagاس نقطہ نظر کے لئے یہ ہے کہ FPGA وسائل کی ایک بڑی مقدار کی ضرورت ہے۔ خاص طور پر، اگر ٹریس بفرز استعمال کیے جاتے ہیں تو اس سے دستیاب بلاک یادوں کی تعداد کم ہو جائے گی۔ اگر ایک وسیع بفر کی ضرورت ہو تو یہ میموری کی گہرائی کے خلاف بھی تجارت ہو گی (چونکہ وسیع میموری کے استعمال کے نتیجے میں میموری کی گہرائی کم ہوتی ہے) - ایک بڑا نقصانtage جب چھوٹے آلات استعمال کرتے ہیں۔ شاید اس تکنیک کی سب سے بڑی خرابی یہ ہے کہ جب بھی پروب پلیسمنٹ میں ایڈجسٹمنٹ کی جاتی ہے، ڈیزائن کو دوبارہ کمپائل اور دوبارہ پروگرام کرنا ضروری ہوتا ہے۔ ایک بڑا آلہ استعمال کرتے وقت اس عمل میں کافی وقت لگ سکتا ہے۔ جس طرح سے سگنل پروبس کو ڈیزائن میں رکھا گیا ہے اس کی وجہ سے سگنل ٹائمنگ کے تعلقات کو جوڑنا مشکل ہو سکتا ہے۔ مزید برآں، سگنل کی تحقیقات کے درمیان تاخیر مستقل نہیں ہے اور اس طرح وقت کے تعلقات کا موازنہ کرنا مشکل ہے۔ مختلف ٹائم ڈومینز سے غیر مطابقت پذیر سگنلز یا سگنلز کا موازنہ کرتے وقت یہ ایک خاص مشکل ہے۔

ان سرکٹ FPGA ڈیبگ - بیرونی ٹیسٹ کا سامان
بیرونی جانچ کے آلات کے ساتھ مل کر ان سرکٹ ڈیبگ کوڈ کا استعمال ایک فطری ترقی تھی جب ایک بیرونی منطقی تجزیہ کار پہلے سے ہی سسٹم کی جانچ کے لیے دستیاب تھا۔ داخلی ٹیسٹ سگنلز کی شناخت اور ان کا انتخاب کرنے اور انہیں FPGA I/Os پر لاگو کرنے کے لیے کچھ آسان ڈیبگ کوڈ بنا کر، جیسا کہ شکل 3 میں دکھایا گیا ہے، تجزیہ کاروں کی جدید صلاحیتوں (جیسے بڑے ٹریس بفرز، پیچیدہ محرک ترتیب، اور متعدد viewing اختیارات) سادہ لیکن طاقتور ڈیبگ ماحول بنانے کے لیے۔ ایڈوانس ٹرگرنگ آپشنز کے لیے زیادہ پیچیدہ ان سرکٹ صلاحیتیں ضرورت کے آؤٹ پٹ کی تعداد کو کم کر سکتی ہیں۔ سابق کے لیےampمثال کے طور پر، اگر بیرونی پنوں کی ضرورت ہو تو وسیع بس پر مخصوص پتے کا انتخاب ممنوع ہو سکتا ہے۔
اندرونی FPGA منطق کا استعمال ڈرامائی طور پر I/O کی ضروریات کو کم کرتا ہے اور یہاں تک کہ مزید پیچیدہ مسائل کو ڈیبگ کرنے کے لیے مخصوص ایڈریس پیٹرن (شاید کال اور واپسی کی ترتیب) تلاش کر سکتا ہے۔ اگر ایک عام صارف انٹرفیس دستیاب ہے، تو یہ سیکھنے کے منحنی خطوط کو آسان بنا سکتا ہے اور پیداواری صلاحیت کو بہتر بنا سکتا ہے۔

Microsemi-In-Circuit-FPGA-Debug- (3)

ایڈوانtagاس نقطہ نظر کا یہ ہے کہ یہ بیرونی ٹیسٹ کے آلات کی لاگت کا فائدہ اٹھاتا ہے اور اس طرح ٹول کی کوئی اضافی قیمت نہیں ہے۔ کچھ ڈیبگ سرکٹ آئی پی کور آلات کے مینوفیکچررز یا FPGA مینوفیکچررز سے دستیاب ہیں، اور بہت کم قیمت یا مفت بھی ہو سکتے ہیں۔ سگنل سلیکشن منطق کو لاگو کرنے کے لیے درکار FPGA وسائل کی مقدار بہت کم ہے، اور چونکہ ٹریس فنکشن ایکسٹرنل لاجک اینالائزر کا استعمال کرتے ہوئے کیا جاتا ہے، اس لیے کسی بلاک میموری کی ضرورت نہیں ہے۔ چونکہ انتخاب کی منطق سستی ہے، اس لیے وسیع محرکات والے چینلز کی ایک بڑی تعداد کو بھی سپورٹ کیا جا سکتا ہے۔ منطقی تجزیہ کار ٹائمنگ موڈ اور اسٹیٹ موڈ دونوں میں کام کر سکتا ہے جو وقت کے کچھ مسائل کو الگ کرنے میں مدد کرتا ہے۔
ڈسڈوان۔tagاس نقطہ نظر کے es میں منطقی تجزیہ کار خریدنے کی ضرورت شامل ہوسکتی ہے، اگر کوئی پہلے سے پروجیکٹ کے لیے مختص نہیں کیا گیا ہے۔ یہ نقصانtage بہت سی صورتوں میں اس نقطہ نظر کی حوصلہ شکنی کے لیے کافی ہو سکتا ہے۔ تاہم، نوٹ کریں کہ کچھ کم لاگت والے منطقی تجزیہ کار کے اختیارات دستیاب ہو رہے ہیں جو ڈسپلے کے لیے پی سی یا ٹیبلیٹ کا استعمال کرتے ہیں، اس آپشن کو آسان ڈیبگ کی ضروریات کے لیے بہت زیادہ سرمایہ کاری مؤثر بناتا ہے۔
استعمال شدہ FPGA پنوں کی تعداد ایک اور نقصان ہو سکتی ہے۔tagاور اگر چوڑی بسوں کا مشاہدہ کرنے کی ضرورت ہے تو بورڈ لے آؤٹ کے لیے اہم منصوبہ بندی اور ڈیبگ کنیکٹرز کے اضافے کی ضرورت ہے۔ ڈیزائن کے مرحلے اور ایک اور ناپسندیدہ پیچیدگی کے آغاز میں اس ضرورت کی پیش گوئی کرنا اکثر اوقات مشکل ہوتا ہے۔ ایمبیڈڈ لاجک اینالائزر اپروچ کی طرح ہی بیرونی ٹیسٹ کی حکمت عملی کے لیے ڈیزائن کی دوبارہ کمپائلنگ اور ری پروگرامنگ کی ضرورت ہوتی ہے، جب ہر نئے تجربے کی ضرورت ہوتی ہے۔

عام نقصانtagان دو تکنیکوں میں سے ہیں - آن چپ وسائل کا استعمال (جو ڈیزائن کی ٹائمنگ کارکردگی کو بھی متاثر کر سکتا ہے اور ڈیبگنگ کے اضافی تقاضے بھی بنا سکتا ہے) ڈیزائن کو دوبارہ مرتب کرنے اور دوبارہ پروگرام کرنے کی ضرورت (جو ڈیبگ شیڈول میں گھنٹے یا اس سے بھی دن کا اضافہ کر سکتا ہے) ممکنہ آزمائشی منظرناموں کی شناخت کے لیے ضروری اپ فرنٹ پلاننگ، اور ان وسائل کا استعمال بغیر کسی اضافی چپ کے استعمال کے لیے۔ ایک جواب کچھ آلات پر FPGA تانے بانے میں وقف شدہ ڈیبگ منطق کا اضافہ تھا۔ ہارڈویئر پروبس کا استعمال کرتے ہوئے ان سرکٹ ڈیبگ کا نتیجہ تھا۔

ان سرکٹ FPGA ڈیبگ - ہارڈ ویئر کی تحقیقات
ہارڈویئر پروبس کا استعمال ڈرامائی طور پر FPGAs کے لیے ان سرکٹ ڈیبگ تکنیکوں کو آسان بناتا ہے۔ SmartFusion2®SoC FPGA اور IGLOO®2 FPGA ڈیوائسز پر لائیو پروب فیچر کے طور پر لاگو کی گئی یہ تکنیک، کسی بھی منطقی عنصر رجسٹر بٹ کے آؤٹ پٹ کا مشاہدہ کرنے کے لیے FPGA فیبرک میں وقف شدہ پروب لائنوں کو شامل کرتی ہے۔ جیسا کہ شکل 4 میں بلاک ڈایاگرام میں دکھایا گیا ہے، ہارڈویئر پروبس دو تحقیقاتی چینلز A اور B میں دستیاب ہیں۔

Microsemi-In-Circuit-FPGA-Debug- (3)

منتخب شدہ رجسٹر آؤٹ پٹس (تحقیقات پوائنٹس)، جیسا کہ اعداد و شمار کے نچلے حصے میں حاصل کیا گیا ہے، کو دو تحقیقاتی چینلز کے اوپر روٹ کیا جاتا ہے اور اگر منتخب کیا جائے تو A یا B چینل پر لاگو کیا جا سکتا ہے۔ یہ ریئل ٹائم چینل سگنلز پھر ڈیوائس پر وقف شدہ Probe A اور Probe B پنوں کو بھیجے جا سکتے ہیں۔ پروب اے اور پروب بی سگنلز کو داخلی طور پر ایمبیڈڈ لاجک اینالائزر کی طرف بھیجا جا سکتا ہے۔

نوٹ کریں کہ پروب پنوں کی ٹائمنگ خصوصیات باقاعدہ ہیں اور ان میں ایک پروب پوائنٹ سے دوسرے پر نہ ہونے کے برابر انحراف ہے، جس سے ریئل ٹائم سگنلز کی ٹائمنگ خصوصیات کا موازنہ کرنا بہت آسان ہو جاتا ہے۔ ڈیٹا کو 100MHz تک کیپچر کیا جا سکتا ہے جو اسے زیادہ تر ٹارگٹ ڈیزائنز کے لیے موزوں بناتا ہے۔
شاید سب سے اہم بات یہ ہے کہ پروب پوائنٹ کے مقامات، چونکہ ان کا انتخاب عمل میں لائے گئے ڈیزائن کے حصے کے طور پر نہیں کیا گیا ہے (ان کا انتخاب ڈیڈیکیٹڈ ہارڈویئر کے ذریعے کیا جاتا ہے جب کہ ڈیزائن FPGA پر چل رہا ہو)، صرف انتخابی ڈیٹا کو ڈیوائس پر بھیج کر فوری طور پر تبدیل کیا جا سکتا ہے۔ کسی ڈیزائن کو دوبارہ مرتب کرنے اور دوبارہ پروگرام کرنے کی ضرورت نہیں ہے۔
لائیو پروب کی صلاحیت کے استعمال کو مزید آسان بنانے کے لیے، متعلقہ ڈیبگ سافٹ ویئر ٹول کو خود بخود پیدا ہونے والے ڈیبگ کے ذریعے تمام پروب سگنل مقامات تک رسائی حاصل ہے۔ file. جیسا کہ شکل 5 میں دکھایا گیا ہے، سگنل کا نام سگنل کی فہرست سے منتخب کیا جا سکتا ہے اور مطلوبہ چینل پر لاگو کیا جا سکتا ہے۔ یہ اس وقت بھی کیا جا سکتا ہے جب ڈیزائن چل رہا ہو تاکہ ڈیزائن کے اندر جانچ کی سرگرمی بغیر کسی رکاوٹ کے اور بہت موثر ہو۔

Microsemi-In-Circuit-FPGA-Debug- (5)

بہت سے معاملات میں، ہارڈویئر پروب کی صلاحیت، جیسے لائیو پروب، کو پہلے بیان کردہ ایمبیڈڈ لاجک اینالائزر اور بیرونی ٹیسٹ تکنیک کے ساتھ مل کر استعمال کیا جا سکتا ہے۔

جیسا کہ شکل 6 میں دکھایا گیا ہے، 'اون دی فلائی' سگنلز کو منتخب کرنے کی لائیو پروب کی صلاحیت ڈیزائن کو دوبارہ مرتب کرنے کی ضرورت کے بغیر مشاہدے کے تحت سگنلز کو تیزی اور آسانی سے تبدیل کرنا ممکن بناتی ہے۔ ایک بیرونی منطقی تجزیہ کار یا دائرہ کار آسانی سے پروبڈ سگنلز کا مشاہدہ کر سکتا ہے، جیسا کہ سرشار تحقیقاتی آؤٹ پٹ پنوں پر تصویر کے اوپری دائیں حصے میں دکھایا گیا ہے۔ متبادل طور پر (یا شاید اس کے علاوہ بھی) اندرونی منطقی تجزیہ کار (ILA Identify بلاک، جو تصویر میں دکھایا گیا ہے) کو پروب پنوں کا مشاہدہ کرنے کے لیے استعمال کیا جا سکتا ہے۔ تحقیقاتی سگنلز کو ILA کے ذریعے پکڑا جا سکتا ہے اور ویوفارم ونڈو پر مشاہدہ کیا جا سکتا ہے۔ ٹارگٹ ڈیزائن کو دوبارہ کمپائل کرنے کی ضرورت کے بغیر جانچ کے مقامات کو تبدیل کیا جا سکتا ہے۔
نوٹ کریں کہ ٹرگرنگ اور ٹریس کے لیے اضافی صلاحیتوں کا استعمال پروب کی فعالیت کو بڑھانے کے لیے کیا جا سکتا ہے، جس سے ڈیزائن کے پیچیدہ مسائل کو تلاش کرنا آسان ہو جاتا ہے۔

Microsemi-In-Circuit-FPGA-Debug- (6)

اضافی ہارڈویئر ڈیبگ صلاحیتیں SmartFusion2 SoC FPGA اور IGLOO2 FPGA آلات پر بھی دستیاب ہیں۔ ان صلاحیتوں میں سے ایک، جسے ایکٹو پروب کہا جاتا ہے، متحرک اور متضاد طور پر کسی بھی منطقی عنصر رجسٹر بٹ کو پڑھ یا لکھ سکتا ہے۔ ایک تحریری قدر ایک گھڑی کے چکر کے لیے برقرار رہتی ہے تاکہ معمول کی کارروائی جاری رہ سکے، یہ ڈیبگنگ کا ایک بہت ہی قیمتی ٹول ہے۔ ایکٹو پروب خاص طور پر دلچسپی کا حامل ہے اگر کسی اندرونی سگنل کا فوری مشاہدہ مطلوب ہو (شاید صرف یہ چیک کرنے کے لیے کہ یہ فعال ہے یا مطلوبہ حالت میں، جیسے کہ ری سیٹ سگنل)، یا اگر کسی پروب پوائنٹ پر لکھ کر منطقی فنکشن کو فوری جانچنے کی ضرورت ہو۔
(شاید کسی کنٹرول کے بہاؤ کے مسئلے کو الگ کرنے کے لیے ان پٹ ویلیو کو تیزی سے ترتیب دے کر ریاستی مشین کی منتقلی کا آغاز کرنا)۔

مائیکروسیمی کی طرف سے فراہم کردہ ایک اور ڈیبگ صلاحیت میموری ڈیبگ ہے۔ یہ خصوصیت ڈیزائنر کو متحرک اور غیر مطابقت پذیر طور پر منتخب FPGA فیبرک SRAM بلاک کو پڑھنے یا لکھنے کی اجازت دیتی ہے۔ جیسا کہ ڈیبگ ٹول (شکل 7) کے اسکرین شاٹ میں واضح کیا گیا ہے، جب میموری بلاکس ٹیب کو منتخب کیا جاتا ہے تو صارف پڑھنے کے لیے مطلوبہ میموری کو منتخب کرسکتا ہے، میموری کے اسنیپ شاٹ کیپچر کو انجام دے سکتا ہے، میموری کی قدروں میں ترمیم کرسکتا ہے، اور پھر اقدار کو آلہ پر واپس لکھ سکتا ہے۔ یہ خاص طور پر کمپیوٹیشن اورینٹڈ سکریچ پیڈ کے لیے کمیونیکیشن پورٹس میں استعمال ہونے والے ڈیٹا بفرز کو چیک کرنے یا سیٹ کرنے کے لیے مفید ہو سکتا ہے یا یہاں تک کہ ایمبیڈڈ CPU کے ذریعے کیے گئے کوڈ کے لیے۔ پیچیدہ ڈیٹا پر منحصر غلطیوں کو ڈیبگ کرنا نمایاں طور پر تیز اور آسان ہے جب یادوں کو اتنی تیزی سے دیکھا اور کنٹرول کیا جا سکتا ہے۔

Microsemi-In-Circuit-FPGA-Debug- (7)

ایک بار جب کسی ڈیزائن کو ڈیبگ کیا جاتا ہے تو حساس معلومات کی حفاظت کے لیے ہارڈویئر ڈیبگ کی صلاحیتوں کو بند کرنا ضروری ہو سکتا ہے۔ ایک حملہ آور انہی سہولیات کو اہم معلومات کو پڑھنے یا سسٹم کی سیٹنگز کو تبدیل کرنے کے لیے استعمال کر سکتا ہے جو سسٹم کے حساس حصوں تک آسان رسائی کی اجازت دے سکتا ہے۔ مائیکروسیمی نے ڈیبگنگ مکمل ہونے کے بعد ڈیزائنر کو ڈیوائس کو محفوظ بنانے کی اجازت دینے کے لیے خصوصیات شامل کی ہیں۔ سابق کے لیےample، حملے کے ممکنہ ذریعہ کے طور پر فنکشن کو مکمل طور پر غیر فعال کرنے کے لیے لائیو پروب اور ایکٹیو پروب تک رسائی کو بند کیا جا سکتا ہے (یہ تحقیقاتی سرگرمی کے سپلائی کرنٹ میں کوئی نمونہ پیدا کرنے کے امکان کو بھی ختم کر دیتا ہے جسے بالواسطہ طور پر جانچ پڑتال کے ڈیٹا کو آزمانے اور مشاہدہ کرنے کے لیے استعمال کیا جا سکتا ہے)۔ متبادل طور پر، صرف ان حصوں تک رسائی کو روکنے کے لیے ڈیزائن کے منتخب حصوں تک رسائی کو بند کیا جا سکتا ہے۔ یہ آسان ہو سکتا ہے اگر ڈیزائن کے صرف ایک حصے کو محفوظ بنانے کی ضرورت ہو تاکہ باقی ڈیزائن کو فیلڈ ٹیسٹنگ یا غلطی کے تجزیہ کے لیے قابل رسائی بنایا جائے۔

ان سرکٹ ڈیبگ موازنہ چارٹ
اب کہ ایک تفصیلی دوبارہview تین اہم ان-سرکٹ ہارڈویئر ڈیبگ تکنیکوں میں سے ایک خلاصہ چارٹ بیان کیا گیا ہے، جیسا کہ شکل 8 میں دکھایا گیا ہے، بنایا گیا ہے جو مختلف ایڈون کی تفصیلات بتاتا ہے۔tages اور disadvantagہر طریقہ کے es. یاد رہے کہ کچھ تکنیکیں مل کر استعمال کی جا سکتی ہیں (Live Probe and Internal Logic Analyzer (ILA)، جیسے Synopsys Identify، سابق کے لیےample)، ہم ہر تکنیک کی اہم طاقتوں اور کمزوریوں کو دیکھ سکتے ہیں۔ ان سرکٹ ہارڈویئر ڈیبگ صلاحیتوں کا مجموعہ (Live Probe, Active Probe, and Memory Debug—مجموعی طور پر SmartDebug کہلاتا ہے)، دیگر تکنیکوں کے مقابلے میں سب سے کمزور ہیں جب دستیاب کل پروبس کی تعداد (ایک سرخ دائرہ) کی بات آتی ہے اور بہترین (پیلے دائرے) سے کمزور ہوتی ہے جب کیپچر ٹیسٹ کے آلات کو تیز تر سمجھا جاتا ہے۔
ILA پر مبنی تکنیکیں، جیسے Synopsys Identify، دیگر تکنیکوں کے مقابلے میں سب سے کمزور ہوتی ہیں اور جب FPGA وسائل کی ضروریات پر غور کیا جاتا ہے۔ بیرونی جانچ کے سازوسامان پر مبنی تکنیکیں لاگت، ڈیزائن کے وقت کے اثرات، اور پروب موومنٹ اوور ہیڈ (ڈیزائن کو دوبارہ مرتب کرنے کی ضرورت کی وجہ سے) کے ساتھ بہت سے غور و فکر کے لحاظ سے کمزور ترین ہیں۔ شاید بہترین حل SmartDebug اور دیگر تکنیکوں میں سے ایک کا مجموعہ ہے، تاکہ SmartDebug کے چینلز کی کمزوری کو کم کیا جا سکے اور پروب پوائنٹ کی نقل و حرکت کو نقصان پہنچایا جا سکے۔tagدیگر تکنیکوں میں بھی کمی آئی۔

Microsemi-In-Circuit-FPGA-Debug- (8)

سگنل کی درجہ بندی
سگنلز کی کچھ عام اقسام کے درمیان ایک مفید فرق کیا جا سکتا ہے اور یہ ڈیبگنگ اپروچ کی منصوبہ بندی کرتے وقت مدد کر سکتا ہے۔ سابق کے لیےampمثال کے طور پر، وہ سگنل جو سسٹم کے آغاز کے علاوہ تبدیل نہیں ہوتے ہیں، جیسے سسٹم ری سیٹ، بلاک ری سیٹ یا انیشیلائزیشن رجسٹرز کو جامد سگنلز کے طور پر درجہ بندی کیا جا سکتا ہے۔ اس قسم کے سگنلز کو ایک ایسی سہولت کے ذریعے سب سے زیادہ مؤثر طریقے سے حاصل کیا جاتا ہے جو ایک طویل ری کمپائل سائیکل کی ضرورت کے بغیر سگنل کو آسانی سے مشاہدہ اور کنٹرول کر سکتی ہے۔ ایکٹیو پروب سٹیٹک سگنلز کو ڈیبگ کرنے کے لیے ایک بہترین سہولت ہے۔ اسی طرح، وہ سگنل جو زیادہ کثرت سے تبدیل ہوتے ہیں لیکن زیادہ تر وقت کے لیے اب بھی جامد رہتے ہیں، ان کی درجہ بندی چھدم جامد کے طور پر کی جا سکتی ہے اور ایکٹو پروب کا استعمال کرتے ہوئے سب سے زیادہ مؤثر طریقے سے ڈیبگ کیے جاتے ہیں۔ وہ سگنل جو کثرت سے تبدیل ہوتے ہیں، جیسے گھڑی کے سگنل، کو متحرک کے طور پر درجہ بندی کیا جا سکتا ہے اور ایکٹیو پروب کے ذریعے ان تک آسانی سے رسائی حاصل نہیں کی جا سکتی ہے۔ ان سگنلز کو دیکھنے کے لیے لائیو پروب ایک بہتر انتخاب ہے۔

سادہ ڈیبگ استعمال کا کیس

اب جب کہ ہمیں مختلف ان سرکٹ ڈیبگ آپشنز کی بہتر سمجھ ہے، آئیے ایک سادہ ڈیزائن کو دیکھیںampیہ دیکھنے کے لئے کہ یہ تکنیکیں کیسے کام کرتی ہیں۔ شکل 9، SmartFusion2 SoC FPGA ڈیوائس میں ایک سادہ FPGA ڈیزائن دکھاتا ہے۔ Microcontroller سب سسٹم (MSS) CoreSF2Reset Soft IP بلاک کے ذریعے دوبارہ ترتیب دیا گیا ہے۔ اس بلاک کے ان پٹ پاور آن ری سیٹ، یوزر فیبرک ری سیٹ، اور ایکسٹرنل ری سیٹ ہیں۔ آؤٹ پٹ یوزر فیبرک پر ری سیٹ، ایک MSS ری سیٹ، اور M3 ری سیٹ ہیں۔ خرابی کی علامات یہ ہیں کہ I/Os پر کوئی سرگرمی نہیں ہے حالانکہ آلہ کامیابی سے POR حالت سے باہر نکل جاتا ہے۔ اس خرابی کو ٹھیک کرنے کے لیے تین مختلف اختیارات بھی تصویر میں واضح کیے گئے ہیں: نیلے رنگ کا باکس (ای ٹی ای کا لیبل لگا ہوا) بیرونی ٹیسٹ کے آلات کے طریقہ کار کے لیے ہے۔ گرین باکس (آئی ایل اے کا لیبل لگا ہوا) اندرونی منطق تجزیہ کار کے طریقہ کار کے لیے ہے۔ اور اورنج باکس (اے پی کا لیبل لگا ہوا) ایکٹو پروب طریقہ کے لیے ہے۔ ہم فرض کریں گے کہ خرابی کی ممکنہ بنیادی وجوہات CoreSF2Reset Soft IP بلاک پر غلط طریقے سے ری سیٹ ان پٹس پر زور دیا گیا ہے۔

Microsemi-In-Circuit-FPGA-Debug- (9)

آئیے اب پہلے بیان کردہ ان سرکٹ طریقوں میں سے تین کے لیے ڈیبگ کے عمل کو دیکھتے ہیں۔

بیرونی ٹیسٹ کا سامان
اس طریقہ کا استعمال کرتے ہوئے، یہ فرض کیا جاتا ہے کہ ٹیسٹ کا سامان دستیاب ہے اور اعلی ترجیحی پروجیکٹ کے ذریعے استعمال نہیں کیا جا رہا ہے۔ مزید برآں، یہ ضروری ہے کہ پہلے سے منصوبہ بندی کی جائے تاکہ کچھ FPGA I/Os دستیاب ہوں اور آسانی سے جانچ کے آلات سے منسلک ہو سکیں۔ سابق کے لیے پی سی بی پر ہیڈر رکھناampلی، بہت مددگار ثابت ہوگا اور 'ممکنہ مشتبہ' یا تحقیقات کے دوران پنوں کی ممکنہ کمی کو شناخت کرنے اور اس سے رابطہ قائم کرنے کی کوشش میں خرچ ہونے والے وقت کو کم سے کم کرے گا۔ ان سگنلز کو منتخب کرنے کے لیے ڈیزائن کو دوبارہ مرتب کرنے کی ضرورت ہوگی جن کی ہم تحقیقات کرنا چاہتے ہیں۔ امید ہے کہ، ہم 'پیاز کو چھیلنے' نہیں دیں گے اور مزید تفتیش کے لیے اضافی سگنلز کو منتخب کرنے کی ضرورت ہے، کیونکہ اکثر ہماری ابتدائی تحقیقات کے نتیجے میں مزید سوالات ہوتے ہیں۔ کسی بھی صورت میں، دوبارہ مرتب کرنے اور دوبارہ پروگرام کرنے کے عمل میں کافی وقت لگ سکتا ہے، اور اگر اس کے نتیجے میں وقت کی خلاف ورزی ہوتی ہے تو ایک نئے سرے سے ڈیزائن کی ضرورت ہوتی ہے (ہم سب اس بات سے واقف ہیں کہ ٹائمنگ بند ہونے کے مسائل کو حل کرنے کی کوشش کتنی مایوس کن ہو سکتی ہے، خاص طور پر، جب آپ ڈیزائن کی خرابی تلاش کرنے کے لیے ڈیزائن میں تبدیلیاں کر رہے ہوں — پورے عمل میں منٹوں سے گھنٹوں تک کا وقت لگ سکتا ہے)! یہ یاد رکھنا بھی ضروری ہے کہ اگر ڈیزائن میں کوئی مفت صارف I/Os نہیں ہے تو اس طریقہ کو نافذ نہیں کیا جا سکتا۔ مزید یہ کہ، یہ طریقہ ساختی طور پر ڈیزائن میں دخل اندازی کرتا ہے — اور وقت سے متعلق کیڑے غائب ہو سکتے ہیں یا تکرار کے درمیان دوبارہ ظاہر ہو سکتے ہیں۔

اندرونی منطق کا تجزیہ کرنے والا
اس طریقہ کو استعمال کرتے ہوئے ILA کو فیبرک وسائل کا استعمال کرتے ہوئے ڈیزائن میں داخل کیا جانا چاہیے، اور پھر اسے دوبارہ مرتب کرنے کی ضرورت ہے۔ نوٹ کریں کہ اگر ILA پہلے سے ہی انسٹیٹیوٹ ہو چکا ہے، تو ہو سکتا ہے کہ ہم جن سگنلز کی چھان بین کرنا چاہتے ہیں ان کا آلہ نہیں بنایا گیا ہو، جس کے لیے دوبارہ کمپائل کی بھی ضرورت ہو گی۔ اس عمل سے اصل ڈیزائن کو تبدیل کرنے اور وقت کی پابندیوں کی خلاف ورزی کا خطرہ ہے۔ اگر وقت پورا ہوتا ہے تو، ڈیزائن کو دوبارہ پروگرام کرنے اور دوبارہ شروع کرنے کی ضرورت ہے۔ اس پورے عمل میں کئی منٹ یا اس سے بھی گھنٹے لگ سکتے ہیں اگر دوبارہ مرتب کرنے کا وقت طویل ہو اور ایک سے زیادہ پاسز درکار ہوں۔

فعال تحقیقات
اس طریقے کو استعمال کرتے ہوئے ایکٹو پروب کو مختلف ری سیٹ سگنلز کے ماخذ کی طرف اشارہ کیا جا سکتا ہے، جن میں سے سبھی رجسٹر آؤٹ پٹس کے ذریعے حاصل کیے جاتے ہیں (جیسا کہ کسی بھی اچھے ڈیجیٹل ڈیزائن پریکٹس میں عام ہے)۔ ذیل میں تصویر 10 میں دکھائے گئے ایکٹو پروب مینو سے سگنلز ایک وقت میں ایک منتخب کیے جاتے ہیں۔ منتخب سگنل کی قدروں کو پڑھا جا سکتا ہے اور ایکٹو پروب ڈیٹا ونڈو پر ظاہر کیا جا سکتا ہے۔ کسی بھی غلط دعوے کی آسانی سے شناخت ہو جاتی ہے۔ یہ ٹیسٹ آلہ کو دوبارہ مرتب کرنے اور دوبارہ پروگرام کرنے کی ضرورت کے بغیر فوری طور پر کیا جا سکتا ہے اور یہ ساختی طور پر یا طریقہ کار سے مداخلت کرنے والا نہیں ہے۔ پورے عمل میں صرف چند سیکنڈ لگتے ہیں۔ یہ طریقہ کنٹرول ایبلٹی بھی بنا سکتا ہے (متعدد اقدار کو تبدیل کرنا) جس کی دوسرے دو طریقے اجازت نہیں دیں گے۔ اس خاص میں سابقampلی، ایک رجسٹر کے ذریعے حاصل کردہ ری سیٹ سگنل کو آسانی سے جانچا جا سکتا ہے اور اسے فعال حالت میں رکھنے کے لیے دریافت کیا جا سکتا ہے۔

ری سیٹ سگنل کی لمحہ بہ لمحہ ٹوگلنگ باقی سگنلز پیدا کرنے والے رجسٹر میں غیر مطابقت پذیری سے ہیرا پھیری کرکے حاصل کی جاسکتی ہے۔

Microsemi-In-Circuit-FPGA-Debug- (10)

مزید پیچیدہ ڈیبگ استعمال کیس
مندرجہ بالا ڈیزائن بہت آسان تھا اور بیان کردہ ڈیزائن تکنیک کو استعمال کرنے کے تعارف کے طور پر مفید ہے، لیکن ایک زیادہ پیچیدہ سابقampاس سے بھی زیادہ مثالی ہو سکتا ہے۔ کئی بار دلچسپی کا اشارہ جامد سگنل نہیں ہوتا جیسا کہ ہمارے سادہ سابق میں تھا۔ample لیکن متحرک ہے۔ ایک عام متحرک سگنل ایک درمیانی گھڑی ہے، جو شاید سیریل انٹرفیس کے لیے مصافحہ کے وقت کے لیے استعمال ہوتی ہے۔ چترا 11 صارف سافٹ آئی پی کور کے ساتھ اس طرح کے ڈیزائن کو ظاہر کرتا ہے، اس صورت میں، سسٹم اے پی بی بس سے منسلک ایک حسب ضرورت سیریل انٹرفیس۔ خرابیوں کی علامات یہ ہیں کہ صارفین کے حسب ضرورت سیریل انٹرفیس پر کوئی سرگرمی نہیں ہے، اور یہ کہ جب APB بس ماسٹر سیریل انٹرفیس تک رسائی کے لیے ٹرانزیکشن جاری کرتا ہے تو یہ ایک استثنائی حالت میں چلا جاتا ہے جو کہ غلط مصافحہ کی نشاندہی کرتا ہے۔ ایسا لگتا ہے کہ یہ حالات ایک مستحکم وجہ کو مسترد کرتے ہیں، جیسے کہ ایک غلط ری سیٹ سگنل، کیونکہ ایسا لگتا ہے کہ ٹرانزیکشن اسٹیٹ مشین متوقع شرح پر کام نہیں کر رہی ہے اور اس طرح استثناء کا سبب بنتی ہے۔ بنیادی وجہ صارف IP کور کے اندر گھڑی کی فریکوئنسی جنریٹر سمجھا جاتا ہے۔

اگر یہ درست فریکوئنسی پر نہیں چل رہا ہے تو بیان کردہ غلطیاں پیدا ہوں گی۔

Microsemi-In-Circuit-FPGA-Debug- (11)

اس صورتحال میں ایکٹو پروب اپروچ کو لائیو پروب سے بدلنا شاید ایک بہتر حکمت عملی ہے۔ اس کی مثال اوپر دی گئی شکل میں نارنجی رنگ کے ایل پی باکس کے ذریعے J کا استعمال کرتے ہوئے دی گئی ہے۔TAG تحقیقاتی ذریعہ کے انتخاب کے لیے سگنل۔

بیرونی ٹیسٹ کا سامان
اس معاملے کے لئے، طریقہ کار پہلے بیان کردہ سادہ سابق سے بہت ملتا جلتا ہے۔ample یوزر کلاک سگنل کو ٹیسٹ پوائنٹ پر لایا جاتا ہے (امید ہے کہ ہیڈر پر) اور ایک وقت گزارنے والی دوبارہ کمپائل کی ضرورت ہے۔ یہ ایک حوالہ سگنل لانے میں بھی مددگار ثابت ہو سکتا ہے، شاید ایک سسٹم کلاک جو صارفین کے IP کو موازنے کے سگنل کے طور پر گھڑی کے لیے استعمال کیا جاتا ہے۔ ہمیں دوبارہ مرتب کرنے اور دوبارہ پروگرام کرنے کی ضرورت کا سامنا کرنا پڑے گا تاکہ پورے عمل میں کافی وقت لگ سکے۔

اندرونی منطق کا تجزیہ کرنے والا
یہ معاملہ سادہ سابق سے بہت ملتا جلتا ہے۔ample ILA لازمی طور پر داخل کیا جانا چاہیے، یا مطلوبہ سگنل کی وضاحت کی گئی ہے، اور دوبارہ کمپائل اور دوبارہ پروگرام کا سائیکل چلانا چاہیے۔ تمام پہلے بیان کردہ مسائل اب بھی ایک اہم ڈیبگ سائیکل وقت کے نتیجے میں ہیں۔ تاہم، ایک اضافی پیچیدگی ہے. ILA کو چلانے والی گھڑی کو مطابقت پذیر ہونے کی ضرورت ہے، اور مثالی طور پر صارف کے سافٹ آئی پی کور سے مشاہدہ کی جانے والی گھڑی کے حوالے سے بہت تیز۔ اگر یہ گھڑیاں متضاد ہیں، یا ان میں ٹائمنگ کا صحیح تعلق نہیں ہے، تو ڈیٹا کیپچر غیر متوقع اور ڈیبگ کے عمل کے لیے الجھن کا ایک ممکنہ ذریعہ ہوگا۔
نوٹ کریں کہ اگر صارف سافٹ آئی پی کلاک آن چپ تیار نہیں کرتا ہے (شاید اسے سیریل انٹرفیس سے بازیافت کیا گیا ہے) ڈیزائنر کو اضافی وسائل کا استعمال کرتے ہوئے اور ممکنہ طور پر وقت کی خلاف ورزی کرتے ہوئے ایک تیز ILA گھڑی پیدا کرنے کے لیے کلاک ماڈیول شامل کرنے کی ضرورت پڑ سکتی ہے۔

لائیو تحقیقات
اس طریقے کو استعمال کرتے ہوئے، لائیو پروب کو فوری طور پر صارف کی گھڑی کے ماخذ اور کسی رجسٹر سے گھڑی کے کسی دوسرے ذریعہ کی طرف اشارہ کیا جا سکتا ہے تاکہ غلطی کی اصل وجہ کا پیچھا کیا جا سکے۔ لائیو پروب حقیقی وقت میں منتخب سگنل آؤٹ پٹس کو دکھائے گا اور سگنلز کے درمیان کسی بھی وقت کے تعلق کا تعین کرنا بہت آسان ہے۔ پورے عمل میں صرف چند سیکنڈ لگتے ہیں۔

سیریل انٹرفیس کے لیے دیگر ڈیبگ فیچرز
یہ بتانا بھی ضروری ہے کہ SmartFusion2 SoC FPGA اور IGLOO2 FPGA ڈیوائسز میں ڈیبگ کی بہت سی اضافی صلاحیتیں ہیں جنہیں سیریل انٹرفیس پر استعمال کیا جا سکتا ہے، جیسا کہ پچھلے سابق میں۔ampلی ڈیزائن جہاں غلطیاں اور بھی پیچیدہ ہیں۔ SERDES ڈیبگ، سابق کے لیےample، سرشار تیز رفتار سیریل انٹرفیس کے لیے مخصوص ڈیبگ صلاحیتیں فراہم کرتا ہے۔ SERDES ڈیبگ فیچرز میں سے کچھ میں PMA ٹیسٹ سپورٹ (جیسے PRBS پیٹرن جنریشن اور لوپ بیک ٹیسٹنگ) ایک سے زیادہ SERDES ٹیسٹ کنفیگریشنز کے لیے سپورٹ شامل ہے جس میں رجسٹر لیول ری کنفیگریشن کے ساتھ کنفیگریشن تبدیلیاں کرنے کے لیے مکمل ڈیزائن فلو کے استعمال سے بچنے کے لیے، اور ٹیکسٹ رپورٹس جو کنفیگرڈ پروٹوکول، SERDES کنفیگریشن اور کنفیگریشن رجسٹررز کو دکھاتی ہیں۔ یہ خصوصیات SERDES ڈیبگ کو بہت آسان بناتے ہیں اور پیچیدہ سرکٹس کی مزید تیز رفتار ڈیبگنگ کے لیے Live Probe اور Active Probe کے ساتھ مل کر استعمال کیا جا سکتا ہے۔
پہلے بیان کردہ میموری ڈیبگ ٹول کو تیز رفتار جانچ کے لیے SERDES ڈیبگ کے ساتھ مل کر بھی استعمال کیا جا سکتا ہے۔ چونکہ میموری بفرز کا جلد اور آسانی سے معائنہ کیا جا سکتا ہے اور میموری ڈیبگ کے ساتھ تبدیل کیا جا سکتا ہے، اس لیے جلدی سے 'ٹیسٹ پیکٹ' بنانا اور لوپ بیک یا انٹر سسٹم کمیونیکیشن کے نتائج کا مشاہدہ کرنا ممکن ہے۔ ڈیزائنر ان صلاحیتوں کا فائدہ اٹھا سکتا ہے اور اس طرح خصوصی 'ٹیسٹ ہارنس' کی ضرورت کو کم کر سکتا ہے جو اضافی FPGA تانے بانے استعمال کرتے ہیں اور اس سے چپ کے وقت پر اثر پڑ سکتا ہے۔

نتیجہ
اس مقالے میں FPGAs اور SoC FPGAs کے لیے ان سرکٹ ڈیبگ کو لاگو کرنے کے لیے کئی مختلف طریقوں کو تفصیل سے بیان کیا گیا ہے — ایک انٹیگریٹڈ لاجک اینالائزر کا استعمال، بیرونی ٹیسٹ کے آلات کا استعمال، اور FPGA تانے بانے میں ضم کیے گئے وقف شدہ پروب سرکٹس کا استعمال۔ سپیشلائزڈ اور ڈیڈیکیٹڈ پروب سرکٹس کا اضافہ، جیسا کہ ایکٹیو پروب اور لائیو پروب جو مائیکروسیمی کی طرف سے SmartFusion2 SoC FPGA اور IGLOO2 FPGA ڈیوائسز پر پیش کیے گئے ہیں، ڈیبگ کے عمل کو نمایاں طور پر تیز اور آسان بناتا ہے۔ داخلی سگنلز کے انتخاب میں تیزی سے ترمیم کرنے کی صلاحیت (بغیر بہت زیادہ وقت لینے والے دوبارہ مرتب کرنے اور دوبارہ پروگرام کرنے کی ضرورت کے)، اور اندرونی سگنلز کی جانچ کرنے کی صلاحیت (ایف پی جی اے فیبرک استعمال کرنے اور ممکنہ طور پر وقت کی خلاف ورزیوں کو متعارف کرانے کی ضرورت کے بغیر) کو بڑا فائدہ دکھایا گیا۔tages جب FPGA ڈیزائن کو ڈیبگ کرتے ہیں۔ مزید برآں، متعدد طریقوں کا استعمال، جو کہ ایک ساتھ مل کر کام کر سکتے ہیں ایک اور بھی زیادہ جامع ڈیبگ کی اہلیت فراہم کر سکتے ہیں۔ آخر میں، دو سابقampلی ڈیبگ استعمال کے معاملات بیان کیے گئے طریقوں کے درمیان تجارت کو واضح کرنے کے لیے دیے گئے تھے۔

مزید جاننے کے لیے

  1. IGLOO2 FPGAs
  2. SmartFusion2 SoC FPGAs

Microsemi Corporation (Nasdaq: MSCC) مواصلات، دفاع اور سلامتی، ایرو اسپیس اور صنعتی بازاروں کے لیے سیمی کنڈکٹر اور سسٹم سلوشنز کا ایک جامع پورٹ فولیو پیش کرتا ہے۔ مصنوعات میں اعلی کارکردگی اور تابکاری سے سخت ینالاگ مکسڈ سگنل انٹیگریٹڈ سرکٹس، FPGAs، SoCs اور ASICs شامل ہیں۔ پاور مینجمنٹ مصنوعات؛ ٹائمنگ اور سنکرونائزیشن ڈیوائسز اور وقت کے عین مطابق حل، وقت کے لیے دنیا کا معیار قائم کرنا؛ صوتی پروسیسنگ آلات؛ RF حل؛ مجرد اجزاء؛ سیکورٹی ٹیکنالوجیز اور توسیع پذیر اینٹی ٹیamper مصنوعات؛ پاور اوور ایتھرنیٹ آئی سی اور مڈ اسپینز؛ نیز اپنی مرضی کے مطابق ڈیزائن کی صلاحیتیں اور خدمات۔ Microsemi کا صدر دفتر Aliso Viejo، Calif. میں ہے اور اس کے عالمی سطح پر تقریباً 3,400 ملازمین ہیں۔ پر مزید جانیں۔ www.microsemi.com.

© 2014 مائیکروسیمی کارپوریشن۔ جملہ حقوق محفوظ ہیں. مائیکروسیمی اور مائیکروسیمی لوگو مائیکروسیمی کارپوریشن کے ٹریڈ مارک ہیں۔ دیگر تمام ٹریڈ مارکس اور سروس مارکس ان کے متعلقہ مالکان کی ملکیت ہیں۔

مائیکروسیمی کارپوریٹ ہیڈ کوارٹر

اکثر پوچھے گئے سوالات

  • سوال: ڈیوائس کی زیادہ سے زیادہ ڈیٹا کیپچر فریکوئنسی کتنی ہے؟
    A: ڈیوائس 100MHz تک ڈیٹا کیپچر کو سپورٹ کرتی ہے، جو زیادہ تر ٹارگٹ ڈیزائنز کے لیے موزوں ہے۔
  • سوال: کیا مجھے ڈیبگنگ کے لیے پروب سرکٹس استعمال کرتے وقت ڈیزائن کو دوبارہ مرتب کرنے کی ضرورت ہے؟
    A: نہیں، پروب پوائنٹ کے مقامات کو ڈیزائن ری کمپائلیشن یا ری پروگرامنگ کی ضرورت کے بغیر تیزی سے تبدیل کیا جا سکتا ہے۔

دستاویزات / وسائل

مائیکروسیمی ان سرکٹ FPGA ڈیبگ [پی ڈی ایف] ہدایات
ان سرکٹ FPGA ڈیبگ، FPGA ڈیبگ، ڈیبگ

حوالہ جات

ایک تبصرہ چھوڑیں۔

آپ کا ای میل پتہ شائع نہیں کیا جائے گا۔ مطلوبہ فیلڈز نشان زد ہیں۔ *