Xilinx-ലോഗോ

Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ ഗൈഡ്

Xilinx_DDR2_MIG_7_Performance-Estimation-product

പ്രധാന കുറിപ്പ്: ഒരു ഉത്തരരേഖയുടെ ഈ ഡൗൺലോഡ് ചെയ്യാവുന്ന PDF അതിന്റെ ഉപയോഗക്ഷമതയും വായനാക്ഷമതയും വർദ്ധിപ്പിക്കുന്നതിനാണ് നൽകിയിരിക്കുന്നത്. ഉത്തര രേഖകൾ എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ് Webപുതിയ വിവരങ്ങൾ ലഭ്യമാകുമ്പോൾ പതിവായി അപ്ഡേറ്റ് ചെയ്യുന്ന -അടിസ്ഥാന ഉള്ളടക്കം. Xilinx സാങ്കേതിക പിന്തുണ സന്ദർശിക്കാൻ നിങ്ങളെ ഓർമ്മിപ്പിക്കുന്നു Webസൈറ്റും റീview (Xilinx Answer 63234) ഈ ഉത്തരത്തിന്റെ ഏറ്റവും പുതിയ പതിപ്പിന്.

ആമുഖം

DDR2, DDR3 മെമ്മറികൾ ആർക്കിടെക്‌റ്റുചെയ്‌തിരിക്കുന്നതും MIG 7 സീരീസ് കൺട്രോളർ രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നതും കാരണം, പ്രകടനം നേരെ മുന്നോട്ട് പോകുന്നില്ല.
ഇതിന് വിവിധ ജെഡെക് ടൈമിംഗ് പാരാമീറ്ററുകളെയും കൺട്രോളർ ആർക്കിടെക്ചറിനെയും കുറിച്ച് ഒരു ധാരണ ആവശ്യമാണ്, എസ്റ്റിമേറ്റുകൾ ലഭിക്കുന്നതിന് നിങ്ങൾ സിമുലേഷനുകൾ പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്.
പ്രകടനം നിർണ്ണയിക്കുന്നതിനുള്ള പൊതു തത്വം ഒന്നുതന്നെയാണ്, എന്നാൽ ഈ പ്രമാണം MIG ex ഉപയോഗിച്ച് കാര്യക്ഷമത നേടുന്നതിനുള്ള ഒരു എളുപ്പ മാർഗം നൽകുന്നു.ampടെസ്റ്റ് ബെഞ്ചിന്റെയും ഉത്തേജനത്തിന്റെയും സഹായത്തോടെ le ഡിസൈൻ fileകൾ ഇവിടെ ഘടിപ്പിച്ചിരിക്കുന്നു.

ഫലപ്രദമായ ബാൻഡ്‌വിഡ്ത്ത്

DRAM ഡാറ്റ ബസ്, വായനയുടെയും എഴുത്തിന്റെയും പൊട്ടിത്തെറിയുടെ സമയത്ത് മാത്രമേ പീക്ക് ബാൻഡ്‌വിഡ്ത്ത് കൈവരിക്കൂ, കൂടാതെ അതിന്റെ ഓവർഹെഡ് ഫലപ്രദമായ ഡാറ്റാ നിരക്ക് കുറയ്ക്കുകയും ചെയ്യുന്നു.
ഏതാനും മുൻampഓവർഹെഡിന്റെ കുറവ് ഇവയാണ്:

  • ഒരേ ബാങ്കിലെ വരികൾ ആക്‌സസ് ചെയ്യുന്നതിനുള്ള പ്രീചാർജ് സമയം (അതേ വരി-പേജ് ഹിറ്റിൽ അല്ല ആക്‌സസ് വിലാസം)
  • റൈറ്റിൽ നിന്ന് റീഡ് ആക്‌സസിലേക്ക് മാറ്റാനുള്ള വീണ്ടെടുക്കൽ സമയം എഴുതുക
  • വായനയിൽ നിന്ന് എഴുത്തിലേക്കുള്ള പ്രവേശനം മാറ്റാനുള്ള ബസ് തിരിയുന്ന സമയം

Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-28
ഫലപ്രദമായ ബാൻഡ്‌വിഡ്ത്ത് = പീക്ക് ബാൻഡ്‌വിഡ്ത്ത് * കാര്യക്ഷമത 

MIG ഡിസൈൻ ജനറേഷൻ

MIG IP-യെ കുറിച്ചുള്ള ഘട്ടം ഘട്ടമായുള്ള വിശദാംശങ്ങൾക്കായി UG586 അധ്യായം 1 കാണുക.ampലെ ഡിസൈൻ ജനറേഷൻ.
MIG 7 സീരീസ് പെർഫോമൻസ് സിമുലേഷൻ പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ്, നിങ്ങളുടെ സിമുലേഷൻ പരിതസ്ഥിതി മികച്ചതാണെന്ന് ഉറപ്പാക്കാൻ ഇനിപ്പറയുന്നവ ചെയ്യുക. MIG എക്സ് തുറക്കുകampഅനുയോജ്യമായ ലൈബ്രറികൾ രൂപകൽപ്പന ചെയ്യുകയും മാപ്പ് ചെയ്യുകയും ചെയ്യുക, സിമുലേഷൻ പ്രവർത്തിപ്പിക്കുക, ട്രാൻസ്ക്രിപ്റ്റിൽ "ടെസ്റ്റ് പാസ്സായി" എന്ന സന്ദേശം നിങ്ങൾക്ക് കാണാൻ കഴിയുമെന്ന് ഉറപ്പാക്കുക.
ഒഴുക്ക് തെളിയിക്കാൻ ഞാൻ xc7vx690tffg1761-2 എന്നതിനായി ഒരു MIG IP ജനറേറ്റ് ചെയ്യുകയും മുൻampലെ ഡിസൈൻ.
ശ്രദ്ധിക്കേണ്ട രണ്ട് കാര്യങ്ങൾ മെമ്മറി വിലാസ ബിറ്റുകളും മെമ്മറി വിലാസ മാപ്പിംഗ് തിരഞ്ഞെടുക്കലുമാണ്.
ഉദാampലെ, ഞാൻ മെമ്മറി ഭാഗം ഡ്രോപ്പ് ഡൗൺ ഓപ്ഷനുകൾക്ക് കീഴിൽ MT41J128M8XX-125 തിരഞ്ഞെടുത്തു.Xilinx DDR2 MIG-7-പെർഫോമൻസ്-എസ്റ്റിമേഷൻ-ഫിഗ്-1

ചിത്രം-1-ൽ നിന്ന് തിരഞ്ഞെടുത്ത മെമ്മറി ഭാഗത്തിന്, വരി = 14, കോളം = 10, ബാങ്ക് = 3, അതിനാൽ app_addr_width = വരി + കോളം + ബാങ്ക് + റാങ്ക് = 28 Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-2

നിങ്ങൾക്ക് BANK_ROW_COLUMN അല്ലെങ്കിൽ ROW BANK കോളം തിരഞ്ഞെടുക്കാം.
സ്ഥിര വിലാസ മാപ്പിംഗ് ആയ ROW BANK കോളം ഞാൻ ഉപേക്ഷിച്ചു.

Exampസിന്തസൈസബിൾ ടെസ്റ്റ് ബെഞ്ച് ഉള്ള ഡിസൈൻ സിമുലേഷൻ

സിമുലേഷൻ ക്രമീകരണങ്ങൾക്ക് കീഴിൽ, QuestaSim/ModelSim സിമുലേറ്റർ തിരഞ്ഞെടുത്ത് സമാഹരിച്ച ലൈബ്രറികളുടെ ലൊക്കേഷനിലേക്ക് ബ്രൗസ് ചെയ്യുക.
ഒരു മൂന്നാം കക്ഷി ടൂളുകൾ ഇൻസ്റ്റാൾ പാത്ത് ചൂണ്ടിക്കാണിക്കുന്നത്, ടാർഗെറ്റ് സിമുലേറ്റർ തിരഞ്ഞെടുക്കൽ, ലൈബ്രറികൾ കംപൈൽ ചെയ്യൽ, മാപ്പിംഗ് എന്നിവയെ കുറിച്ചുള്ള വിശദാംശങ്ങൾക്ക്, നിങ്ങൾക്ക് (UG900) വിവാഡോ ഡിസൈൻ സ്യൂട്ട് യൂസർ ഗൈഡ് ലോജിക് സിമുലേഷൻ റഫർ ചെയ്യാം.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-3

GUI വഴി സിമുലേഷൻ പ്രവർത്തിപ്പിക്കുക (പ്രൊജക്റ്റ് മാനേജറിലെ റൺ സിമുലേഷൻ ടാബിൽ ക്ലിക്ക് ചെയ്യുക) കൂടാതെ ട്രാൻസ്ക്രിപ്റ്റിൽ "ടെസ്റ്റ് പാസായി" എന്ന സന്ദേശം നിങ്ങൾ കാണുന്നുവെന്ന് ഉറപ്പാക്കുക.

പെർഫോമൻസ് സിമുലേഷൻ RTL പരിഷ്‌ക്കരണങ്ങൾ

  1. ഉറവിട ടാബിൽ വലത്-ക്ലിക്ക് ചെയ്യുക, "സിമുലേഷൻ ഉറവിടങ്ങൾ ചേർക്കുക അല്ലെങ്കിൽ സൃഷ്ടിക്കുക" തിരഞ്ഞെടുക്കുക, തുടർന്ന് mig7_perfsim_traffic_generator.sv-ലേക്ക് ബ്രൗസ് ചെയ്യുക. file അത് ചേർക്കാൻ പൂർത്തിയാക്കുക ക്ലിക്ക് ചെയ്യുക.
  2. ഉറവിട ടാബിൽ വലത്-ക്ലിക്കുചെയ്യുക, "സിമുലേഷൻ ഉറവിടങ്ങൾ ചേർക്കുക അല്ലെങ്കിൽ സൃഷ്ടിക്കുക" തിരഞ്ഞെടുക്കുക, perfsim_stimulus.txt-ലേക്ക് ബ്രൗസ് ചെയ്യുക, അത് ചേർക്കുന്നതിന് പൂർത്തിയാക്കുക ക്ലിക്കുചെയ്യുക.
  3. മുൻ അഭിപ്രായം പറയൂampsim_tb_top.v ലെ le_top തൽക്ഷണം file.
  4. താഴെയുള്ള RTL ലൈനുകൾ sim_tb_top,v-ലേക്ക് ചേർക്കുക
  • ലോക്കൽപരം APP_ADDR_WIDTH = 28;
  • ലോക്കൽപരം APP_DATA_WIDTH = 64;
  • ലോക്കൽപരം APP_MASK_WIDTH = APP_DATA_WIDTH / 8;
  • ലോക്കൽപരം MEM_ADDR_ORDER = "BANK_ROW_COLUMN";
  • ലോക്കൽപരം BANK_WIDTH = 3;
  • ലോക്കൽപരം RANK_WIDTH = 1;
  • വയർ [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
  • വയർ [2:0] c0_ddr3_app_cmd;
  • വയർ c0_ddr3_app_en;
  • വയർ [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
  • വയർ c0_ddr3_app_wdf_end;
  • വയർ [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
  • വയർ c0_ddr3_app_wdf_wren;
  • വയർ [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
  • വയർ c0_ddr3_app_rd_data_end;
  • വയർ c0_ddr3_app_rd_data_valid;
  • വയർ c0_ddr3_app_rdy;
  • വയർ c0_ddr3_app_wdf_rdy;
  • വയർ c0_data_compare_error;
  • വയർ ui_clk;
  • വയർ ui_clk_sync_rst;
  • വയർ app_sr_req = 0;
  • വയർ app_ref_req = 0;
  • വയർ app_zq_req =0;
  • വയർ c0_app_wdf_mask =0;

FPGA മെമ്മറി കൺട്രോളർ ഇൻസ്റ്റിറ്റേഷൻ

mig_7series_0_mig u_mig_7series_0_mig (
// മെമ്മറി ഇന്റർഫേസ് പോർട്ടുകൾ

  • .ddr3_addr (ddr3_addr_fpga),
  • .ddr3_ba (ddr3_ba_fpga),
  • .ddr3_cas_n (ddr3_cas_n_fpga),
  • .ddr3_ck_n (ddr3_ck_n_fpga),
  • .ddr3_ck_p (ddr3_ck_p_fpga),
  • .ddr3_cke (ddr3_cke_fpga),
  • .ddr3_ras_n (ddr3_ras_n_fpga),
  • .ddr3_reset_n (ddr3_reset_n),
  • .ddr3_we_n (ddr3_we_n_fpga),
  • .ddr3_dq (ddr3_dq_fpga),
  • .ddr3_dqs_n (ddr3_dqs_n_fpga),
  • .ddr3_dqs_p (ddr3_dqs_p_fpga),
  • .init_calib_complete (init_calib_complete),
  • .ddr3_cs_n (ddr3_cs_n_fpga),
  • .ddr3_dm (ddr3_dm_fpga),
  • .ddr3_odt (ddr3_odt_fpga),

// ആപ്ലിക്കേഷൻ ഇന്റർഫേസ് പോർട്ടുകൾ

  • .app_addr (c0_ddr3_app_addr),
  • .app_cmd (c0_ddr3_app_cmd),
  • .app_en (c0_ddr3_app_en),
  • .app_wdf_data (c0_ddr3_app_wdf_data),
  • .app_wdf_end (c0_ddr3_app_wdf_end),
  • .app_wdf_wren (c0_ddr3_app_wdf_wren),
  • .app_rd_data (c0_ddr3_app_rd_data),
  • .app_rd_data_end (app_rd_data_end),
  • .app_rd_data_valid (c0_ddr3_app_rd_data_valid),
  • .app_rdy (c0_ddr3_app_rdy),
  • .app_wdf_rdy (c0_ddr3_app_wdf_rdy),
  • .app_sr_req (app_sr_req),
  • .app_ref_req (app_ref_req),
  • .app_zq_req (app_zq_req),
  • .app_sr_active (app_sr_active),
  • .app_ref_ack (app_ref_ack),
  • .app_zq_ack (app_zq_ack),
  • .ui_clk (ui_clk),
  • .ui_clk_sync_rst (ui_clk_sync_rst),
  • .app_wdf_mask (c0_ddr3_app_wdf_mask),

// സിസ്റ്റം ക്ലോക്ക് പോർട്ടുകൾ

  • .sys_clk_i (sys_clk_i),

// റഫറൻസ് ക്ലോക്ക് പോർട്ടുകൾ

  • .clk_ref_i (clk_ref_i),
  • .sys_rst (sys_rst)
  • );

പ്രകടനം ട്രാഫിക് ജനറേറ്റർ തൽക്ഷണം

mig7_perfsim_traffic_generator#
(
.APP_DATA_WIDTH (APP_DATA_WIDTH),
.COL_WIDTH (COL_WIDTH),
.ROW_WIDTH (ROW_WIDTH),
.RANK_WIDTH (RANK_WIDTH),
.BANK_WIDTH (BANK_WIDTH),
.MEM_ADDR_ORDER (MEM_ADDR_ORDER),
.tCK (tCK ),
.ADDR_WIDTH (APP_ADDR_WIDTH)
)

u_ട്രാഫിക്_ജെൻ
(
.clk (ui_clk ),
.rst (ui_clk_sync_rst ),
.init_calib_complete (init_calib_complete),
.cmp_error (c0_data_compare_error),
.app_wdf_rdy (c0_ddr3_app_wdf_rdy ),
.app_rd_data_valid (c0_ddr3_app_rd_data_valid),
.app_rd_data (c0_ddr3_app_rd_data ),
.app_rdy (c0_ddr3_app_rdy),
.app_cmd (c0_ddr3_app_cmd ),
.app_addr (c0_ddr3_app_addr ),
.app_en (c0_ddr3_app_en ),
.app_wdf_mask (c0_ddr3_app_wdf_mask),
.app_wdf_data (c0_ddr3_app_wdf_data),
.app_wdf_end (c0_ddr3_app_wdf_end ),
.app_wdf_wren (c0_ddr3_app_wdf_wren)
);

  • 5. നിങ്ങളുടെ മെമ്മറി ഭാഗം തിരഞ്ഞെടുക്കുന്നതിന് അനുസരിച്ച് APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH, BANK_WIDTH എന്നിവ പരിഷ്‌ക്കരിക്കുക.
    എന്നതിൽ നിന്ന് മൂല്യങ്ങൾ ലഭിക്കും _mig.v file.
  • മഞ്ഞ ഹൈലൈറ്റ് ചെയ്‌ത തൽക്ഷണ നാമം mig_7series_0_mig IP സൃഷ്‌ടിക്കുമ്പോൾ നിങ്ങളുടെ ഘടക നാമത്തെ അടിസ്ഥാനമാക്കി വ്യത്യാസപ്പെടാം, നിങ്ങൾ മറ്റൊരു പേര് തിരഞ്ഞെടുത്തിട്ടുണ്ടോയെന്ന് പരിശോധിച്ച് അതിനനുസരിച്ച് അത് മാറ്റുക.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-4
  • ഐപി ജനറേറ്റ് ചെയ്തുകഴിഞ്ഞാൽ തുറക്കുക _mig.v file കൂടാതെ LHS സിഗ്നൽ പേരുകളിൽ എന്തെങ്കിലും വ്യതിയാനങ്ങൾ ഉണ്ടോയെന്ന് പരിശോധിച്ച് അവ ശരിയാക്കുക.
  • app_sr_req, app_ref_req, app_zq_req എന്നിവ 0 ആയി തുടങ്ങണം.
  • മുൻ പോലെample_top.v അഭിപ്രായമിട്ടതും പുതിയതുമാണ് fileകൾ ചേർത്തു, നിങ്ങൾ ഒരുപക്ഷേ "?" അരികിൽ
    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 ഫോൾഡറുകളിൽ.
  • RTL മാറ്റങ്ങൾ ചെയ്തുകഴിഞ്ഞാൽ, ആവശ്യമുള്ളതെല്ലാം fileനിങ്ങളുടെ സിമുലേഷൻ സ്രോതസ്സുകളിലേക്ക് s ചേർത്തിരിക്കുന്നു, ശ്രേണി 5-ന് സമാനമായിരിക്കണം.
    ദി fileചുവപ്പിൽ ഹൈലൈറ്റ് ചെയ്‌തിരിക്കുന്നവ പുതുതായി ചേർത്തു, കൂടാതെ "?" തിരഞ്ഞെടുത്ത മെമ്മറി കോൺഫിഗറേഷനിൽ ECC ഓപ്ഷൻ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നതിനാൽ ECC അനുബന്ധ മൊഡ്യൂളുകളിൽ പ്രതീക്ഷിക്കുന്നു.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-5

ഉത്തേജനം File വിവരണം
ഓരോ ഉത്തേജക പാറ്റേണും 48 ബിറ്റുകളാണ്, ഫോർമാറ്റ് 6-1 മുതൽ 6-4 വരെയുള്ള ചിത്രങ്ങളിൽ വിവരിച്ചിരിക്കുന്നു.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-6

വിലാസ എൻകോഡിംഗ് (വിലാസം [35:0])

ചിത്രം 7-1 മുതൽ ചിത്രം 7-6 വരെയുള്ള ഉത്തേജകത്തിൽ വിലാസം എൻകോഡ് ചെയ്‌തിരിക്കുന്നു. എല്ലാ വിലാസ ഫീൽഡുകളും ഹെക്സാഡെസിമൽ ഫോർമാറ്റിൽ നൽകേണ്ടതുണ്ട്. എല്ലാ വിലാസ ഫീൽഡുകളും ഹെക്സാഡെസിമൽ ഫോർമാറ്റിൽ നൽകുന്നതിന് നാലായി ഹരിക്കാവുന്ന വീതിയാണ്. ഒരു വിലാസ ഫീൽഡിന്റെ ആവശ്യമായ ബിറ്റുകൾ മാത്രമേ ടെസ്റ്റ് ബെഞ്ച് മെമ്മറി കൺട്രോളറിലേക്ക് അയയ്ക്കുകയുള്ളൂ.
ഉദാampലെ, എട്ട് ബാങ്ക് കോൺഫിഗറേഷനിൽ, ബാങ്ക് ബിറ്റുകൾ [2:0] മാത്രമേ മെമ്മറി കൺട്രോളറിലേക്ക് അയയ്‌ക്കുകയുള്ളൂ, ശേഷിക്കുന്ന ബിറ്റുകൾ അവഗണിക്കപ്പെടും. ഒരു ഹെക്സാഡെസിമൽ ഫോർമാറ്റിൽ വിലാസം നൽകുന്നതിനായി ഒരു വിലാസ ഫീൽഡിനുള്ള അധിക ബിറ്റുകൾ നൽകിയിരിക്കുന്നു.
നൽകിയിരിക്കുന്ന കോൺഫിഗറേഷന്റെ വീതിയുമായി പൊരുത്തപ്പെടുന്ന മൂല്യം നിങ്ങൾ സ്ഥിരീകരിക്കണം.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-7

  • കോളത്തിന്റെ വിലാസം (നിര[11:0]) – ഉത്തേജകത്തിലെ കോളം വിലാസം പരമാവധി 12 ബിറ്റുകൾ വരെ നൽകിയിട്ടുണ്ട്, എന്നാൽ നിങ്ങളുടെ ഡിസൈനിൽ സജ്ജീകരിച്ചിരിക്കുന്ന നിരയുടെ വീതി പാരാമീറ്റർ അടിസ്ഥാനമാക്കി നിങ്ങൾ ഇത് പരിഹരിക്കേണ്ടതുണ്ട്.
  • വരി വിലാസം (വരി[15:0]) – ഉത്തേജകത്തിലെ വരി വിലാസം പരമാവധി 16 ബിറ്റുകൾ വരെ നൽകിയിട്ടുണ്ട്, എന്നാൽ നിങ്ങളുടെ ഡിസൈനിൽ സജ്ജീകരിച്ചിരിക്കുന്ന വരി വീതി പാരാമീറ്റർ അടിസ്ഥാനമാക്കി നിങ്ങൾ ഇത് പരിഹരിക്കേണ്ടതുണ്ട്.
  • ബാങ്ക് വിലാസം (ബാങ്ക്[3:0]) – ഉത്തേജകത്തിൽ ബാങ്ക് വിലാസം പരമാവധി നാല് ബിറ്റുകൾ വരെ നൽകിയിട്ടുണ്ട്, എന്നാൽ നിങ്ങളുടെ രൂപകൽപ്പനയിൽ സജ്ജീകരിച്ചിരിക്കുന്ന ബാങ്ക് വീതി പാരാമീറ്റർ അടിസ്ഥാനമാക്കി നിങ്ങൾ ഇത് പരിഹരിക്കേണ്ടതുണ്ട്.
  • റാങ്ക് വിലാസം (റാങ്ക്[3:0]) – ഉത്തേജകത്തിൽ റാങ്ക് വിലാസം പരമാവധി നാല് ബിറ്റുകൾ വരെ നൽകിയിട്ടുണ്ട്, എന്നാൽ നിങ്ങളുടെ ഡിസൈനിൽ സജ്ജീകരിച്ചിരിക്കുന്ന റാങ്ക് വീതി പാരാമീറ്റർ അടിസ്ഥാനമാക്കി നിങ്ങൾ ഇത് പരിഹരിക്കേണ്ടതുണ്ട്.
    വിലാസം ഉയർന്ന തലത്തിലുള്ള MEM_ADDR_ORDER പാരാമീറ്ററിനെ അടിസ്ഥാനമാക്കി കൂട്ടിച്ചേർക്കുകയും ഉപയോക്തൃ ഇന്റർഫേസിലേക്ക് അയയ്ക്കുകയും ചെയ്യുന്നു

കമാൻഡ് റിപ്പീറ്റ് (കമാൻഡ് റിപ്പീറ്റ് [7:0])
ഉപയോക്തൃ ഇന്റർഫേസിൽ ബന്ധപ്പെട്ട കമാൻഡ് എത്ര തവണ ആവർത്തിക്കുന്നു എന്നതാണ് കമാൻഡ് ആവർത്തന എണ്ണം. ഓരോ ആവർത്തനത്തിന്റെയും വിലാസം 8 കൊണ്ട് വർദ്ധിപ്പിക്കും. പരമാവധി ആവർത്തന എണ്ണം 128 ആണ്.
ടെസ്റ്റ് ബെഞ്ച് നിരയുടെ അതിരുകൾ പരിശോധിക്കുന്നില്ല, ഇൻക്രിമെന്റുകൾക്കിടയിൽ പരമാവധി കോളം പരിധിയിൽ എത്തിയാൽ അത് പൊതിയുന്നു.
128 കമാൻഡുകൾ പേജ് പൂരിപ്പിക്കുന്നു. 0 ഒഴികെയുള്ള ഏത് കോളം വിലാസത്തിനും, 128 ആവർത്തനങ്ങളുടെ എണ്ണം കോളത്തിന്റെ അതിർത്തി കടന്ന് കോളം വിലാസത്തിന്റെ ആരംഭം വരെ പൊതിയുന്നു.

ബസ് ഉപയോഗം
മൊത്തം റീഡുകളുടെയും റൈറ്റുകളുടെയും എണ്ണം കണക്കിലെടുത്ത് യൂസർ ഇന്റർഫേസിൽ ബസ് ഉപയോഗം കണക്കാക്കുന്നു, ഇനിപ്പറയുന്ന സമവാക്യം ഉപയോഗിക്കുന്നു:

Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-8

  • BL8 നാല് മെമ്മറി ക്ലോക്ക് സൈക്കിളുകൾ എടുക്കുന്നു
  • എല്ലാ കമാൻഡുകളും പൂർത്തിയായ സമയമാണ് end_of_stimulus.
  • കാലിബ്രേഷൻ പൂർത്തിയാക്കിയ സമയമാണ് calib_done.

Exampലെ പാറ്റേണുകൾ
ഈ മുൻampBANK_ROW_COLUMN ആയി സജ്ജീകരിച്ച MEM_ADDR_ORDER അടിസ്ഥാനമാക്കിയുള്ളതാണ് les.

സിംഗിൾ റീഡ് പാറ്റേൺ
00_0_2_000F_00A_1 - ഈ പാറ്റേൺ 10-ാം കോളം, 15-ാം വരി, രണ്ടാമത്തെ ബാങ്ക് എന്നിവയിൽ നിന്നുള്ള ഒറ്റ വായനയാണ്.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-9ഒറ്റ എഴുത്ത് പാറ്റേൺ
00_0_1_0040_010_0 – ഈ പാറ്റേൺ 32-ാമത്തെ കോളത്തിലേക്കും 128-ാമത്തെ വരിയിലേക്കും ആദ്യത്തെ ബാങ്കിലേക്കും ഒറ്റ എഴുത്താണ്.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-10ഒരേ വിലാസത്തിൽ എഴുതുകയും വായിക്കുകയും ചെയ്യുക
00_0_2_000F_00A_0 – ഈ പാറ്റേൺ 10-ാം നിര, 15-ാം വരി, രണ്ടാമത്തെ ബാങ്ക് എന്നിവയിലേക്കുള്ള ഒറ്റ എഴുത്താണ്.
00_0_2_000F_00A_1 – ഈ പാറ്റേൺ 10-ാം നിര, 15-ാം വരി, രണ്ടാമത്തെ ബാങ്ക് എന്നിവയിൽ നിന്നുള്ള ഒറ്റ വായനയാണ്Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-11

ഒരേ വിലാസത്തിൽ ഒന്നിലധികം എഴുത്തുകളും വായനകളും
0A_0_0_0010_000_0 – കോളത്തിൽ കാണാൻ കഴിയുന്ന 10 മുതൽ 0 വരെയുള്ള വിലാസങ്ങളുള്ള 80 റൈറ്റുകളുമായി ഇത് യോജിക്കുന്നു.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-12

0A_0_0_0010_000_1 – കോളത്തിൽ കാണാൻ കഴിയുന്ന 10 മുതൽ 0 വരെയുള്ള വിലാസങ്ങളുള്ള 80 റീഡുകളുമായി ഇത് യോജിക്കുന്നു.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-13

എഴുതുമ്പോൾ പേജ് പൊതിയുക
0A_0_2_000F_3F8_0 – ഒരു എഴുത്തിന് ശേഷം പേജിന്റെ ആരംഭം വരെ പൊതിഞ്ഞ കോളം വിലാസത്തോടുകൂടിയ 10 റൈറ്റുകളുമായി ഇത് യോജിക്കുന്നു.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-14

പെർഫോമൻസ് ട്രാഫിക് ജനറേറ്റർ അനുകരിക്കുന്നു

ഈ ഘട്ടത്തിൽ നിങ്ങൾ MIG ex ഉപയോഗിച്ച് പൂർത്തിയാക്കിampലെ ഡിസൈൻ സിമുലേഷൻ. നിങ്ങളുടെ സിമുലേഷൻ സജ്ജീകരണം തയ്യാറാണ്, നിങ്ങൾ പ്രകടന സിമുലേഷൻ RTL പരിഷ്‌ക്കരണങ്ങൾ നടത്തി, പുതിയ സിമുലേഷൻ ശ്രേണി ശരിയാണെന്നും ഉത്തേജക പാറ്റേണുകൾ നിങ്ങൾ മനസ്സിലാക്കിയിട്ടുണ്ടെന്നും ഇത് സൂചിപ്പിക്കുന്നു. perfsim_stimulus.txt-ൽ 16 റൈറ്റുകളും റീഡുകളും ഉപയോഗിച്ച് സിമുലേഷൻ വീണ്ടും പ്രവർത്തിപ്പിക്കുക.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-15

റൺ-എല്ലാം ചെയ്യുക, init_calib_complete സിഗ്നൽ ഉറപ്പിക്കുന്നത് വരെ കാത്തിരിക്കുക, കൂടാതെ നിങ്ങൾക്ക് നിർദ്ദേശിച്ചിരിക്കുന്ന എഴുത്തുകളുടെയും വായനകളുടെയും എണ്ണം കാണാൻ കഴിയും. അപ്പോൾ സിമുലേഷൻ നിർത്തും. Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-16

സിമുലേഷൻ ഉപേക്ഷിക്കാൻ നിങ്ങളോട് ആവശ്യപ്പെടുമ്പോൾ, ഇല്ല തിരഞ്ഞെടുത്ത് ട്രാൻസ്ക്രിപ്റ്റ് വിൻഡോയിലേക്ക് പോകുക, അവിടെ നിങ്ങൾക്ക് പ്രകടന സ്ഥിതിവിവരക്കണക്കുകൾ കാണാൻ കഴിയും. Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-17

നിങ്ങൾ തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ "സിമുലേഷൻ ഉപേക്ഷിക്കുക" പ്രകടന സ്ഥിതിവിവരക്കണക്കുകൾ എ file പേരിട്ടു mig_band_width_output.txt sim_1/behave-ൽ സ്ഥിതി ചെയ്യുന്നു ഫോൾഡർ.

Example ഡയറക്ടറി പാത:-
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavXilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-18

എന്തുകൊണ്ടാണ് ശതമാനം എന്ന് നിങ്ങൾ ചിന്തിച്ചേക്കാംtagഇ ബസ് ഉപയോഗം ON 29 ആണ്. അതേ IP ക്രമീകരണങ്ങൾ ഉപയോഗിച്ച് സിമുലേഷൻ വീണ്ടും പ്രവർത്തിപ്പിക്കുക, എന്നാൽ ഉത്തേജനം മാറ്റുക file 256 പേർ എഴുതുകയും 256 പേർ വായിക്കുകയും ചെയ്യുന്നു

ff_0_0_0000_000_0
ff_0_0_0000_000_1

നിങ്ങൾ ഇപ്പോൾ ശതമാനം കാണുംtage ആയി 85, ഇത് സൂചിപ്പിക്കുന്നത് റൈറ്റുകളുടെയും റീഡ് ബർസ്റ്റുകളുടെയും ദൈർഘ്യമേറിയ ക്രമത്തിന് DDR3 മികച്ച ബസ് ഉപയോഗം വാഗ്ദാനം ചെയ്യുന്നു എന്നാണ്. Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-19

പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിനുള്ള പൊതു വഴികൾ

കാര്യക്ഷമതയെ സ്വാധീനിക്കുന്ന ഘടകങ്ങളെ രണ്ട് വിഭാഗങ്ങളായി തിരിക്കാം:

  1. മെമ്മറി സ്പെസിഫിക്
  2. കൺട്രോളർ സ്പെസിഫിക്Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-20

ചിത്രം 9 നിങ്ങൾക്ക് ഒരു ഓവർ നൽകുന്നുview മെമ്മറി നിർദ്ദിഷ്ട നിബന്ധനകൾ.
SRAM-കളിൽ നിന്നും ബ്ലോക്ക് മെമ്മറികളിൽ നിന്നും വ്യത്യസ്തമായി DDR2 അല്ലെങ്കിൽ DDR3 പ്രകടനം പരമാവധി ഡാറ്റ നിരക്ക് മാത്രമല്ല.

ഇത് ഉൾപ്പെടെ നിരവധി സമയ ഘടകങ്ങളെ ആശ്രയിച്ചിരിക്കുന്നു:

  • ടിആർസിഡി: റോ കമാൻഡ് ഡിലേ (അല്ലെങ്കിൽ റാസ് ടു കാസ് കാലതാമസം).
  • tCAS(CL): കോളം വിലാസം സ്ട്രോബ് ലേറ്റൻസി.
  • ടിആർപി: വരി പ്രീചാർജ് കാലതാമസം.
  • ടിആർഎഎസ്: റോ സജീവ സമയം (മുൻകൂട്ടി മാറ്റാൻ സജീവമാക്കുക).
  • ടിആർസി: റോ സൈക്കിൾ സമയം. tRC = tRAS + tRP
  • TRAC: റാഡോം ആക്സസ് കാലതാമസം. tRAC = tRCD + tCAS
  • tCWL: കാസ് റൈറ്റ് ലേറ്റൻസി.
  • tZQ: ZQ കാലിബ്രേഷൻ സമയം.
  • tRFC: റോ റിഫ്രഷ് സൈക്കിൾ സമയം
  • tWTR: വൈകി വായിക്കാൻ എഴുതുക. റീഡ് കമാൻഡ് ടൈമിലേക്കുള്ള അവസാന എഴുത്ത് ഇടപാട്.
  • tWR: വീണ്ടെടുക്കൽ സമയം എഴുതുക. പ്രീചാർജ് സമയത്തേക്കുള്ള അവസാന എഴുത്ത് ഇടപാട്

ലിസ്റ്റുചെയ്തിരിക്കുന്ന എല്ലാ പാരാമീറ്ററുകളുടെയും സമയക്രമം ഉപയോഗിച്ച മെമ്മറിയുടെ തരത്തെയും മെമ്മറി പാർട്ട് സ്പീഡ് ഗ്രേഡിനെയും ആശ്രയിച്ചിരിക്കുന്നു.
നിർവചനങ്ങളെയും സമയ സവിശേഷതകളെയും കുറിച്ചുള്ള കൂടുതൽ വിശദാംശങ്ങൾ DDR2 DDR3 JEDEC-ലോ ഏതെങ്കിലും മെമ്മറി ഉപകരണ ഡാറ്റാഷീറ്റിലോ കാണാം.

കാര്യക്ഷമത പ്രധാനമായും മെമ്മറി എങ്ങനെ ആക്സസ് ചെയ്യുന്നു എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു. വ്യത്യസ്ത വിലാസ പാറ്റേണുകൾ വ്യത്യസ്ത കാര്യക്ഷമത ഫലങ്ങൾ നൽകുന്നു.

മെമ്മറി ടൈമിംഗ് ഓവർഹെഡുകൾ

  1. പുതിയ ബാങ്കുകൾ/വരികളിലേക്ക് മാറുമ്പോഴോ അതേ ബാങ്കിലെ വരികൾ മാറുമ്പോഴോ ആക്ടിവേഷൻ സമയവും പ്രീചാർജ് സമയവും.- അതിനാൽ നിങ്ങൾ വരി മാറ്റം കുറയ്ക്കുകയാണെങ്കിൽ, ഇതിന് ടിആർസിഡിയും ടിആർപിയും നീക്കം ചെയ്യാം.
  2. തുടർച്ചയായി എഴുതുക അല്ലെങ്കിൽ വായിക്കുക കമാൻഡുകൾ അയയ്‌ക്കുക - tCCD സമയം നിലനിർത്തൽ.
  3. കമാൻഡ് മാറ്റം എഴുതാൻ വായിക്കാനും വായിക്കാനും എഴുതുന്നത് കുറയ്ക്കുക - റീഡ് ആക്‌സസുകളിലേക്ക് മാറ്റാൻ വീണ്ടെടുക്കൽ സമയം എഴുതുക, വായനയിൽ നിന്ന് എഴുതുന്നതിന് മാറ്റാനുള്ള ബസ് തിരിയുന്ന സമയം
  4. ശരിയായ പുതുക്കൽ ഇടവേള സജ്ജമാക്കുക.
    • DDR3 SDRAM-ന് tREFI-യുടെ ശരാശരി ആനുകാലിക ഇടവേളയിൽ സൈക്കിളുകൾ പുതുക്കേണ്ടതുണ്ട്.
    • പരമാവധി 8 അധിക പുതുക്കൽ കമാൻഡുകൾ മുൻകൂട്ടി നൽകാം (“വലിച്ചിരിക്കുന്നു”). ഇത് പുതുക്കലുകളുടെ എണ്ണം കുറയ്ക്കില്ല, എന്നാൽ ചുറ്റുമുള്ള രണ്ട് പുതുക്കിയ കമാൻഡുകൾ തമ്മിലുള്ള പരമാവധി ഇടവേള 9 × tREFI ആയി പരിമിതപ്പെടുത്തിയിരിക്കുന്നു.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-21
  • എല്ലാ ബാങ്കുകളും ഉപയോഗിക്കുക - അനുയോജ്യമായ വിലാസ സംവിധാനം അഭികാമ്യമാണ്.
    • വരി-ബാങ്ക്-കോളം: ഒരു സീക്വൻഷ്യൽ അഡ്രസ് സ്‌പെയ്‌സിൽ സംഭവിക്കുന്ന ഒരു ഇടപാടിന്, നിലവിലുള്ള ഒരു വരിയുടെ അവസാനത്തിൽ എത്തുമ്പോൾ ഇടപാട് തുടരാൻ കോർ സ്വയമേവ അതേ വരി DRAM ഉപകരണത്തിന്റെ അടുത്ത ബാങ്കിൽ തുറക്കുന്നു. തുടർച്ചയായ വിലാസ ലൊക്കേഷനുകളിലേക്ക് വലിയ ഡാറ്റ പാക്കറ്റുകൾ പൊട്ടിത്തെറിക്കേണ്ട ആപ്ലിക്കേഷനുകൾക്ക് ഇത് നന്നായി യോജിക്കുന്നു.
    • ബാങ്ക്-വരി-നിര: ഒരു വരി അതിർത്തി കടക്കുമ്പോൾ, നിലവിലെ വരി അടയ്ക്കുകയും അതേ ബാങ്കിനുള്ളിൽ മറ്റൊരു വരി തുറക്കുകയും ചെയ്യും. MSB എന്നത് ഒരു ബാങ്ക് വിലാസമാണ്, അത് വിവിധ ബാങ്കുകളിൽ നിന്ന് മാറാൻ ഉപയോഗിക്കാം. ഒരു നിശ്ചിത സമയത്തേക്ക് മെമ്മറിയുടെ ഒരു ബ്ലോക്കിലേക്കും പിന്നീട് മറ്റൊരു ബ്ലോക്കിലേക്ക് (ബാങ്ക്) ഒരു കുതിച്ചുചാട്ടത്തിനും ഹ്രസ്വവും കൂടുതൽ ക്രമരഹിതവുമായ ഇടപാടുകൾക്ക് ഇത് അനുയോജ്യമാണ്.
  • പൊട്ടിത്തെറി നീളം
    • 8 സീരീസിലെ DDR3-ന് BL 7 പിന്തുണയ്ക്കുന്നു. BC4 ന് വളരെ കുറഞ്ഞ കാര്യക്ഷമതയുണ്ട്, അത് 50% ൽ താഴെയാണ്. കാരണം BC4 ന്റെ എക്സിക്യൂഷൻ സമയം BL8 ന് തുല്യമാണ്. ഘടകത്തിനുള്ളിൽ ഡാറ്റ മറച്ചുവെച്ചിരിക്കുന്നു.
    • നിങ്ങൾ പൂർണ്ണമായി പൊട്ടിത്തെറിക്കാൻ ആഗ്രഹിക്കാത്ത സന്ദർഭങ്ങളിൽ, ഡാറ്റ മാസ്ക് അല്ലെങ്കിൽ വായിച്ചതിനുശേഷം എഴുതുന്നത് പരിഗണിക്കാവുന്നതാണ്.
  • ശരിയായ ZQ ഇടവേള സജ്ജമാക്കുക (DDR3 മാത്രം)
    കൺട്രോളർ ZQ Short (ZQCS), ZQ Long (ZQCL) കാലിബ്രേഷൻ കമാൻഡുകൾ അയക്കുന്നു.
    • DDR3 ജെഡെക് സ്റ്റാൻഡേർഡ് പാലിക്കുക
    • ZQ കാലിബ്രേഷൻ JEDEC സ്പെക് JESD5.5-79 DDR3 SDRAM സ്റ്റാൻഡേർഡിന്റെ സെക്ഷൻ 3 ൽ ചർച്ചചെയ്യുന്നു
    • VT-യിലുടനീളമുള്ള വ്യതിയാനങ്ങൾ കണക്കിലെടുത്ത് കൃത്യമായ ഇടവേളകളിൽ ZQ കാലിബ്രേഷൻ ഓൺ ഡൈ ടെർമിനേഷൻ (ODT) കാലിബ്രേറ്റ് ചെയ്യുന്നു
    • bank_common.v/vhd എന്നതിൽ ലോജിക് അടങ്ങിയിരിക്കുന്നു
    • ZQ കാലിബ്രേഷൻ കമാൻഡ് മെമ്മറിയിലേക്ക് അയയ്ക്കുന്നതിന്റെ നിരക്ക് Tzqcs പാരാമീറ്റർ നിർണ്ണയിക്കുന്നു
    • t കൗണ്ടർ പ്രവർത്തനരഹിതമാക്കാനും app_zq_req ഉപയോഗിച്ച് സ്വമേധയാ അയയ്‌ക്കാനും കഴിയും, ഇത് സ്വമേധയാ ഒരു പുതുക്കൽ അയയ്ക്കുന്നതിന് സമാനമാണ്.
      വിശദാംശങ്ങൾക്ക് (Xilinx Answer 47924) കാണുക.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-22

കൺട്രോളർ ഓവർഹെഡുകൾ

  1. ആനുകാലിക വായനകൾ - റഫർ ചെയ്യുക (Xilinx ഉത്തരം 43344) വിശദാംശങ്ങൾക്ക്.
    • വായനയുടെ കാലയളവ് മാറ്റരുത്
    • എഴുതുന്ന സമയത്ത് ആനുകാലിക വായനകൾ ഒഴിവാക്കി ഒരു യഥാർത്ഥ വായനയ്ക്ക് മുമ്പ് നഷ്‌ടമായ വായനകളുടെ എണ്ണം നൽകുക
  2. പുനഃക്രമീകരിക്കൽ - റഫർ ചെയ്യുക (Xilinx ഉത്തരം 34392) വിശദാംശങ്ങൾക്ക്.
    ഉപയോക്താവിനും AXI ഇന്റർഫേസ് ഡിസൈനുകൾക്കും ഇത് പ്രവർത്തനക്ഷമമാക്കുന്നതാണ് നല്ലത്.
    • റീഓർഡർ എന്നത് നിരവധി കമാൻഡുകൾക്ക് മുമ്പായി നോക്കുകയും നോൺ-മെമ്മറി കമാൻഡുകൾ സാധുവായ ബാൻഡ്‌വിഡ്ത്ത് ഉപയോഗിക്കാതിരിക്കാൻ ഉപയോക്തൃ കമാൻഡ് ക്രമം മാറ്റുകയും ചെയ്യുന്ന യുക്തിയാണ്. പ്രകടനം യഥാർത്ഥ ട്രാഫിക് പാറ്റേണുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു.
    • വിലാസ പാറ്റേണിനെ അടിസ്ഥാനമാക്കി, റീഓർഡർ പ്രീചാർജ് ഒഴിവാക്കാനും കമാൻഡുകൾ സജീവമാക്കാനും സഹായിക്കുന്നു, കൂടാതെ tRCD, tRP എന്നിവ ഡാറ്റ ബാൻഡ് വീതിയെ ഉൾക്കൊള്ളുന്നില്ല.Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-23
  3. ബാങ്ക് മെഷീനുകളുടെ എണ്ണം കൂട്ടാൻ ശ്രമിക്കുക.
    • കൺട്രോളറുടെ ലോജിക്കിന്റെ ഭൂരിഭാഗവും ബാങ്ക് മെഷീനുകളിൽ വസിക്കുന്നു, അവ DRAM ബാങ്കുകളുമായി പൊരുത്തപ്പെടുന്നു
    • തന്നിരിക്കുന്ന ബാങ്ക് മെഷീൻ ഏത് സമയത്തും ഒരൊറ്റ DRAM ബാങ്കിനെ നിയന്ത്രിക്കുന്നു.
    • ബാങ്ക് മെഷീൻ അസൈൻമെന്റ് ഡൈനാമിക് ആയതിനാൽ ഓരോ ഫിസിക്കൽ ബാങ്കിനും ഒരു ബാങ്ക് മെഷീൻ ആവശ്യമില്ല.
    • ബാങ്ക് മെഷീനുകൾ ക്രമീകരിക്കാൻ കഴിയും, എന്നാൽ ഇത് ഏരിയയും പ്രകടനവും തമ്മിലുള്ള ഒരു ഇടപാടാണ്.
    • ബാങ്ക് മെഷീനുകളുടെ അനുവദനീയമായ എണ്ണം 2-8 വരെയാണ്.
    • ഡിഫോൾട്ടായി, 4 ബാങ്ക് മെഷീനുകൾ RTL പാരാമീറ്ററുകൾ വഴി ക്രമീകരിച്ചിരിക്കുന്നു.
    • ബാങ്ക് മെഷീനുകൾ മാറ്റാൻ, memc_ui_top Ex-ൽ അടങ്ങിയിരിക്കുന്ന nBANK_MACHS = 8 പാരാമീറ്റർ പരിഗണിക്കുകamp8 ബാങ്ക് മെഷീനുകൾക്കായി - nBANK_MACHS = 8

പ്രകടനത്തെ സ്വാധീനിക്കുന്ന ഘടകങ്ങളെ കുറിച്ച് നിങ്ങൾക്ക് ഇപ്പോൾ അറിയാം.
ഒരു പാക്കറ്റിന് 512 ഡാറ്റാ ബൈറ്റുകൾ നൽകുന്ന ഒരു അപ്‌സ്ട്രീം ആപ്ലിക്കേഷൻ പരിഗണിക്കുക, നിങ്ങൾ അവയെ വ്യത്യസ്ത മെമ്മറി ലൊക്കേഷനുകളിലേക്ക് സംരക്ഷിക്കേണ്ടതുണ്ട്. 512 ഡാറ്റാ ബൈറ്റുകൾ 64 DDR3 ഡാറ്റ ബർസ്റ്റുകൾക്ക് തുല്യമായതിനാൽ, പഴയത് വീണ്ടും പ്രവർത്തിപ്പിക്കുകampഒരു ഉത്തേജകത്തോടുകൂടിയ ഡിസൈൻ file ഓരോ 512 എഴുതുന്നതിനോ വായിക്കുന്നതിനോ 512 റൈറ്റുകളും 64 റീഡുകളും റോ സ്വിച്ചിംഗും അടങ്ങിയിരിക്കുന്നു:

  • 3f_0_0_0000_000_0
  • 3f_0_0_0001_000_0
  • 3f_0_0_0002_000_0
  • 3f_0_0_0003_000_0
  • 3f_0_0_0004_000_0
  • 3f_0_0_0005_000_0
  • 3f_0_0_0006_000_0
  • 3f_0_0_0007_000_0
  • 3f_0_0_0000_000_1
  • 3f_0_0_0001_000_1
  • 3f_0_0_0002_000_1
  • 3f_0_0_0003_000_1
  • 3f_0_0_0004_000_1
  • 3f_0_0_0005_000_1
  • 3f_0_0_0006_000_1
  • 3f_0_0_0007_000_1

സിമുലേഷന്റെ അവസാനം, ബസ് ഉപയോഗം 77 ശതമാനമാണെന്ന് നിങ്ങൾ കാണും. Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-24

ചിത്രം 11: 512 റൈറ്റുകളുടെയും 512 റീഡുകളുടെയും പ്രകടന സ്ഥിതിവിവരക്കണക്കുകൾ - 64 എഴുതുന്നതിനോ വായിക്കുന്നതിനോ വേണ്ടി റോ സ്വിച്ചിംഗ്. 

കാര്യക്ഷമത മെച്ചപ്പെടുത്തുന്നതിന് മുമ്പത്തെ വിഭാഗത്തിൽ പഠിച്ച അറിവ് നിങ്ങൾക്ക് ഇപ്പോൾ പ്രയോഗിക്കാവുന്നതാണ്. കൂടെ എ view വരി മാറ്റുന്നതിന് പകരം എല്ലാ ബാങ്കുകളും ഉപയോഗിക്കുന്നതിന്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ബാങ്ക് മാറ്റുന്നതിന് വിലാസ പാറ്റേൺ പരിഷ്ക്കരിക്കുക.
ഇത് MIG GUI-ലെ മെമ്മറി അഡ്രസ് മാപ്പിംഗ് ക്രമീകരണത്തിൽ ROW_BANK_Column സജ്ജീകരിക്കുന്നതിന് തുല്യമാണ്.

  • 3f_0_0_0000_000_0
  • 3f_0_1_0000_000_0
  • 3f_0_2_0000_000_0
  • 3f_0_3_0000_000_0
  • 3f_0_4_0000_000_0
  • 3f_0_5_0000_000_0
  • 3f_0_6_0000_000_0
  • 3f_0_7_0000_000_0
  • 3f_0_0_0000_000_1
  • 3f_0_1_0000_000_1
  • 3f_0_2_0000_000_1
  • 3f_0_3_0000_000_1
  • 3f_0_4_0000_000_1
  • 3f_0_5_0000_000_1
  • 3f_0_6_0000_000_1
  • 3f_0_7_0000_000_1

സിമുലേഷന്റെ അവസാനം, മുമ്പത്തെ 77 ശതമാനം ബസ് ഉപയോഗം ഇപ്പോൾ 87 ആണെന്ന് നിങ്ങൾ കാണും! Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-25

നിങ്ങൾക്ക് ഇപ്പോഴും ഉയർന്ന കാര്യക്ഷമത ആവശ്യമാണെങ്കിൽ, നിങ്ങൾക്ക് 1024 അല്ലെങ്കിൽ 2048 ബൈറ്റുകളുടെ വലിയ പാക്കറ്റ് സൈസുകളിലേക്ക് പോകാം, അല്ലെങ്കിൽ ഒരു മാനുവൽ പുതുക്കൽ പരിഗണിക്കുക.

കുറിപ്പ്: ഡാറ്റാ വിശ്വാസ്യതയെ ബാധിക്കുന്ന ജെഡെക് ഓട്ടോ റിഫ്രഷ് ടൈമിംഗ് നിങ്ങൾക്ക് കാണാൻ കഴിയുമോ എന്ന് ഞങ്ങൾക്ക് ഉറപ്പില്ലാത്തതിനാൽ, കൺട്രോളർ പുതുക്കൽ ഒഴിവാക്കുന്നത് Xilinx പ്രോത്സാഹിപ്പിക്കുന്നില്ല.
കൺട്രോളർ ഭാഗത്ത് നിന്ന് നിങ്ങൾക്ക് nBANk_MACH മാറ്റാനും പ്രകടനത്തിലെ പുരോഗതി കാണാനും കഴിയും.
എന്നിരുന്നാലും, ഇത് നിങ്ങളുടെ ഡിസൈൻ സമയത്തെ ബാധിച്ചേക്കാം, ദയവായി റഫർ ചെയ്യുക (Xilinx ഉത്തരം 36505) nBANk_MACH-ലെ വിശദാംശങ്ങൾക്ക്Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-26

core_name_mig_sim.v തുറക്കുക file കൂടാതെ nBANK_MACHS പാരാമീറ്ററുകൾ 4-ൽ നിന്ന് 8-ലേക്ക് മാറ്റി സിമുലേഷൻ വീണ്ടും പ്രവർത്തിപ്പിക്കുക. പാരാമീറ്റർ മൂല്യം ഹാർഡ്‌വെയറിൽ പ്രാബല്യത്തിൽ വരുന്നതിന്, നിങ്ങൾ core_name_mig.v അപ്‌ഡേറ്റ് ചെയ്യേണ്ടതുണ്ട് file.
87% ബസ് ഉപയോഗം ലഭിച്ച അതേ പാറ്റേൺ ഞാനും ഉപയോഗിച്ചു (ചിത്രം -12).
nBANK_MACHS 8 ആയി സജ്ജീകരിച്ചതിനാൽ, കാര്യക്ഷമത ഇപ്പോൾ 90% ആണ്. Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ-fig-27

½, ¼ കൺട്രോളറുകൾ അവയുടെ കാലതാമസം കാരണം കാര്യക്ഷമതയെ പ്രതികൂലമായി ബാധിക്കുന്നു എന്നതും ശ്രദ്ധിക്കുക.
ഉദാample, ഓരോ 4 CK സൈക്കിളുകളിലും മാത്രമേ നമുക്ക് കമാൻഡുകൾ അയയ്ക്കാൻ കഴിയൂ എന്നതിനാൽ, ഏറ്റവും കുറഞ്ഞ DRAM ടൈമിംഗ് സ്പെസിഫിക്കേഷനുകൾ പാലിക്കുമ്പോൾ ചിലപ്പോൾ അധിക പാഡിംഗ് ഉണ്ടാകും, ഇത് സൈദ്ധാന്തികത്തിൽ നിന്ന് കാര്യക്ഷമത കുറയ്ക്കും.
നിങ്ങളുടെ കാര്യക്ഷമത ആവശ്യകതയ്ക്ക് അനുയോജ്യമായ ഒന്ന് കണ്ടെത്താൻ വ്യത്യസ്ത കൺട്രോളറുകൾ പരീക്ഷിക്കുക.

റഫറൻസുകൾ

  1. Zynq-7000 AP SoC, 7 സീരീസ് FPGA-കൾ MIS v2.3 [UG586]
  2. Xilinx MIG സൊല്യൂഷൻ സെന്റർ http://www.xilinx.com/support/answers/34243.html

റിവിഷൻ ചരിത്രം
13/03/2015 - പ്രാരംഭ റിലീസ്

PDF ഡൗൺലോഡുചെയ്യുക: Xilinx DDR2 MIG 7 പെർഫോമൻസ് എസ്റ്റിമേഷൻ ഗൈഡ്

റഫറൻസുകൾ

ഒരു അഭിപ്രായം ഇടൂ

നിങ്ങളുടെ ഇമെയിൽ വിലാസം പ്രസിദ്ധീകരിക്കില്ല. ആവശ്യമായ ഫീൽഡുകൾ അടയാളപ്പെടുത്തി *