Xilinx DDR2 MIG 7 ਪ੍ਰਦਰਸ਼ਨ ਅਨੁਮਾਨ ਗਾਈਡ
ਮਹੱਤਵਪੂਰਨ ਨੋਟ: ਇੱਕ ਉੱਤਰ ਰਿਕਾਰਡ ਦੀ ਇਹ ਡਾਊਨਲੋਡ ਕਰਨ ਯੋਗ PDF ਇਸਦੀ ਉਪਯੋਗਤਾ ਅਤੇ ਪੜ੍ਹਨਯੋਗਤਾ ਨੂੰ ਵਧਾਉਣ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤੀ ਗਈ ਹੈ। ਇਹ ਨੋਟ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਉੱਤਰ ਰਿਕਾਰਡ ਹਨ Web-ਆਧਾਰਿਤ ਸਮਗਰੀ ਜੋ ਨਵੀਂ ਜਾਣਕਾਰੀ ਉਪਲਬਧ ਹੋਣ ਦੇ ਨਾਲ ਅਕਸਰ ਅਪਡੇਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਤੁਹਾਨੂੰ Xilinx ਤਕਨੀਕੀ ਸਹਾਇਤਾ 'ਤੇ ਜਾਣ ਲਈ ਯਾਦ ਕਰਾਇਆ ਜਾਂਦਾ ਹੈ Webਸਾਈਟ ਅਤੇ ਮੁੜview (Xilinx Answer 63234) ਇਸ ਜਵਾਬ ਦੇ ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਲਈ।
ਜਾਣ-ਪਛਾਣ
ਜਿਸ ਤਰੀਕੇ ਨਾਲ DDR2 ਅਤੇ DDR3 ਯਾਦਾਂ ਨੂੰ ਆਰਕੀਟੈਕਟ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ MIG 7 ਸੀਰੀਜ਼ ਕੰਟਰੋਲਰ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਪ੍ਰਦਰਸ਼ਨ ਸਿੱਧਾ ਅੱਗੇ ਨਹੀਂ ਹੈ।
ਇਸ ਨੂੰ ਵੱਖ-ਵੱਖ ਜੇਡੇਕ ਟਾਈਮਿੰਗ ਪੈਰਾਮੀਟਰਾਂ ਅਤੇ ਕੰਟਰੋਲਰ ਆਰਕੀਟੈਕਚਰ ਦੀ ਸਮਝ ਦੀ ਲੋੜ ਹੈ, ਅਤੇ ਤੁਹਾਨੂੰ ਅੰਦਾਜ਼ੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਿਮੂਲੇਸ਼ਨ ਚਲਾਉਣ ਦੀ ਲੋੜ ਹੋਵੇਗੀ।
ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਆਮ ਸਿਧਾਂਤ ਇੱਕੋ ਜਿਹਾ ਹੈ ਪਰ ਇਹ ਦਸਤਾਵੇਜ਼ MIG ਸਾਬਕਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੁਸ਼ਲਤਾ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਇੱਕ ਆਸਾਨ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।ampਟੈਸਟ ਬੈਂਚ ਅਤੇ ਉਤੇਜਨਾ ਦੀ ਮਦਦ ਨਾਲ le ਡਿਜ਼ਾਈਨ fileਇੱਥੇ ਨੱਥੀ ਹੈ।
ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਬੈਂਡਵਿਡਥ
DRAM ਡੇਟਾ ਬੱਸ ਸਿਰਫ ਪੜ੍ਹਨ ਅਤੇ ਲਿਖਣ ਦੇ ਬਰੱਸਟ ਦੇ ਦੌਰਾਨ ਨੇੜੇ-ਪੀਕ ਬੈਂਡਵਿਡਥ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ ਅਤੇ ਇਸਦਾ ਓਵਰਹੈੱਡ ਪ੍ਰਭਾਵੀ ਡੇਟਾ ਦਰ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ।
ਕੁਝ ਸਾਬਕਾampਓਵਰਹੈੱਡ ਦੇ ਲੇਸ ਹਨ:
- ਉਸੇ ਬੈਂਕ ਵਿੱਚ ਕਤਾਰਾਂ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਲਈ ਪ੍ਰੀਚਾਰਜ ਸਮਾਂ (ਪਹੁੰਚ ਪਤਾ ਉਸੇ ਕਤਾਰ-ਪੰਨੇ ਹਿੱਟ ਵਿੱਚ ਨਹੀਂ)
- ਲਿਖਣ ਤੋਂ ਰੀਡ ਐਕਸੈਸ ਵਿੱਚ ਬਦਲਣ ਲਈ ਰਿਕਵਰੀ ਟਾਈਮ ਲਿਖੋ
- ਬੱਸ ਬਦਲਣ ਦਾ ਸਮਾਂ ਪੜ੍ਹਨ ਤੋਂ ਲਿਖਣ ਦੀ ਪਹੁੰਚ ਵਿੱਚ ਬਦਲਣ ਲਈ
ਪ੍ਰਭਾਵੀ ਬੈਂਡਵਿਡਥ = ਪੀਕ ਬੈਂਡਵਿਡਥ * ਕੁਸ਼ਲਤਾ
MIG ਡਿਜ਼ਾਈਨ ਜਨਰੇਸ਼ਨ
MIG IP ਅਤੇ ਸਾਬਕਾ 'ਤੇ ਕਦਮ-ਦਰ-ਕਦਮ ਵੇਰਵਿਆਂ ਲਈ UG586 ਅਧਿਆਇ 1 ਵੇਖੋample ਡਿਜ਼ਾਈਨ ਪੀੜ੍ਹੀ.
MIG 7 ਸੀਰੀਜ਼ ਪ੍ਰਦਰਸ਼ਨ ਸਿਮੂਲੇਸ਼ਨ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਤੁਹਾਡਾ ਸਿਮੂਲੇਸ਼ਨ ਵਾਤਾਵਰਣ ਠੀਕ ਹੈ, ਹੇਠਾਂ ਦਿੱਤੇ ਕੰਮ ਕਰੋ। MIG ਸਾਬਕਾ ਖੋਲ੍ਹੋample ਢੁਕਵੀਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰੋ ਅਤੇ ਮੈਪ ਕਰੋ, ਸਿਮੂਲੇਸ਼ਨ ਚਲਾਓ, ਅਤੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟ ਵਿੱਚ "ਟੈਸਟ ਪਾਸ" ਸੁਨੇਹਾ ਦੇਖ ਸਕਦੇ ਹੋ।
ਪ੍ਰਵਾਹ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰਨ ਲਈ ਮੈਂ xc7vx690tffg1761-2 ਲਈ ਇੱਕ MIG IP ਤਿਆਰ ਕੀਤਾ ਹੈ ਅਤੇ ਸਾਬਕਾ ਨੂੰ ਬੁਲਾਇਆ ਹੈample ਡਿਜ਼ਾਈਨ.
ਦੋ ਚੀਜ਼ਾਂ ਜੋ ਨੋਟ ਕੀਤੀਆਂ ਜਾਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ ਮੈਮੋਰੀ ਐਡਰੈੱਸ ਬਿੱਟ ਅਤੇ ਮੈਮੋਰੀ ਐਡਰੈੱਸ ਮੈਪਿੰਗ ਚੋਣ।
ਸਾਬਕਾ ਲਈample, ਮੈਂ ਮੈਮੋਰੀ ਪਾਰਟ ਡਰਾਪ ਡਾਊਨ ਵਿਕਲਪਾਂ ਦੇ ਤਹਿਤ MT41J128M8XX-125 ਨੂੰ ਚੁਣਿਆ ਹੈ।
ਚਿੱਤਰ-1, ਕਤਾਰ = 14, ਕਾਲਮ = 10 ਅਤੇ ਬੈਂਕ = 3 ਤੋਂ ਚੁਣੇ ਗਏ ਮੈਮੋਰੀ ਹਿੱਸੇ ਲਈ, ਇਸ ਲਈ ਐਪ_ਐਡਡਰ_ਚੌੜਾਈ = ਕਤਾਰ + ਕਾਲਮ + ਬੈਂਕ + ਰੈਂਕ = 28
ਤੁਸੀਂ ਜਾਂ ਤਾਂ BANK_ROW_COLUMN ਜਾਂ ROW BANK ਕਾਲਮ ਚੁਣ ਸਕਦੇ ਹੋ।
ਮੈਂ ROW ਬੈਂਕ ਕਾਲਮ ਛੱਡ ਦਿੱਤਾ ਹੈ ਜੋ ਕਿ ਡਿਫੌਲਟ ਐਡਰੈੱਸ ਮੈਪਿੰਗ ਹੈ।
Exampਸੰਸਲੇਸ਼ਣਯੋਗ ਟੈਸਟ ਬੈਂਚ ਦੇ ਨਾਲ ਡਿਜ਼ਾਈਨ ਸਿਮੂਲੇਸ਼ਨ
ਸਿਮੂਲੇਸ਼ਨ ਸੈਟਿੰਗਾਂ ਦੇ ਤਹਿਤ, QuestaSim/ModelSim ਸਿਮੂਲੇਟਰ ਦੀ ਚੋਣ ਕਰੋ ਅਤੇ ਕੰਪਾਇਲ ਕੀਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੇ ਸਥਾਨ 'ਤੇ ਬ੍ਰਾਊਜ਼ ਕਰੋ।
ਕਿਸੇ ਥਰਡ-ਪਾਰਟੀ ਟੂਲ ਇੰਸਟੌਲ ਮਾਰਗ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨ, ਟਾਰਗੇਟ ਸਿਮੂਲੇਟਰ ਦੀ ਚੋਣ ਕਰਨ, ਅਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਕੰਪਾਇਲ ਅਤੇ ਮੈਪ ਕਰਨ ਬਾਰੇ ਵੇਰਵਿਆਂ ਲਈ, ਤੁਸੀਂ (UG900) Vivado ਡਿਜ਼ਾਈਨ ਸੂਟ ਉਪਭੋਗਤਾ ਗਾਈਡ ਲਾਜਿਕ ਸਿਮੂਲੇਸ਼ਨ ਦਾ ਹਵਾਲਾ ਦੇ ਸਕਦੇ ਹੋ।
GUI ਰਾਹੀਂ ਸਿਮੂਲੇਸ਼ਨ ਚਲਾਓ (ਪ੍ਰੋਜੈਕਟ ਮੈਨੇਜਰ ਵਿੱਚ ਚਲਾਓ ਸਿਮੂਲੇਸ਼ਨ ਟੈਬ 'ਤੇ ਕਲਿੱਕ ਕਰੋ) ਅਤੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟ ਵਿੱਚ "ਟੈਸਟ ਪਾਸ" ਸੁਨੇਹਾ ਦੇਖਦੇ ਹੋ।
ਪ੍ਰਦਰਸ਼ਨ ਸਿਮੂਲੇਸ਼ਨ RTL ਸੋਧਾਂ
- ਸਰੋਤ ਟੈਬ 'ਤੇ ਸੱਜਾ-ਕਲਿੱਕ ਕਰੋ, "ਸਿਮੂਲੇਸ਼ਨ ਸਰੋਤ ਜੋੜੋ ਜਾਂ ਬਣਾਓ" ਚੁਣੋ, ਅਤੇ mig7_perfsim_traffic_generator.sv 'ਤੇ ਬ੍ਰਾਊਜ਼ ਕਰੋ। file ਅਤੇ ਇਸਨੂੰ ਜੋੜਨ ਲਈ ਮੁਕੰਮਲ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
- ਸਰੋਤ ਟੈਬ 'ਤੇ ਸੱਜਾ-ਕਲਿੱਕ ਕਰੋ, "ਸਿਮੂਲੇਸ਼ਨ ਸਰੋਤ ਜੋੜੋ ਜਾਂ ਬਣਾਓ" ਦੀ ਚੋਣ ਕਰੋ, perfsim_stimulus.txt 'ਤੇ ਬ੍ਰਾਊਜ਼ ਕਰੋ, ਅਤੇ ਇਸਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਮੁਕੰਮਲ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
- ਸਾਬਕਾ ਬਾਹਰ ਟਿੱਪਣੀampsim_tb_top.v ਵਿੱਚ le_top instantiation file.
- ਹੇਠਾਂ ਦਿੱਤੀਆਂ RTL ਲਾਈਨਾਂ ਨੂੰ sim_tb_top, v ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ
- localparam APP_ADDR_WIDTH = 28;
- localparam APP_DATA_WIDTH = 64;
- localparam APP_MASK_WIDTH = APP_DATA_WIDTH / 8;
- localparam MEM_ADDR_ORDER = “BANK_ROW_COLUMN”;
- localparam BANK_WIDTH = 3;
- localparam 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;
- wire app_sr_req = 0;
- wire app_ref_req = 0;
- wire 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_traffic_gen
(
.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 ਨੂੰ ਸੋਧੋ।
ਤੋਂ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ _ਮਿਗ.ਵੀ file. - ਪੀਲੇ ਹਾਈਲਾਈਟ ਕੀਤੇ ਇੰਸਟੈਂਟੀਏਸ਼ਨ ਨਾਮ mig_7series_0_mig IP ਬਣਾਉਣ ਦੌਰਾਨ ਤੁਹਾਡੇ ਕੰਪੋਨੈਂਟ ਨਾਮ ਦੇ ਅਧਾਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਹੋ ਸਕਦੇ ਹਨ, ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਕੀ ਤੁਸੀਂ ਕੋਈ ਵੱਖਰਾ ਨਾਮ ਚੁਣਿਆ ਹੈ ਅਤੇ ਇਸ ਅਨੁਸਾਰ ਬਦਲੋ।
- ਇੱਕ ਵਾਰ ਜਦੋਂ IP ਤਿਆਰ ਹੋ ਜਾਂਦਾ ਹੈ ਤਾਂ ਇਸਨੂੰ ਖੋਲ੍ਹੋ _ਮਿਗ.ਵੀ 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]) - ਪ੍ਰੋਤਸਾਹਨ ਵਿੱਚ ਬੈਂਕ ਦਾ ਪਤਾ ਵੱਧ ਤੋਂ ਵੱਧ ਚਾਰ ਬਿੱਟਾਂ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਪਰ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਸੈੱਟ ਕੀਤੇ ਬੈਂਕ ਚੌੜਾਈ ਪੈਰਾਮੀਟਰ ਦੇ ਆਧਾਰ 'ਤੇ ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
- ਰੈਂਕ ਦਾ ਪਤਾ (ਰੈਂਕ[3:0]) - ਪ੍ਰੋਤਸਾਹਨ ਵਿੱਚ ਰੈਂਕ ਦਾ ਪਤਾ ਵੱਧ ਤੋਂ ਵੱਧ ਚਾਰ ਬਿੱਟਾਂ ਨੂੰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਪਰ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਸੈੱਟ ਕੀਤੇ ਰੈਂਕ ਚੌੜਾਈ ਪੈਰਾਮੀਟਰ ਦੇ ਆਧਾਰ 'ਤੇ ਇਸ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਐਡਰੈੱਸ ਨੂੰ ਸਿਖਰ-ਪੱਧਰ ਦੇ MEM_ADDR_ORDER ਪੈਰਾਮੀਟਰ ਦੇ ਆਧਾਰ 'ਤੇ ਇਕੱਠਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ ਨੂੰ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ
ਕਮਾਂਡ ਦੁਹਰਾਓ (ਕਮਾਂਡ ਦੁਹਰਾਓ [7:0])
ਕਮਾਂਡ ਦੁਹਰਾਉਣ ਦੀ ਗਿਣਤੀ ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ 'ਤੇ ਸੰਬੰਧਿਤ ਕਮਾਂਡ ਨੂੰ ਦੁਹਰਾਉਣ ਦੀ ਗਿਣਤੀ ਹੈ। ਹਰੇਕ ਦੁਹਰਾਓ ਲਈ ਪਤਾ 8 ਦੁਆਰਾ ਵਧਾਇਆ ਗਿਆ ਹੈ। ਵੱਧ ਤੋਂ ਵੱਧ ਦੁਹਰਾਓ ਦੀ ਗਿਣਤੀ 128 ਹੈ।
ਟੈਸਟ ਬੈਂਚ ਕਾਲਮ ਦੀ ਸੀਮਾ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰਦਾ ਹੈ ਅਤੇ ਜੇਕਰ ਵਾਧੇ ਦੇ ਦੌਰਾਨ ਕਾਲਮ ਦੀ ਅਧਿਕਤਮ ਸੀਮਾ ਪੂਰੀ ਹੋ ਜਾਂਦੀ ਹੈ ਤਾਂ ਇਹ ਇਸਦੇ ਆਲੇ-ਦੁਆਲੇ ਲਪੇਟਦਾ ਹੈ।
128 ਕਮਾਂਡਾਂ ਪੰਨੇ ਨੂੰ ਭਰਦੀਆਂ ਹਨ। 0 ਤੋਂ ਇਲਾਵਾ ਕਿਸੇ ਵੀ ਕਾਲਮ ਪਤੇ ਲਈ, 128 ਦੀ ਦੁਹਰਾਓ ਗਿਣਤੀ ਕਾਲਮ ਦੀ ਸੀਮਾ ਨੂੰ ਪਾਰ ਕਰਕੇ ਅਤੇ ਕਾਲਮ ਪਤੇ ਦੀ ਸ਼ੁਰੂਆਤ ਤੱਕ ਸਮੇਟਦੀ ਹੈ।
ਬੱਸ ਦੀ ਵਰਤੋਂ
ਬੱਸ ਉਪਯੋਗਤਾ ਦੀ ਗਣਨਾ ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ 'ਤੇ ਰੀਡ ਅਤੇ ਰਾਈਟਸ ਦੀ ਕੁੱਲ ਸੰਖਿਆ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਹੇਠਾਂ ਦਿੱਤੇ ਸਮੀਕਰਨ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:
- BL8 ਚਾਰ ਮੈਮੋਰੀ ਕਲਾਕ ਚੱਕਰ ਲੈਂਦਾ ਹੈ
- end_of_stimulus ਉਹ ਸਮਾਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਸਾਰੀਆਂ ਕਮਾਂਡਾਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
- calib_done ਉਹ ਸਮਾਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
Example ਪੈਟਰਨ
ਇਹ ਸਾਬਕਾ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 ਤੱਕ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਪਤੇ ਦੇ ਨਾਲ 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 ਵਿੱਚ ਸਥਿਤ ਹੈ ਫੋਲਡਰ।
Example ਡਾਇਰੈਕਟਰੀ ਮਾਰਗ: -
/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 ਉਹਨਾਂ ਸ਼ਬਦਾਂ ਦਾ ਜੋ ਮੈਮੋਰੀ ਖਾਸ ਹਨ।
SRAMs ਅਤੇ ਬਲਾਕ ਮੈਮੋਰੀਜ਼ ਦੇ ਉਲਟ DDR2 ਜਾਂ DDR3 ਪ੍ਰਦਰਸ਼ਨ ਸਿਰਫ਼ ਵੱਧ ਤੋਂ ਵੱਧ ਡਾਟਾ ਦਰ ਨਹੀਂ ਹੈ।
ਇਹ ਕਈ ਸਮੇਂ ਦੇ ਕਾਰਕਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- tRCD: ਕਤਾਰ ਕਮਾਂਡ ਦੇਰੀ (ਜਾਂ ਰਾਸ ਤੋਂ ਕੈਸ ਦੇਰੀ)।
- tCAS(CL): ਕਾਲਮ ਪਤਾ ਸਟ੍ਰੋਬ ਲੇਟੈਂਸੀ।
- tRP: ਕਤਾਰ ਪ੍ਰੀਚਾਰਜ ਦੇਰੀ।
- TRAS: ਰੋਅ ਐਕਟਿਵ ਟਾਈਮ (ਪ੍ਰੀਚੇਂਜ ਲਈ ਐਕਟੀਵੇਟ)।
- tRC: ਕਤਾਰ ਦੇ ਚੱਕਰ ਦਾ ਸਮਾਂ। tRC = trAS + tRP
- TRAC: ਰੈਡਮ ਪਹੁੰਚ ਵਿੱਚ ਦੇਰੀ। trAC = tRCD + tCAS
- tCWL: ਕੈਸ ਲਿਖਣ ਦੀ ਲੇਟੈਂਸੀ।
- tZQ: ZQ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਸਮਾਂ।
- tRFC: ਕਤਾਰ ਰਿਫ੍ਰੈਸ਼ ਸਾਈਕਲ ਸਮਾਂ
- tWTR: ਦੇਰੀ ਨੂੰ ਪੜ੍ਹਨ ਲਈ ਲਿਖੋ। ਕਮਾਂਡ ਟਾਈਮ ਰੀਡ ਕਰਨ ਲਈ ਆਖਰੀ ਲਿਖਤ ਟ੍ਰਾਂਜੈਕਸ਼ਨ।
- tWR: ਰਿਕਵਰੀ ਟਾਈਮ ਲਿਖੋ। ਪ੍ਰੀਚਾਰਜ ਸਮੇਂ ਲਈ ਆਖਰੀ ਲਿਖਤ ਲੈਣ-ਦੇਣ
ਸਾਰੇ ਸੂਚੀਬੱਧ ਪੈਰਾਮੀਟਰਾਂ ਦਾ ਸਮਾਂ ਵਰਤਿਆ ਗਿਆ ਮੈਮੋਰੀ ਦੀ ਕਿਸਮ ਅਤੇ ਮੈਮੋਰੀ ਭਾਗ ਸਪੀਡ ਗ੍ਰੇਡ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।
ਪਰਿਭਾਸ਼ਾਵਾਂ ਅਤੇ ਸਮੇਂ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬਾਰੇ ਹੋਰ ਵੇਰਵੇ DDR2 DDR3 JEDEC ਜਾਂ ਕਿਸੇ ਵੀ ਮੈਮੋਰੀ ਡਿਵਾਈਸ ਡੇਟਾਸ਼ੀਟ ਵਿੱਚ ਲੱਭੇ ਜਾ ਸਕਦੇ ਹਨ।
ਕੁਸ਼ਲਤਾ ਮੁੱਖ ਤੌਰ 'ਤੇ ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ ਕਿ ਮੈਮੋਰੀ ਨੂੰ ਕਿਵੇਂ ਐਕਸੈਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਵੱਖ-ਵੱਖ ਪਤੇ ਦੇ ਪੈਟਰਨ ਵੱਖ-ਵੱਖ ਕੁਸ਼ਲਤਾ ਨਤੀਜੇ ਦਿੰਦੇ ਹਨ।
ਮੈਮੋਰੀ ਟਾਈਮਿੰਗ ਓਵਰਹੈੱਡਸ
- ਨਵੇਂ ਬੈਂਕਾਂ/ਕਤਾਰਾਂ ਵਿੱਚ ਬਦਲਦੇ ਸਮੇਂ ਜਾਂ ਉਸੇ ਬੈਂਕ ਵਿੱਚ ਕਤਾਰਾਂ ਨੂੰ ਬਦਲਣ ਵੇਲੇ ਐਕਟੀਵੇਸ਼ਨ ਸਮਾਂ ਅਤੇ ਪ੍ਰੀਚਾਰਜ ਸਮਾਂ।- ਇਸ ਲਈ ਜੇਕਰ ਤੁਸੀਂ ਕਤਾਰਾਂ ਵਿੱਚ ਤਬਦੀਲੀ ਨੂੰ ਘਟਾਉਂਦੇ ਹੋ, ਤਾਂ ਇਹ ਟੀਆਰਸੀਡੀ ਅਤੇ ਟੀਆਰਪੀ ਨੂੰ ਹਟਾ ਸਕਦਾ ਹੈ।
- ਲਗਾਤਾਰ ਲਿਖੋ ਜਾਂ ਪੜ੍ਹੋ ਕਮਾਂਡ ਭੇਜੋ - ਟੀਸੀਸੀਡੀ ਟਾਈਮਿੰਗ ਨੂੰ ਕਾਇਮ ਰੱਖਣਾ।
- ਕਮਾਂਡ ਚੇਂਜਓਵਰ ਨੂੰ ਪੜ੍ਹਨ ਲਈ ਲਿਖਣ ਅਤੇ ਪੜ੍ਹਨ ਲਈ ਲਿਖਣ ਲਈ ਘੱਟ ਤੋਂ ਘੱਟ ਕਰੋ - ਰੀਡ ਐਕਸੈਸ ਨੂੰ ਬਦਲਣ ਲਈ ਰਿਕਵਰੀ ਸਮਾਂ ਲਿਖੋ, ਪੜ੍ਹਨ ਤੋਂ ਲਿਖਣ ਲਈ ਬਦਲਣ ਲਈ ਬੱਸ ਟਰਨਅਰਾਊਂਡ ਟਾਈਮ ਲਿਖੋ
- ਇੱਕ ਸਹੀ ਰਿਫਰੈਸ਼ ਅੰਤਰਾਲ ਸੈਟ ਕਰੋ।
- DDR3 SDRAM ਨੂੰ tREFI ਦੇ ਔਸਤ ਅੰਤਰਾਲ 'ਤੇ ਰਿਫ੍ਰੈਸ਼ ਚੱਕਰ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
- ਅਧਿਕਤਮ 8 ਵਾਧੂ ਰਿਫਰੈਸ਼ ਕਮਾਂਡਾਂ ਪਹਿਲਾਂ ਹੀ ਜਾਰੀ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ ("ਵਿੱਚ ਖਿੱਚੀਆਂ ਗਈਆਂ")। ਇਹ ਰਿਫਰੈਸ਼ਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਨਹੀਂ ਘਟਾਉਂਦਾ ਹੈ, ਪਰ ਦੋ ਆਲੇ-ਦੁਆਲੇ ਦੀਆਂ ਰਿਫਰੈਸ਼ ਕਮਾਂਡਾਂ ਵਿਚਕਾਰ ਵੱਧ ਤੋਂ ਵੱਧ ਅੰਤਰਾਲ 9 × tREFI ਤੱਕ ਸੀਮਿਤ ਹੈ।
- ਸਾਰੇ ਬੈਂਕਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ - ਇੱਕ ਢੁਕਵੀਂ ਸੰਬੋਧਿਤ ਵਿਧੀ ਨੂੰ ਤਰਜੀਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ.
- ਰੋ-ਬੈਂਕ-ਕਾਲਮ: ਕ੍ਰਮਵਾਰ ਐਡਰੈੱਸ ਸਪੇਸ 'ਤੇ ਹੋਣ ਵਾਲੇ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਲਈ, ਮੌਜੂਦਾ ਕਤਾਰ ਦੇ ਅੰਤ 'ਤੇ ਪਹੁੰਚਣ 'ਤੇ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਜਾਰੀ ਰੱਖਣ ਲਈ ਕੋਰ ਆਪਣੇ ਆਪ ਹੀ DRAM ਡਿਵਾਈਸ ਦੇ ਅਗਲੇ ਬੈਂਕ ਵਿੱਚ ਉਸੇ ਕਤਾਰ ਨੂੰ ਖੋਲ੍ਹਦਾ ਹੈ। ਇਹ ਉਹਨਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਚੰਗੀ ਤਰ੍ਹਾਂ ਅਨੁਕੂਲ ਹੈ ਜਿਹਨਾਂ ਲਈ ਕ੍ਰਮਵਾਰ ਪਤੇ ਦੇ ਸਥਾਨਾਂ ਲਈ ਵੱਡੇ ਡੇਟਾ ਪੈਕੇਟਾਂ ਨੂੰ ਫਟਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
- ਬੈਂਕ-ਰੋ-ਕਾਲਮ: ਇੱਕ ਕਤਾਰ ਦੀ ਸੀਮਾ ਨੂੰ ਪਾਰ ਕਰਦੇ ਸਮੇਂ, ਮੌਜੂਦਾ ਕਤਾਰ ਬੰਦ ਹੋ ਜਾਵੇਗੀ ਅਤੇ ਇੱਕ ਹੋਰ ਕਤਾਰ ਉਸੇ ਬੈਂਕ ਦੇ ਅੰਦਰ ਖੋਲ੍ਹੀ ਜਾਵੇਗੀ। MSB ਇੱਕ ਬੈਂਕ ਦਾ ਪਤਾ ਹੈ, ਜਿਸਦੀ ਵਰਤੋਂ ਵੱਖ-ਵੱਖ ਬੈਂਕਾਂ ਤੋਂ ਬਦਲਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਇਹ ਇੱਕ ਸਮੇਂ ਲਈ ਮੈਮੋਰੀ ਦੇ ਇੱਕ ਬਲਾਕ ਵਿੱਚ ਛੋਟੇ, ਵਧੇਰੇ ਬੇਤਰਤੀਬੇ ਲੈਣ-ਦੇਣ ਅਤੇ ਫਿਰ ਦੂਜੇ ਬਲਾਕ (ਬੈਂਕ) ਵਿੱਚ ਛਾਲ ਮਾਰਨ ਲਈ ਢੁਕਵਾਂ ਹੈ।
- ਬਰਸਟ ਲੰਬਾਈ
- BL 8 3 ਸੀਰੀਜ਼ 'ਤੇ DDR7 ਲਈ ਸਮਰਥਿਤ ਹੈ। BC4 ਦੀ ਬਹੁਤ ਘੱਟ ਕੁਸ਼ਲਤਾ ਹੈ ਜੋ ਕਿ 50% ਤੋਂ ਘੱਟ ਹੈ। ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ BC4 ਦਾ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਸਮਾਂ BL8 ਦੇ ਬਰਾਬਰ ਹੈ। ਡੇਟਾ ਨੂੰ ਸਿਰਫ ਕੰਪੋਨੈਂਟ ਦੇ ਅੰਦਰ ਮਾਸਕ ਕੀਤਾ ਗਿਆ ਹੈ.
- ਉਹਨਾਂ ਮਾਮਲਿਆਂ ਵਿੱਚ ਜਿੱਥੇ ਤੁਸੀਂ ਪੂਰਾ ਬਰਸਟ ਲਿਖਣਾ ਨਹੀਂ ਚਾਹੁੰਦੇ ਹੋ, ਜਾਂ ਤਾਂ ਡੇਟਾ ਮਾਸਕ ਜਾਂ ਲਿਖਣ ਤੋਂ ਬਾਅਦ-ਪੜ੍ਹਨ ਨੂੰ ਵਿਚਾਰਿਆ ਜਾ ਸਕਦਾ ਹੈ।
- ਇੱਕ ਉਚਿਤ ZQ ਅੰਤਰਾਲ ਸੈੱਟ ਕਰੋ (ਕੇਵਲ DDR3)
ਕੰਟਰੋਲਰ ZQ ਸ਼ਾਰਟ (ZQCS) ਅਤੇ ZQ ਲੌਂਗ (ZQCL) ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕਮਾਂਡਾਂ ਦੋਵਾਂ ਨੂੰ ਭੇਜਦਾ ਹੈ।- DDR3 ਜੇਡੇਕ ਸਟੈਂਡਰਡ ਦੀ ਪਾਲਣਾ ਕਰੋ
- ZQ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਦੀ ਚਰਚਾ JEDEC Spec JESD5.5-79 DDR3 SDRAM ਸਟੈਂਡਰਡ ਦੇ ਸੈਕਸ਼ਨ 3 ਵਿੱਚ ਕੀਤੀ ਗਈ ਹੈ
- ZQ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਪੂਰੇ VT ਵਿੱਚ ਭਿੰਨਤਾਵਾਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣ ਲਈ ਨਿਯਮਤ ਅੰਤਰਾਲਾਂ 'ਤੇ ਆਨ ਡਾਈ ਟਰਮੀਨੇਸ਼ਨ (ODT) ਨੂੰ ਕੈਲੀਬਰੇਟ ਕਰਦਾ ਹੈ
- ਤਰਕ bank_common.v/vhd ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ
- ਪੈਰਾਮੀਟਰ Tzqcs ਉਹ ਦਰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਜਿਸ 'ਤੇ ਇੱਕ ZQ ਕੈਲੀਬ੍ਰੇਸ਼ਨ ਕਮਾਂਡ ਮੈਮੋਰੀ ਨੂੰ ਭੇਜੀ ਜਾਂਦੀ ਹੈ
- t ਕਾਊਂਟਰ ਨੂੰ ਅਯੋਗ ਕਰਨਾ ਅਤੇ ਐਪ_zq_req ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੱਥੀਂ ਭੇਜਣਾ ਸੰਭਵ ਹੈ, ਇਹ ਹੱਥੀਂ ਰਿਫ੍ਰੈਸ਼ ਭੇਜਣ ਦੇ ਸਮਾਨ ਹੈ।
ਵੇਰਵਿਆਂ ਲਈ (Xilinx ਉੱਤਰ 47924) ਵੇਖੋ।
ਕੰਟਰੋਲਰ ਓਵਰਹੈੱਡਸ
- ਪੀਰੀਅਡਿਕ ਰੀਡਜ਼ - ਵੇਖੋ (Xilinx ਉੱਤਰ 43344) ਵੇਰਵਿਆਂ ਲਈ।
- ਪੜ੍ਹਨ ਦੀ ਮਿਆਦ ਨਾ ਬਦਲੋ
- ਲਿਖਤਾਂ ਦੌਰਾਨ ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਪੜ੍ਹੇ ਜਾਣ ਨੂੰ ਛੱਡੋ ਅਤੇ ਸਹੀ ਰੀਡ ਤੋਂ ਪਹਿਲਾਂ ਖੁੰਝੀਆਂ ਰੀਡਜ਼ ਦੀ ਗਿਣਤੀ ਜਾਰੀ ਕਰੋ
- ਰੀਆਰਡਰਿੰਗ - ਵੇਖੋ (Xilinx ਉੱਤਰ 34392) ਵੇਰਵਿਆਂ ਲਈ।
ਉਪਭੋਗਤਾ ਅਤੇ AXI ਇੰਟਰਫੇਸ ਡਿਜ਼ਾਈਨ ਲਈ ਇਸ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਬਿਹਤਰ ਹੈ।- ਰੀਆਰਡਰ ਉਹ ਤਰਕ ਹੈ ਜੋ ਕਈ ਕਮਾਂਡਾਂ ਨੂੰ ਅੱਗੇ ਵੇਖਦਾ ਹੈ ਅਤੇ ਗੈਰ-ਮੈਮੋਰੀ ਕਮਾਂਡਾਂ ਨੂੰ ਵੈਧ ਬੈਂਡਵਿਡਥ 'ਤੇ ਕਬਜ਼ਾ ਨਾ ਕਰਨ ਲਈ ਉਪਭੋਗਤਾ ਕਮਾਂਡ ਕ੍ਰਮ ਨੂੰ ਬਦਲਦਾ ਹੈ। ਪ੍ਰਦਰਸ਼ਨ ਅਸਲ ਟ੍ਰੈਫਿਕ ਪੈਟਰਨ ਨਾਲ ਵੀ ਸਬੰਧਤ ਹੈ।
- ਐਡਰੈੱਸ ਪੈਟਰਨ ਦੇ ਆਧਾਰ 'ਤੇ, ਰੀਆਰਡਰ ਪ੍ਰੀਚਾਰਜ ਨੂੰ ਛੱਡਣ ਅਤੇ ਕਮਾਂਡਾਂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਅਤੇ tRCD ਅਤੇ tRP ਨੂੰ ਡਾਟਾ ਬੈਂਡ ਚੌੜਾਈ 'ਤੇ ਕਬਜ਼ਾ ਨਹੀਂ ਕਰਦਾ ਹੈ।
- ਬੈਂਕ ਮਸ਼ੀਨਾਂ ਦੀ ਗਿਣਤੀ ਵਧਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।
- ਜ਼ਿਆਦਾਤਰ ਕੰਟਰੋਲਰ ਦੇ ਤਰਕ ਬੈਂਕ ਮਸ਼ੀਨਾਂ ਵਿੱਚ ਰਹਿੰਦੇ ਹਨ ਅਤੇ ਉਹ DRAM ਬੈਂਕਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਹਨ
- ਇੱਕ ਦਿੱਤੀ ਬੈਂਕ ਮਸ਼ੀਨ ਕਿਸੇ ਵੀ ਸਮੇਂ ਇੱਕ ਸਿੰਗਲ DRAM ਬੈਂਕ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦੀ ਹੈ।
- ਬੈਂਕ ਮਸ਼ੀਨ ਅਸਾਈਨਮੈਂਟ ਗਤੀਸ਼ੀਲ ਹੈ ਇਸਲਈ ਹਰੇਕ ਭੌਤਿਕ ਬੈਂਕ ਲਈ ਬੈਂਕ ਮਸ਼ੀਨ ਦਾ ਹੋਣਾ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ।
- ਬੈਂਕ ਮਸ਼ੀਨਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਇਹ ਖੇਤਰ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਵਪਾਰ ਹੈ।
- ਬੈਂਕ ਮਸ਼ੀਨਾਂ ਦੀ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਸੰਖਿਆ 2-8 ਤੱਕ ਹੈ।
- ਮੂਲ ਰੂਪ ਵਿੱਚ, 4 ਬੈਂਕ ਮਸ਼ੀਨਾਂ ਨੂੰ RTL ਪੈਰਾਮੀਟਰਾਂ ਰਾਹੀਂ ਸੰਰਚਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
- ਬੈਂਕ ਮਸ਼ੀਨਾਂ ਨੂੰ ਬਦਲਣ ਲਈ, memc_ui_top Ex ਵਿੱਚ ਸ਼ਾਮਲ ਪੈਰਾਮੀਟਰ nBANK_MACHS = 8 'ਤੇ ਵਿਚਾਰ ਕਰੋample 8 ਬੈਂਕ ਮਸ਼ੀਨਾਂ ਲਈ – 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 'ਤੇ ਵੇਰਵਿਆਂ ਲਈ
ਕੋਰ_ਨਾਮ_ਮਿਗ_ਸਿਮ.ਵੀ. ਖੋਲ੍ਹੋ file ਅਤੇ ਪੈਰਾਮੀਟਰ nBANK_MACHS ਨੂੰ 4 ਤੋਂ 8 ਤੱਕ ਬਦਲੋ ਅਤੇ ਸਿਮੂਲੇਸ਼ਨ ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਓ। ਹਾਰਡਵੇਅਰ ਵਿੱਚ ਪੈਰਾਮੀਟਰ ਮੁੱਲ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ core_name_mig.v. ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ file.
ਮੈਂ ਉਹੀ ਪੈਟਰਨ ਵਰਤਿਆ ਜਿੱਥੇ ਸਾਨੂੰ 87% ਬੱਸ ਉਪਯੋਗਤਾ ਮਿਲੀ (ਚਿੱਤਰ -12)।
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 DDR2 MIG 7 ਪ੍ਰਦਰਸ਼ਨ ਅਨੁਮਾਨ ਗਾਈਡ