XILINX 63234 END FPGA वितरक
महत्त्वाची सूचना: उत्तर रेकॉर्डची ही डाउनलोड करण्यायोग्य PDF त्याची उपयोगिता आणि वाचनीयता वाढविण्यासाठी प्रदान केली आहे. हे लक्षात घेणे महत्वाचे आहे की उत्तर नोंदी आहेत Web-आधारित सामग्री जी नवीन माहिती उपलब्ध होताच वारंवार अपडेट केली जाते. तुम्हाला Xilinx तांत्रिक समर्थनाला भेट देण्याची आठवण करून दिली जाते. Webसाइट आणि पुन्हाview (Xilinx Answer 63234) या उत्तराच्या नवीनतम आवृत्तीसाठी.
परिचय
DDR2 आणि DDR3 मेमरी ज्या पद्धतीने आर्किटेक्ट केल्या आहेत आणि MIG 7 सिरीज कंट्रोलर डिझाइन केले आहे त्यामुळे, कामगिरी सोपी नाही. त्यासाठी विविध Jedec टायमिंग पॅरामीटर्स आणि कंट्रोलर आर्किटेक्चरची समज असणे आवश्यक आहे आणि अंदाज मिळविण्यासाठी तुम्हाला सिम्युलेशन चालवावे लागतील. कामगिरी निश्चित करण्यासाठी सामान्य तत्व समान आहे, परंतु हे दस्तऐवज MIG एक्स वापरून कार्यक्षमता मिळविण्याचा एक सोपा मार्ग प्रदान करते.ampचाचणी बेंच आणि उत्तेजनाच्या मदतीने डिझाइन करा fileयेथे संलग्न आहे.
प्रभावी बँडविड्थ
DRAM डेटा बस केवळ वाचन आणि लेखनाच्या स्फोटादरम्यानच शिखर बँडविड्थच्या जवळ पोहोचते आणि त्याचे ओव्हरहेड प्रभावी डेटा दर कमी करते.
काही माजीampकमी ओव्हरहेड म्हणजे
- त्याच बँकेतील पंक्तींमध्ये प्रवेश करण्यासाठी प्रीचार्ज वेळ (प्रवेश पत्ता समान रो-पेज हिटमध्ये नाही)
- रिकव्हरी टाईम लिहा वरून रीड ऍक्सेसमध्ये बदल करा
- बसचा टर्नअराउंड वेळ वाचनावरून लेखन प्रवेशात बदलणार आहे
डेटा ट्रान्सफर करण्याचे घड्याळ चक्र
- कार्यक्षमता (%) = ——————————————-
एकूण घड्याळ चक्रे
प्रभावी बँडविड्थ = पीक बँडविड्थ * कार्यक्षमता
एमआयजी डिझाइन जनरेशन
- MIG IP वर चरण-दर-चरण तपशीलांसाठी UG586 धडा 1 पहाampले डिझाईन पिढी.
- MIG 7 सिरीज परफॉर्मन्स सिम्युलेशन चालवण्यापूर्वी, तुमचे सिम्युलेशन वातावरण ठीक आहे याची खात्री करण्यासाठी खालील गोष्टी करा.
- एमआयजी एक्स उघडाample योग्य लायब्ररी डिझाइन करा आणि मॅप करा, सिम्युलेशन चालवा आणि तुम्ही ट्रान्सक्रिप्टमध्ये "चाचणी उत्तीर्ण" संदेश पाहू शकता याची खात्री करा.
- प्रवाह दाखवण्यासाठी, मी xc7vx690tffg1761-2 साठी एक MIG IP जनरेट केला आहे आणि ex चा वापर केला आहे.ampले डिझाइन.
- मेमरी अॅड्रेस बिट्स आणि मेमरी अॅड्रेस मॅपिंग सिलेक्शन या दोन गोष्टी लक्षात घेतल्या पाहिजेत.
- उदाampबरं, मी मेमरी पार्ट ड्रॉप-डाउन पर्यायांखाली MT41J128M8XX-125 निवडले आहे.
आकृती-1 मधील निवडलेल्या मेमरी भागासाठी, पंक्ती = 14, स्तंभ = 10 आणि बँक = 3, म्हणून app_addr_width = row + column + bank + rank= 28
तुम्ही BANK_ROW_COLUMN किंवा ROW BANK_COLUMN निवडू शकता.
मी ROW BANK कॉलम सोडला आहे, जो डिफॉल्ट अॅड्रेस मॅपिंग आहे.
Exampसंश्लेषित चाचणी बेंचसह le डिझाइन सिम्युलेशन
- सिम्युलेशन सेटिंग्ज अंतर्गत, QuestaSim/ModelSim सिम्युलेटर निवडा आणि कंपाइल केलेल्या लायब्ररी स्थानावर ब्राउझ करा.
- थर्ड-पार्टी टूल्स इन्स्टॉल पाथकडे निर्देशित करणे, टार्गेट सिम्युलेटर निवडणे आणि लायब्ररी कंपाइलिंग आणि मॅपिंग करणे याबद्दल तपशीलांसाठी, तुम्ही (UG900) Vivado Design Suite User Guide Logic Simulation चा संदर्भ घेऊ शकता.
GUI सिम्युलेट करा (प्रोजेक्ट मॅनेजरमधील रन सिम्युलेशन टॅबवर क्लिक करा) आणि ट्रान्सक्रिप्टमध्ये "टेस्ट पास" असा मेसेज दिसत असल्याची खात्री करा.
कार्यप्रदर्शन सिम्युलेशन RTL सुधारणा
- सोर्सेस टॅबवर राईट क्लिक करा, "अॅड किंवा क्रिएट सिम्युलेशन सोर्सेस" निवडा, mig7_perfsim_traffic_generator.sv वर ब्राउझ करा. file आणि ते जोडण्यासाठी Finish वर क्लिक करा.
- सोर्सेस टॅबवर राईट क्लिक करा, “जोडा किंवा तयार करा सिम्युलेशन सोर्सेस” निवडा, perfsim_stimulus.txt वर ब्राउझ करा आणि फिनिश अॅडिंग वर क्लिक करा.
- माजी टिप्पणी द्याampsim_tb_top.v मध्ये le_top इंस्टेंटिएशन file.
- खालील RTL ओळी sim_tb_top, v मध्ये जोडा
- तुमच्या मेमरी पार्ट निवडीनुसार APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH, H, आणि BANK_WIDTH मध्ये बदल करा. _mig.v वरून मूल्ये मिळवता येतात. file.
- आयपी तयार करताना तुमच्या घटकाच्या नावानुसार पिवळ्या रंगात हायलाइट केलेले इंस्टंटिएशन नाव mig_7series_0_mig बदलू शकते. n, तुम्ही वेगळे नाव निवडले आहे का ते पडताळून पहा आणि त्यानुसार ते बदला.
- एकदा आयपी जनरेट झाला की _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 जोडा fileक्लॉकिंग, कंट्रोलर, ip_top, phy आणि UI फोल्डर्समध्ये s.
- एकदा RTL बदल झाले की आणि सर्व आवश्यक fileतुमच्या सिम्युलेशन सोर्सेसमध्ये s जोडले जातात, तर पदानुक्रम आकृती 5 सारखा असावा.
- द fileलाल रंगात हायलाइट केलेले s नवीन जोडले आहेत आणि ECC-संबंधित मॉड्यूलवर “?” अपेक्षित आहे कारण निवडलेल्या मेमरी कॉन्फिगरेशनमध्ये ECC पर्याय अक्षम केला आहे.
उत्तेजक File वर्णन
प्रत्येक उत्तेजनाचा नमुना ४८ बिट्सचा असतो आणि त्याचे स्वरूप आकृती ६-१ ते ६-४ मध्ये वर्णन केले आहे.
पत्ता एन्कोडिंग (पत्ता [३५:०])
आकृती ७-१ ते आकृती ७-६ नुसार पत्ता उत्तेजनात एन्कोड केलेला आहे. सर्व पत्ता फील्ड हेक्साडेसिमल स्वरूपात प्रविष्ट करणे आवश्यक आहे.
सर्व अॅड्रेस फील्ड्सची रुंदी चारने भाग जाते आणि हेक्साडेसिमल फॉरमॅटमध्ये प्रविष्ट केली जाते. टेस्ट बेंच फक्त अॅड्रेस फील्डचे आवश्यक बिट्स मेमरी कंट्रोलरला पाठवते. उदा.ampम्हणजे, आठ बँकांच्या कॉन्फिगरेशनमध्ये, फक्त बँक बिट्स [2:0] मेमरी कंट्रोलरला पाठवले जातात आणि उर्वरित बिट्स दुर्लक्षित केले जातात. अॅड्रेस फील्डसाठी अतिरिक्त बिट्स तुम्हाला हेक्साडेसिमल फॉरमॅटमध्ये अॅड्रेस एंटर करण्यासाठी प्रदान केले जातात. तुम्ही पुष्टी केली पाहिजे की एंटर केलेले मूल्य दिलेल्या कॉन्फिगरेशनच्या रुंदीशी संबंधित आहे.
- कॉलम अॅड्रेस (कॉलम[11:0]) – स्टिम्युलसमधील कॉलम अॅड्रेस जास्तीत जास्त 12 बिट्सपर्यंत प्रदान केला जातो, परंतु तुम्हाला तुमच्या डिझाइनमध्ये सेट केलेल्या कॉलम रुंदी पॅरामीटरच्या आधारे हे संबोधित करावे लागेल.
- पंक्ती पत्ता (पंक्ती[15:0]) – उत्तेजनातील पंक्ती पत्ता जास्तीत जास्त 16 बिट्सपर्यंत प्रदान केला जातो, परंतु तुम्हाला पत्ता देणे आवश्यक आहे
- हे तुमच्या डिझाइनमध्ये सेट केलेल्या रो रुंदी पॅरामीटरवर आधारित आहे.
- बँकेचा पत्ता (बँक[3:0]) – प्रोत्साहनात बँकेचा पत्ता जास्तीत जास्त चार बिट्ससाठी प्रदान केला आहे, परंतु तुम्हाला तुमच्या डिझाइनमध्ये सेट केलेल्या बँकेच्या रुंदीच्या पॅरामीटरच्या आधारे हे संबोधित करावे लागेल.
- रँक अॅड्रेस (Rank[3:0]) – स्टिम्युलसमधील रँक अॅड्रेस जास्तीत जास्त चार बिट्सपर्यंत प्रदान केला जातो, परंतु तुम्हाला तुमच्या डिझाइनमध्ये सेट केलेल्या रँक रुंदी पॅरामीटरच्या आधारे हे संबोधित करावे लागेल.
- पत्ता उच्च-स्तरीय MEM_ADDR_ORDER पॅरामीटरच्या आधारे एकत्रित केला जातो आणि वापरकर्ता इंटरफेसवर पाठवला जातो.
कमांड रिपीट (कमांड रिपीट [७:०])
- कमांड रिपीटेशन काउंट म्हणजे युजर इंटरफेसवर संबंधित कमांडची पुनरावृत्ती किती वेळा केली जाते याची संख्या. प्रत्येक रिपीटेशनचा पत्ता ८ ने वाढवला जातो. कमाल रिपीटेशन काउंट १२८ आहे.
- चाचणी बेंच स्तंभ सीमा तपासत नाही आणि वाढीदरम्यान कमाल स्तंभ मर्यादा गाठली गेली तर ते गुंडाळते.
- १२८ कमांड संपूर्ण पान भरतात. शून्य व्यतिरिक्त इतर कोणत्याही कॉलम अॅड्रेससाठी, १२८ ची पुनरावृत्ती संख्या ओलांडली जाते.
- स्तंभाची सीमा स्तंभ पत्त्याच्या सुरुवातीपर्यंत जाते.
बसचा वापर
बस वापराची गणना वापरकर्ता इंटरफेसवर केली जाते, एकूण वाचन आणि लेखन संख्या विचारात घेऊन, आणि खालील समीकरण वापरले जाते:
- BL8 चार मेमरी क्लॉक सायकल घेते
- उत्तेजनाचा शेवट म्हणजे सर्व कमांड पूर्ण होण्याची वेळ.
- calib_done म्हणजे कॅलिब्रेशन पूर्ण होण्याची वेळ.
Exampले नमुने
या माजीampलेस 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 – हा पॅटर्न दहाव्या स्तंभात, १५व्या ओळीत आणि दुसऱ्या बँकेत एकच राइट आहे.
- 00_0_2_000F_00A_1 – हा पॅटर्न १०व्या स्तंभातून, १५व्या ओळीतून आणि दुसऱ्या बँकेतून एकच वाचनीय आहे.
एकाच पत्त्यासह अनेक लिहिणे आणि वाचणे
- 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 ex पूर्ण झाले आहे.ampले डिझाइन सिम्युलेशन. याचा अर्थ असा की तुमचा सिम्युलेशन सेटअप तयार आहे, तुम्ही परफॉर्मन्स सिम्युलेशन RTL मॉडिफिकेशन केले आहेत, नवीन सिम्युलेशन पदानुक्रम योग्य आहे आणि तुम्हाला उत्तेजनाचे नमुने समजले आहेत. perfsim_stimulus.txt मध्ये १६ लेखन आणि वाचनांसह सिम्युलेशन पुन्हा एकदा चालवा.
- सर्व चालवा, init_calib_complete सिग्नल येईपर्यंत वाट पहा, आणि तुम्हाला प्रस्तावित लेखन आणि वाचन संख्या दिसेल. त्यानंतर सिम्युलेशन थांबेल.
- जेव्हा तुम्हाला सिम्युलेशन सोडण्यास सांगितले जाईल, तेव्हा नाही निवडा आणि ट्रान्सक्रिप्ट विंडोवर जा, जिथे तुम्ही कामगिरीची आकडेवारी पाहू शकाल.
- जर तुम्ही "क्विट सिम्युलेशन" निवडले तर कामगिरीची आकडेवारी a वर लिहिली जाईल file sim_1/behave फोल्डरमध्ये mig_band_width_output.txt नावाचा फाइल आहे.
- Exampले डायरेक्टरी पथ:- /mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behav
टक्के का असे तुम्हाला वाटेलtagबस वापराचा e फक्त २९ आहे. त्याच आयपी सेटिंग्जसह सिम्युलेशन पुन्हा चालवा, परंतु फक्त स्टिम्युलस बदलून file 256 लिहितात आणि 256 वाचतात
- ff_0_0_0000_000_0
- ff_0_0_0000_000_1
आता तुम्हाला टक्केवारी दिसेलtage 85 आहे, याचा अर्थ असा की DDR3 लेखन आणि वाचन बर्स्टच्या दीर्घ क्रमासाठी बसचा चांगला वापर प्रदान करते.
कामगिरी सुधारण्याचे सामान्य मार्ग
कार्यक्षमतेवर परिणाम करणारे घटक दोन विभागांमध्ये विभागले जाऊ शकतात:
- मेमरी विशिष्ट
- नियंत्रक विशिष्ट
आकृती 9 तुम्हाला एक ओव्हर देतेview स्मृती-विशिष्ट संज्ञांचे.
SRAM आणि ब्लॉक मेमरीजच्या विपरीत, DDR2 किंवा DDR3 कामगिरी केवळ कमाल डेटा दर नाही.
हे बर्याच वेळेच्या घटकांवर अवलंबून असते, यासह:
- tRCD: रो कमांड डिले (किंवा ras ते cas डिले).
- tCAS(CL): कॉलम अॅड्रेस स्ट्रोब लेटन्सी.
- टीआरपी: पंक्ती प्रीचार्ज विलंब.
- tRAS: पंक्ती सक्रिय वेळ (पूर्व-बदल करण्यासाठी सक्रिय करा).
- tRC: पंक्ती चक्र वेळ. tRC = tRAS + tRP
- tRAC: यादृच्छिक प्रवेश विलंब. tRAC = tRCD + tCAS
- tCWLCAS लेखन विलंब म्हणून.
- tZQ: ZQ कॅलिब्रेशन वेळ.
- tRFC: पंक्ती रिफ्रेश सायकल वेळ
- tWTR: वाचण्यासाठी लिहिण्याचा विलंब. वाचण्यासाठी शेवटचा लिहिण्याचा व्यवहार कमांड वेळ.
- tWR: राइट रिकव्हरी वेळ. शेवटचा राइट व्यवहार प्रीचार्ज वेळेपर्यंत
- सर्व सूचीबद्ध पॅरामीटर्सची वेळ वापरलेल्या मेमरीच्या प्रकारावर आणि मेमरी भागाच्या गती श्रेणीवर अवलंबून असते.
- व्याख्या आणि वेळेच्या वैशिष्ट्यांबद्दल अधिक तपशील DDR2 आणि DDR3 JEDEC मानकांमध्ये किंवा कोणत्याही मेमरी डिव्हाइस डेटाशीटमध्ये आढळू शकतात.
कार्यक्षमता प्रामुख्याने मेमरी कशी ऍक्सेस केली जाते यावर अवलंबून असते. भिन्न पत्त्याचे नमुने भिन्न कार्यक्षमतेचे परिणाम देतात.
मेमरी टाइमिंग ओव्हरहेड्स
- नवीन बँका/पंक्तींमध्ये बदलताना किंवा त्याच बँकेतील पंक्ती बदलताना सक्रियकरण वेळ आणि प्रीचार्ज वेळ.- म्हणून, तुम्ही पंक्ती बदल कमी करता, ज्यामुळे tRCD आणि tRP काढून टाकता येते.
- सतत लिहा किंवा वाचा आदेश पाठवा - टीसीसीडी वेळ राखणे.
- लिहिण्यासाठी-वाचण्यासाठी आणि वाचण्यासाठी-वाचण्यासाठी कमांड चेंजओव्हर कमीत कमी करा - वाचण्यासाठी अॅक्सेस बदलण्यासाठी लिहिण्याचा पुनर्प्राप्ती वेळ आणि वाचण्यापासून लिहिण्यासाठी बस टर्नअराउंड वेळ.
- योग्य रिफ्रेश मध्यांतर सेट करा.
- a. DDR3 SDRAM ला सरासरी tREFI च्या नियतकालिक अंतराने रिफ्रेश सायकलची आवश्यकता असते.
- b. जास्तीत जास्त ८ अतिरिक्त रिफ्रेश कमांड आगाऊ जारी करता येतात ("पुल इन"). यामुळे रिफ्रेशची संख्या कमी होत नाही, परंतु दोन आसपासच्या रिफ्रेश कमांडमधील कमाल अंतर ९ × tREFI पर्यंत मर्यादित आहे.
- सर्व बँकांचा वापर करा - योग्य पत्ता यंत्रणा श्रेयस्कर आहे.
- a. रो-बँक-स्तंभ: अनुक्रमिक पत्त्याच्या जागेवर होणाऱ्या व्यवहारासाठी, विद्यमान पंक्तीचा शेवट झाल्यावर व्यवहार सुरू ठेवण्यासाठी कोर स्वयंचलितपणे DRAM डिव्हाइसच्या पुढील बँकेत तीच पंक्ती उघडतो. हे अशा अनुप्रयोगांसाठी योग्य आहे ज्यांना अनुक्रमिक पत्त्याच्या ठिकाणी मोठे डेटा पॅकेट फोडण्याची आवश्यकता असते.
- b. बँक-रो-कॉलम: एका ओळीची सीमा ओलांडताना, सध्याची ओळ बंद होईल आणि त्याच बँकेत दुसरी ओळ उघडेल. MSB हा एक बँक पत्ता आहे जो वेगवेगळ्या बँकांमधून स्विच करण्यासाठी वापरला जाऊ शकतो. हे काही काळासाठी मेमरीच्या एका ब्लॉकमध्ये लहान, अधिक यादृच्छिक व्यवहारांसाठी आणि नंतर दुसऱ्या ब्लॉकमध्ये (बँक) उडी मारण्यासाठी योग्य आहे.
- बर्स्ट लांबी
- a. ७ मालिकेतील DDR8 साठी BL 3 समर्थित आहे. BC7 ची कार्यक्षमता खूपच कमी आहे, जी ५०% पेक्षा कमी आहे. कारण BC4 चा अंमलबजावणी वेळ BL50 सारखाच आहे. डेटा फक्त घटकाच्या आत लपवलेला आहे.
- b. जर तुम्हाला पूर्ण बर्स्ट लिहायचा नसेल तर डेटा मास्क किंवा राईट-आफ्टर-रीडचा विचार केला जाऊ शकतो.
- योग्य ZQ मध्यांतर सेट करा (केवळ DDR3)
कंट्रोलर ZQ शॉर्ट (ZQCS) आणि ZQ लाँग (ZQCL) कॅलिब्रेशन कमांड पाठवतो.- अ. DDR3 JEDEC मानकांचे पालन करा.
- b. 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 उत्तर ४३३४४) पहा.
- अ. वाचनाचा कालावधी बदलू नका.
- b. लिहिताना नियतकालिक वाचन वगळा आणि खरे वाचन करण्यापूर्वी चुकलेल्या वाचनांची संख्या द्या.
- पुनर्क्रमांकन - तपशीलांसाठी (Xilinx उत्तर 34392) पहा. वापरकर्ता आणि AXI इंटरफेस डिझाइनसाठी, हे सक्षम करणे श्रेयस्कर आहे.
- a. पुनर्क्रमण म्हणजे असे तर्कशास्त्र जे अनेक आदेशांचे भविष्य पाहते आणि वापरकर्ता आदेशाचा क्रम बदलते जेणेकरून मेमरी नसलेल्या आदेश वैध बँडविड्थ व्यापू नयेत. कामगिरी देखील प्रत्यक्ष रहदारीच्या नमुन्याशी संबंधित असते.
- b. अॅड्रेस पॅटर्नवर आधारित, पुनर्क्रम प्रीचार्ज वगळण्यास आणि कमांड सक्रिय करण्यास मदत करतो आणि tRCD आणि tRP डेटा बँडविड्थ व्यापू शकत नाही.
- बँक मशीनची संख्या वाढवण्याचा प्रयत्न करा.
- अ. बहुतेक कंट्रोलरचे लॉजिक बँक मशीनमध्ये असते आणि ते DRAM बँकांशी संबंधित असतात.
- b. दिलेल्या बँक मशीन कोणत्याही वेळी एकाच DRAM बँकेचे व्यवस्थापन करते.
- क. बँक मशीन असाइनमेंट गतिमान आहे, म्हणून प्रत्येक भौतिक बँकेसाठी बँक मशीन असणे आवश्यक नाही.
- ड. बँक मशीन्स कॉन्फिगर केल्या जाऊ शकतात, परंतु ते क्षेत्रफळ आणि कामगिरीमधील तडजोड आहे.
- ई. बँक मशीनची परवानगी असलेली संख्या २-८ पर्यंत आहे.
- f. डिफॉल्टनुसार, 4 बँक मशीन्स RTL पॅरामीटर्सद्वारे कॉन्फिगर केल्या जातात.
- g. बँक मशीन बदलण्यासाठी, memc_ui_top मध्ये असलेले nBANK_MACHS = 8 हे पॅरामीटर विचारात घ्या.
Example 8 बँक मशीनसाठी – nBANK_MACHS = 8
आता तुम्हाला कामगिरीवर परिणाम करणारे घटक माहित आहेत. एका अपस्ट्रीम अॅप्लिकेशनचा विचार करा जो तुम्हाला प्रति पॅकेट ५१२ डेटा बाइट्स देतो आणि तुम्हाला ते वेगवेगळ्या मेमरी लोकेशन्समध्ये सेव्ह करावे लागतील. ५१२ डेटा बाइट्स म्हणजे ६४ DDR512 डेटा बर्स्ट्स, म्हणून एक्स पुन्हा चालवा.ampउत्तेजक सह डिझाइन file ५१२ लेखन, ५१२ वाचन आणि प्रत्येक ६४ लेखन किंवा वाचनांसाठी पंक्ती स्विचिंग समाविष्ट आहे:
सिम्युलेशनच्या शेवटी, तुम्हाला दिसेल की बसचा वापर ७७ टक्के आहे.
आकृती 11: 512 राइट्स आणि 512 रीड्ससाठी परफॉर्मन्स स्टॅटिस्टिक्स - 64 राइट्स किंवा रीड्ससाठी रो स्विचिंग.
आता तुम्ही मागील विभागात शिकलेले ज्ञान कार्यक्षमता सुधारण्यासाठी लागू करू शकता. पंक्ती बदलण्याऐवजी सर्व बँकांचा वापर करण्यासाठी, खाली दाखवल्याप्रमाणे बँक बदलण्यासाठी अॅड्रेस पॅटर्नमध्ये बदल करा. हे MIG GUI मधील मेमरी अॅड्रेस मॅपिंग सेटिंगमध्ये ROW_BANK_Column सेट करण्यासारखे आहे.
सिम्युलेशनच्या शेवटी, तुम्हाला दिसेल की पूर्वीचा ७७ टक्के बस वापर आता ८७ टक्के झाला आहे!
तुम्हाला अजूनही उच्च कार्यक्षमतेची आवश्यकता असल्यास, तुम्ही 1024 किंवा 2048 बाइट्सच्या मोठ्या पॅकेट आकारासाठी जाऊ शकता किंवा मॅन्युअल रिफ्रेश करण्याचा विचार करू शकता.
टीप: Xilinx कंट्रोलर रिफ्रेश बायपास करण्यास प्रोत्साहन देत नाही, कारण आम्हाला खात्री नाही की तुम्ही JEDEC ऑटो रिफ्रेश वेळेची पूर्तता करू शकाल की नाही, ज्यामुळे डेटा विश्वासार्हतेवर परिणाम होतो. कंट्रोलरमधून तुम्ही कामगिरी सुधारणा पाहण्यासाठी NBANNBANk_MACH बदलू शकता. तथापि, हे तुमच्या डिझाइन वेळेवर परिणाम करू शकते, nBANk_MACH बद्दल तपशीलांसाठी कृपया (Xilinx उत्तर 36505) पहा.
core_name_mig_sim.v उघडा. file आणि nBANK_MACHS पॅरामीटर्स 4 वरून 8 मध्ये बदला आणि सिम्युलेशन पुन्हा चालवा.
हार्डवेअरमध्ये पॅरामीटर व्हॅल्यू प्रभावी होण्यासाठी, तुम्हाला core_name_mig.v अपडेट करावे लागेल. file. मी तोच पॅटर्न वापरला जिथे आम्हाला ८७% बस वापर मिळाला (आकृती २). nBANK_MACHS ८ वर सेट केल्यामुळे, कार्यक्षमता आता ९०% आहे.
तसेच, हे लक्षात ठेवा की ½ आणि ¼ नियंत्रक त्यांच्या विलंबांमुळे कार्यक्षमतेवर नकारात्मक परिणाम करतात. उदा.ampपण, आपण दर 4 CK चक्रांना फक्त कमांड पाठवू शकतो, त्यामुळे किमान DRAM वेळेच्या वैशिष्ट्यांचे पालन करताना कधीकधी अतिरिक्त पॅडिंग होते, जे सैद्धांतिकदृष्ट्या कार्यक्षमता कमी करू शकते. तुमच्या कार्यक्षमतेच्या गरजेनुसार एक शोधण्यासाठी वेगवेगळे नियंत्रक वापरून पहा. संदर्भ
- Zynq-7000 AP SoC आणि 7 मालिका FPGAs MIS v2.3 [UG586]
- Xilinx MIG समाधान केंद्र http://www.xilinx.com/support/answers/34243.html
पुनरावृत्ती इतिहास
१३/०३/२०१५ – प्रारंभिक प्रकाशन..
कागदपत्रे / संसाधने
![]() |
XILINX 63234 END FPGA वितरक [pdf] वापरकर्ता मार्गदर्शक ६३२३४ एंड एफपीजीए वितरक, ६३२३४, एंड एफपीजीए वितरक, एफपीजीए वितरक |