Xilinx DDR2 MIG 7 ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಂದಾಜು ಮಾರ್ಗದರ್ಶಿ
ಪ್ರಮುಖ ಟಿಪ್ಪಣಿ: ಉತ್ತರ ದಾಖಲೆಯ ಈ ಡೌನ್ಲೋಡ್ ಮಾಡಬಹುದಾದ PDF ಅನ್ನು ಅದರ ಉಪಯುಕ್ತತೆ ಮತ್ತು ಓದುವಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಒದಗಿಸಲಾಗಿದೆ. ಉತ್ತರ ದಾಖಲೆಗಳು ಎಂಬುದನ್ನು ಗಮನಿಸುವುದು ಮುಖ್ಯ Web-ಆಧಾರಿತ ವಿಷಯವು ಹೊಸ ಮಾಹಿತಿ ಲಭ್ಯವಾಗುವಂತೆ ಆಗಾಗ್ಗೆ ನವೀಕರಿಸಲಾಗುತ್ತದೆ. Xilinx ತಾಂತ್ರಿಕ ಬೆಂಬಲವನ್ನು ಭೇಟಿ ಮಾಡಲು ನಿಮಗೆ ನೆನಪಿಸಲಾಗಿದೆ Webಸೈಟ್ ಮತ್ತು ಮರುview (Xilinx ಉತ್ತರ 63234) ಈ ಉತ್ತರದ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಗೆ.
ಪರಿಚಯ
DDR2 ಮತ್ತು DDR3 ನೆನಪುಗಳು ಆರ್ಕಿಟೆಕ್ಟ್ ಆಗಿರುವುದರಿಂದ ಮತ್ತು MIG 7 ಸರಣಿಯ ನಿಯಂತ್ರಕವನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಿರುವುದರಿಂದ, ಕಾರ್ಯಕ್ಷಮತೆ ನೇರವಾಗಿರುವುದಿಲ್ಲ.
ಇದಕ್ಕೆ ವಿವಿಧ ಜೆಡೆಕ್ ಟೈಮಿಂಗ್ ಪ್ಯಾರಾಮೀಟರ್ಗಳು ಮತ್ತು ಕಂಟ್ರೋಲರ್ ಆರ್ಕಿಟೆಕ್ಚರ್ನ ತಿಳುವಳಿಕೆ ಅಗತ್ಯವಿರುತ್ತದೆ ಮತ್ತು ಅಂದಾಜುಗಳನ್ನು ಪಡೆಯಲು ನೀವು ಸಿಮ್ಯುಲೇಶನ್ಗಳನ್ನು ರನ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ನಿರ್ಧರಿಸುವ ಸಾಮಾನ್ಯ ತತ್ವವು ಒಂದೇ ಆಗಿರುತ್ತದೆ ಆದರೆ ಈ ಡಾಕ್ಯುಮೆಂಟ್ MIG ಎಕ್ಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ದಕ್ಷತೆಯನ್ನು ಪಡೆಯಲು ಸುಲಭವಾದ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆampಪರೀಕ್ಷಾ ಬೆಂಚ್ ಮತ್ತು ಪ್ರಚೋದನೆಯ ಸಹಾಯದಿಂದ ಲೆ ವಿನ್ಯಾಸ fileಗಳನ್ನು ಇಲ್ಲಿ ಲಗತ್ತಿಸಲಾಗಿದೆ.
ಪರಿಣಾಮಕಾರಿ ಬ್ಯಾಂಡ್ವಿಡ್ತ್
DRAM ಡೇಟಾ ಬಸ್ ಓದುವ ಮತ್ತು ಬರೆಯುವ ಸ್ಫೋಟಗಳ ಸಮಯದಲ್ಲಿ ಮಾತ್ರ ಗರಿಷ್ಠ ಬ್ಯಾಂಡ್ವಿಡ್ತ್ ಅನ್ನು ಸಾಧಿಸುತ್ತದೆ ಮತ್ತು ಅದರ ಓವರ್ಹೆಡ್ ಪರಿಣಾಮಕಾರಿ ಡೇಟಾ ದರವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ಕೆಲವು ಮಾಜಿampಲೆಸ್ ಆಫ್ ಹೆಡ್:
- ಒಂದೇ ಬ್ಯಾಂಕಿನಲ್ಲಿ ಸಾಲುಗಳನ್ನು ಪ್ರವೇಶಿಸುವ ಪೂರ್ವಭಾವಿ ಸಮಯ (ಪ್ರವೇಶ ವಿಳಾಸ ಅದೇ ಸಾಲು-ಪುಟ ಹಿಟ್ನಲ್ಲಿಲ್ಲ)
- ಬರಹದಿಂದ ಓದುವ ಪ್ರವೇಶಕ್ಕೆ ಬದಲಾಯಿಸಲು ಮರುಪ್ರಾಪ್ತಿ ಸಮಯವನ್ನು ಬರೆಯಿರಿ
- ಓದುವಿಕೆಯಿಂದ ಬರೆಯಲು ಪ್ರವೇಶವನ್ನು ಬದಲಾಯಿಸಲು ಬಸ್ ತಿರುಗುವ ಸಮಯ
ಪರಿಣಾಮಕಾರಿ ಬ್ಯಾಂಡ್ವಿಡ್ತ್ = ಪೀಕ್ ಬ್ಯಾಂಡ್ವಿಡ್ತ್ * ದಕ್ಷತೆ
MIG ವಿನ್ಯಾಸ ಜನರೇಷನ್
MIG IP ಮತ್ತು ಮಾಜಿ ಕುರಿತು ಹಂತ-ಹಂತದ ವಿವರಗಳಿಗಾಗಿ UG586 ಅಧ್ಯಾಯ 1 ಅನ್ನು ನೋಡಿampಲೆ ವಿನ್ಯಾಸ ಪೀಳಿಗೆ.
MIG 7 ಸರಣಿಯ ಕಾರ್ಯಕ್ಷಮತೆ ಸಿಮ್ಯುಲೇಶನ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ಮೊದಲು, ನಿಮ್ಮ ಸಿಮ್ಯುಲೇಶನ್ ಪರಿಸರವು ಉತ್ತಮವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡಿ. MIG ಎಕ್ಸ್ ಅನ್ನು ತೆರೆಯಿರಿampಸೂಕ್ತವಾದ ಲೈಬ್ರರಿಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಿ ಮತ್ತು ನಕ್ಷೆ ಮಾಡಿ, ಸಿಮ್ಯುಲೇಶನ್ ಅನ್ನು ರನ್ ಮಾಡಿ ಮತ್ತು ಪ್ರತಿಲೇಖನದಲ್ಲಿ "ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣವಾಗಿದೆ" ಎಂಬ ಸಂದೇಶವನ್ನು ನೀವು ನೋಡಬಹುದು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ಹರಿವನ್ನು ಪ್ರದರ್ಶಿಸಲು ನಾನು xc7vx690tffg1761-2 ಗಾಗಿ MIG IP ಅನ್ನು ರಚಿಸಿದ್ದೇನೆ ಮತ್ತು ಮಾಜಿample ವಿನ್ಯಾಸ.
ಗಮನಿಸಬೇಕಾದ ಎರಡು ವಿಷಯಗಳೆಂದರೆ ಮೆಮೊರಿ ವಿಳಾಸ ಬಿಟ್ಗಳು ಮತ್ತು ಮೆಮೊರಿ ವಿಳಾಸ ಮ್ಯಾಪಿಂಗ್ ಆಯ್ಕೆ.
ಉದಾಹರಣೆಗೆample, ನಾನು ಮೆಮೊರಿ ಭಾಗ ಡ್ರಾಪ್ ಡೌನ್ ಆಯ್ಕೆಗಳ ಅಡಿಯಲ್ಲಿ MT41J128M8XX-125 ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ್ದೇನೆ.
ಚಿತ್ರ-1 ರಿಂದ ಆಯ್ದ ಮೆಮೊರಿ ಭಾಗಕ್ಕೆ, ಸಾಲು = 14, ಕಾಲಮ್ = 10 ಮತ್ತು ಬ್ಯಾಂಕ್ = 3, ಆದ್ದರಿಂದ app_addr_width = ಸಾಲು + ಕಾಲಮ್ + ಬ್ಯಾಂಕ್ + ಶ್ರೇಣಿ = 28
ನೀವು BANK_ROW_COLUMN ಅಥವಾ ROW BANK ಕಾಲಮ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು.
ನಾನು ಡೀಫಾಲ್ಟ್ ವಿಳಾಸ ಮ್ಯಾಪಿಂಗ್ ಆಗಿರುವ ROW BANK ಕಾಲಮ್ ಅನ್ನು ಬಿಟ್ಟಿದ್ದೇನೆ.
Exampಸಂಶ್ಲೇಷಿಸಬಹುದಾದ ಪರೀಕ್ಷಾ ಬೆಂಚ್ನೊಂದಿಗೆ ವಿನ್ಯಾಸ ಸಿಮ್ಯುಲೇಶನ್
ಸಿಮ್ಯುಲೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಗಳ ಅಡಿಯಲ್ಲಿ, QuestaSim/ModelSim ಸಿಮ್ಯುಲೇಟರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಸಂಕಲಿಸಿದ ಲೈಬ್ರರಿಗಳ ಸ್ಥಳಕ್ಕೆ ಬ್ರೌಸ್ ಮಾಡಿ.
ಥರ್ಡ್-ಪಾರ್ಟಿ ಟೂಲ್ಸ್ ಇನ್ಸ್ಟಾಲ್ ಪಾತ್ಗೆ ಸೂಚಿಸುವುದು, ಟಾರ್ಗೆಟ್ ಸಿಮ್ಯುಲೇಟರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು ಮತ್ತು ಲೈಬ್ರರಿಗಳನ್ನು ಕಂಪೈಲ್ ಮಾಡುವುದು ಮತ್ತು ಮ್ಯಾಪಿಂಗ್ ಮಾಡುವುದು, ನೀವು (UG900) ವಿವಾಡೋ ಡಿಸೈನ್ ಸೂಟ್ ಯೂಸರ್ ಗೈಡ್ ಲಾಜಿಕ್ ಸಿಮ್ಯುಲೇಶನ್ ಅನ್ನು ಉಲ್ಲೇಖಿಸಬಹುದು
GUI ಮೂಲಕ ಸಿಮ್ಯುಲೇಶನ್ ಅನ್ನು ರನ್ ಮಾಡಿ (ಪ್ರಾಜೆಕ್ಟ್ ಮ್ಯಾನೇಜರ್ನಲ್ಲಿ ರನ್ ಸಿಮ್ಯುಲೇಶನ್ ಟ್ಯಾಬ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ) ಮತ್ತು ಪ್ರತಿಲಿಪಿಯಲ್ಲಿ "ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣ" ಸಂದೇಶವನ್ನು ನೀವು ನೋಡುತ್ತೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ಕಾರ್ಯಕ್ಷಮತೆ ಸಿಮ್ಯುಲೇಶನ್ RTL ಮಾರ್ಪಾಡುಗಳು
- ಮೂಲಗಳ ಟ್ಯಾಬ್ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿ, "ಸಿಮ್ಯುಲೇಶನ್ ಮೂಲಗಳನ್ನು ಸೇರಿಸಿ ಅಥವಾ ರಚಿಸಿ" ಆಯ್ಕೆಮಾಡಿ, ಮತ್ತು mig7_perfsim_traffic_generator.sv ಗೆ ಬ್ರೌಸ್ ಮಾಡಿ file ಮತ್ತು ಅದನ್ನು ಸೇರಿಸಲು ಮುಕ್ತಾಯ ಕ್ಲಿಕ್ ಮಾಡಿ.
- ಮೂಲಗಳ ಟ್ಯಾಬ್ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿ, "ಸೇರಿಸು ಅಥವಾ ಸಿಮ್ಯುಲೇಶನ್ ಮೂಲಗಳನ್ನು ರಚಿಸಿ" ಆಯ್ಕೆಮಾಡಿ, perfsim_stimulus.txt ಗೆ ಬ್ರೌಸ್ ಮಾಡಿ ಮತ್ತು ಅದನ್ನು ಸೇರಿಸಲು ಮುಗಿಸು ಕ್ಲಿಕ್ ಮಾಡಿ.
- ಮಾಜಿ ಕಾಮೆಂಟ್ ಮಾಡಿampsim_tb_top.v ನಲ್ಲಿ le_top ತತ್ಕ್ಷಣ file.
- ಕೆಳಗಿನ 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;
ಎಫ್ಪಿಜಿಎ ಮೆಮೊರಿ ಕಂಟ್ರೋಲರ್ ಇನ್ಸ್ಟಾಂಟಿಯೇಶನ್
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_ಟ್ರಾಫಿಕ್_ಜನರೇಟರ್#
(
.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 ರಚನೆಯ ಸಮಯದಲ್ಲಿ ನಿಮ್ಮ ಕಾಂಪೊನೆಂಟ್ ಹೆಸರನ್ನು ಆಧರಿಸಿ ಬದಲಾಗಬಹುದು, ನೀವು ಬೇರೆ ಹೆಸರನ್ನು ಆರಿಸಿದ್ದರೆ ಮತ್ತು ಅದಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಅದನ್ನು ಬದಲಾಯಿಸಿ.
- ಐಪಿ ರಚಿಸಿದ ನಂತರ ತೆರೆಯಿರಿ _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ಗಳನ್ನು ನಿಮ್ಮ ಸಿಮ್ಯುಲೇಶನ್ ಮೂಲಗಳಿಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ, ಕ್ರಮಾನುಗತವು ಚಿತ್ರ 5 ರಂತೆಯೇ ಇರಬೇಕು.
ದಿ fileಕೆಂಪು ಬಣ್ಣದಲ್ಲಿ ಹೈಲೈಟ್ ಮಾಡಲಾದ ಗಳನ್ನು ಹೊಸದಾಗಿ ಸೇರಿಸಲಾಗಿದೆ, ಮತ್ತು "?" ಆಯ್ಕೆಮಾಡಿದ ಮೆಮೊರಿ ಸಂರಚನೆಯು 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]) - ಪ್ರಚೋದನೆಯಲ್ಲಿನ ಬ್ಯಾಂಕ್ ವಿಳಾಸವನ್ನು ಗರಿಷ್ಠ ನಾಲ್ಕು ಬಿಟ್ಗಳಿಗೆ ಒದಗಿಸಲಾಗಿದೆ, ಆದರೆ ನಿಮ್ಮ ವಿನ್ಯಾಸದಲ್ಲಿ ಹೊಂದಿಸಲಾದ ಬ್ಯಾಂಕ್ ಅಗಲದ ನಿಯತಾಂಕವನ್ನು ಆಧರಿಸಿ ನೀವು ಇದನ್ನು ಪರಿಹರಿಸಬೇಕಾಗಿದೆ.
- ಶ್ರೇಣಿಯ ವಿಳಾಸ (ಶ್ರೇಯಾಂಕ[3:0]) – ಪ್ರಚೋದನೆಯಲ್ಲಿನ ಶ್ರೇಣಿಯ ವಿಳಾಸವನ್ನು ಗರಿಷ್ಠ ನಾಲ್ಕು ಬಿಟ್ಗಳಿಗೆ ಒದಗಿಸಲಾಗಿದೆ, ಆದರೆ ನಿಮ್ಮ ವಿನ್ಯಾಸದಲ್ಲಿ ಹೊಂದಿಸಲಾದ ಶ್ರೇಣಿಯ ಅಗಲ ನಿಯತಾಂಕವನ್ನು ಆಧರಿಸಿ ನೀವು ಇದನ್ನು ಪರಿಹರಿಸಬೇಕಾಗಿದೆ.
ಮೇಲ್ಮಟ್ಟದ MEM_ADDR_ORDER ನಿಯತಾಂಕವನ್ನು ಆಧರಿಸಿ ವಿಳಾಸವನ್ನು ಜೋಡಿಸಲಾಗಿದೆ ಮತ್ತು ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ಗೆ ಕಳುಹಿಸಲಾಗಿದೆ
ಕಮಾಂಡ್ ರಿಪೀಟ್ (ಕಮಾಂಡ್ ರಿಪೀಟ್ [7:0])
ಕಮಾಂಡ್ ಪುನರಾವರ್ತನೆಯ ಎಣಿಕೆಯು ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಆಯಾ ಆಜ್ಞೆಯನ್ನು ಪುನರಾವರ್ತಿಸುವ ಸಮಯವಾಗಿದೆ. ಪ್ರತಿ ಪುನರಾವರ್ತನೆಯ ವಿಳಾಸವನ್ನು 8 ರಿಂದ ಹೆಚ್ಚಿಸಲಾಗಿದೆ. ಗರಿಷ್ಠ ಪುನರಾವರ್ತನೆಯ ಎಣಿಕೆ 128 ಆಗಿದೆ.
ಪರೀಕ್ಷಾ ಬೆಂಚ್ ಕಾಲಮ್ ಗಡಿಯನ್ನು ಪರಿಶೀಲಿಸುವುದಿಲ್ಲ ಮತ್ತು ಏರಿಕೆಯ ಸಮಯದಲ್ಲಿ ಗರಿಷ್ಠ ಕಾಲಮ್ ಮಿತಿಯನ್ನು ತಲುಪಿದರೆ ಅದು ಸುತ್ತುತ್ತದೆ.
128 ಆಜ್ಞೆಗಳು ಪುಟವನ್ನು ತುಂಬುತ್ತವೆ. 0 ಹೊರತುಪಡಿಸಿ ಯಾವುದೇ ಕಾಲಮ್ ವಿಳಾಸಕ್ಕಾಗಿ, 128 ರ ಪುನರಾವರ್ತನೆಯ ಎಣಿಕೆಯು ಕಾಲಮ್ ಗಡಿಯನ್ನು ದಾಟುತ್ತದೆ ಮತ್ತು ಕಾಲಮ್ ವಿಳಾಸದ ಪ್ರಾರಂಭದವರೆಗೆ ಸುತ್ತುತ್ತದೆ.
ಬಸ್ ಬಳಕೆ
ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಒಟ್ಟು ಓದುವಿಕೆ ಮತ್ತು ಬರಹಗಳ ಸಂಖ್ಯೆಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು ಬಸ್ ಬಳಕೆಯನ್ನು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ ಮತ್ತು ಈ ಕೆಳಗಿನ ಸಮೀಕರಣವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ:
- 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 ರವರೆಗಿನ ವಿಳಾಸದೊಂದಿಗೆ 80 ರೀಡ್ಗಳಿಗೆ ಅನುರೂಪವಾಗಿದೆ ಅದನ್ನು ಕಾಲಮ್ನಲ್ಲಿ ನೋಡಬಹುದು.
ಬರಹಗಳ ಸಮಯದಲ್ಲಿ ಪುಟ ಸುತ್ತು
0A_0_2_000F_3F8_0 – ಇದು ಒಂದು ಬರಹದ ನಂತರ ಪುಟದ ಪ್ರಾರಂಭಕ್ಕೆ ಸುತ್ತುವ ಕಾಲಮ್ ವಿಳಾಸದೊಂದಿಗೆ 10 ಬರಹಗಳಿಗೆ ಅನುರೂಪವಾಗಿದೆ.
ಕಾರ್ಯಕ್ಷಮತೆ ಟ್ರಾಫಿಕ್ ಜನರೇಟರ್ ಅನ್ನು ಅನುಕರಿಸುವುದು
ಈ ಹಂತದಲ್ಲಿ ನೀವು MIG ಮಾಜಿ ಜೊತೆ ಮುಗಿಸಿದ್ದೀರಿample ವಿನ್ಯಾಸ ಸಿಮ್ಯುಲೇಶನ್. ನಿಮ್ಮ ಸಿಮ್ಯುಲೇಶನ್ ಸೆಟಪ್ ಸಿದ್ಧವಾಗಿದೆ, ನೀವು ಕಾರ್ಯಕ್ಷಮತೆಯ ಸಿಮ್ಯುಲೇಶನ್ RTL ಮಾರ್ಪಾಡುಗಳನ್ನು ಮಾಡಿದ್ದೀರಿ, ಹೊಸ ಸಿಮ್ಯುಲೇಶನ್ ಕ್ರಮಾನುಗತ ಸರಿಯಾಗಿದೆ ಮತ್ತು ನೀವು ಪ್ರಚೋದಕ ಮಾದರಿಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದೀರಿ ಎಂದು ಇದು ಸೂಚಿಸುತ್ತದೆ. perfsim_stimulus.txt ನಲ್ಲಿ 16 ಬರಹಗಳು ಮತ್ತು ಓದುವಿಕೆಗಳೊಂದಿಗೆ ಮತ್ತೊಮ್ಮೆ ಸಿಮ್ಯುಲೇಶನ್ ಅನ್ನು ರನ್ ಮಾಡಿ.
ರನ್-ಎಲ್ಲಾ ಮಾಡಿ, init_calib_complete ಸಿಗ್ನಲ್ ಪ್ರತಿಪಾದಿಸುವವರೆಗೆ ಕಾಯಿರಿ ಮತ್ತು ನೀವು ಪ್ರಸ್ತಾವಿತ ಸಂಖ್ಯೆಯ ಬರಹಗಳು ಮತ್ತು ಓದುವಿಕೆಯನ್ನು ನೋಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ನಂತರ ಸಿಮ್ಯುಲೇಶನ್ ನಿಲ್ಲುತ್ತದೆ.
ಸಿಮ್ಯುಲೇಶನ್ ತೊರೆಯಲು ನಿಮ್ಮನ್ನು ಕೇಳಿದಾಗ, ಇಲ್ಲ ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಪ್ರತಿಲೇಖನ ವಿಂಡೋಗೆ ಹೋಗಿ ಅಲ್ಲಿ ನೀವು ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಂಕಿಅಂಶಗಳನ್ನು ನೋಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
ನೀವು ಆಯ್ಕೆ ಮಾಡಿದರೆ "ಸಿಮ್ಯುಲೇಶನ್ ಬಿಟ್ಟುಬಿಡಿ" ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಂಕಿಅಂಶಗಳನ್ನು a ಗೆ ಬರೆಯಲಾಗುತ್ತದೆ file ಹೆಸರಿಸಲಾಗಿದೆ mig_band_width_output.txt sim_1/behave ನಲ್ಲಿ ಇದೆ ಫೋಲ್ಡರ್.
Exampಲೆ ಡೈರೆಕ್ಟರಿ ಮಾರ್ಗ:-
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behav
ಶೇ. ಏಕೆ ಎಂದು ನಿಮಗೆ ಆಶ್ಚರ್ಯವಾಗಬಹುದುtagಇ ಬಸ್ ಬಳಕೆಯು 29 ಆಗಿದೆ. ಅದೇ IP ಸೆಟ್ಟಿಂಗ್ಗಳೊಂದಿಗೆ ಸಿಮ್ಯುಲೇಶನ್ ಅನ್ನು ಮರುರನ್ ಮಾಡಿ ಆದರೆ ಕೇವಲ ಪ್ರಚೋದನೆಯನ್ನು ಬದಲಾಯಿಸುವುದು file 256 ಬರೆಯುತ್ತಾರೆ ಮತ್ತು 256 ಓದುತ್ತಾರೆ
ff_0_0_0000_000_0
ff_0_0_0000_000_1
ನೀವು ಈಗ ಶೇಕಡಾವನ್ನು ನೋಡುತ್ತೀರಿtage 85, ಇದು DDR3 ದೀರ್ಘ ಸರಣಿಯ ಬರಹಗಳು ಮತ್ತು ಓದುವ ಸ್ಫೋಟಗಳಿಗೆ ಉತ್ತಮ ಬಸ್ ಬಳಕೆಯನ್ನು ನೀಡುತ್ತದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ.
ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು ಸಾಮಾನ್ಯ ಮಾರ್ಗಗಳು
ದಕ್ಷತೆಯ ಮೇಲೆ ಪ್ರಭಾವ ಬೀರುವ ಅಂಶಗಳನ್ನು ಎರಡು ವಿಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಬಹುದು:
- ಮೆಮೊರಿ ನಿರ್ದಿಷ್ಟ
- ನಿಯಂತ್ರಕ ನಿರ್ದಿಷ್ಟ
ಚಿತ್ರ 9 ನಿಮಗೆ ಓವರ್ ನೀಡುತ್ತದೆview ಮೆಮೊರಿ ನಿರ್ದಿಷ್ಟವಾದ ಪದಗಳು.
SRAM ಗಳು ಮತ್ತು ಬ್ಲಾಕ್ ಮೆಮೊರೀಸ್ DDR2 ಅಥವಾ DDR3 ಕಾರ್ಯಕ್ಷಮತೆಯು ಕೇವಲ ಗರಿಷ್ಠ ಡೇಟಾ ದರವಲ್ಲ.
ಇದು ಅನೇಕ ಸಮಯದ ಅಂಶಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ, ಅವುಗಳೆಂದರೆ:
- ಟಿಆರ್ಸಿಡಿ: ರೋ ಕಮಾಂಡ್ ವಿಳಂಬ (ಅಥವಾ ರಾಸ್ ಟು ಕ್ಯಾಸ್ ವಿಳಂಬ).
- tCAS(CL): ಕಾಲಮ್ ವಿಳಾಸ ಸ್ಟ್ರೋಬ್ ಲೇಟೆನ್ಸಿ.
- ಟಿಆರ್ಪಿ: ಸಾಲು ಪ್ರಿಚಾರ್ಜ್ ವಿಳಂಬ.
- ಟಿಆರ್ಎಎಸ್: ಸಾಲು ಸಕ್ರಿಯ ಸಮಯ (ಪೂರ್ವ ಬದಲಾವಣೆಗೆ ಸಕ್ರಿಯಗೊಳಿಸಿ).
- ಟಿಆರ್ಸಿ: ರೋ ಸೈಕಲ್ ಸಮಯ. tRC = tRAS + tRP
- TRAC: ರಾಡಮ್ ಪ್ರವೇಶ ವಿಳಂಬ. tRAC = tRCD + tCAS
- tCWL: ಕ್ಯಾಸ್ ಬರೆಯುವ ಸುಪ್ತತೆ.
- tZQ: ZQ ಮಾಪನಾಂಕ ನಿರ್ಣಯ ಸಮಯ.
- tRFC: ರೋ ರಿಫ್ರೆಶ್ ಸೈಕಲ್ ಸಮಯ
- tWTR: ತಡವಾಗಿ ಓದಲು ಬರೆಯಿರಿ. ಕಮಾಂಡ್ ಸಮಯವನ್ನು ಓದಲು ಕೊನೆಯ ಬರಹ ವಹಿವಾಟು.
- tWR: ಚೇತರಿಕೆಯ ಸಮಯವನ್ನು ಬರೆಯಿರಿ. ಪ್ರೀಚಾರ್ಜ್ ಸಮಯಕ್ಕೆ ಕೊನೆಯ ಬರಹ ವಹಿವಾಟು
ಎಲ್ಲಾ ಪಟ್ಟಿ ಮಾಡಲಾದ ನಿಯತಾಂಕಗಳ ಸಮಯವು ಬಳಸಿದ ಮೆಮೊರಿಯ ಪ್ರಕಾರ ಮತ್ತು ಮೆಮೊರಿ ಭಾಗದ ವೇಗದ ದರ್ಜೆಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ.
ವ್ಯಾಖ್ಯಾನಗಳು ಮತ್ತು ಸಮಯದ ವಿಶೇಷಣಗಳ ಕುರಿತು ಹೆಚ್ಚಿನ ವಿವರಗಳನ್ನು DDR2 DDR3 JEDEC ಅಥವಾ ಯಾವುದೇ ಮೆಮೊರಿ ಸಾಧನ ಡೇಟಾಶೀಟ್ನಲ್ಲಿ ಕಾಣಬಹುದು.
ದಕ್ಷತೆಯು ಮುಖ್ಯವಾಗಿ ಮೆಮೊರಿಯನ್ನು ಹೇಗೆ ಪ್ರವೇಶಿಸುತ್ತದೆ ಎಂಬುದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ. ವಿಭಿನ್ನ ವಿಳಾಸ ಮಾದರಿಗಳು ವಿಭಿನ್ನ ದಕ್ಷತೆಯ ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುತ್ತವೆ.
ಮೆಮೊರಿ ಟೈಮಿಂಗ್ ಓವರ್ಹೆಡ್ಗಳು
- ಹೊಸ ಬ್ಯಾಂಕ್ಗಳು/ಸಾಲುಗಳಿಗೆ ಬದಲಾಯಿಸುವಾಗ ಅಥವಾ ಅದೇ ಬ್ಯಾಂಕ್ನಲ್ಲಿ ಸಾಲುಗಳನ್ನು ಬದಲಾಯಿಸುವಾಗ ಸಕ್ರಿಯಗೊಳಿಸುವ ಸಮಯ ಮತ್ತು ಪೂರ್ವಚಾರ್ಜ್ ಸಮಯ.- ಆದ್ದರಿಂದ ನೀವು ಸಾಲು ಬದಲಾವಣೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಿದರೆ, ಇದು tRCD ಮತ್ತು tRP ಅನ್ನು ತೆಗೆದುಹಾಕಬಹುದು.
- ನಿರಂತರ ಬರೆಯಲು ಅಥವಾ ಓದಲು ಆಜ್ಞೆಗಳನ್ನು ಕಳುಹಿಸಿ - tCCD ಸಮಯವನ್ನು ನಿರ್ವಹಿಸುವುದು.
- ಕಮಾಂಡ್ ಬದಲಾವಣೆಯನ್ನು ಬರೆಯಲು ಓದಲು ಮತ್ತು ಓದಲು ಬರೆಯುವುದನ್ನು ಕಡಿಮೆ ಮಾಡಿ - ಓದುವ ಪ್ರವೇಶಗಳಿಗೆ ಬದಲಾಯಿಸಲು ಮರುಪ್ರಾಪ್ತಿ ಸಮಯವನ್ನು ಬರೆಯಿರಿ, ಓದುವಿಕೆಯಿಂದ ಬರೆಯಲು ಬದಲಾಯಿಸಲು ಬಸ್ ಟರ್ನ್ಅರೌಂಡ್ ಸಮಯ
- ಸರಿಯಾದ ರಿಫ್ರೆಶ್ ಮಧ್ಯಂತರವನ್ನು ಹೊಂದಿಸಿ.
- DDR3 SDRAM ಗೆ tREFI ನ ಸರಾಸರಿ ಆವರ್ತಕ ಮಧ್ಯಂತರದಲ್ಲಿ ರಿಫ್ರೆಶ್ ಸೈಕಲ್ಗಳ ಅಗತ್ಯವಿದೆ.
- ಗರಿಷ್ಠ 8 ಹೆಚ್ಚುವರಿ ರಿಫ್ರೆಶ್ ಆಜ್ಞೆಗಳನ್ನು ಮುಂಚಿತವಾಗಿ ನೀಡಬಹುದು ("ಪುಲ್ ಇನ್"). ಇದು ರಿಫ್ರೆಶ್ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದಿಲ್ಲ, ಆದರೆ ಸುತ್ತಮುತ್ತಲಿನ ಎರಡು ರಿಫ್ರೆಶ್ ಆಜ್ಞೆಗಳ ನಡುವಿನ ಗರಿಷ್ಠ ಮಧ್ಯಂತರವು 9 × tREFI ಗೆ ಸೀಮಿತವಾಗಿದೆ
- ಎಲ್ಲಾ ಬ್ಯಾಂಕುಗಳನ್ನು ಬಳಸಿ - ಸೂಕ್ತವಾದ ವಿಳಾಸ ಕಾರ್ಯವಿಧಾನವು ಯೋಗ್ಯವಾಗಿದೆ.
- ಸಾಲು-ಬ್ಯಾಂಕ್-ಕಾಲಮ್: ಅನುಕ್ರಮ ವಿಳಾಸದ ಜಾಗದಲ್ಲಿ ಸಂಭವಿಸುವ ವಹಿವಾಟಿಗೆ, ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಾಲಿನ ಅಂತ್ಯವನ್ನು ತಲುಪಿದಾಗ ವಹಿವಾಟನ್ನು ಮುಂದುವರಿಸಲು ಕೋರ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ 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 ರಲ್ಲಿ ಚರ್ಚಿಸಲಾಗಿದೆ
- ZQ ಮಾಪನಾಂಕ ನಿರ್ಣಯವು ವಿಟಿಯಾದ್ಯಂತ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಲೆಕ್ಕಹಾಕಲು ನಿಯಮಿತ ಮಧ್ಯಂತರಗಳಲ್ಲಿ ಆನ್ ಡೈ ಟರ್ಮಿನೇಷನ್ (ODT) ಅನ್ನು ಮಾಪನಾಂಕ ಮಾಡುತ್ತದೆ
- ತರ್ಕವು bank_common.v/vhd ನಲ್ಲಿದೆ
- ಪ್ಯಾರಾಮೀಟರ್ Tzqcs ZQ ಮಾಪನಾಂಕ ನಿರ್ಣಯ ಆಜ್ಞೆಯನ್ನು ಮೆಮೊರಿಗೆ ಕಳುಹಿಸುವ ದರವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ
- t ಕೌಂಟರ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಮತ್ತು app_zq_req ಬಳಸಿ ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಳುಹಿಸಲು ಸಾಧ್ಯವಿದೆ, ಇದು ರಿಫ್ರೆಶ್ ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಳುಹಿಸಲು ಹೋಲುತ್ತದೆ.
ವಿವರಗಳಿಗಾಗಿ (Xilinx ಉತ್ತರ 47924) ಅನ್ನು ನೋಡಿ.
ನಿಯಂತ್ರಕ ಓವರ್ಹೆಡ್ಗಳು
- ಆವರ್ತಕ ಓದುವಿಕೆಗಳು - ಉಲ್ಲೇಖಿಸಿ (Xilinx ಉತ್ತರ 43344) ವಿವರಗಳಿಗಾಗಿ.
- ಓದುವ ಅವಧಿಯನ್ನು ಬದಲಾಯಿಸಬೇಡಿ
- ಬರೆಯುವ ಸಮಯದಲ್ಲಿ ಆವರ್ತಕ ಓದುವಿಕೆಯನ್ನು ಬಿಟ್ಟುಬಿಡಿ ಮತ್ತು ನಿಜವಾದ ಓದುವ ಮೊದಲು ತಪ್ಪಿದ ಓದುವಿಕೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ನೀಡಿ
- ಮರುಕ್ರಮಗೊಳಿಸುವಿಕೆ - ಉಲ್ಲೇಖಿಸಿ (Xilinx ಉತ್ತರ 34392) ವಿವರಗಳಿಗಾಗಿ.
ಬಳಕೆದಾರ ಮತ್ತು AXI ಇಂಟರ್ಫೇಸ್ ವಿನ್ಯಾಸಗಳಿಗಾಗಿ ಇದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಉತ್ತಮ.- ಮರುಕ್ರಮಗೊಳಿಸುವಿಕೆ ಎನ್ನುವುದು ಹಲವಾರು ಆಜ್ಞೆಗಳ ಮುಂದೆ ನೋಡುವ ತರ್ಕವಾಗಿದೆ ಮತ್ತು ಮೆಮೊರಿಯಲ್ಲದ ಆಜ್ಞೆಗಳು ಮಾನ್ಯವಾದ ಬ್ಯಾಂಡ್ವಿಡ್ತ್ ಅನ್ನು ಆಕ್ರಮಿಸದಂತೆ ಮಾಡಲು ಬಳಕೆದಾರರ ಆಜ್ಞೆಯ ಕ್ರಮವನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಕಾರ್ಯಕ್ಷಮತೆಯು ನಿಜವಾದ ಸಂಚಾರ ಮಾದರಿಗೆ ಸಂಬಂಧಿಸಿದೆ.
- ವಿಳಾಸ ಮಾದರಿಯ ಆಧಾರದ ಮೇಲೆ, ಮರುಕ್ರಮಗೊಳಿಸುವಿಕೆಯು ಪ್ರಿಚಾರ್ಜ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡಲು ಮತ್ತು ಆಜ್ಞೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ ಮತ್ತು tRCD ಮತ್ತು tRP ಡೇಟಾ ಬ್ಯಾಂಡ್ ಅಗಲವನ್ನು ಆಕ್ರಮಿಸದಂತೆ ಮಾಡುತ್ತದೆ.
- ಬ್ಯಾಂಕ್ ಯಂತ್ರಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಪ್ರಯತ್ನಿಸಿ.
- ನಿಯಂತ್ರಕದ ಹೆಚ್ಚಿನ ತರ್ಕವು ಬ್ಯಾಂಕ್ ಯಂತ್ರಗಳಲ್ಲಿ ನೆಲೆಸಿದೆ ಮತ್ತು ಅವು DRAM ಬ್ಯಾಂಕುಗಳಿಗೆ ಸಂಬಂಧಿಸಿವೆ
- ನೀಡಿದ ಬ್ಯಾಂಕ್ ಯಂತ್ರವು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಒಂದೇ DRAM ಬ್ಯಾಂಕ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
- ಬ್ಯಾಂಕ್ ಯಂತ್ರ ನಿಯೋಜನೆಯು ಕ್ರಿಯಾತ್ಮಕವಾಗಿದೆ ಆದ್ದರಿಂದ ಪ್ರತಿ ಭೌತಿಕ ಬ್ಯಾಂಕ್ಗೆ ಬ್ಯಾಂಕ್ ಯಂತ್ರವನ್ನು ಹೊಂದಿರುವುದು ಅನಿವಾರ್ಯವಲ್ಲ.
- ಬ್ಯಾಂಕ್ ಯಂತ್ರಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು, ಆದರೆ ಇದು ಪ್ರದೇಶ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ನಡುವಿನ ವಿನಿಮಯವಾಗಿದೆ.
- ಬ್ಯಾಂಕ್ ಯಂತ್ರಗಳ ಅನುಮತಿಸುವ ಸಂಖ್ಯೆಯು 2-8 ವರೆಗೆ ಇರುತ್ತದೆ.
- ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, 4 ಬ್ಯಾಂಕ್ ಯಂತ್ರಗಳನ್ನು RTL ನಿಯತಾಂಕಗಳ ಮೂಲಕ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ.
- ಬ್ಯಾಂಕ್ ಯಂತ್ರಗಳನ್ನು ಬದಲಾಯಿಸಲು, memc_ui_top Ex ನಲ್ಲಿ ಒಳಗೊಂಡಿರುವ nBANK_MACHS = 8 ನಿಯತಾಂಕವನ್ನು ಪರಿಗಣಿಸಿamp8 ಬ್ಯಾಂಕ್ ಯಂತ್ರಗಳಿಗೆ le - 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 ರಷ್ಟಿದೆ ಎಂದು ನೋಡುತ್ತೀರಿ.
ಚಿತ್ರ 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 ಎಂದು ನೋಡುತ್ತೀರಿ!
ನಿಮಗೆ ಇನ್ನೂ ಹೆಚ್ಚಿನ ದಕ್ಷತೆಯ ಅಗತ್ಯವಿದ್ದರೆ, ನೀವು 1024 ಅಥವಾ 2048 ಬೈಟ್ಗಳ ದೊಡ್ಡ ಪ್ಯಾಕೆಟ್ ಗಾತ್ರಗಳಿಗೆ ಹೋಗಬಹುದು ಅಥವಾ ಹಸ್ತಚಾಲಿತ ರಿಫ್ರೆಶ್ ಅನ್ನು ಪರಿಗಣಿಸಿ.
ಗಮನಿಸಿ: ನಿಯಂತ್ರಕ ರಿಫ್ರೆಶ್ ಅನ್ನು ಬೈಪಾಸ್ ಮಾಡುವುದನ್ನು Xilinx ಪ್ರೋತ್ಸಾಹಿಸುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಡೇಟಾ ವಿಶ್ವಾಸಾರ್ಹತೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವ Jedec ಸ್ವಯಂ ರಿಫ್ರೆಶ್ ಸಮಯವನ್ನು ನೀವು ಪೂರೈಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆಯೇ ಎಂದು ನಮಗೆ ಖಚಿತವಿಲ್ಲ.
ನಿಯಂತ್ರಕ ಕಡೆಯಿಂದ ನೀವು nBANk_MACH ಅನ್ನು ಬದಲಾಯಿಸಬಹುದು ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯಲ್ಲಿ ಸುಧಾರಣೆಯನ್ನು ನೋಡಬಹುದು.
ಆದಾಗ್ಯೂ, ಇದು ನಿಮ್ಮ ವಿನ್ಯಾಸದ ಸಮಯದ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು, ದಯವಿಟ್ಟು ಉಲ್ಲೇಖಿಸಿ (Xilinx ಉತ್ತರ 36505) nBANk_MACH ನಲ್ಲಿ ವಿವರಗಳಿಗಾಗಿ
core_name_mig_sim.v ತೆರೆಯಿರಿ file ಮತ್ತು nBANK_MACHS ನಿಯತಾಂಕಗಳನ್ನು 4 ರಿಂದ 8 ಕ್ಕೆ ಬದಲಾಯಿಸಿ ಮತ್ತು ಸಿಮ್ಯುಲೇಶನ್ ಅನ್ನು ಮರು-ರನ್ ಮಾಡಿ. ಪ್ಯಾರಾಮೀಟರ್ ಮೌಲ್ಯವು ಹಾರ್ಡ್ವೇರ್ನಲ್ಲಿ ಪರಿಣಾಮ ಬೀರಲು, ನೀವು core_name_mig.v ಅನ್ನು ನವೀಕರಿಸಬೇಕಾಗುತ್ತದೆ file.
ನಾವು 87% ಬಸ್ ಬಳಕೆಯನ್ನು ಪಡೆದ ಅದೇ ಮಾದರಿಯನ್ನು ನಾನು ಬಳಸಿದ್ದೇನೆ (ಚಿತ್ರ -12).
nBANK_MACHS ಅನ್ನು 8 ಕ್ಕೆ ಹೊಂದಿಸುವುದರೊಂದಿಗೆ, ದಕ್ಷತೆಯು ಈಗ 90% ಆಗಿದೆ.
½ ಮತ್ತು ¼ ನಿಯಂತ್ರಕಗಳು ತಮ್ಮ ಲೇಟೆನ್ಸಿಗಳ ಕಾರಣದಿಂದಾಗಿ ದಕ್ಷತೆಯ ಮೇಲೆ ನಕಾರಾತ್ಮಕ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ.
ಉದಾಹರಣೆಗೆample, ನಾವು ಪ್ರತಿ 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 - ಆರಂಭಿಕ ಬಿಡುಗಡೆ
PDF ಡೌನ್ಲೋಡ್ ಮಾಡಿ: Xilinx DDR2 MIG 7 ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಂದಾಜು ಮಾರ್ಗದರ್ಶಿ