مائیکروسیمی لوگواسمارٹ فیوژن 2
DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر
ابتدائی طریقہ کار
یوزر گائیڈ

تعارف

SmartFusion2 ڈیوائس کا استعمال کرتے ہوئے ڈیزائن بناتے وقت، اگر آپ دو DDR کنٹرولرز (FDDR یا MDDR) یا سیریل ہائی اسپیڈ کنٹرولر (SERDESIF) بلاکس میں سے کوئی ایک استعمال کرتے ہیں، تو آپ کو ان بلاکس کے کنفیگریشن رجسٹر کو رن ٹائم سے پہلے شروع کرنا ہوگا۔ وہ استعمال کیا جا سکتا ہے. سابق کے لیےampلی، DDR کنٹرولر کے لیے، آپ کو DDR موڈ (DDR3/DDR2/LPDDR)، PHY چوڑائی، برسٹ موڈ اور ECC سیٹ کرنا چاہیے۔
اسی طرح، PCIe اینڈ پوائنٹ کے طور پر استعمال ہونے والے SERDESIF بلاک کے لیے، آپ کو PCIE BAR کو AXI (یا AHB) ونڈو پر سیٹ کرنا چاہیے۔
یہ دستاویز ایک Libero ڈیزائن بنانے کے لیے ضروری اقدامات کی وضاحت کرتی ہے جو خود بخود DDR کنٹرولر اور SERDESIF بلاکس کو پاور اپ پر شروع کرتا ہے۔ اس میں یہ بھی بتایا گیا ہے کہ Libero SOC سے فرم ویئر کوڈ کیسے بنایا جائے جو ایمبیڈڈ ڈیزائن فلو میں استعمال ہوتا ہے۔
آپریشن کے نظریہ کی تفصیلی وضاحت پہلے فراہم کی جاتی ہے۔
اگلا حصہ بیان کرتا ہے کہ Libero SoC سسٹم بلڈر کا استعمال کرتے ہوئے اس طرح کا ڈیزائن کیسے بنایا جائے، ایک طاقتور ڈیزائن ٹول جو کہ دیگر خصوصیات کے ساتھ ساتھ، آپ کے لیے 'ابتدائی' حل تخلیق کرتا ہے اگر آپ اپنے ڈیزائن میں DDR یا SERDESIF بلاکس استعمال کر رہے ہیں۔
اگلا حصہ بیان کرتا ہے کہ SmartFusion2 سسٹم بلڈر کا استعمال کیے بغیر ایک مکمل 'ابتدائی' حل کو ایک ساتھ کیسے رکھا جائے۔ اس سے یہ بتانے میں مدد ملتی ہے کہ اگر آپ سسٹم بلڈر استعمال نہیں کرنا چاہتے تو کیا کرنے کی ضرورت ہے، اور یہ بھی بتاتا ہے کہ سسٹم بلڈر ٹول آپ کے لیے اصل میں کیا پیدا کرتا ہے۔ اس حصے کا پتہ ہے:

  • DDR کنٹرولر اور SERDESIF کنفیگریشن رجسٹر کے لیے کنفیگریشن ڈیٹا کی تخلیق
  • کنفیگریشن ڈیٹا کو مختلف ASIC کنفیگریشن رجسٹروں میں منتقل کرنے کے لیے FPGA منطق کی تخلیق

آخر میں ہم پیدا کی وضاحت کرتے ہیں fileسے متعلق ہے:

  • فرم ویئر 'ابتدائی' حل کی تخلیق۔
  • DDR 'ابتدائی' حل کے لیے ڈیزائن کا تخروپن۔

DDR کنٹرولر اور SERDESIF کنفیگریشن رجسٹر کے بارے میں تفصیلات کے لیے، ملاحظہ کریں۔ مائیکروسیمی اسمارٹ فیوژن2 ہائی اسپیڈ سیریل اور ڈی ڈی آر انٹرفیس یوزر گائیڈ۔

تھیوری آف آپریشن

پیریفرل ابتدائی حل مندرجہ ذیل اہم اجزاء کا استعمال کرتا ہے:

  • CMSIS SystemInit() فنکشن، جو Cortex-M3 پر چلتا ہے اور ابتداء کے عمل کو ترتیب دیتا ہے۔
  • CoreConfigP نرم IP کور، جو پیری فیرلز کے کنفیگریشن رجسٹروں کو شروع کرتا ہے۔
  • CoreResetP سافٹ آئی پی کور، جو MSS، DDR کنٹرولرز، اور SERDESIF بلاکس کے ری سیٹ ترتیب کو منظم کرتا ہے۔

پردیی ابتداء کا عمل اس طرح کام کرتا ہے:

  1. دوبارہ ترتیب دینے پر، Cortex-M3 CMSIS SystemInit() فنکشن چلاتا ہے۔ یہ فنکشن ایپلی کیشن کے مین() فنکشن کے مکمل ہونے سے پہلے خود بخود عمل میں آ جاتا ہے۔
    CoreResetP آؤٹ پٹ سگنل MSS_HPMS_READY ابتدائی عمل کے آغاز میں زور دیا جاتا ہے، جس سے ظاہر ہوتا ہے کہ MSS اور تمام پیری فیرلز (MDDR کے علاوہ) مواصلت کے لیے تیار ہیں۔
  2. SystemInit() فنکشن MSS FIC_2 APB3 بس کے ذریعے DDR کنٹرولرز اور SERDESIF کنفیگریشن رجسٹروں کو کنفیگریشن ڈیٹا لکھتا ہے۔ یہ انٹرفیس نرم CoreConfigP کور سے جڑا ہوا ہے جو FPGA تانے بانے میں فوری طور پر تیار کیا گیا ہے۔
  3. تمام رجسٹر کنفیگر ہونے کے بعد، SystemInit() فنکشن CoreConfigP کنٹرول رجسٹر کو لکھتا ہے تاکہ رجسٹر کنفیگریشن فیز کی تکمیل کی نشاندہی کی جا سکے۔ CoreConfigP آؤٹ پٹ سگنلز CONFIG1_DONE اور CONIG2_DONE کو پھر زور دیا جاتا ہے۔
    رجسٹر کنفیگریشن کے دو مراحل ہیں (CONFIG1 اور CONFIG2) ڈیزائن میں استعمال ہونے والے پیری فیرلز پر منحصر ہے۔
  4. اگر MDDR/FDDR میں سے ایک یا دونوں استعمال کیے جاتے ہیں، اور SERDESIF بلاکس میں سے کوئی بھی ڈیزائن میں استعمال نہیں کیا جاتا ہے، تو صرف ایک رجسٹر کنفیگریشن مرحلہ ہوتا ہے۔ CoreConfigP آؤٹ پٹ سگنلز CONFIG1_DONE اور CONIG2_DONE دونوں کو بغیر کسی انتظار/تاخیر کے یکے بعد دیگرے زور دیا جاتا ہے۔
    اگر نان PCIe موڈ میں ایک یا زیادہ SERDESIF بلاکس ڈیزائن میں استعمال کیے جاتے ہیں، تو رجسٹر کنفیگریشن کا صرف ایک مرحلہ ہوتا ہے۔ CONFIG1_DONE اور CONIG2_DONE کو بغیر کسی انتظار/تاخیر کے یکے بعد دیگرے زور دیا جاتا ہے۔
    اگر ڈیزائن میں PCIe موڈ میں ایک یا زیادہ SERDESIF بلاکس استعمال کیے جاتے ہیں، تو رجسٹر کنفیگریشن کے دو مراحل ہیں۔ رجسٹر کنفیگریشن کا پہلا مرحلہ مکمل ہونے کے بعد CONFIG1_DONE پر زور دیا جاتا ہے۔ اس مرحلے میں SERDESIF سسٹم اور لین رجسٹر کنفیگر کیے گئے ہیں۔ اگر SERDESIF کو غیر PCIE موڈ میں کنفیگر کیا گیا ہے، تو CONFIG2_DONE سگنل بھی فوری طور پر زور دیا جاتا ہے۔
  5. رجسٹر کنفیگریشن کا دوسرا مرحلہ اس کے بعد آتا ہے (اگر SERDESIF PCIE موڈ میں کنفیگر ہو)۔ دوسرے مرحلے میں پیش آنے والے مختلف واقعات درج ذیل ہیں:
    - CoreResetP PHY_RESET_N اور CORE_RESET_N سگنلز کو ڈی-اسرٹ کرتا ہے جو استعمال کیے گئے SERDESIF بلاکس میں سے ہر ایک سے مطابقت رکھتا ہے۔ تمام SERDESIF بلاکس کے دوبارہ ترتیب سے باہر ہونے کے بعد یہ ایک آؤٹ پٹ سگنل SDIF_RELEASED پر بھی زور دیتا ہے۔ یہ SDIF_RELEASED سگنل CoreConfigP کو یہ بتانے کے لیے استعمال کیا جاتا ہے کہ SERDESIF کور ری سیٹ سے باہر ہے اور رجسٹر کنفیگریشن کے دوسرے مرحلے کے لیے تیار ہے۔
    - SDIF_RELEASED سگنل پر زور دینے کے بعد، SystemInit() فنکشن مناسب SERDESIF لین پر PMA_READY کے دعوے کے لیے پولنگ شروع کر دیتا ہے۔ ایک بار جب PMA_READY پر زور دیا جاتا ہے، تو SERDESIF رجسٹروں کا دوسرا سیٹ (PCIE رجسٹر) SystemInit() فنکشن کے ذریعہ ترتیب دیا جاتا ہے/لکھا جاتا ہے۔
  6. تمام PCIE رجسٹروں کے کنفیگر ہونے کے بعد، SystemInit() فنکشن CoreConfigP کنٹرول رجسٹر کو لکھتا ہے تاکہ رجسٹر کنفیگریشن کے دوسرے مرحلے کی تکمیل کی نشاندہی کی جا سکے۔ CoreConfigP آؤٹ پٹ سگنل CONIG2_DONE پھر زور دیا جاتا ہے۔
  7. مندرجہ بالا سگنل کے دعووں/ڈی-اسٹریشنز کے علاوہ، CoreResetP مندرجہ ذیل کاموں کو انجام دے کر مختلف بلاکس کی شروعات کا انتظام بھی کرتا ہے:
    - ایف ڈی ڈی آر کور ری سیٹ کو ختم کرنا
    - SERDESIF بلاکس PHY اور CORE کو دوبارہ سیٹ کرنا
    - FDDR PLL (FPLL) لاک سگنل کی نگرانی۔ اس بات کی ضمانت کے لیے FPLL کو لاک ہونا چاہیے کہ FDDR AXI/AHBLite ڈیٹا انٹرفیس اور FPGA فیبرک صحیح طریقے سے بات چیت کر سکتے ہیں۔
    - SERDESIF بلاک PLL (SPLL) لاک سگنلز کی نگرانی۔ اس بات کی ضمانت کے لیے SPLL کو لاک ہونا چاہیے کہ SERDESIF بلاکس AXI/AHBLite انٹرفیس (PCIe موڈ) یا XAUI انٹرفیس FPGA فیبرک کے ساتھ مناسب طریقے سے بات چیت کر سکتا ہے۔
    - بیرونی DDR یادوں کے طے ہونے کا انتظار کرنا اور DDR کنٹرولرز تک رسائی کے لیے تیار رہنا۔
  8. جب تمام پیری فیرلز اپنی شروعات مکمل کر لیتے ہیں، CoreResetP INIT_DONE سگنل پر زور دیتا ہے۔ CoreConfigP اندرونی رجسٹر INIT_DONE پھر زور دیا جاتا ہے۔
    اگر MDDR/FDDR میں سے ایک یا دونوں کا استعمال کیا جاتا ہے، اور DDR شروع کرنے کا وقت پہنچ جاتا ہے، CoreResetP آؤٹ پٹ سگنل DDR_READY پر زور دیا جاتا ہے۔ اس سگنل کے دعویٰ DDR_READY کی نگرانی اس اشارے کے طور پر کی جا سکتی ہے کہ DDR (MDDR/FDDR) مواصلت کے لیے تیار ہے۔
    اگر ایک یا زیادہ SERDESIF بلاکس استعمال کیے جاتے ہیں، اور رجسٹر کنفیگریشن کا دوسرا مرحلہ کامیابی کے ساتھ مکمل ہو جاتا ہے، CoreResetP آؤٹ پٹ سگنل SDIF_READY پر زور دیا جاتا ہے۔ اس سگنل SDIF_READY کے دعوے کو اس بات کے اشارے کے طور پر مانیٹر کیا جا سکتا ہے کہ تمام SERDESIF بلاکس مواصلت کے لیے تیار ہیں۔
  9. SystemInit() فنکشن، جو INIT_DONE کے دعویٰ کیے جانے کا انتظار کر رہا تھا، مکمل ہو جاتا ہے، اور ایپلیکیشن کا مین() فنکشن مکمل ہو جاتا ہے۔ اس وقت، تمام استعمال شدہ DDR کنٹرولرز اور SERDESIF بلاکس کو شروع کر دیا گیا ہے، اور فرم ویئر ایپلی کیشن اور FPGA فیبرک لاجک ان کے ساتھ قابل اعتماد طریقے سے بات چیت کر سکتے ہیں۔

اس دستاویز میں بیان کردہ طریقہ کار Cortex-M3 پر انحصار کرتا ہے جو ایپلیکیشن کے مین() فنکشن سے پہلے سسٹم انیشیلائزیشن کوڈ کے حصے کے طور پر ابتدائی عمل کو انجام دیتا ہے۔
FDDR/MDDR، SEREDES (غیر PCIe موڈ) اور SERDES (PCIe موڈ) کے ابتدائی مراحل کے لیے شکل 1-1، شکل 1-2 اور شکل 1-3 میں فلو چارٹس دیکھیں۔
شکل 1-4 ایک پیریفرل انیشیلائزیشن ٹائمنگ ڈایاگرام دکھاتا ہے۔

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - ٹائمنگ ڈایاگرام 1 Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - ٹائمنگ ڈایاگرام 2

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - ٹائمنگ ڈایاگرام 3Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - ٹائمنگ ڈایاگرام 4شکل 1-3 • SERDESIF (PCIe) ابتدائی فلو چارٹ
اس دستاویز میں بیان کردہ ابتدائی طریقہ کار کے لیے آپ کو Cortex-M3 کو شروع کرنے کے عمل کے دوران چلانے کی ضرورت ہے، چاہے آپ Cortex-M3 پر کوئی کوڈ چلانے کا منصوبہ نہیں بنا رہے ہوں۔ آپ کو ایک بنیادی فرم ویئر ایپلی کیشن بنانا چاہیے جو کچھ نہ کرے (ایک سادہ لوپ، مثال کے طور پرample) اور لوڈ کریں جو ایمبیڈڈ نان وولیٹائل میموری (eNVM) میں قابل عمل ہو تاکہ Cortex-M3 کے بوٹ ہونے پر DDR کنٹرولرز اور SERDESIF بلاکس کو شروع کیا جائے۔

DDR اور SERDESIF بلاکس کا استعمال کرتے ہوئے ڈیزائن بنانے کے لیے سسٹم بلڈر کا استعمال

SmartFusion2 سسٹم بلڈر ایک طاقتور ڈیزائن ٹول ہے جو آپ کو آپ کے سسٹم لیول کی ضروریات کو حاصل کرنے میں مدد کرتا ہے اور ان ضروریات کو لاگو کرنے والا ڈیزائن تیار کرتا ہے۔ سسٹم بلڈر کا ایک بہت اہم کام پیریفرل انیشیلائزیشن سب سسٹم کی خودکار تخلیق ہے۔ صفحہ 17 پر "DDR اور SERDESIF بلاکس کا استعمال کرتے ہوئے ڈیزائن بنانے کے لیے SmartDesign کا استعمال" تفصیل سے بیان کرتا ہے کہ سسٹم بلڈر کے بغیر ایسا حل کیسے بنایا جائے۔
اگر آپ سسٹم بلڈر استعمال کر رہے ہیں، تو آپ کو ایک ایسا ڈیزائن بنانے کے لیے درج ذیل کام کرنا ہوں گے جو آپ کے DDR کنٹرولرز اور SERDESIF بلاکس کو پاور اپ پر شروع کرے۔

  1. ڈیوائس فیچرز کے صفحہ (شکل 2-1) میں، وضاحت کریں کہ کون سے DDR کنٹرولرز استعمال کیے گئے ہیں اور آپ کے ڈیزائن میں کتنے SERDESIF بلاکس استعمال کیے گئے ہیں۔
  2. میموری کے صفحے میں، DDR کی قسم (DDR2/DDR3/LPDDR) اور اپنی بیرونی DDR یادوں کے لیے کنفیگریشن ڈیٹا کی وضاحت کریں۔ تفصیلات کے لیے میموری پیج سیکشن دیکھیں۔
  3. پیری فیرلز صفحہ میں، فیبرک DDR سب سسٹم اور/یا MSS DDR FIC سب سسٹم (اختیاری) میں AHBLite/AXI کے بطور کنفیگر کردہ فیبرک ماسٹرز شامل کریں۔
  4. گھڑی کی ترتیبات کے صفحہ میں، DDR ذیلی نظاموں کے لیے گھڑی کی تعدد کی وضاحت کریں۔
  5. اپنے ڈیزائن کی تفصیلات کو مکمل کریں اور ختم پر کلک کریں۔ یہ سسٹم بلڈر کا تخلیق کردہ ڈیزائن تیار کرتا ہے، بشمول 'ابتدائی' حل کے لیے ضروری منطق۔
  6. اگر آپ SERDESIF بلاکس استعمال کر رہے ہیں، تو آپ کو اپنے ڈیزائن میں SERDESIF بلاکس کو انسٹیٹیوٹ کرنا چاہیے اور ان کی ابتدائی بندرگاہوں کو سسٹم بلڈر کے تیار کردہ کور سے جوڑنا چاہیے۔

سسٹم بلڈر ڈیوائس کی خصوصیات کا صفحہ
ڈیوائس فیچرز کے صفحہ میں، وضاحت کریں کہ کون سے DDR کنٹرولرز (MDDR اور/یا FDDR) استعمال کیے گئے ہیں اور آپ کے ڈیزائن میں کتنے SERDESIF بلاکس استعمال کیے گئے ہیں (شکل 2-1)۔

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - ڈیوائس کی خصوصیات کا صفحہشکل 2-1 • سسٹم بلڈر ڈیوائس کی خصوصیات کا صفحہ

سسٹم بلڈر میموری پیج
MSS DDR (MDDR) یا Fabric DDR (FDDR) استعمال کرنے کے لیے، ڈراپ ڈاؤن فہرست سے میموری کی قسم منتخب کریں (شکل 2-2)۔

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - بیرونی میموریشکل 2-2 • MSS بیرونی میموری

آپ کو چاہیے:

  1. DDR قسم (DDR2، DDR3 یا LPDDR) منتخب کریں۔
  2. ڈی ڈی آر میموری سیٹلنگ ٹائم کی وضاحت کریں۔ صحیح میموری سیٹنگ ٹائم سیٹ کرنے کے لیے اپنی بیرونی DDR میموری کی تفصیلات سے مشورہ کریں۔ DDR میموری درست طریقے سے شروع کرنے میں ناکام ہو سکتی ہے اگر میموری سیٹلنگ کا وقت درست طریقے سے سیٹ نہیں کیا گیا ہے۔
  3. یا تو DDR رجسٹر کنفیگریشن ڈیٹا درآمد کریں یا اپنے DDR میموری کے پیرامیٹرز سیٹ کریں۔ تفصیلات کے لیے، سے رجوع کریں۔ مائیکروسیمی اسمارٹ فیوژن2 ہائی اسپیڈ سیریل اور ڈی ڈی آر انٹرفیس یوزر گائیڈ.

یہ ڈیٹا DDR رجسٹر BFM اور فرم ویئر کنفیگریشن بنانے کے لیے استعمال ہوتا ہے۔ fileجیسا کہ صفحہ 26 اور "BFM" پر "فرم ویئر ایپلیکیشن بنانا اور مرتب کرنا" میں بیان کیا گیا ہے۔ Fileصفحہ 27 پر ڈیزائن کی نقل کے لیے استعمال کیا جاتا ہے۔ DDR کنٹرولر کنفیگریشن رجسٹروں کی تفصیلات کے لیے، ملاحظہ کریں۔ مائیکروسیمی اسمارٹ فیوژن2 ہائی اسپیڈ سیریل اور ڈی ڈی آر انٹرفیس یوزر گائیڈ۔
ایک سابقampترتیب کے لی file نحو کو شکل 2-3 میں دکھایا گیا ہے۔ اس میں استعمال ہونے والے رجسٹر کے نام file وہی ہیں جو میں بیان کیا گیا ہے۔ مائیکروسیمی اسمارٹ فیوژن2 ہائی اسپیڈ سیریل اور ڈی ڈی آر انٹرفیس یوزر گائیڈ

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - File نحو Exampleشکل 2-3 • کنفیگریشن File نحو Example
سسٹم بلڈر پیری فیرلز صفحہ
پیری فیرلز پیج میں، ہر DDR کنٹرولر کے لیے ایک الگ سب سسٹم بنایا جاتا ہے (FDDR کے لیے فیبرک DDR سب سسٹم اور MDDR کے لیے MSS DDR FIC سب سسٹم)۔ آپ DDR کنٹرولرز تک فیبرک ماسٹر کی رسائی کو فعال کرنے کے لیے ان میں سے ہر ایک سب سسٹم میں فیبرک AMBA ماسٹر (AXI/AHBLite کے بطور کنفیگر کردہ) کور شامل کر سکتے ہیں۔ جنریشن کے بعد، سسٹم بلڈر خود بخود بس کورز کو انسٹینٹیٹ کرتا ہے (جو AMBA ماسٹر کی قسم پر منحصر ہے) اور بس کور کے ماسٹر BIF اور کلاک اور متعلقہ سب سسٹمز (FDDR/MDDR) کے پنوں کو مناسب پن گروپس کے تحت ری سیٹ کرتا ہے۔ سب سے اوپر آپ کو صرف یہ کرنا ہے کہ BIFs کو مناسب فیبرک ماسٹر کور سے جوڑنا ہے جسے آپ ڈیزائن میں انسٹیٹیوٹ کریں گے۔ MDDR کے معاملے میں، MSS DDR FIC سب سسٹم میں فیبرک AMBA ماسٹر کور شامل کرنا اختیاری ہے۔ Cortex-M3 اس سب سسٹم پر ڈیفالٹ ماسٹر ہے۔ شکل 2-4 سسٹم بلڈر پیری فیرلز کا صفحہ دکھاتا ہے۔

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - بلڈر پیری فیرلز صفحہشکل 2-4 • سسٹم بلڈر پیری فیرلز صفحہ

سسٹم بلڈر گھڑی کی ترتیبات کا صفحہ
گھڑی کی ترتیبات کے صفحہ میں، ہر DDR کنٹرولر کے لیے، آپ کو ہر DDR (MDDR اور/یا FDDR) ذیلی نظام سے متعلق گھڑی کی تعدد کی وضاحت کرنی چاہیے۔
MDDR کے لیے، آپ کو یہ بتانا ضروری ہے:

  • MDDR_CLK - یہ گھڑی DDR کنٹرولر کی آپریٹنگ فریکوئنسی کا تعین کرتی ہے اور اسے گھڑی کی فریکوئنسی سے مماثل ہونا چاہیے جس پر آپ چاہتے ہیں کہ آپ کی بیرونی DDR میموری چلے۔ اس گھڑی کی تعریف M3_CLK (Cortex-M3 اور MSS مین کلاک، شکل 2-5) کے کثیر کے طور پر کی گئی ہے۔ MDDR_CLK 333 MHz سے کم ہونا چاہیے۔
  • DDR_FIC_CLK - اگر آپ نے FPGA کپڑے سے MDDR تک رسائی کا انتخاب کیا ہے، تو آپ کو DDR_FIC_CLK کی وضاحت کرنے کی ضرورت ہے۔ اس گھڑی کی فریکوئنسی کو MDDR_CLK کے تناسب کے طور پر بیان کیا گیا ہے اور اسے اس فریکوئنسی سے مماثل ہونا چاہیے جس پر MDDR تک رسائی حاصل کرنے والا FPGA فیبرک سب سسٹم چل رہا ہے۔

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - MDDR گھڑیاںشکل 2-5 • Cortex-M3 اور MSS مین کلاک؛ MDDR گھڑیاں

FDDR کے لیے، آپ کو یہ بتانا ضروری ہے:

  • FDDR_CLK - DDR کنٹرولر کی آپریٹنگ فریکوئنسی کا تعین کرتا ہے اور اسے گھڑی کی فریکوئنسی سے مماثل ہونا چاہئے جس پر آپ اپنی بیرونی DDR میموری کو چلنا چاہتے ہیں۔ نوٹ کریں کہ اس گھڑی کی تعریف M3_CLK (MSS اور Cortex-M3 گھڑی، شکل 2-5) کے ملٹیپل کے طور پر کی گئی ہے۔ FDDR_CLK 20 MHz اور 333 MHz کے اندر ہونا چاہیے۔
  • FDDR_SUBSYSTEM_CLK - یہ گھڑی کی فریکوئنسی FDDR_CLK کے تناسب کے طور پر بیان کی گئی ہے اور اس فریکوئنسی سے مماثل ہونی چاہیے جس پر FDDR تک رسائی حاصل کرنے والا FPGA فیبرک سب سسٹم چل رہا ہے۔

مائیکروسیمی اسمارٹ فیوژن2 ڈی ڈی آر کنٹرولر اور سیریل ہائی اسپیڈ کنٹرولر - فیبرک ڈی ڈی آر گھڑیاںشکل 2-6 • فیبرک DDR گھڑیاں
SERDESIF کنفیگریشن
سسٹم بلڈر کے تیار کردہ ڈیزائن میں SERDESIF بلاکس کو فوری نہیں کیا گیا ہے۔ تاہم، تمام SERDESIF بلاکس کے لیے، ابتدائی سگنل سسٹم بلڈر کور کے انٹرفیس پر دستیاب ہیں اور درجہ بندی کی اگلی سطح پر SERDESIF کور سے منسلک ہو سکتے ہیں، جیسا کہ شکل 2-7 میں دکھایا گیا ہے۔مائیکروسیمی اسمارٹ فیوژن2 ڈی ڈی آر کنٹرولر اور سیریل ہائی اسپیڈ کنٹرولر - پیریفرل انیشیلائزیشن کنیکٹیویٹیشکل 2-7 • SERDESIF پیریفرل انیشیلائزیشن کنیکٹیویٹی
DDR کنفیگریشن رجسٹروں کی طرح، ہر SERDES بلاک میں بھی کنفیگریشن رجسٹر ہوتے ہیں جنہیں رن ٹائم پر لوڈ کرنا ضروری ہے۔ آپ اپنے PCIe یا EPCS پیرامیٹرز کو درج کرنے کے لیے یا تو ان رجسٹر ویلیوز کو درآمد کر سکتے ہیں یا ہائی سپیڈ سیریل انٹرفیس کنفیگریٹر (شکل 2-8) کا استعمال کر سکتے ہیں اور رجسٹر کی قدریں خود بخود آپ کے لیے شمار کی جاتی ہیں۔ تفصیلات کے لیے، سے رجوع کریں۔ SERDES کنفیگریٹر یوزر گائیڈ.Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - سیریل انٹرفیس کنفیگریٹرتصویر 2-8 • تیز رفتار سیریل انٹرفیس کنفیگریٹر
ایک بار جب آپ اپنے صارف کی منطق کو سسٹم بلڈر بلاک اور SERDES بلاک کے ساتھ مربوط کر لیتے ہیں، تو آپ اپنا اعلیٰ سطح کا SmartDesign تیار کر سکتے ہیں۔ یہ تمام ایچ ڈی ایل اور بی ایف ایم پیدا کرتا ہے۔ files جو آپ کے ڈیزائن کو نافذ کرنے اور ان کی نقل کرنے کے لیے ضروری ہیں۔ اس کے بعد آپ باقی ڈیزائن فلو کے ساتھ آگے بڑھ سکتے ہیں۔

DDR اور SERDESIF بلاکس کا استعمال کرتے ہوئے ڈیزائن بنانے کے لیے SmartDesign کا استعمال

یہ سیکشن بیان کرتا ہے کہ SmartFusion2 سسٹم بلڈر کا استعمال کیے بغیر مکمل 'ابتدائی' حل کو ایک ساتھ کیسے رکھا جائے۔ مقصد آپ کو یہ سمجھنے میں مدد کرنا ہے کہ اگر آپ سسٹم بلڈر استعمال نہیں کرنا چاہتے ہیں تو آپ کو کیا کرنا چاہیے۔ یہ سیکشن یہ بھی بتاتا ہے کہ سسٹم بلڈر ٹول دراصل آپ کے لیے کیا پیدا کرتا ہے۔ یہ سیکشن بیان کرتا ہے کہ کیسے:

  • DDR کنٹرولر اور SERDESIF کنفیگریشن رجسٹر کے لیے کنفیگریشن ڈیٹا داخل کریں۔
  • DDR کنٹرولرز اور SERDESIF کنفیگریشن رجسٹروں میں کنفیگریشن ڈیٹا کی منتقلی کے لیے درکار فیبرک کور کو فوری اور مربوط کریں۔

ڈی ڈی آر کنٹرولر کنفیگریشن
MSS DDR (MDDR) اور Fabric DDR (FDDR) کنٹرولرز کو متحرک طور پر (رن ٹائم کے وقت) بیرونی DDR میموری کنفیگریشن کی ضروریات (DDR موڈ، PHY چوڑائی، برسٹ موڈ، ECC، وغیرہ) سے مماثل ہونا چاہیے۔ MDDR/FDDR کنفیگریٹر میں درج کردہ ڈیٹا CMSIS SystemInit() فنکشن کے ذریعے DDR کنٹرولر کنفیگریشن رجسٹر میں لکھا جاتا ہے۔ کنفیگریٹر کے پاس مختلف قسم کے کنفیگریشن ڈیٹا داخل کرنے کے لیے تین مختلف ٹیبز ہیں:

  • عمومی ڈیٹا (DDR موڈ، ڈیٹا کی چوڑائی، گھڑی کی فریکوئنسی، ECC، فیبرک انٹرفیس، ڈرائیو کی طاقت)
  • میموری انیشیلائزیشن ڈیٹا (برسٹ لینتھ، برسٹ آرڈر، ٹائمنگ موڈ، لیٹنسی وغیرہ)
  • میموری ٹائمنگ ڈیٹا

اپنی بیرونی DDR میموری کی وضاحتیں دیکھیں اور DDR کنٹرولر کو ترتیب دیں تاکہ آپ کی بیرونی DDR میموری کی ضروریات کو پورا کیا جا سکے۔
DDR کنفیگریشن کے بارے میں تفصیلات کے لیے، دیکھیں SmartFusion2 MSS DDR کنفیگریشن یوزر گائیڈ۔
SERDESIF کنفیگریشن
SERDES کو ترتیب دینے کے لیے کنفیگریٹر کو کھولنے کے لیے SmartDesign کینوس میں SERDES بلاک پر ڈبل کلک کریں (شکل 3-1)۔ آپ یا تو ان رجسٹر ویلیوز کو درآمد کر سکتے ہیں یا اپنے PCIe یا EPCS پیرامیٹرز کو داخل کرنے کے لیے SERDES کنفیگریٹر کا استعمال کر سکتے ہیں اور آپ کے لیے رجسٹر کی اقدار خود بخود شمار ہو جاتی ہیں۔ تفصیلات کے لیے، سے رجوع کریں۔ SERDES کنفیگریٹر یوزر گائیڈ.Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - ہائی سپیڈ سیریل انٹرفیس کنفیگریٹرتصویر 3-1 • تیز رفتار سیریل انٹرفیس کنفیگریٹر
FPGA ڈیزائن انیشیلائزیشن سب سسٹم بنانا
DDR اور SERDESIF بلاکس کو شروع کرنے کے لیے، آپ کو FPGA تانے بانے میں ابتدائی سب سسٹم بنانا ہوگا۔ FPGA فیبرک انیشیلائزیشن سب سسٹم ڈیٹا کو Cortex-M3 سے DDR اور SERDESIF کنفیگریشن رجسٹروں میں منتقل کرتا ہے، ان بلاکس کے آپریشنل ہونے کے لیے درکار ری سیٹ سیکونسز کا انتظام کرتا ہے اور سگنل دیتا ہے جب یہ بلاکس آپ کے باقی ڈیزائن کے ساتھ بات چیت کرنے کے لیے تیار ہوں۔ ابتدائی سب سسٹم بنانے کے لیے، آپ کو:

  • MSS کے اندر FIC_2 کو ترتیب دیں۔
  • CoreConfigP اور CoreResetP کور کو فوری اور کنفیگر کریں۔
  • آن-چپ 25/50MHz RC آسکیلیٹر کو فوری بنائیں
  • سسٹم ری سیٹ (SYSRESET) میکرو کو فوری بنائیں
  • ان اجزاء کو ہر پیریفرل کے کنفیگریشن انٹرفیس، گھڑیوں، ری سیٹس اور PLL لاک پورٹس سے جوڑیں۔

MSS FIC_2 APB کنفیگریشن
MSS FIC_2 کو ترتیب دینے کے لیے:

  1. MSS کنفیگریٹر سے FIC_2 کنفیگریٹر ڈائیلاگ باکس کھولیں (شکل 3-2)۔
  2. Cortex-M3 کا استعمال کرتے ہوئے پیری فیرلز کو شروع کریں کو منتخب کریں۔
  3. آپ کے سسٹم پر منحصر ہے، درج ذیل میں سے ایک یا دونوں چیک باکسز کو چیک کریں:
    - MSS DDR
    - فیبرک DDR اور/یا SERDES بلاکس
  4. ٹھیک ہے پر کلک کریں اور MSS بنانے کے لیے آگے بڑھیں (آپ اس کارروائی کو اس وقت تک موخر کر سکتے ہیں جب تک کہ آپ MSS کو اپنی ڈیزائن کی ضروریات کے مطابق مکمل طور پر کنفیگر نہیں کر لیتے)۔ FIC_2 بندرگاہیں (FIC_2_APB_MASTER، FIC_2_APB_M_PCLK اور FIC_2_APB_M_RESET_N) اب MSS انٹرفیس پر سامنے آئی ہیں اور CoreConfigP اور CoreResetP cores سے منسلک ہو سکتی ہیں۔

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - MSS FIC 2 کنفیگریٹرشکل 3-2 • MSS FIC_2 کنفیگریٹر

CoreConfigP
CoreConfigP کو ترتیب دینے کے لیے:

  1. CoreConfigP کو اپنے SmartDesign میں فوری بنائیں (عام طور پر وہ جہاں MSS فوری کیا جاتا ہے)۔
    یہ کور Libero کیٹلاگ (Periferals کے تحت) میں پایا جا سکتا ہے۔
  2. کنفیگریٹر کو کھولنے کے لیے کور پر ڈبل کلک کریں۔
  3. یہ بتانے کے لیے کور کو کنفیگر کریں کہ کون سے پیری فیرلز کو شروع کرنے کی ضرورت ہے (شکل 3-3)

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - ڈائیلاگ باکسشکل 3-3 • CoreConfigP ڈائیلاگ باکس

CoreResetP
CoreResetP کو ترتیب دینے کے لیے:

  1. CoreResetP کو اپنے SmartDesign میں فوری بنائیں (عام طور پر وہ جہاں MSS کو فوری بنایا جاتا ہے)۔
    یہ کور پیری فیرلز کے تحت Libero کیٹلاگ میں پایا جا سکتا ہے۔
  2. کنفیگریٹر کو کھولنے کے لیے SmartDesign Canvas کے اندر کور پر ڈبل کلک کریں (شکل 3-4)۔
  3. کور کو ترتیب دیں:
    - بیرونی ری سیٹ رویے کی وضاحت کریں (EXT_RESET_OUT زور دیا گیا)۔ چار اختیارات میں سے ایک کا انتخاب کریں:
    o EXT_RESET_OUT کبھی بھی دعوی نہیں کیا جاتا ہے۔
    o EXT_RESET_OUT زور دیا جاتا ہے اگر پاور اپ ری سیٹ (POWER_ON_RESET_N) پر زور دیا جاتا ہے
    o EXT_RESET_OUT کا دعوی کیا جاتا ہے اگر FAB_RESET_N کا دعوی کیا جاتا ہے
    o اگر پاور اپ ری سیٹ (POWER_ON_RESET_N) یا FAB_RESET_N پر زور دیا جاتا ہے تو EXT_RESET_OUT پر زور دیا جاتا ہے۔
    - ڈیوائس والیوم کی وضاحت کریں۔tage منتخب کردہ قدر والیوم سے مماثل ہونی چاہیے۔tage آپ نے Libero پروجیکٹ سیٹنگز ڈائیلاگ باکس میں منتخب کیا۔
    - یہ بتانے کے لیے مناسب چیک باکسز کو چیک کریں کہ آپ اپنے ڈیزائن میں کون سے پیری فیرلز استعمال کر رہے ہیں۔
    - بیرونی DDR میموری سیٹنگ کا وقت بتائیں۔ یہ آپ کی درخواست (MDDR اور FDDR) میں استعمال ہونے والی تمام DDR یادوں کی زیادہ سے زیادہ قیمت ہے۔ اس پیرامیٹر کو کنفیگر کرنے کے لیے بیرونی DDR میموری وینڈر ڈیٹا شیٹ سے رجوع کریں۔ 200us 2MHz پر چلنے والی DDR3 اور DDR200 یادوں کے لیے ایک اچھی ڈیفالٹ ویلیو ہے۔ سلیکون پر ورکنگ سمولیشن اور ورکنگ سسٹم کی ضمانت کے لیے یہ ایک بہت اہم پیرامیٹر ہے۔ سیٹلنگ ٹائم کے لیے غلط ویلیو کے نتیجے میں نقلی غلطیاں ہو سکتی ہیں۔ اس پیرامیٹر کو ترتیب دینے کے لیے DDR میموری وینڈر ڈیٹا شیٹ سے رجوع کریں۔
    - آپ کے ڈیزائن میں ہر ایک SERDES بلاک کے لیے، یہ بتانے کے لیے مناسب خانوں کو چیک کریں کہ آیا:
    o PCIe استعمال کیا جاتا ہے۔
    o PCIe ہاٹ ری سیٹ کے لیے سپورٹ درکار ہے۔
    o PCIe L2/P2 کے لیے سپورٹ درکار ہے۔

نوٹ: اگر آپ 090 die(M2S090) استعمال کر رہے ہیں اور آپ کے ڈیزائن میں SERDESIF استعمال کیا گیا ہے، تو آپ کو درج ذیل میں سے کسی بھی چیک باکس کو چیک کرنے کی ضرورت نہیں ہے: 'PCIe کے لیے استعمال کیا گیا'، 'PCIe HotReset سپورٹ شامل کریں' اور 'PCIe L2/P2 سپورٹ شامل کریں'۔ اگر آپ کوئی غیر 090 ڈیوائس استعمال کر رہے ہیں اور ایک یا زیادہ SERDESIF بلاکس استعمال کر رہے ہیں، تو آپ کو مناسب SERDESIF سیکشن کے تحت چاروں چیک باکسز کو چیک کرنا ہوگا۔
نوٹ: اس کنفیگریٹر میں آپ کے لیے دستیاب اختیارات کی تفصیلات کے لیے، CoreResetP ہینڈ بک سے رجوع کریں۔

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - CoreResetPConfiguratorشکل 3-4 • CoreResetPConfigurator

25/50MHz Oscillator Instantiation
CoreConfigP اور CoreResetP کو آن چپ 25/50MHz RC آسیلیٹر کے ذریعے بند کیا گیا ہے۔ آپ کو ایک 25/50MHz Oscillator کو فوری بنانا چاہیے اور اسے ان کوروں سے جوڑنا چاہیے۔

  1. چپ آسکیلیٹر کور کو اپنے اسمارٹ ڈیزائن میں انسٹینٹیٹ کریں (عام طور پر وہ جگہ جہاں MSS کو انسٹیٹیوٹ کیا جاتا ہے)۔ یہ کور کلاک اینڈ مینجمنٹ کے تحت لائبیرو کیٹلاگ میں پایا جا سکتا ہے۔
  2. اس کور کو اس طرح ترتیب دیں کہ RC آسکیلیٹر FPGA فیبرک کو چلاتا ہے، جیسا کہ شکل 3-5 میں دکھایا گیا ہے۔

مائیکروسیمی اسمارٹ فیوژن 2 ڈی ڈی آر کنٹرولر اور سیریل ہائی اسپیڈ کنٹرولر - آسیلیٹرز کنفیگریٹرشکل 3-5 • چپ آسکیلیٹرس کنفیگریٹر

سسٹم ری سیٹ (SYSRESET) انسٹی ٹیشن
SYSRESET میکرو آپ کے ڈیزائن میں ڈیوائس لیول ری سیٹ کی فعالیت فراہم کرتا ہے۔ POWER_ON_RESET_N آؤٹ پٹ سگنل پر زور دیا جاتا ہے جب بھی چپ کو پاور اپ کیا جاتا ہے یا بیرونی پن DEVRST_N اسسٹڈ/ڈی-ایسسٹ کیا جاتا ہے (شکل 3-6)۔
SYSRESET میکرو کو اپنے SmartDesign میں انسٹیٹیوٹ کریں (عام طور پر وہ جہاں MSS انسٹیٹیوٹ ہوتا ہے)۔ یہ میکرو میکرو لائبریری کے تحت Libero کیٹلاگ میں پایا جا سکتا ہے۔ اس میکرو کی کوئی ترتیب ضروری نہیں ہے۔

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - SYSRESET میکروشکل 3-6 • SYSRESET میکرو

مجموعی رابطہ
اپنے ڈیزائن میں MSS، FDDR، SERDESIF، OSC، SYSRESET، CoreConfigP اور CoreResetP کور کو فوری اور ترتیب دینے کے بعد، آپ کو پیریفرل انیشیلائزیشن سب سسٹم بنانے کے لیے ان کو جوڑنے کی ضرورت ہے۔ اس دستاویز میں کنیکٹیویٹی کی تفصیل کو آسان بنانے کے لیے، اسے CoreConfigP اور CoreResetP متعلقہ کنکشنز سے وابستہ APB3 کمپلینٹ کنفیگریشن ڈیٹا پاتھ کنیکٹیویٹی میں توڑ دیا گیا ہے۔
کنفیگریشن ڈیٹا پاتھ کنیکٹیویٹی
شکل 3-7 دکھاتا ہے کہ CoreConfigP کو MSS FIC_2 سگنلز اور پیری فیرلز کے APB3 کے مطابق کنفیگریشن انٹرفیس سے کیسے جوڑنا ہے۔
جدول 3-1 • کنفیگریشن ڈیٹا پاتھ پورٹ/BIF کنکشنز

سے
پورٹ/بس انٹرفیس
(BIF)/ اجزاء
TO
پورٹ/بس انٹرفیس (BIF)/جزاء
APB S PRESET N/ CoreConfigP اے پی بی ایس پری سیٹ N/ SDIF<0/1/2/3> اے پی بی ایس پری سیٹ این/
ایف ڈی ڈی آر
MDDR APB S Prese TN/MSS
APB S PCLK/ CoreConfigP APB S PCLK/SDIF APB S PCLK/FDDR ایم ڈی ڈی آر اے پی بی ایس پولک / ایم ایس ایس
MDDR APBmslave/ CoreConfig MDDR APB غلام (BIF)/MSS
SDIF<0/1/2/ 3> APBmslave/Config APB SLAVE (BIF)/ SDIF<0/1/2/3>
FDDR APBmslave اے پی بی سلیو (بی آئی ایف) / ایف ڈی ڈی آر
FIC 2 APBmmaster/ CoreConfigP ایف آئی سی 2 اے پی بی ماسٹر/ ایم ایس ایس

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - سب سسٹم کنیکٹیویٹیشکل 3-7 • FIC_2 APB3 سب سسٹم کنیکٹیویٹی

گھڑیاں اور کنیکٹیویٹی کو ری سیٹ کرتا ہے۔
شکل 3-8 ظاہر کرتا ہے کہ CoreResetP کو بیرونی ری سیٹ ذرائع اور پیری فیرلز کے کور ری سیٹ سگنلز سے کیسے جوڑنا ہے۔ یہ یہ بھی دکھاتا ہے کہ CoreResetP کو پیری فیرلز کے کلاک سنکرونائزیشن اسٹیٹس سگنلز (PLL لاک سگنلز) سے کیسے جوڑنا ہے۔ اس کے علاوہ، یہ ظاہر کرتا ہے کہ CoreConfigP اور CoreResetP کیسے جڑے ہوئے ہیں۔

Microsemi SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر - سب سسٹم کنیکٹیویٹی 2شکل 3-8 • کور SF2 ری سیٹ سب سسٹم کنیکٹیویٹی

فرم ویئر ایپلیکیشن بنانا اور مرتب کرنا

جب آپ LiberoSoC (ڈیزائن فلو ونڈو> ایکسپورٹ فرم ویئر> ایکسپورٹ فرم ویئر) سے فرم ویئر برآمد کرتے ہیں، تو Libero درج ذیل کو تیار کرتا ہے۔ fileمیں s /firmware/drivers_config/ sys_config فولڈر:

  • sys_config.c - اعداد و شمار کے ڈھانچے پر مشتمل ہے جو پردیی رجسٹروں کے لئے اقدار رکھتا ہے.
  • sys_config.h - اس میں #define بیانات شامل ہیں جو یہ بتاتے ہیں کہ ڈیزائن میں کون سے پیری فیرلز استعمال کیے گئے ہیں اور ان کو شروع کرنے کی ضرورت ہے۔
  • sys_config_mddr_define.h - رجسٹر کنفیگریشن ڈائیلاگ باکس میں داخل کردہ MDDR کنٹرولر کنفیگریشن ڈیٹا پر مشتمل ہے۔
  • sys_config_fddr_define.h - رجسٹر کنفیگریشن ڈائیلاگ باکس میں درج FDDR کنٹرولر کنفیگریشن ڈیٹا پر مشتمل ہے۔
  • sys_config_mss_clocks.h - یہ file MSS CCC کنفیگریٹر میں بیان کردہ MSS گھڑی کی تعدد پر مشتمل ہے۔ یہ تعدد CMSIS کوڈ کے ذریعے بہت سے MSS ڈرائیوروں کو گھڑی کی درست معلومات فراہم کرنے کے لیے استعمال کیا جاتا ہے جن کے پاس اپنی پیریفرل کلاک (PCLK) فریکوئنسی تک رسائی ہونی چاہیے (مثال کے طور پر، MSS UART باؤڈ ریٹ تقسیم کرنے والے بوڈ ریٹ اور PCLK فریکوئنسی کا ایک فنکشن ہیں۔ )۔
  • sys_config_SERDESIF_ .c - SERDESIF_ پر مشتمل ہے SERDESIF_ کے دوران فراہم کردہ کنفیگریشن ڈیٹا رجسٹر کریں ڈیزائن تخلیق میں بلاک کنفیگریشن۔
  • sys_config_SERDESIF_ .h - #define اسٹیٹمنٹس پر مشتمل ہے جو رجسٹر کنفیگریشن جوڑوں کی تعداد اور لین نمبر کی وضاحت کرتا ہے جسے PMA_READY (صرف PCIe موڈ میں) کے لیے پول کرنے کی ضرورت ہے۔

یہ fileCMSIS کوڈ کے لیے ضروری ہے کہ وہ مناسب طریقے سے مرتب کرے اور آپ کے موجودہ ڈیزائن سے متعلق معلومات پر مشتمل ہو، بشمول پیریفرل کنفیگریشن ڈیٹا اور MSS کے لیے گھڑی کی ترتیب کی معلومات۔
ان میں ترمیم نہ کریں۔ files دستی طور پر؛ جب بھی متعلقہ پیری فیرلز پر مشتمل SmartDesign اجزاء تیار ہوتے ہیں تو وہ متعلقہ اجزاء/پیری فیرل ڈائریکٹریز میں بنائے جاتے ہیں۔ اگر کسی بھی پیری فیرلز کے کنفیگریشن ڈیٹا میں کوئی تبدیلی کی گئی ہے، تو آپ کو فرم ویئر پروجیکٹس کو دوبارہ ایکسپورٹ کرنے کی ضرورت ہے تاکہ اپ ڈیٹ شدہ فرم ویئر files (اوپر دی گئی فہرست دیکھیں) کو برآمد کیا جاتا ہے۔ / firmware/drivers_config/sys_config فولڈر۔
جب آپ فرم ویئر کو ایکسپورٹ کرتے ہیں، تو Libero SoC فرم ویئر پروجیکٹس بناتا ہے: ایک لائبریری جہاں آپ کی ڈیزائن کنفیگریشن files اور ڈرائیوروں کو مرتب کیا گیا ہے۔
اگر آپ پروجیکٹ بنائیں چیک کریں۔ چیک باکس جب آپ فرم ویئر کو برآمد کرتے ہیں تو، ایک سافٹ ویئر SoftConsole/IAR/Keil پروجیکٹ بنایا جاتا ہے تاکہ ایپلی کیشن پروجیکٹ کو ہولڈ کیا جاسکے جہاں آپ main.c اور صارف C/H میں ترمیم کرسکتے ہیں۔ files CMSIS کوڈ کو درست طریقے سے مرتب کرنے کے لیے SoftConSole/IAR/Keil پروجیکٹ کو کھولیں اور آپ کے ہارڈویئر ڈیزائن سے مماثل ہونے کے لیے اپنی فرم ویئر ایپلیکیشن کو مناسب طریقے سے ترتیب دیں۔

بی ایف ایم Files ڈیزائن کی نقالی کے لیے استعمال کیا جاتا ہے۔

جب آپ اپنے ڈیزائن سے وابستہ پیری فیرلز پر مشتمل SmartDesign اجزاء تیار کرتے ہیں، files متعلقہ پیری فیرلز کے مطابق میں پیدا ہوتے ہیں۔ / تخروپن ڈائریکٹری:

  • test.bfm - اعلی سطحی BFM file جو SmartFusion2 MSS Cortex-M3 پروسیسر کو استعمال کرنے والے کسی بھی تخروپن کے دوران سب سے پہلے عمل میں لایا جاتا ہے۔ یہ peripheral_init.bfm اور user.bfm کو اس ترتیب میں انجام دیتا ہے۔
  • MDDR_init.bfm - اگر آپ کا ڈیزائن MDDR استعمال کرتا ہے، تو Libero اسے تیار کرتا ہے۔ file; اس میں BFM تحریری کمانڈز شامل ہیں جو MSS DDR کنفیگریشن رجسٹر ڈیٹا کی نقل کرتے ہیں جو آپ نے درج کیا ہے (Edit Registers dialogbox کا استعمال کرتے ہوئے یا MSS_MDDR GUI میں) MSS DDR کنٹرولر رجسٹر میں۔
  • FDDR_init.bfm - اگر آپ کا ڈیزائن FDDR استعمال کرتا ہے، تو Libero اسے تیار کرتا ہے۔ file; اس میں BFM تحریری کمانڈز شامل ہیں جو فیبرک DDR کنفیگریشن رجسٹر ڈیٹا کو نقل کرتے ہیں جو آپ نے داخل کیا ہے (Edit Registers dialogbox یا FDDR GUI میں) Fabric DDR کنٹرولر رجسٹروں میں لکھتے ہیں۔
  • SERDESIF_ _init.bfm - اگر آپ کا ڈیزائن ایک یا زیادہ SERDESIF بلاکس استعمال کرتا ہے، تو Libero اسے تیار کرتا ہے۔ file ہر ایک کے لیے SERDESIF_ استعمال شدہ بلاکس؛ اس میں BFM تحریری کمانڈز شامل ہیں جو آپ کے درج کردہ SERDESIF کنفیگریشن رجسٹر ڈیٹا کی تحریروں کی نقل کرتے ہیں (رجسٹرز میں ترمیم کریں ڈائیلاگ باکس کا استعمال کرتے ہوئے یا SERDESIF_ میں GUI) SERDESIF_ میں رجسٹر اگر SERDESIF بلاک کو PCIe کے طور پر ترتیب دیا گیا ہے، تو یہ file کچھ #define بیانات بھی ہیں جو 2 رجسٹر کنفیگریشن کے مراحل کو مکمل ترتیب سے کنٹرول کرتے ہیں۔
  • user.bfm - صارف کے احکامات پر مشتمل ہے۔ peripheral_init.bfm کے مکمل ہونے کے بعد ان کمانڈز پر عمل درآمد کیا جاتا ہے۔ اس میں ترمیم کریں۔ file اپنے BFM کمانڈز درج کرنے کے لیے۔
  • SERDESIF_ _user.bfm - صارف کے احکامات پر مشتمل ہے۔ اس میں ترمیم کریں۔ file اپنے BFM کمانڈز درج کرنے کے لیے۔ اگر آپ نے SERDESIF_ کو ترتیب دیا ہے تو اسے استعمال کریں BFM PCIe سمولیشن موڈ میں بلاک اور AXI/AHBLite ماسٹر کے طور پر۔ اگر آپ نے SERDESIF_ کو ترتیب دیا ہے RTL سمولیشن موڈ میں بلاک کریں، آپ کو اس کی ضرورت نہیں ہوگی۔ file.

جب آپ ہر بار تخروپن کی درخواست کرتے ہیں، تو درج ذیل دو تخروپن files کو دوبارہ بنایا گیا ہے۔ تازہ ترین مواد کے ساتھ / نقلی ڈائرکٹری:

  • subsystem.bfm - آپ کے ڈیزائن میں استعمال ہونے والے ہر پیریفیرل کے لیے #define اسٹیٹمنٹس پر مشتمل ہے، جو peripheral_init.bfm کے مخصوص حصے کی وضاحت کرتا ہے جس پر عمل درآمد ہر پیریفیرل سے ہوتا ہے۔
  • operipheral_init.bfm - BFM طریقہ کار پر مشتمل ہے جو CMSIS:: SystemInit() فنکشن کی تقلید کرتا ہے جو Cortex-M3 پر آپ کے مین() طریقہ کار میں داخل ہونے سے پہلے چلتا ہے۔ یہ ڈیزائن میں استعمال ہونے والے کسی بھی پیریفیرل کے کنفیگریشن ڈیٹا کو صحیح پیریفرل کنفیگریشن رجسٹروں میں کاپی کرتا ہے اور پھر یہ دعوی کرنے سے پہلے کہ آپ ان پیری فیرلز کو استعمال کر سکتے ہیں تمام پیری فیرلز کے تیار ہونے کا انتظار کرتا ہے۔ یہ MDDR_init.bfm اور FDDR_init.bfm کو انجام دیتا ہے۔

ان کا استعمال کرتے ہوئے پیدا کیا files، آپ کے ڈیزائن میں DDR کنٹرولرز خود بخود کنفیگر ہو جاتے ہیں، اس بات کی نقل کرتے ہوئے کہ SmartFusion2 ڈیوائس پر کیا ہو گا۔ آپ user.bfm میں ترمیم کر سکتے ہیں۔ file اپنے ڈیزائن کی تقلید کے لیے درکار کوئی بھی کمانڈ شامل کرنے کے لیے (Cortex-M3 ماسٹر ہے)۔ پیری فیرلز کو شروع کرنے کے بعد ان کمانڈز پر عمل درآمد کیا جاتا ہے۔ test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm میں ترمیم نہ کریں files اور SERDESIF_ _init.bfm files.

پروڈکٹ سپورٹ

مائیکروسیمی ایس او سی پروڈکٹس گروپ اپنی مصنوعات کو مختلف سپورٹ سروسز بشمول کسٹمر سروس، کسٹمر ٹیکنیکل سپورٹ سینٹر، webسائٹ، الیکٹرانک میل، اور دنیا بھر میں فروخت کے دفاتر۔
اس ضمیمہ میں Microsemi SoC پروڈکٹس گروپ سے رابطہ کرنے اور ان سپورٹ سروسز کے استعمال کے بارے میں معلومات شامل ہیں۔
کسٹمر سروس
غیر تکنیکی پروڈکٹ سپورٹ کے لیے کسٹمر سروس سے رابطہ کریں، جیسے پروڈکٹ کی قیمتوں کا تعین، پروڈکٹ اپ گریڈ، اپ ڈیٹ کی معلومات، آرڈر کی حیثیت، اور اجازت۔
شمالی امریکہ سے، کال کریں۔ 800.262.1060
باقی دنیا سے، کال کریں۔ 650.318.4460
فیکس، دنیا میں کہیں سے بھی، 408.643.6913
کسٹمر ٹیکنیکل سپورٹ سینٹر
مائیکروسیمی ایس او سی پروڈکٹس گروپ اپنے کسٹمر ٹیکنیکل سپورٹ سینٹر کا عملہ انتہائی ہنر مند انجینئرز کے ساتھ رکھتا ہے جو مائیکروسیمی ایس او سی پروڈکٹس کے بارے میں آپ کے ہارڈ ویئر، سافٹ ویئر اور ڈیزائن کے سوالات کے جوابات دینے میں مدد کر سکتے ہیں۔ کسٹمر ٹیکنیکل سپورٹ سنٹر ایپلیکیشن نوٹس بنانے، ڈیزائن سائیکل کے عام سوالات کے جوابات، معلوم مسائل کی دستاویزات، اور مختلف سوالات کے جوابات بنانے میں کافی وقت صرف کرتا ہے۔ لہذا، ہم سے رابطہ کرنے سے پہلے، براہ کرم ہمارے آن لائن وسائل ملاحظہ کریں۔ یہ بہت ممکن ہے کہ ہم پہلے ہی آپ کے سوالات کا جواب دے چکے ہوں۔
ٹیکنیکل سپورٹ
کسٹمر سپورٹ پر جائیں۔ webسائٹ (www.microsemi.com/soc/support/search/default.aspxمزید معلومات اور مدد کے لیے۔ تلاش کے قابل پر بہت سے جوابات دستیاب ہیں۔ web وسائل میں خاکے، عکاسی، اور دیگر وسائل کے لنکس شامل ہیں۔ webسائٹ
Webسائٹ
آپ SoC ہوم پیج پر مختلف قسم کی تکنیکی اور غیر تکنیکی معلومات کو براؤز کر سکتے ہیں۔ www.microsemi.com/soc.
کسٹمر ٹیکنیکل سپورٹ سینٹر سے رابطہ کرنا
ٹیکنیکل سپورٹ سینٹر میں انتہائی ہنر مند انجینئرز کا عملہ۔ ٹیکنیکل سپورٹ سنٹر سے ای میل یا Microsemi SoC پروڈکٹس گروپ کے ذریعے رابطہ کیا جا سکتا ہے۔ webسائٹ
ای میل
آپ اپنے تکنیکی سوالات ہمارے ای میل ایڈریس پر بھیج سکتے ہیں اور ای میل، فیکس یا فون کے ذریعے جوابات وصول کر سکتے ہیں۔ اس کے علاوہ، اگر آپ کو ڈیزائن کے مسائل ہیں، تو آپ اپنے ڈیزائن کو ای میل کر سکتے ہیں۔ fileمدد حاصل کرنے کے لیے۔
ہم دن بھر ای میل اکاؤنٹ کی مسلسل نگرانی کرتے ہیں۔ ہمیں اپنی درخواست بھیجتے وقت، براہ کرم اپنی درخواست پر موثر کارروائی کے لیے اپنا پورا نام، کمپنی کا نام، اور اپنی رابطہ کی معلومات ضرور شامل کریں۔
تکنیکی مدد کا ای میل پتہ ہے۔ soc_tech@microsemi.com.
میرے کیسز
مائیکروسیمی ایس او سی پروڈکٹس گروپ کے صارفین آن لائن تکنیکی کیسز جمع کروا سکتے ہیں اور ان کا پتہ لگا سکتے ہیں۔ میرے کیسز.
امریکہ سے باہر
امریکی ٹائم زون سے باہر مدد کی ضرورت والے صارفین یا تو ای میل کے ذریعے تکنیکی مدد سے رابطہ کر سکتے ہیں (soc_tech@microsemi.comیا مقامی سیلز آفس سے رابطہ کریں۔ سیلز آفس کی فہرستیں یہاں مل سکتی ہیں۔ www.microsemi.com/soc/company/contact/default.aspx.
ITAR ٹیکنیکل سپورٹ
آر ایچ اور آر ٹی ایف پی جی اے پر تکنیکی مدد کے لیے جو انٹرنیشنل ٹریفک ان آرمز ریگولیشنز (ITAR) کے ذریعے ریگولیٹ ہوتے ہیں، ہم سے بذریعہ رابطہ کریں۔ soc_tech_itar@microsemi.com. متبادل طور پر، My Cases میں، ITAR ڈراپ ڈاؤن فہرست میں ہاں کو منتخب کریں۔ ITAR کے ذریعے ریگولیٹڈ Microsemi FPGAs کی مکمل فہرست کے لیے، ITAR ملاحظہ کریں۔ web صفحہ
Microsemi Corporation (NASDAQ: MSCC) سیمی کنڈکٹر حل کا ایک جامع پورٹ فولیو پیش کرتا ہے: ایرو اسپیس، دفاع اور سیکورٹی؛ انٹرپرائز اور مواصلات؛ اور صنعتی اور متبادل توانائی کے بازار۔ مصنوعات میں اعلیٰ کارکردگی، اعلیٰ قابل اعتماد اینالاگ اور RF آلات، مخلوط سگنل اور RF مربوط سرکٹس، حسب ضرورت SoCs، FPGAs، اور مکمل سب سسٹم شامل ہیں۔ Microsemi کا صدر دفتر Aliso Viejo، Calif. میں ہے مزید جانیں۔ www.microsemi.com.
© 2014 مائیکروسیمی کارپوریشن۔ جملہ حقوق محفوظ ہیں. مائیکروسیمی اور مائیکروسیمی لوگو مائیکروسیمی کارپوریشن کے ٹریڈ مارک ہیں۔ دیگر تمام ٹریڈ مارکس اور سروس مارکس ان کے متعلقہ مالکان کی ملکیت ہیں۔

5-02-00384-1/08.14مائیکروسیمی لوگومائیکروسیمی کارپوریٹ ہیڈ کوارٹر
One Enterprise, Aliso Viejo CA 92656 USA
USA کے اندر: +1 949-380-6100
سیلز: +1 949-380-6136
فیکس: +1 949-215-4996

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

مائیکروسیمی اسمارٹ فیوژن 2 ڈی ڈی آر کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر [پی ڈی ایف] یوزر گائیڈ
SmartFusion2 DDR کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر، SmartFusion2 DDR، کنٹرولر اور سیریل ہائی سپیڈ کنٹرولر، ہائی سپیڈ کنٹرولر

حوالہ جات

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

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