អ្នកចែកចាយ XILINX 63234 END FPGA
ចំណាំសំខាន់៖ PDF ដែលអាចទាញយកបាននៃកំណត់ត្រាចម្លើយត្រូវបានផ្តល់ជូនដើម្បីបង្កើនលទ្ធភាពប្រើប្រាស់ និងលទ្ធភាពអានរបស់វា។ វាជាការសំខាន់ក្នុងការកត់សម្គាល់ថាកំណត់ត្រាចម្លើយគឺ Webមាតិកាដែលមានមូលដ្ឋានដែលត្រូវបានធ្វើបច្ចុប្បន្នភាពជាញឹកញាប់នៅពេលដែលព័ត៌មានថ្មីអាចរកបាន។ អ្នកត្រូវបានរំលឹកឱ្យទៅមើលផ្នែកជំនួយបច្ចេកទេស Xilinx Webគេហទំព័រនិងឡើងវិញview (Xilinx ចម្លើយ 63234) សម្រាប់កំណែចុងក្រោយបំផុតនៃចម្លើយនេះ។
សេចក្តីផ្តើម
ដោយសារតែវិធីដែលអង្គចងចាំ DDR2 និង DDR3 ត្រូវបានស្ថាបត្យកម្ម ហើយឧបករណ៍បញ្ជាស៊េរី MIG 7 ត្រូវបានរចនា ការអនុវត្តមិនមានភាពត្រង់នោះទេ។ វាទាមទារការយល់ដឹងអំពីប៉ារ៉ាម៉ែត្រ Jedec Timing ផ្សេងៗ និងស្ថាបត្យកម្មឧបករណ៍បញ្ជា ហើយអ្នកនឹងត្រូវដំណើរការការក្លែងធ្វើដើម្បីទទួលបានការប៉ាន់ស្មាន។ គោលការណ៍ទូទៅសម្រាប់កំណត់ការអនុវត្តគឺដូចគ្នា ប៉ុន្តែឯកសារនេះផ្តល់នូវវិធីងាយស្រួលក្នុងការទទួលបានប្រសិទ្ធភាពដោយប្រើ MIG example រចនាដោយមានជំនួយពីកៅអីសាកល្បង និងការជំរុញ files ត្រូវបានភ្ជាប់នៅទីនេះ។
កម្រិតបញ្ជូនដែលមានប្រសិទ្ធភាព
ឡានក្រុងទិន្នន័យ DRAM សម្រេចបាននៅជិតកម្រិតបញ្ជូនខ្ពស់បំផុតតែក្នុងអំឡុងពេលនៃការអាន និងសរសេរ ហើយតម្លៃរបស់វាបន្ថយអត្រាទិន្នន័យដែលមានប្រសិទ្ធភាព។
អតីតពីរបីamples of overhead គឺ
- បញ្ចូលពេលចូលប្រើជួរដេកក្នុងធនាគារដូចគ្នា (ចូលប្រើអាសយដ្ឋានមិននៅក្នុងទំព័រជួរដេកដូចគ្នា)
- សរសេរពេលវេលាសង្គ្រោះដើម្បីប្តូរពីការសរសេរទៅជាការចូលអាន
- ពេលវេលាផ្លាស់ប្តូរឡានក្រុងដើម្បីផ្លាស់ប្តូរពីការអានទៅជាការចូលសរសេរ
វដ្តនាឡិកាផ្ទេរទិន្នន័យ
- ប្រសិទ្ធភាព (%) = ——————————————-
វដ្តនាឡិកាសរុប
Effective Bandwidth = កម្រិតបញ្ជូនខ្ពស់បំផុត * ប្រសិទ្ធភាព
ជំនាន់រចនា MIG
- សូមមើល UG586 ជំពូកទី 1 សម្រាប់ព័ត៌មានលម្អិតជាជំហាន ៗ លើ MIG IP និងឧampជំនាន់រចនា។
- មុននឹងដំណើរការការក្លែងធ្វើប្រតិបត្តិការស៊េរី MIG 7 សូមធ្វើដូចខាងក្រោម ដើម្បីប្រាកដថាបរិយាកាសក្លែងធ្វើរបស់អ្នកគឺល្អ។
- បើក MIG example រចនា និងគូសផែនទីបណ្ណាល័យដែលសមស្រប ដំណើរការការក្លែងធ្វើ និងធានាថាអ្នកអាចមើលឃើញសារ "សាកល្បងបានឆ្លងកាត់" នៅក្នុងប្រតិចារិក។
- ដើម្បីបង្ហាញពីលំហូរ ខ្ញុំបានបង្កើត MIG IP សម្រាប់ xc7vx690tffg1761-2 ហើយបានហៅអតីតampការរចនាឡេ។
- រឿងពីរដែលគួរកត់សម្គាល់គឺប៊ីតអាសយដ្ឋានអង្គចងចាំ និងការជ្រើសរើសផែនទីអាសយដ្ឋានអង្គចងចាំ។
- សម្រាប់អតីតampដូច្នេះ ខ្ញុំបានជ្រើសរើស MT41J128M8XX-125 នៅក្រោមជម្រើសទម្លាក់ចុះផ្នែកអង្គចងចាំ។
សម្រាប់ផ្នែកអង្គចងចាំដែលបានជ្រើសរើសពីរូបភាពទី 1 ជួរដេក = 14 ជួរឈរ = 10 និងធនាគារ = 3 ដូច្នេះ app_addr_width = ជួរដេក + ជួរឈរ + ធនាគារ + ចំណាត់ថ្នាក់ = 28
អ្នកអាចជ្រើសរើស BANK_ROW_COLUMN ឬ ROW BANK_COLUMN។
ខ្ញុំបានចាកចេញពីជួរធនាគារ ROW ដែលជាការគូសផែនទីអាសយដ្ឋានលំនាំដើម។
Example design ការក្លែងធ្វើជាមួយកៅអីសាកល្បងដែលអាចសំយោគបាន។
- នៅក្រោមការកំណត់ការក្លែងធ្វើ សូមជ្រើសរើស QuestaSim/ModelSim Simulator ហើយរកមើលទីតាំងបណ្ណាល័យដែលបានចងក្រង។
- សម្រាប់ព័ត៌មានលម្អិតអំពីការចង្អុលទៅផ្លូវដំឡើងឧបករណ៍ភាគីទីបី ការជ្រើសរើសឧបករណ៍ក្លែងធ្វើគោលដៅ និងការចងក្រង និងផែនទីបណ្ណាល័យ អ្នកអាចយោងទៅ (UG900) Vivado Design Suite User Guide Logic Simulation ។
ក្លែងធ្វើ GUI (ចុចលើផ្ទាំង Run Simulation Tab ក្នុងកម្មវិធីគ្រប់គ្រងគម្រោង) ហើយត្រូវប្រាកដថាអ្នកឃើញសារ "test pass" នៅក្នុងប្រតិចារិក។
ការកែប្រែការអនុវត្តការក្លែងធ្វើ RTL
- ចុចកណ្ដុរស្ដាំលើផ្ទាំងប្រភព ជ្រើសរើស “បន្ថែម ឬបង្កើតប្រភពក្លែងធ្វើ” រកមើល mig7_perfsim_traffic_generator.sv file ហើយចុចបញ្ចប់ដើម្បីបន្ថែមវា។
- ចុចកណ្ដុរស្ដាំលើផ្ទាំងប្រភព ជ្រើសរើស “បន្ថែម ឬបង្កើតប្រភពក្លែងធ្វើ” រកមើល perfsim_stimulus.txt ហើយចុចបញ្ចប់ការបន្ថែមវា។
- បញ្ចេញយោបល់លើអតីតample_top instantiation នៅក្នុង 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 creation.n ផ្ទៀងផ្ទាត់ប្រសិនបើអ្នកបានជ្រើសរើសឈ្មោះផ្សេង ហើយផ្លាស់ប្តូរវាទៅតាមនោះ។
- នៅពេលដែល 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ដែលត្រូវបានបន្លិចជាពណ៌ក្រហមត្រូវបានបន្ថែមថ្មី ហើយ "?" ត្រូវបានរំពឹងទុកនៅលើម៉ូឌុលដែលទាក់ទងនឹង ECC ដោយសារការកំណត់រចនាសម្ព័ន្ធអង្គចងចាំដែលបានជ្រើសរើសមានជម្រើស ECC ត្រូវបានបិទ។
រំញោច File ការពិពណ៌នា
លំនាំជំរុញនីមួយៗគឺ 48 ប៊ីត ហើយទម្រង់ត្រូវបានពិពណ៌នានៅក្នុងរូបភាព 6-1 ដល់ 6-4 ។
ការអ៊ិនកូដអាសយដ្ឋាន (អាសយដ្ឋាន [35:0])
អាសយដ្ឋានត្រូវបានអ៊ិនកូដក្នុងការជំរុញដូចក្នុងរូបភាព 7-1 ដល់រូបភាព 7-6 ។ វាលអាសយដ្ឋានទាំងអស់ត្រូវបញ្ចូលក្នុងទម្រង់លេខគោលដប់ប្រាំមួយ។
វាលអាសយដ្ឋានទាំងអស់គឺជាទទឹងដែលបែងចែកដោយបួន ដើម្បីបញ្ចូលក្នុងទម្រង់គោលដប់ប្រាំមួយ។ កៅអីសាកល្បងបញ្ជូនតែប៊ីតនៃវាលអាសយដ្ឋានដែលត្រូវការទៅឧបករណ៍បញ្ជាអង្គចងចាំប៉ុណ្ណោះ។ សម្រាប់អតីតample នៅក្នុងការកំណត់រចនាសម្ព័ន្ធធនាគារចំនួនប្រាំបី មានតែប៊ីតធនាគារ [2:0] ប៉ុណ្ណោះដែលត្រូវបានផ្ញើទៅកាន់ឧបករណ៍បញ្ជាអង្គចងចាំ ហើយប៊ីតដែលនៅសល់មិនត្រូវបានអើពើ។ ប៊ីតបន្ថែមសម្រាប់វាលអាសយដ្ឋានត្រូវបានផ្តល់ជូនសម្រាប់អ្នកដើម្បីបញ្ចូលអាសយដ្ឋានក្នុងទម្រង់គោលដប់ប្រាំមួយ។ អ្នកត្រូវតែបញ្ជាក់ថាតម្លៃដែលគាត់បានបញ្ចូលត្រូវនឹងទទឹងនៃការកំណត់រចនាសម្ព័ន្ធដែលបានផ្ដល់ឱ្យ។
- អាសយដ្ឋានជួរឈរ (Column[11:0]) – អាសយដ្ឋានជួរឈរនៅក្នុងការជំរុញត្រូវបានផ្តល់ជូនអតិបរមា 12 ប៊ីត ប៉ុន្តែអ្នកត្រូវដោះស្រាយវាដោយផ្អែកលើប៉ារ៉ាម៉ែត្រទទឹងជួរឈរដែលបានកំណត់នៅក្នុងការរចនារបស់អ្នក។
- អាសយដ្ឋានជួរដេក (Row[15:0]) - អាសយដ្ឋានជួរដេកនៅក្នុងការជំរុញត្រូវបានផ្តល់ជូនអតិបរមា 16 ប៊ីត ប៉ុន្តែអ្នកត្រូវដោះស្រាយ
- នេះគឺផ្អែកលើប៉ារ៉ាម៉ែត្រទទឹងជួរដេកដែលបានកំណត់ក្នុងការរចនារបស់អ្នក។
- អាសយដ្ឋានធនាគារ (Bank[3:0]) – អាសយដ្ឋានធនាគារនៅក្នុងការជំរុញត្រូវបានផ្តល់ជូនអតិបរមាចំនួនបួនប៊ីត ប៉ុន្តែអ្នកត្រូវដោះស្រាយវាដោយផ្អែកលើប៉ារ៉ាម៉ែត្រទទឹងធនាគារដែលបានកំណត់នៅក្នុងការរចនារបស់អ្នក។
- Rank Address (Rank[3:0]) – Rank address in the stimulus is offer to a maximum of four bits, but you need to address this based on the rank width parameter set in your design.
- អាសយដ្ឋានត្រូវបានប្រមូលផ្តុំដោយផ្អែកលើប៉ារ៉ាម៉ែត្រ MEM_ADDR_ORDER កម្រិតកំពូល ហើយបានផ្ញើទៅកាន់ចំណុចប្រទាក់អ្នកប្រើ។
ពាក្យបញ្ជាម្តងទៀត (Command Repeat [7:0])
- ចំនួនពាក្យបញ្ជាដដែលៗគឺជាចំនួនដងដែលពាក្យបញ្ជារៀងៗខ្លួនត្រូវបានធ្វើម្តងទៀតនៅ User Interface។ អាសយដ្ឋានសម្រាប់ពាក្យដដែលៗនីមួយៗត្រូវបានបង្កើនដោយ 8 ។ ចំនួនពាក្យដដែលៗអតិបរមាគឺ 128 ។
- កៅអីសាកល្បងមិនពិនិត្យមើលព្រំដែនជួរឈរទេ ហើយវារុំជុំវិញប្រសិនបើដែនកំណត់ជួរអតិបរមាត្រូវបានឈានដល់កំឡុងពេលបង្កើន។
- ពាក្យបញ្ជា 128 បំពេញទំព័រ។ សម្រាប់អាសយដ្ឋានជួរឈរណាមួយក្រៅពី 0 ចំនួនពាក្យដដែលៗនៃ 128 បញ្ចប់ដោយការឆ្លងកាត់។
- ព្រំដែនជួរឈររុំជុំវិញដើមអាសយដ្ឋានជួរឈរ។
ការប្រើប្រាស់ឡានក្រុង
ការប្រើប្រាស់ឡានក្រុងត្រូវបានគណនានៅ User Interface ដោយយកចំនួនសរុបនៃការអាន និងសរសេរមកពិចារណា ហើយសមីការខាងក្រោមត្រូវបានប្រើ៖
- BL8 ប្រើវដ្តនៃការចងចាំចំនួនបួន
- End_of_stimulus គឺជាពេលដែលពាក្យបញ្ជាទាំងអស់ត្រូវបានបញ្ចប់។
- calib_done គឺជាពេលដែលការក្រិតតាមខ្នាតរួចរាល់។
Example លំនាំ
ទាំងនេះ អតីតamples គឺផ្អែកលើ MEM_ADDR_ORDER ដែលបានកំណត់ទៅ BANK_ROW_COLUMN ។
លំនាំអានតែមួយ
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 ដោយមានអាសយដ្ឋានជួរឈរដែលបានរុំទៅដើមទំព័របន្ទាប់ពីសរសេរមួយ។
ការក្លែងធ្វើម៉ាស៊ីនភ្លើងចរាចរណ៍
នៅចំណុចនេះ អ្នកបានបញ្ចប់ជាមួយអតីត MIGample ការក្លែងធ្វើការរចនា។ នេះបញ្ជាក់ថាការរៀបចំការក្លែងធ្វើរបស់អ្នករួចរាល់ហើយ អ្នកបានធ្វើកំណែទម្រង់ការក្លែងធ្វើ RTL ហើយ ឋានានុក្រមនៃការក្លែងធ្វើថ្មីគឺត្រឹមត្រូវ ហើយអ្នកបានយល់ពីលំនាំជំរុញ។ ដំណើរការការក្លែងធ្វើម្តងទៀតជាមួយនឹងការសរសេរ និងអានចំនួន 16 នៅក្នុង perfsim_stimulus.txt ។
- ដំណើរការទាំងអស់ រង់ចាំរហូតដល់សញ្ញា init_calib_complete ត្រូវបានអះអាង ហើយអ្នកនឹងអាចឃើញចំនួននៃការសរសេរ និងអានដែលបានស្នើឡើង។ បន្ទាប់មកការក្លែងធ្វើនឹងឈប់។
- នៅពេលអ្នកត្រូវបានជម្រុញឱ្យចាកចេញពីការក្លែងធ្វើ សូមជ្រើសរើស ទេ ហើយចូលទៅកាន់បង្អួចប្រតិចារឹក ដែលអ្នកនឹងអាចឃើញស្ថិតិប្រតិបត្តិការ។
- ប្រសិនបើអ្នកជ្រើសរើស "បិទការក្លែងធ្វើ" ស្ថិតិនៃការអនុវត្តនឹងត្រូវបានសរសេរទៅ ក file មានឈ្មោះ mig_band_width_output.txt ដែលមានទីតាំងនៅក្នុង sim_1/behave folder។
- Exampផ្លូវថត៖- /mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behav
អ្នកប្រហែលជាឆ្ងល់ថាហេតុអ្វីបានជាភាគរយtage នៃការប្រើប្រាស់ឡានក្រុងគឺត្រឹមតែ 29. ដំណើរការការក្លែងធ្វើឡើងវិញជាមួយនឹងការកំណត់ IP ដូចគ្នា ប៉ុន្តែគ្រាន់តែផ្លាស់ប្តូរការជំរុញ file ដល់ ២៥៦ សរសេរ និង ២៥៦ អាន
- ff_0_0_0000_000_0
- ff_0_0_0000_000_1
ឥឡូវនេះអ្នកនឹងឃើញភាគរយtage as 85 ដែលបង្កប់ន័យថា DDR3 ផ្តល់នូវការប្រើប្រាស់ឡានក្រុងកាន់តែប្រសើរសម្រាប់លំដាប់វែងនៃការសរសេរ និងអានការផ្ទុះ។
វិធីទូទៅដើម្បីកែលម្អការអនុវត្ត
កត្តាដែលមានឥទ្ធិពលលើប្រសិទ្ធភាពអាចបែងចែកជាពីរផ្នែក៖
- អង្គចងចាំជាក់លាក់
- ឧបករណ៍បញ្ជាជាក់លាក់
រូបភាពទី 9 ផ្តល់ឱ្យអ្នកនូវការបញ្ចប់view នៃពាក្យដែលមានការចងចាំជាក់លាក់។
មិនដូច SRAMs និង Block Memories ការអនុវត្ត DDR2 ឬ DDR3 មិនគ្រាន់តែជាអត្រាទិន្នន័យអតិបរមានោះទេ។
វាអាស្រ័យលើកត្តាពេលវេលាជាច្រើន រួមមានៈ
- tRCD៖ ការពន្យារពេលពាក្យបញ្ជាជួរដេក (ឬ ras to cas delay) ។
- tCAS(CL)៖ ភាពយឺតយ៉ាវរបស់អាសយដ្ឋាន strobe ។
- tRP: ការពន្យាពេលបញ្ចូលថ្មជាមុនជួរ។
- tRAS: Row Active Time (ធ្វើឱ្យសកម្មដើម្បីផ្លាស់ប្តូរជាមុន)។
- tRC: ពេលវេលាវដ្តជួរដេក។ tRC = tRAS + tRP
- tRAC៖ ការពន្យាពេលចូលប្រើដោយចៃដន្យ។ tRAC = tRCD + tCAS
- tCWLCASas សរសេរ latency ។
- tZQ: ពេលវេលាក្រិត ZQ ។
- tRFC៖ Row Refresh Cycle Time
- tWTR៖ សរសេរដើម្បីអានពន្យារពេល។ ប្រតិបត្តិការសរសេរចុងក្រោយទៅម៉ោងបញ្ជាអាន។
- tWR៖ សរសេរពេលវេលាសង្គ្រោះ។ ប្រតិបត្តិការសរសេរចុងក្រោយទៅម៉ោងបញ្ចូលមុន។
- ពេលវេលានៃប៉ារ៉ាម៉ែត្រដែលបានរាយបញ្ជីទាំងអស់គឺអាស្រ័យលើប្រភេទនៃអង្គចងចាំដែលបានប្រើ និងកម្រិតល្បឿននៃផ្នែកអង្គចងចាំ។
- ព័ត៌មានលម្អិតបន្ថែមអំពីនិយមន័យ និងការកំណត់ពេលវេលាអាចរកបាននៅក្នុងស្តង់ដារ DDR2 និង DDR3 JEDEC ឬសន្លឹកទិន្នន័យឧបករណ៍អង្គចងចាំណាមួយ។
ប្រសិទ្ធភាពភាគច្រើនអាស្រ័យទៅលើរបៀបដែលអង្គចងចាំត្រូវបានចូលប្រើ។ គំរូអាសយដ្ឋានផ្សេងគ្នាផ្តល់លទ្ធផលប្រសិទ្ធភាពខុសៗគ្នា។
ការកំណត់ពេលវេលានៃការចងចាំ
- ពេលវេលាធ្វើឱ្យសកម្ម និងពេលវេលាបញ្ចូលទឹកប្រាក់ជាមុន នៅពេលផ្លាស់ប្តូរទៅធនាគារ/ជួរថ្មី ឬការផ្លាស់ប្តូរជួរក្នុងធនាគារតែមួយ។- ដូច្នេះ អ្នកកាត់បន្ថយការផ្លាស់ប្តូរជួរ ដែលអាចដក tRCD និង tRP ចេញ។
- ផ្ញើពាក្យបញ្ជាសរសេរឬអានបន្ត - ការថែរក្សាពេលវេលា tCCD ។
- កាត់បន្ថយការផ្លាស់ប្តូរពាក្យបញ្ជាសរសេរទៅអាន និងអានទៅសរសេរ - សរសេរពេលវេលាងើបឡើងវិញដើម្បីប្តូរទៅការចូលអាន និងពេលវេលាផ្លាស់ប្តូរឡានក្រុងដើម្បីប្តូរពីអានទៅសរសេរ។
- កំណត់ចន្លោះពេលធ្វើឱ្យស្រស់ត្រឹមត្រូវ។
- ក. DDR3 SDRAM ទាមទារវដ្តនៃការធ្វើឱ្យស្រស់នៅចន្លោះពេលជាមធ្យមនៃ tREFI ។
- ខ. អតិបរមានៃ 8 ពាក្យបញ្ជាធ្វើឱ្យស្រស់បន្ថែមអាចត្រូវបានចេញជាមុន ("ទាញចូល") ។ នេះមិនកាត់បន្ថយចំនួននៃការធ្វើឱ្យស្រស់នោះទេ ប៉ុន្តែចន្លោះពេលអតិបរមារវាងពាក្យបញ្ជាការធ្វើឱ្យស្រស់ជុំវិញពីរត្រូវបានកំណត់ត្រឹម 9 × tREFI
- ប្រើប្រាស់ធនាគារទាំងអស់ - យន្តការអាសយដ្ឋានសមស្របគឺល្អជាង។
- ក. Row-Bank-Column៖ សម្រាប់ប្រតិបត្តិការដែលកើតឡើងលើចន្លោះអាសយដ្ឋានបន្តបន្ទាប់ ស្នូលនឹងបើកជួរដូចគ្នាដោយស្វ័យប្រវត្តិនៅក្នុងធនាគារបន្ទាប់នៃឧបករណ៍ DRAM ដើម្បីបន្តប្រតិបត្តិការនៅពេលដែលចុងបញ្ចប់នៃជួរដែលមានស្រាប់ត្រូវបានឈានដល់។ វាស័ក្តិសមល្អចំពោះកម្មវិធីដែលទាមទារការបំបែកកញ្ចប់ទិន្នន័យធំទៅកាន់ទីតាំងអាសយដ្ឋានតាមលំដាប់លំដោយ។
- ខ. Bank-Row-Column៖ នៅពេលឆ្លងកាត់ព្រំដែនជួរមួយ ជួរដេកបច្ចុប្បន្ននឹងត្រូវបានបិទ ហើយជួរផ្សេងទៀតនឹងត្រូវបានបើកនៅក្នុងធនាគារដូចគ្នា។ MSB គឺជាអាសយដ្ឋានធនាគារដែលអាចត្រូវបានប្រើដើម្បីប្តូរពីធនាគារផ្សេងៗ។ វាស័ក្តិសមសម្រាប់ប្រតិបត្តិការចៃដន្យខ្លីជាងទៅប្លុកនៃការចងចាំមួយរយៈពេលខ្លះ ហើយបន្ទាប់មកលោតទៅប្លុកផ្សេង (ធនាគារ)
- ប្រវែងផ្ទុះ
- ក. BL 8 ត្រូវបានគាំទ្រសម្រាប់ DDR3 នៅលើស៊េរី 7 ។ BC4 មានប្រសិទ្ធភាពទាបណាស់ដែលតិចជាង 50% ។ នេះគឺដោយសារតែពេលវេលាប្រតិបត្តិនៃ BC4 គឺដូចគ្នានឹង BL8 ។ ទិន្នន័យគ្រាន់តែបិទបាំងនៅខាងក្នុងសមាសធាតុប៉ុណ្ណោះ។
- ខ. ក្នុងករណីដែលអ្នកមិនចង់សរសេរការផ្ទុះពេញលេញ ទាំងរបាំងទិន្នន័យ ឬសរសេរបន្ទាប់ពីអានអាចត្រូវបានពិចារណា។
- កំណត់ចន្លោះ ZQ ត្រឹមត្រូវ (DDR3 តែប៉ុណ្ណោះ)
ឧបករណ៍បញ្ជាបញ្ជូនទាំង ZQ Short (ZQCS) និង ZQ Long (ZQCL) ពាក្យបញ្ជា Calibration ។- ក. ប្រកាន់ខ្ជាប់នូវស្តង់ដារ DDR3 JEDEC
- ខ. ការក្រិត ZQ ត្រូវបានពិភាក្សានៅក្នុងផ្នែក 5.5 នៃស្តង់ដារ JEDEC Spec JESD79-3 DDR3 SDRAM
- គ. ការក្រិត ZQ Calibrates On-Die Termination (ODT) នៅចន្លោះពេលទៀងទាត់ ដើម្បីគណនាការប្រែប្រួលនៅទូទាំង VT
- ឃ. តក្កវិជ្ជាមាននៅក្នុង bank_common.v/vhd
- អ៊ី ប៉ារ៉ាម៉ែត្រ Tzqcs កំណត់អត្រាដែលពាក្យបញ្ជា ZQ Calibration ត្រូវបានផ្ញើទៅអង្គចងចាំ
- f. វាគឺអាចធ្វើទៅបានដើម្បីបិទបញ្ជរ និងផ្ញើដោយដៃដោយប្រើ app_zq_req វាស្រដៀងទៅនឹងការផ្ញើការធ្វើឱ្យស្រស់ដោយដៃ។ សូមមើល (Xilinx Answer 47924) សម្រាប់ព័ត៌មានលម្អិត។
ឧបករណ៍បញ្ជាលើស
- ការអានតាមកាលកំណត់ – សូមមើល (Xilinx Answer 43344) សម្រាប់ព័ត៌មានលម្អិត។
- ក. កុំផ្លាស់ប្តូររយៈពេលនៃការអាន។
- ខ. រំលងការអានតាមកាលកំណត់ កំឡុងពេលសរសេរ និងចេញចំនួននៃការអានដែលខកខានមុនពេលអានពិត
- ការបញ្ជាទិញឡើងវិញ - សូមមើល (Xilinx Answer 34392) សម្រាប់ព័ត៌មានលម្អិត។ សម្រាប់ការរចនាចំណុចប្រទាក់អ្នកប្រើ និង AXI វាជាការប្រសើរក្នុងការបើកដំណើរការនេះ។
- ក. តម្រៀបឡើងវិញគឺជាតក្កវិជ្ជាដែលមើលទៅមុខពាក្យបញ្ជាជាច្រើន និងផ្លាស់ប្តូរលំដាប់ពាក្យបញ្ជាអ្នកប្រើប្រាស់ដើម្បីធ្វើឱ្យពាក្យបញ្ជា nonmemory មិនកាន់កាប់កម្រិតបញ្ជូនត្រឹមត្រូវ។ ការសម្តែងក៏ទាក់ទងទៅនឹងគំរូចរាចរណ៍ជាក់ស្តែងផងដែរ។
- ខ. ដោយផ្អែកលើគំរូអាសយដ្ឋាន ការបញ្ជាទិញឡើងវិញជួយឱ្យរំលងការគិតថ្លៃជាមុន និងធ្វើឱ្យពាក្យបញ្ជាសកម្ម និងធ្វើឱ្យ tRCD និង tRP គ្រប់គ្រងកម្រិតបញ្ជូនទិន្នន័យ។
- ព្យាយាមបង្កើនចំនួនម៉ាស៊ីនធនាគារ។
- ក. តក្កវិជ្ជារបស់ឧបករណ៍បញ្ជាភាគច្រើនស្ថិតនៅក្នុងម៉ាស៊ីនធនាគារ ហើយពួកវាត្រូវគ្នាទៅនឹងធនាគារ DRAM
- ខ. ម៉ាស៊ីនធនាគារដែលបានផ្តល់ឱ្យគ្រប់គ្រងធនាគារ DRAM តែមួយនៅពេលណាក៏បាន។
- គ. ការកំណត់ម៉ាស៊ីនធនាគារមានលក្ខណៈថាមវន្ត ដូច្នេះវាមិនចាំបាច់មានម៉ាស៊ីនធនាគារសម្រាប់ធនាគាររូបវ័ន្តនីមួយៗនោះទេ។
- ឃ. ម៉ាស៊ីនធនាគារអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធ ប៉ុន្តែវាជាការដោះដូររវាងតំបន់ និងការអនុវត្ត។
- អ៊ី ចំនួនដែលអាចអនុញ្ញាតបាននៃម៉ាស៊ីនធនាគារមានចាប់ពី 2-8 ។
- f. តាមលំនាំដើម ម៉ាស៊ីនធនាគារ 4 ត្រូវបានកំណត់រចនាសម្ព័ន្ធតាមរយៈប៉ារ៉ាម៉ែត្រ RTL ។
- g. ដើម្បីផ្លាស់ប្តូរម៉ាស៊ីនធនាគារ សូមពិចារណាប៉ារ៉ាម៉ែត្រ nBANK_MACHS = 8 ដែលមាននៅក្នុង memc_ui_top
Example សម្រាប់ម៉ាស៊ីនធនាគារចំនួន 8 – nBANK_MACHS = 8
ឥឡូវនេះ អ្នកដឹងពីកត្តាដែលជះឥទ្ធិពលដល់ការអនុវត្ត។ ពិចារណាកម្មវិធីខាងលើដែលផ្តល់ឱ្យអ្នកនូវទិន្នន័យ 512 បៃក្នុងមួយកញ្ចប់ t ហើយអ្នកត្រូវរក្សាទុកពួកវាទៅទីតាំងអង្គចងចាំផ្សេងៗគ្នា។ ដោយសារ 512 បៃទិន្នន័យស្មើនឹង 64 DDR3 ទិន្នន័យផ្ទុះ សូមដំណើរការអតីតample រចនាជាមួយនឹងការជំរុញមួយ។ file មាន 512 សរសេរ 512 អាន និងការប្តូរជួរដេកសម្រាប់រាល់ 64 សរសេរ ឬអាន៖
នៅចុងបញ្ចប់នៃការក្លែងធ្វើ អ្នកនឹងឃើញថាការប្រើប្រាស់ឡានក្រុងគឺ 77 ភាគរយ។
រូបភាពទី 11៖ ស្ថិតិការអនុវត្តសម្រាប់ 512 សរសេរ និង 512 អាន – ការប្តូរជួរដេកសម្រាប់ 64 សរសេរ ឬអាន។
ឥឡូវនេះ អ្នកអាចអនុវត្តចំណេះដឹងដែលគាត់បានរៀនពីផ្នែកមុនដើម្បីបង្កើនប្រសិទ្ធភាព។ ដើម្បីប្រើប្រាស់ធនាគារទាំងអស់ជំនួសឱ្យការផ្លាស់ប្តូរជួរ សូមកែប្រែគំរូអាសយដ្ឋានដើម្បីផ្លាស់ប្តូរធនាគារដូចបានបង្ហាញខាងក្រោម។ វាស្មើនឹងការកំណត់ ROW_BANK_Column ក្នុងការកំណត់ផែនទីអាសយដ្ឋានអង្គចងចាំក្នុង MIG GUI។
នៅចុងបញ្ចប់នៃការក្លែងធ្វើ អ្នកនឹងឃើញថាការប្រើប្រាស់ឡានក្រុង 77 ភាគរយពីមុនគឺ 87!
ប្រសិនបើអ្នកនៅតែត្រូវការប្រសិទ្ធភាពខ្ពស់ អ្នកអាចទៅរកទំហំកញ្ចប់ធំនៃ 1024 ឬ 2048 បៃ ឬពិចារណាការធ្វើឱ្យស្រស់ដោយដៃ។
ចំណាំ៖ Xilinx មិនលើកទឹកចិត្តឱ្យឆ្លងកាត់ការធ្វើឱ្យឧបករណ៍បញ្ជាឡើងវិញទេ ដោយសារយើងមិនប្រាកដថាអ្នកនឹងអាចបំពេញតាមពេលវេលាធ្វើឱ្យស្រស់ដោយស្វ័យប្រវត្តិរបស់ JEDEC ដែលប៉ះពាល់ដល់ភាពជឿជាក់នៃទិន្នន័យ។ ពីឧបករណ៍បញ្ជា អ្នកអាចផ្លាស់ប្តូរ NBANNBANk_MACH ដើម្បីមើលការកែលម្អការអនុវត្ត។ ទោះយ៉ាងណាក៏ដោយ វាអាចប៉ះពាល់ដល់ពេលវេលារចនារបស់អ្នក សូមយោងទៅ (Xilinx Answer 36505) សម្រាប់ព័ត៌មានលម្អិតនៅលើ nBANk_MACH ។
បើក core_name_mig_sim.v file និងផ្លាស់ប្តូរប៉ារ៉ាម៉ែត្រ nBANK_MACHS ពី 4 ទៅ 8 ហើយដំណើរការការក្លែងធ្វើឡើងវិញ។
ដើម្បីឱ្យតម្លៃប៉ារ៉ាម៉ែត្រមានប្រសិទ្ធិភាពនៅក្នុងផ្នែករឹង អ្នកត្រូវធ្វើបច្ចុប្បន្នភាព core_name_mig.v file. ខ្ញុំបានប្រើគំរូដូចគ្នាដែលយើងទទួលបានការប្រើប្រាស់ឡានក្រុង 87% (រូបភាពទី 2)។ ជាមួយនឹង nBANK_MACHS កំណត់ទៅ 8 ប្រសិទ្ធភាពគឺ 90% ។
សូមចំណាំផងដែរថាឧបករណ៍បញ្ជា ½ និង ¼ ប៉ះពាល់អវិជ្ជមានដល់ប្រសិទ្ធភាពដោយសារភាពយឺតរបស់វា។ សម្រាប់អតីតample ដោយសារយើងអាចផ្ញើពាក្យបញ្ជារាល់ 4 CK cycles ជួនកាលមានទ្រនាប់បន្ថែមទៀតនៅពេលដែលប្រកាន់ខ្ជាប់នូវកំណត់ពេលវេលា 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 [pdf] ការណែនាំអ្នកប្រើប្រាស់ អ្នកចែកចាយ 63234 END FPGA, 63234, END អ្នកចែកចាយ FPGA, អ្នកចែកចាយ FPGA |