XILINX 63234 END FPGA ڈسٹری بیوٹر

اہم نوٹ: جوابی ریکارڈ کی یہ ڈاؤن لوڈ کے قابل پی ڈی ایف اس کے استعمال اور پڑھنے کی اہلیت کو بڑھانے کے لیے فراہم کی گئی ہے۔ یہ نوٹ کرنا ضروری ہے کہ جوابی ریکارڈز ہیں۔ Webپر مبنی مواد جو کہ نئی معلومات کے دستیاب ہونے کے ساتھ ہی اکثر اپ ڈیٹ ہوتا ہے۔ آپ کو Xilinx ٹیکنیکل سپورٹ پر جانے کی یاد دلائی جاتی ہے۔ Webسائٹ اور دوبارہview (Xilinx Answer 63234) اس جواب کے تازہ ترین ورژن کے لیے۔
تعارف
جس طرح سے DDR2 اور DDR3 یادیں آرکیٹیکٹ کی گئی ہیں اور MIG 7 سیریز کنٹرولر کو ڈیزائن کیا گیا ہے، کارکردگی سیدھی نہیں ہے۔ اس کے لیے مختلف Jedec ٹائمنگ پیرامیٹرز اور کنٹرولر آرکیٹیکچر کو سمجھنے کی ضرورت ہے، اور تخمینہ حاصل کرنے کے لیے آپ کو تخروپن چلانے کی ضرورت ہوگی۔ کارکردگی کا تعین کرنے کا عمومی اصول یکساں ہے، لیکن یہ دستاویز ایم آئی جی سابق کا استعمال کرتے ہوئے کارکردگی حاصل کرنے کا ایک آسان طریقہ فراہم کرتی ہے۔ampٹیسٹ بینچ اور محرک کی مدد سے ڈیزائن کریں۔ fileیہاں منسلک ہے.
موثر بینڈوتھ
DRAM ڈیٹا بس صرف پڑھنے اور لکھنے کے پھٹ جانے کے دوران چوٹی کی بینڈوڈتھ حاصل کرتی ہے، اور اس کا اوور ہیڈ ڈیٹا کی مؤثر شرح کو کم کرتا ہے۔

چند سابقampاوور ہیڈ کے لیس ہیں
- ایک ہی بینک میں قطاروں تک رسائی کا وقت قبل از وقت (رسائی پتہ ایک ہی قطار والے صفحے پر نہیں ہے)
- ریکوری ٹائم لکھیں لکھنے سے پڑھنے تک رسائی کو تبدیل کریں۔
- پڑھنے سے لکھنے تک رسائی میں تبدیلی کے لیے بس کا وقت بدلنا
ڈیٹا کو منتقل کرنے والے گھڑی کے چکر
- کارکردگی (%) = ———————————————-
کل کلاک سائیکل
مؤثر بینڈوتھ = چوٹی بینڈوتھ * کارکردگی
ایم آئی جی ڈیزائن جنریشن
- MIG IP اور سابق پر مرحلہ وار تفصیلات کے لیے UG586 باب 1 سے رجوع کریں۔ampلی ڈیزائن نسل.
- MIG 7 سیریز پرفارمنس سمولیشن چلانے سے پہلے، یہ یقینی بنانے کے لیے کہ آپ کا سمولیشن ماحول ٹھیک ہے۔
- MIG سابق کو کھولیں۔ample مناسب لائبریریوں کو ڈیزائن اور نقشہ بنائیں، سمولیشن چلائیں، اور اس بات کو یقینی بنائیں کہ آپ ٹرانسکرپٹ میں "ٹیسٹ پاس" پیغام دیکھ سکتے ہیں۔
- بہاؤ کو ظاہر کرنے کے لیے، میں نے xc7vx690tffg1761-2 کے لیے ایک MIG IP بنایا ہے اور سابق کو طلب کیا ہے۔ampلی ڈیزائن.
- دو چیزیں جو نوٹ کی جانی چاہئیں وہ ہیں میموری ایڈریس بٹس اور میموری ایڈریس میپنگ سلیکشن۔
- سابق کے لیےample، میں نے میموری پارٹ ڈراپ ڈاؤن اختیارات کے تحت MT41J128M8XX-125 کو منتخب کیا ہے۔

شکل-1، قطار = 14، کالم = 10 اور بینک = 3 سے منتخب میموری والے حصے کے لئے، لہذا app_addr_width = row + column + bank + rank = 28

آپ یا تو BANK_ROW_COLUMN یا ROW BANK_COLUMN منتخب کر سکتے ہیں۔
میں نے ROW BANK کالم چھوڑ دیا ہے، جو پہلے سے طے شدہ ایڈریس میپنگ ہے۔
Exampلی ڈیزائن تخروپن ترکیبی ٹیسٹ بینچ کے ساتھ
- نقلی ترتیبات کے تحت، QuestaSim/ModelSim Simulator کو منتخب کریں اور مرتب شدہ لائبریریوں کے مقام پر براؤز کریں۔
- تھرڈ پارٹی ٹولز انسٹال پاتھ کی طرف اشارہ کرنے، ٹارگٹ سمیلیٹر کو منتخب کرنے، اور لائبریریوں کو مرتب کرنے اور میپ کرنے کے بارے میں تفصیلات کے لیے، آپ (UG900) Vivado Design Suite User Guide Logic Simulation کا حوالہ دے سکتے ہیں۔

GUI کی نقل بنائیں (پروجیکٹ مینیجر میں رن سمولیشن ٹیب پر کلک کریں) اور یقینی بنائیں کہ آپ کو ٹرانسکرپٹ میں "ٹیسٹ پاس" پیغام نظر آتا ہے۔
پرفارمنس سمولیشن RTL ترمیمات
- ذرائع کے ٹیب پر دائیں کلک کریں، "سیمولیشن ذرائع شامل کریں یا تخلیق کریں" کو منتخب کریں، mig7_perfsim_traffic_generator.sv پر براؤز کریں۔ file اور اسے شامل کرنے کے لیے ختم پر کلک کریں۔
- ذرائع کے ٹیب پر دائیں کلک کریں، "سیمولیشن ذرائع شامل کریں یا تخلیق کریں" کو منتخب کریں، perfsim_stimulus.txt پر براؤز کریں، اور اسے شامل کرنا ختم کریں پر کلک کریں۔
- سابق پر تبصرہ کریں۔ample_top instantiation in the sim_tb_top.v file.
- نیچے دی گئی RTL لائنوں کو sim_tb_top، v میں شامل کریں۔





- اپنے میموری حصے کے انتخاب کے مطابق APP_ADDR_WIDTH، APP_DATA_WIDTH، RANK_WIDTH، H، اور BANK_WIDTH میں ترمیم کریں۔ قدریں _mig.v سے حاصل کی جا سکتی ہیں۔ file.
- آئی پی تخلیق کے دوران آپ کے جزو کے نام کی بنیاد پر پیلے رنگ کا نمایاں کردہ نام mig_7series_0_mig مختلف ہو سکتا ہے، تصدیق کریں کہ آیا آپ نے کوئی مختلف نام منتخب کیا ہے اور اس کے مطابق اسے تبدیل کریں۔

- ایک بار جب IP تیار ہو جائے تو _mig.v کو کھولیں۔ file اور LHS سگنل کے ناموں میں کسی قسم کی تبدیلیوں کے لیے کراس چیک کریں اور انہیں درست کریں۔
- app_sr_req، app_ref_req، اور app_zq_req کو 0 سے شروع کیا جانا چاہیے۔
- بطور سابقample_top.v پر تبصرہ کیا گیا اور نیا ہے۔ files کو شامل کیا گیا ہے، آپ شاید "؟" دیکھیں گے۔ mig_7series_0_mig.v کے ساتھ file نقلی ذرائع کے تحت۔
- صحیح نقشہ بنانے کے لیے file، mig_7series_0_mig.v پر دائیں کلک کریں، "ذرائع شامل کریں" کو منتخب کریں، براؤز کریں /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl اور mig_7series_0_mig_sim.v شامل کریں file.
- اگر آپ دیکھتے ہیں "؟" بنیادی کے لئے files، تمام RTL شامل کریں۔ files کلاکنگ، کنٹرولر، ip_top،phy، اور UI فولڈرز میں۔

- ایک بار جب RTL تبدیلیاں ہو جائیں اور تمام مطلوبہ files کو آپ کے نقلی ذرائع میں شامل کیا گیا ہے، درجہ بندی شکل 5 کی طرح ہونی چاہیے۔
- دی fileسرخ رنگ میں نمایاں کردہ s نئے شامل کیے گئے ہیں، اور "؟" ECC سے متعلقہ ماڈیولز پر متوقع ہے کیونکہ منتخب میموری کنفیگریشن میں ECC آپشن غیر فعال ہے۔
محرک File تفصیل
ہر محرک پیٹرن 48 بٹس ہے، اور شکل 6-1 سے 6-4 تک کے اعداد و شمار میں بیان کی گئی ہے۔

ایڈریس انکوڈنگ (ایڈریس [35:0])
ایڈریس کو محرک میں شکل 7-1 سے شکل 7-6 کے مطابق انکوڈ کیا گیا ہے۔ ایڈریس کے تمام فیلڈز کو ہیکسا ڈیسیمل فارمیٹ میں داخل کرنے کی ضرورت ہے۔
تمام ایڈریس فیلڈز ایک چوڑائی ہیں جو ہیکساڈیسیمل فارمیٹ میں داخل کرنے کے لیے چار سے تقسیم ہوتی ہے۔ ٹیسٹ بینچ صرف ایڈریس فیلڈ کے مطلوبہ بٹس میموری کنٹرولر کو بھیجتا ہے۔ سابق کے لیےample، آٹھ بینک کنفیگریشن میں، صرف بینک بٹس [2:0] میموری کنٹرولر کو بھیجے جاتے ہیں، اور باقی بٹس کو نظر انداز کر دیا جاتا ہے۔ ایڈریس فیلڈ کے لیے اضافی بٹس آپ کو ہیکسا ڈیسیمل فارمیٹ میں ایڈریس درج کرنے کے لیے فراہم کیے گئے ہیں۔ آپ کو اس بات کی تصدیق کرنی ہوگی کہ اس کی درج کردہ قیمت دی گئی ترتیب کی چوڑائی کے مساوی ہے۔

- کالم ایڈریس (کالم[11:0]) - محرک میں کالم ایڈریس زیادہ سے زیادہ 12 بٹس کو فراہم کیا جاتا ہے، لیکن آپ کو اپنے ڈیزائن میں کالم کی چوڑائی کے پیرامیٹر کی بنیاد پر اس پر توجہ دینے کی ضرورت ہے۔
- قطار کا پتہ (قطار[15:0]) - محرک میں قطار کا پتہ زیادہ سے زیادہ 16 بٹس تک فراہم کیا جاتا ہے، لیکن آپ کو پتہ کرنے کی ضرورت ہے
- یہ آپ کے ڈیزائن میں سیٹ کردہ قطار کی چوڑائی کے پیرامیٹر پر مبنی ہے۔
- بینک ایڈریس (بینک[3:0]) - محرک میں بینک کا پتہ زیادہ سے زیادہ چار بٹس تک فراہم کیا جاتا ہے، لیکن آپ کو اپنے ڈیزائن میں متعین بینک چوڑائی کے پیرامیٹر کی بنیاد پر اس کو حل کرنے کی ضرورت ہے۔
- رینک ایڈریس (Rank[3:0]) - محرک میں درجہ کا پتہ زیادہ سے زیادہ چار بٹس کو فراہم کیا جاتا ہے، لیکن آپ کو اپنے ڈیزائن میں ترتیب دیے گئے درجہ کی چوڑائی کے پیرامیٹر کی بنیاد پر اس کو حل کرنے کی ضرورت ہے۔
- ایڈریس کو اعلی سطحی MEM_ADDR_ORDER پیرامیٹر کی بنیاد پر جمع کیا جاتا ہے اور یوزر انٹرفیس کو بھیجا جاتا ہے۔
کمانڈ ریپیٹ (کمانڈ ریپیٹ [7:0])
- کمانڈ کی تکرار کی گنتی یوزر انٹرفیس پر متعلقہ کمانڈ کو دہرائے جانے کی تعداد ہے۔ ہر اعادہ کے ایڈریس میں 8 کا اضافہ کیا گیا ہے۔ زیادہ سے زیادہ تکرار کی تعداد 128 ہے۔
- ٹیسٹ بینچ کالم کی باؤنڈری کی جانچ نہیں کرتا ہے، اور اگر انکریمنٹ کے دوران کالم کی زیادہ سے زیادہ حد تک پہنچ جائے تو یہ اس کے گرد لپیٹ جاتا ہے۔
- 128 کمانڈز صفحہ کو بھرتے ہیں۔ 0 کے علاوہ کسی بھی کالم ایڈریس کے لیے، 128 کی تکرار کی گنتی کراسنگ پر ختم ہوتی ہے۔
- کالم کی باؤنڈری کالم ایڈریس کے آغاز تک لپیٹ جاتی ہے۔
بس کا استعمال
بس کے استعمال کا حساب یوزر انٹرفیس پر کیا جاتا ہے، پڑھنے اور لکھنے کی کل تعداد کو مدنظر رکھتے ہوئے، اور درج ذیل مساوات کا استعمال کیا جاتا ہے:

- BL8 چار میموری کلاک سائیکل لیتا ہے۔
- End_of_stimulus وہ وقت ہوتا ہے جب تمام احکامات مکمل ہو جاتے ہیں۔
- calib_done وہ وقت ہوتا ہے جب کیلیبریشن کی جاتی ہے۔
Exampلی پیٹرن
یہ سابقamples BANK_ROW_COLUMN پر سیٹ MEM_ADDR_ORDER پر مبنی ہیں۔
سنگل ریڈ پیٹرن
00_0_2_000F_00A_1 - یہ پیٹرن 10 ویں کالم، 15 ویں قطار اور دوسرے بینک سے واحد پڑھا ہوا ہے۔

سنگل لکھنے کا پیٹرن
00_0_1_0040_010_0 - یہ پیٹرن 32 ویں کالم، 128 ویں قطار، اور پہلے بینک پر ایک ہی تحریر ہے۔

ایک ہی پتے پر ایک ہی لکھیں اور پڑھیں
- 00_0_2_000F_00A_0 - یہ پیٹرن 10 ویں کالم، 15 ویں قطار اور دوسرے بینک پر ایک ہی تحریر ہے۔
- 00_0_2_000F_00A_1 - یہ پیٹرن 10 ویں کالم، 15 ویں قطار، اور دوسرے بینک سے واحد پڑھا ہوا ہے

ایک ہی پتے کے ساتھ متعدد لکھنا اور پڑھنا
- 0A_0_0_0010_000_0 - یہ 10 سے 0 تک کے پتوں کے ساتھ 80 تحریروں کے مساوی ہے، جسے کالم میں دیکھا جا سکتا ہے۔

- 0A_0_0_0010_000_1 - یہ 10 سے 0 تک شروع ہونے والے ایڈریس کے ساتھ 8,0 ریڈز کے مساوی ہے، جسے کالم میں دیکھا جا سکتا ہے۔

لکھنے کے دوران صفحہ لپیٹنا
0A_0_2_000F_3F8_0 - یہ 10 تحریروں کے مساوی ہے جس میں کالم ایڈریس ایک تحریر کے بعد صفحہ کے آغاز میں لپیٹ دیا جاتا ہے۔

کارکردگی ٹریفک جنریٹر کی نقالی
اس وقت، آپ MIG سابق کے ساتھ کام کر چکے ہیں۔ampلی ڈیزائن تخروپن. اس سے یہ ظاہر ہوتا ہے کہ آپ کا سمولیشن سیٹ اپ تیار ہے، آپ نے پرفارمنس سمولیشن RTL میں ترمیم کی ہے، نیا سمولیشن درجہ بندی درست ہے، اور آپ محرک کے نمونوں کو سمجھ چکے ہیں۔ perfsim_stimulus.txt میں 16 تحریروں اور پڑھنے کے ساتھ ایک بار پھر نقلی چلائیں۔

- سب کو چلائیں، init_calib_complete سگنل پر زور دینے تک انتظار کریں، اور آپ لکھنے اور پڑھنے کی مجوزہ تعداد دیکھ سکیں گے۔ تخروپن پھر بند ہو جائے گا.

- جب آپ کو سمولیشن چھوڑنے کا اشارہ کیا جائے تو، نہیں کو منتخب کریں اور ٹرانسکرپٹ ونڈو پر جائیں، جہاں آپ کارکردگی کے اعدادوشمار دیکھ سکیں گے۔

- اگر آپ "چھوڑیں سمولیشن" کو منتخب کرتے ہیں، تو کارکردگی کے اعدادوشمار a پر لکھے جائیں گے۔ file mig_band_width_output.txt نامی sim_1/behave فولڈر میں واقع ہے۔
- Example ڈائریکٹری پاتھ:- /mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behav

آپ حیران ہوسکتے ہیں کہ فیصد کیوں؟tagبس کے استعمال کا e صرف 29 ہے۔ اسی آئی پی سیٹنگز کے ساتھ نقلی کو دوبارہ چلائیں، لیکن صرف محرک کو تبدیل کریں۔ file 256 لکھتے ہیں اور 256 پڑھتے ہیں۔
- ff_0_0_0000_000_0
- ff_0_0_0000_000_1
اب آپ فیصد دیکھیں گے۔tage 85 کے طور پر، جس کا مطلب یہ ہے کہ DDR3 لکھنے اور پڑھنے کے برسٹ کے ایک طویل سلسلے کے لیے بس کے بہتر استعمال کی پیشکش کرتا ہے۔

کارکردگی کو بہتر بنانے کے عمومی طریقے
کارکردگی کو متاثر کرنے والے عوامل کو دو حصوں میں تقسیم کیا جا سکتا ہے:
- مخصوص میموری

- کنٹرولر مخصوص
شکل 9 آپ کو ایک اوور دیتا ہے۔view ان اصطلاحات کی جو میموری کے لیے مخصوص ہیں۔
SRAMs اور بلاک میموریز کے برعکس، DDR2 یا DDR3 کارکردگی صرف ڈیٹا کی زیادہ سے زیادہ شرح نہیں ہے۔
یہ بہت سے وقت کے عوامل پر منحصر ہے، بشمول:
- tRCD: Row Command Delay (یا ras to cas delay)۔
- tCAS(CL): کالم ایڈریس اسٹروب لیٹینسی۔
- ٹی آر پی: قطار پری چارج میں تاخیر۔
- TRAS: قطار کا فعال وقت (پری چینج کے لیے چالو کریں)۔
- tRC: قطار سائیکل کا وقت۔ tRC = trAS + tRP
- TRAC: بے ترتیب رسائی میں تاخیر۔ trAC = tRCD + tCAS
- tCWLCASas لکھنے میں تاخیر۔
- tZQ: ZQ کیلیبریشن کا وقت۔
- tRFC: قطار ریفریش سائیکل کا وقت
- tWTR: تاخیر پڑھنے کے لیے لکھیں۔ کمانڈ ٹائم پڑھنے کے لیے آخری تحریری لین دین۔
- tWR: ریکوری ٹائم لکھیں۔ پری چارج ٹائم پر آخری تحریری لین دین
- تمام درج کردہ پیرامیٹرز کا وقت استعمال شدہ میموری کی قسم اور میموری کے حصے کی رفتار کے درجے پر منحصر ہے۔
- تعریفوں اور وقت کی تفصیلات کے بارے میں مزید تفصیلات DDR2 اور DDR3 JEDEC معیارات یا کسی بھی میموری ڈیوائس ڈیٹا شیٹ میں مل سکتی ہیں۔
کارکردگی بنیادی طور پر اس بات پر منحصر ہے کہ میموری تک کیسے رسائی حاصل کی جاتی ہے۔ مختلف ایڈریس پیٹرن مختلف کارکردگی کے نتائج دیتے ہیں۔
میموری ٹائمنگ اوور ہیڈز
- نئے بینکوں/قطاروں میں تبدیل ہونے یا اسی بینک کے اندر قطاروں کو تبدیل کرنے پر ایکٹیویشن کا وقت اور پری چارج وقت۔- لہذا، آپ قطار کی تبدیلی کو کم کرتے ہیں، جو tRCD اور tRP کو ہٹا سکتا ہے۔
- مسلسل لکھنے یا پڑھنے کے احکامات بھیجیں - tCCD ٹائمنگ کو برقرار رکھنا۔
- لکھنے کے لیے پڑھنے اور پڑھنے سے لکھنے کے لیے کمانڈ کی تبدیلی کو کم سے کم کریں - پڑھنے تک رسائی میں تبدیلی کے لیے ریکوری کا وقت لکھیں، اور پڑھنے سے لکھنے میں تبدیل کرنے کے لیے بس ٹرناراؤنڈ وقت لکھیں۔
- ایک مناسب ریفریش وقفہ مقرر کریں۔
- a DDR3 SDRAM کو tREFI کے اوسط وقفہ وقفہ پر ریفریش سائیکل کی ضرورت ہوتی ہے۔
- ب زیادہ سے زیادہ 8 اضافی ریفریش کمانڈز پہلے سے جاری کیے جا سکتے ہیں ("پلڈ ان")۔ یہ ریفریشز کی تعداد کو کم نہیں کرتا ہے، لیکن دو ارد گرد ریفریش کمانڈز کے درمیان زیادہ سے زیادہ وقفہ 9 × tREFI تک محدود ہے۔

- تمام بینکوں کا استعمال کریں - ایک مناسب ایڈریسنگ میکانزم بہتر ہے۔
- a قطار-بینک-کالم: ترتیب وار ایڈریس اسپیس پر ہونے والی ٹرانزیکشن کے لیے، کور خود بخود DRAM ڈیوائس کے اگلے بینک میں ایک ہی قطار کو کھولتا ہے تاکہ موجودہ قطار کے اختتام تک لین دین جاری رکھا جا سکے۔ یہ ان ایپلی کیشنز کے لیے موزوں ہے جن کے لیے بڑے ڈیٹا پیکٹ کو ترتیب وار پتے کے مقامات پر پھٹنے کی ضرورت ہوتی ہے۔
- ب بینک-رو-کالم: ایک قطار کی حد کو عبور کرنے پر، موجودہ قطار بند ہو جائے گی، اور اسی بینک کے اندر دوسری قطار کھول دی جائے گی۔ MSB ایک بینک کا پتہ ہے جسے مختلف بینکوں سے سوئچ کرنے کے لیے استعمال کیا جا سکتا ہے۔ یہ کچھ وقت کے لیے میموری کے ایک بلاک میں مختصر، زیادہ بے ترتیب لین دین کے لیے موزوں ہے، اور پھر دوسرے بلاک (بینک) میں چھلانگ لگانا۔
- برسٹ کی لمبائی
- a BL 8 3 سیریز پر DDR7 کے لیے تعاون یافتہ ہے۔ BC4 کی کارکردگی بہت کم ہے، جو کہ 50% سے کم ہے۔ اس کی وجہ یہ ہے کہ BC4 کا عمل درآمد کا وقت BL8 جیسا ہی ہے۔ ڈیٹا صرف جزو کے اندر چھپا ہوا ہے۔
- ب ایسے معاملات میں جہاں آپ مکمل برسٹ لکھنا نہیں چاہتے ہیں، یا تو ڈیٹا ماسک یا لکھنے کے بعد پڑھنے پر غور کیا جا سکتا ہے۔
- ایک مناسب ZQ وقفہ مقرر کریں (صرف DDR3)
کنٹرولر ZQ Short (ZQCS) اور ZQ Long (ZQCL) دونوں کیلیبریشن کمانڈ بھیجتا ہے۔- a DDR3 JEDEC معیار پر عمل کریں۔
- ب ZQ کیلیبریشن پر JEDEC Spec JESD5.5-79 DDR3 SDRAM سٹینڈرڈ کے سیکشن 3 میں بحث کی گئی ہے۔
- c ZQ کیلیبریشن VT میں مختلف حالتوں کو مدنظر رکھنے کے لیے باقاعدہ وقفوں پر آن ڈائی ٹرمینیشن (ODT) کیلیبریٹ کرتا ہے۔
- d منطق bank_common.v/vhd میں موجود ہے۔
- e پیرامیٹر Tzqcs اس شرح کا تعین کرتا ہے جس پر میموری کو ZQ کیلیبریشن کمانڈ بھیجا جاتا ہے۔
- f کاؤنٹر کو غیر فعال کرنا اور app_zq_req کا استعمال کرتے ہوئے دستی طور پر بھیجنا ممکن ہے، یہ دستی طور پر ریفریش بھیجنے کے مترادف ہے۔ تفصیلات کے لیے (Xilinx Answer 47924) سے رجوع کریں۔

کنٹرولر اوور ہیڈز
- متواتر پڑھنا – تفصیلات کے لیے (Xilinx Answer 43344) سے رجوع کریں۔
- a پڑھنے کی مدت کو تبدیل نہ کریں۔
- ب لکھنے کے دوران متواتر پڑھنا چھوڑ دیں اور صحیح پڑھنے سے پہلے چھوٹنے والے پڑھنے کی تعداد جاری کریں۔
- دوبارہ ترتیب دینا - تفصیلات کے لیے (Xilinx Answer 34392) سے رجوع کریں۔ صارف اور AXI انٹرفیس ڈیزائنز کے لیے، اس کا فعال ہونا افضل ہے۔
- a ری آرڈر وہ منطق ہے جو کئی کمانڈز کو آگے دیکھتی ہے اور نان میموری کمانڈز کو درست بینڈوڈتھ پر قبضہ نہ کرنے کے لیے یوزر کمانڈ آرڈر کو تبدیل کرتی ہے۔ کارکردگی بھی اصل ٹریفک پیٹرن سے متعلق ہے۔
- ب ایڈریس پیٹرن کی بنیاد پر، دوبارہ ترتیب دینے سے پری چارج کو چھوڑنے اور کمانڈز کو فعال کرنے میں مدد ملتی ہے اور tRCD اور tRP کو ڈیٹا بینڈوڈتھ پر قبضہ کرنے میں مدد ملتی ہے۔

- بینک مشینوں کی تعداد بڑھانے کی کوشش کریں۔
- a زیادہ تر کنٹرولر کی منطق بینک مشینوں میں رہتی ہے، اور وہ DRAM بینکوں سے مطابقت رکھتے ہیں
- ب دی گئی بینک مشین کسی بھی وقت ایک واحد DRAM بینک کا انتظام کرتی ہے۔
- c بینک مشین کی تفویض متحرک ہے، اس لیے ضروری نہیں ہے کہ ہر فزیکل بینک کے لیے بینک مشین ہو۔
- d بینک مشینوں کو ترتیب دیا جا سکتا ہے، لیکن یہ رقبہ اور کارکردگی کے درمیان تجارت ہے۔
- e بینک مشینوں کی قابل اجازت تعداد 2-8 کے درمیان ہے۔
- f پہلے سے طے شدہ طور پر، 4 بینک مشینیں RTL پیرامیٹرز کے ذریعے ترتیب دی جاتی ہیں۔
- جی بینک مشینوں کو تبدیل کرنے کے لیے، memc_ui_top میں موجود پیرامیٹر nBANK_MACHS = 8 پر غور کریں
Example 8 بینک مشینوں کے لیے – nBANK_MACHS = 8
اب آپ ان عوامل سے واقف ہیں جو کارکردگی کو متاثر کرتے ہیں۔ ایک اپ اسٹریم ایپلی کیشن پر غور کریں جو آپ کو 512 ڈیٹا بائٹس فی پیکٹ دیتا ہے، اور آپ کو انہیں مختلف میموری والے مقامات پر محفوظ کرنے کی ضرورت ہے۔ چونکہ 512 ڈیٹا بائٹس 64 DDR3 ڈیٹا برسٹ کے برابر ہے، سابق کو دوبارہ چلائیںampایک محرک کے ساتھ ڈیزائن file جس میں 512 رائٹز، 512 ریڈز، اور ہر 64 لکھنے یا پڑھنے کے لیے قطار سوئچنگ:

تخروپن کے اختتام پر، آپ دیکھیں گے کہ بس کا استعمال 77 فیصد ہے۔

شکل 11: 512 لکھنے اور 512 پڑھنے کے لیے کارکردگی کے اعداد و شمار - 64 لکھنے یا پڑھنے کے لیے قطار کی تبدیلی۔
اب آپ کارکردگی کو بہتر بنانے کے لیے پہلے سیکشن میں سیکھے گئے علم کو لاگو کر سکتے ہیں۔ قطار کو تبدیل کرنے کے بجائے تمام بینکوں کو استعمال کرنے کے لیے، بینک کو تبدیل کرنے کے لیے ایڈریس پیٹرن میں ترمیم کریں جیسا کہ نیچے دکھایا گیا ہے۔ یہ MIG GUI میں میموری ایڈریس میپنگ سیٹنگ میں ROW_BANK_Column سیٹ کرنے کے مترادف ہے۔

تخروپن کے اختتام پر، آپ دیکھیں گے کہ پہلے 77 فیصد بس کا استعمال اب 87 ہے!

اگر آپ کو اب بھی اعلی کارکردگی کی ضرورت ہے، تو آپ 1024 یا 2048 بائٹس کے بڑے پیکٹ سائز کے لیے جا سکتے ہیں، یا دستی ریفریش پر غور کر سکتے ہیں۔
نوٹ: Xilinx کنٹرولر ریفریش کو نظرانداز کرنے کی حوصلہ افزائی نہیں کرتا، کیونکہ ہمیں یقین نہیں ہے کہ آیا آپ JEDEC آٹو ریفریش ٹائمنگ کو پورا کر پائیں گے، جس سے ڈیٹا کی وشوسنییتا متاثر ہوتی ہے۔ کنٹرولر سے آپ کارکردگی میں بہتری دیکھنے کے لیے NBANNBANk_MACH کو تبدیل کر سکتے ہیں۔ تاہم، یہ آپ کے ڈیزائن کے وقت کو متاثر کر سکتا ہے، براہ کرم nBANk_MACH پر تفصیلات کے لیے (Xilinx Answer 36505) سے رجوع کریں۔

core_name_mig_sim.v کھولیں file اور پیرامیٹرز nBANK_MACHS کو 4 سے 8 تک تبدیل کریں اور سمولیشن کو دوبارہ چلائیں۔
ہارڈ ویئر میں پیرامیٹر کی قدر کو مؤثر بنانے کے لیے، آپ کو core_name_mig.v کو اپ ڈیٹ کرنے کی ضرورت ہے۔ file. میں نے وہی پیٹرن استعمال کیا جہاں ہمیں 87% بس کا استعمال ملا (شکل 2)۔ nBANK_MACHS کو 8 پر سیٹ کرنے کے ساتھ، کارکردگی اب 90% ہے۔

نیز، ایک نوٹ کریں کہ ½ اور ¼ کنٹرولرز اپنی تاخیر کی وجہ سے کارکردگی کو منفی طور پر متاثر کرتے ہیں۔ سابق کے لیےampلی، چونکہ ہم ہر 4 CK سائیکلوں پر صرف کمانڈ بھیج سکتے ہیں، اس لیے بعض اوقات کم از کم DRAM ٹائمنگ اسپیسز پر عمل کرتے وقت اضافی پیڈنگ ہوتی ہے، جو نظریاتی سے کارکردگی کو کم کر سکتی ہے۔ آپ کی کارکردگی کی ضرورت کے مطابق ایک کو تلاش کرنے کے لیے مختلف کنٹرولرز آزمائیں۔ حوالہ جات
- Zynq-7000 AP SoC اور 7 سیریز FPGAs MIS v2.3 [UG586]
- Xilinx MIG سلوشن سینٹر http://www.xilinx.com/support/answers/34243.html
نظرثانی کی تاریخ
13/03/2015 – ابتدائی ریلیز۔
دستاویزات / وسائل
![]() |
XILINX 63234 END FPGA ڈسٹری بیوٹر [پی ڈی ایف] یوزر گائیڈ 63234 END FPGA ڈسٹریبیوٹر، 63234، END FPGA ڈسٹریبیوٹر، FPGA ڈسٹریبیوٹر |

