Xilinx-ໂລໂກ້

ຄູ່ມືການປະເມີນປະສິດທິພາບ Xilinx DDR2 MIG 7

Xilinx_DDR2_MIG_7_Performance-Estimation-product

ໝາຍເຫດສຳຄັນ: PDF ທີ່ສາມາດດາວໂຫຼດໄດ້ຂອງບັນທຶກຄຳຕອບນີ້ໄດ້ຖືກສະໜອງໃຫ້ເພື່ອເພີ່ມປະສິດທິພາບການໃຊ້ງານ ແລະ ການອ່ານຂອງມັນ. ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະສັງເກດວ່າບັນທຶກຄໍາຕອບແມ່ນ Web-based ເນື້ອໃນທີ່ຖືກປັບປຸງເລື້ອຍໆຍ້ອນວ່າມີຂໍ້ມູນໃຫມ່. ທ່ານໄດ້ຖືກເຕືອນໃຫ້ໄປຢ້ຽມຢາມການຊ່ວຍເຫຼືອດ້ານວິຊາການ Xilinx Website ແລະ review (Xilinx Answer 63234) ສໍາລັບສະບັບຫລ້າສຸດຂອງຄໍາຕອບນີ້.

ແນະນຳ

ເນື່ອງຈາກວິທີການສ້າງຄວາມຊົງຈໍາ DDR2 ແລະ DDR3 ແລະຕົວຄວບຄຸມຊຸດ MIG 7 ຖືກອອກແບບ, ການປະຕິບັດແມ່ນບໍ່ກົງໄປກົງມາ.
ມັນຮຽກຮ້ອງໃຫ້ມີຄວາມເຂົ້າໃຈກ່ຽວກັບຕົວກໍານົດການ Jedec Timing ຕ່າງໆແລະສະຖາປັດຕະຍະກໍາຄວບຄຸມ, ແລະທ່ານຈະຕ້ອງດໍາເນີນການ simulations ເພື່ອໃຫ້ໄດ້ຮັບການຄາດຄະເນ.
ຫຼັກການທົ່ວໄປສໍາລັບການກໍານົດການປະຕິບັດແມ່ນຄືກັນແຕ່ເອກະສານນີ້ສະຫນອງວິທີທີ່ງ່າຍທີ່ຈະໄດ້ຮັບປະສິດທິພາບໂດຍໃຊ້ MIG example ການອອກແບບດ້ວຍການຊ່ວຍເຫຼືອຂອງ bench ການທົດສອບແລະການກະຕຸ້ນ files ຕິດ​ຢູ່​ທີ່​ນີ້​.

ແບນວິດທີ່ມີປະສິດຕິຜົນ

ລົດເມຂໍ້ມູນ DRAM ບັນລຸແບນວິດໃກ້ຈຸດສູງສຸດພຽງແຕ່ໃນລະຫວ່າງການອ່ານແລະຂຽນແລະການ overhead ຂອງມັນຫຼຸດລົງອັດຕາຂໍ້ມູນທີ່ມີປະສິດທິພາບ.
ສອງສາມ examples ຂອງ overhead ແມ່ນ:

  • ລ່ວງໜ້າເວລາເຂົ້າເຖິງແຖວໃນທະນາຄານດຽວກັນ (ການເຂົ້າເຖິງບໍ່ຢູ່ໃນແຖວໜ້າດຽວກັນ)
  • ຂຽນເວລາການຟື້ນຕົວເພື່ອປ່ຽນຈາກການຂຽນເປັນການເຂົ້າເຖິງການອ່ານ
  • ເວລາປ່ຽນລົດເມເພື່ອປ່ຽນຈາກການອ່ານເປັນການເຂົ້າເຖິງການຂຽນ

Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-28
ແບນວິດທີ່ມີປະສິດທິພາບ = ສູງສຸດແບນວິດ * ປະສິດທິພາບ 

ການຜະລິດການອອກແບບ MIG

ອ້າງອີງເຖິງ UG586 ບົດທີ 1 ສໍາລັບລາຍລະອຽດຂັ້ນຕອນໂດຍຂັ້ນຕອນກ່ຽວກັບ MIG IP ແລະ exampການຜະລິດການອອກແບບ.
ກ່ອນທີ່ຈະດໍາເນີນການຈໍາລອງການປະຕິບັດ MIG 7 Series, ເຮັດດັ່ງຕໍ່ໄປນີ້ເພື່ອໃຫ້ແນ່ໃຈວ່າສະພາບແວດລ້ອມການຈໍາລອງຂອງທ່ານແມ່ນດີ. ເປີດ MIG example ອອກແບບແລະສ້າງແຜນທີ່ຫ້ອງສະຫມຸດທີ່ເຫມາະສົມ, ດໍາເນີນການຈໍາລອງ, ແລະໃຫ້ແນ່ໃຈວ່າທ່ານສາມາດເບິ່ງຂໍ້ຄວາມ "ຜ່ານການທົດສອບ" ໃນຂໍ້ຄວາມຖອດຖອນໄດ້.
ເພື່ອສະແດງໃຫ້ເຫັນການໄຫຼເຂົ້າ, ຂ້ອຍໄດ້ສ້າງ MIG IP ສໍາລັບ xc7vx690tffg1761-2 ແລະເອີ້ນ ex.ample ການອອກແບບ.
ສອງສິ່ງທີ່ຄວນສັງເກດແມ່ນບິດທີ່ຢູ່ຫນ່ວຍຄວາມຈໍາແລະການເລືອກແຜນທີ່ທີ່ຢູ່ຫນ່ວຍຄວາມຈໍາ.
ຕົວຢ່າງampດັ່ງນັ້ນ, ຂ້າພະເຈົ້າໄດ້ເລືອກ MT41J128M8XX-125 ພາຍໃຕ້ຕົວເລືອກເລື່ອນລົງສ່ວນຫນ່ວຍຄວາມຈໍາ.Xilinx DDR2 MIG-7-Performance-Estimation-fig-1

ສໍາລັບພາກສ່ວນຄວາມຊົງຈໍາທີ່ເລືອກຈາກຮູບ -1, ແຖວ = 14, ຖັນ = 10 ແລະທະນາຄານ = 3, ດັ່ງນັ້ນ app_addr_width = ແຖວ + ຖັນ + ທະນາຄານ + ອັນດັບ = 28 Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-2

ທ່ານສາມາດເລືອກຖັນ BANK_ROW_COLUMN ຫຼື ROW BANK Column.
ຂ້ອຍໄດ້ອອກຈາກຖັນ ROW BANK ເຊິ່ງເປັນແຜນທີ່ທີ່ຢູ່ເລີ່ມຕົ້ນ.

Example ການ​ອອກ​ແບບ Simulation ກັບ bench ການ​ທົດ​ສອບ synthesizable​

ພາຍໃຕ້ການຕັ້ງຄ່າການຈໍາລອງ, ເລືອກ QuestaSim/ModelSim Simulator ແລະຊອກຫາສະຖານທີ່ຂອງຫ້ອງສະຫມຸດທີ່ລວບລວມ.
ສໍາລັບລາຍລະອຽດກ່ຽວກັບການຊີ້ໄປຫາເສັ້ນທາງການຕິດຕັ້ງເຄື່ອງມືຂອງພາກສ່ວນທີສາມ, ການເລືອກ simulator ເປົ້າຫມາຍ, ແລະການລວບລວມແລະແຜນທີ່ຫ້ອງສະຫມຸດ, ທ່ານສາມາດອ້າງອີງ (UG900) Vivado Design Suite User Guide Logic SimulationXilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-3

ດໍາເນີນການຈໍາລອງຜ່ານ GUI (ຄລິກແຖບ Run Simulation ໃນຜູ້ຈັດການໂຄງການ) ແລະໃຫ້ແນ່ໃຈວ່າທ່ານເຫັນຂໍ້ຄວາມ "ທົດສອບຜ່ານ" ໃນຂໍ້ຄວາມຖອດຖອນ.

ການປະຕິບັດການຈໍາລອງການດັດແປງ RTL

  1. ຄລິກຂວາໃສ່ແຖບແຫຼ່ງ, ເລືອກ “ເພີ່ມ ຫຼືສ້າງແຫຼ່ງຈໍາລອງ”, ແລະທ່ອງໄປຫາ mig7_perfsim_traffic_generator.sv file ແລະຄລິກສໍາເລັດຮູບເພື່ອເພີ່ມມັນ.
  2. ຄລິກຂວາໃສ່ແຖບແຫຼ່ງ, ເລືອກ “ເພີ່ມ ຫຼືສ້າງແຫຼ່ງຈໍາລອງ”, ຊອກຫາ perfsim_stimulus.txt, ແລະຄລິກສໍາເລັດຮູບເພື່ອເພີ່ມມັນ.
  3. ຄໍາເຫັນອອກ example_top instantiation ໃນ sim_tb_top.v file.
  4. ເພີ່ມແຖວ 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 ຕາມການເລືອກສ່ວນຫນ່ວຍຄວາມຈໍາຂອງທ່ານ.
    ຄຸນຄ່າສາມາດໄດ້ຮັບຈາກ _mig.v file.
  • ຊື່ instantiation ທີ່ເນັ້ນໃສ່ສີເຫຼືອງ mig_7series_0_mig ສາມາດແຕກຕ່າງກັນໂດຍອີງໃສ່ຊື່ອົງປະກອບຂອງທ່ານໃນລະຫວ່າງການສ້າງ IP, ກວດເບິ່ງວ່າທ່ານໄດ້ເລືອກຊື່ອື່ນແລະປ່ຽນມັນຕາມຄວາມເຫມາະສົມ.Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-4
  • ເມື່ອ 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 ໃນ clocking, controller, ip_top, phy ແລະ UI folders.
  • ເມື່ອການປ່ຽນແປງ RTL ໄດ້ຖືກເຮັດແລະທັງຫມົດທີ່ຕ້ອງການ files ຖືກເພີ່ມໃສ່ແຫຼ່ງຈໍາລອງຂອງທ່ານ, ລໍາດັບຊັ້ນຄວນຈະຄ້າຍຄືກັບຮູບ 5.
    ໄດ້ files ເນັ້ນໃສ່ສີແດງໄດ້ຖືກເພີ່ມໃຫມ່, ແລະ "?" ຄາດວ່າຈະຢູ່ໃນໂມດູນທີ່ກ່ຽວຂ້ອງກັບ ECC ເນື່ອງຈາກການຕັ້ງຄ່າຫນ່ວຍຄວາມຈໍາທີ່ເລືອກໄດ້ປິດການໃຊ້ງານທາງເລືອກ ECC.Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-5

ກະຕຸ້ນ File ລາຍລະອຽດ
ແຕ່ລະຮູບແບບການກະຕຸ້ນແມ່ນ 48 bits ແລະຮູບແບບໄດ້ຖືກອະທິບາຍໃນຮູບ 6-1 ເຖິງ 6-4.Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-6

ການເຂົ້າລະຫັດທີ່ຢູ່ (ທີ່ຢູ່ [35:0])

ທີ່ຢູ່ແມ່ນຖືກເຂົ້າລະຫັດຢູ່ໃນຕົວກະຕຸ້ນຕາມຮູບ 7-1 ເຖິງຮູບ 7-6. ຊ່ອງຂໍ້ມູນທັງໝົດຈະຕ້ອງຖືກໃສ່ໃນຮູບແບບເລກຖານສິບຫົກ. ຊ່ອງຂໍ້ມູນທັງໝົດແມ່ນຄວາມກວ້າງທີ່ແບ່ງອອກດ້ວຍສີ່ເພື່ອໃສ່ໃນຮູບແບບເລກຖານສິບຫົກ. ບ່ອນນັ່ງທົດສອບພຽງແຕ່ສົ່ງ bits ທີ່ຕ້ອງການຂອງພາກສະຫນາມທີ່ຢູ່ໄປຫາ Memory Controller.
ຕົວຢ່າງample, ໃນການຕັ້ງຄ່າທະນາຄານແປດ, ມີພຽງແຕ່ bank Bits [2:0] ຖືກສົ່ງໄປຫາ Memory Controller ແລະບິດທີ່ຍັງເຫຼືອແມ່ນຖືກລະເລີຍ. bits ເພີ່ມເຕີມສໍາລັບຊ່ອງທີ່ຢູ່ແມ່ນສະຫນອງໃຫ້ສໍາລັບທ່ານທີ່ຈະໃສ່ທີ່ຢູ່ໃນຮູບແບບເລກຖານສິບຫົກ.
ທ່ານ​ຕ້ອງ​ຢືນ​ຢັນ​ວ່າ​ຄ່າ​ທີ່​ປ້ອນ​ເຂົ້າ​ສອດ​ຄ່ອງ​ກັບ​ຄວາມ​ກວ້າງ​ຂອງ​ການ​ຕັ້ງ​ຄ່າ​ທີ່​ໃຫ້​.Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-7

  • ທີ່ຢູ່ຖັນ (ຖັນ[11:0]) – ທີ່ຢູ່ຄໍລໍາໃນການກະຕຸ້ນແມ່ນສະຫນອງໃຫ້ສູງສຸດຂອງ 12 bits, ແຕ່ທ່ານຈໍາເປັນຕ້ອງແກ້ໄຂນີ້ໂດຍອີງໃສ່ຕົວກໍານົດຄວາມກວ້າງຂອງຖັນທີ່ກໍານົດໄວ້ໃນການອອກແບບຂອງທ່ານ.
  • ທີ່ຢູ່ແຖວ (ແຖວ[15:0]) – ທີ່ຢູ່ແຖວໃນການກະຕຸ້ນແມ່ນໃຫ້ສູງສຸດ 16 bits, ແຕ່ທ່ານຈໍາເປັນຕ້ອງແກ້ໄຂນີ້ໂດຍອີງໃສ່ຕົວກໍານົດຄວາມກວ້າງຂອງແຖວທີ່ກໍານົດໄວ້ໃນການອອກແບບຂອງທ່ານ.
  • ທີ່ຢູ່ທະນາຄານ (ທະນາຄານ [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 ແມ່ນເວລາທີ່ການປັບຕົວສຳເລັດ.

Example ຮູບແບບ
ເຫຼົ່ານີ້ examples ແມ່ນອີງໃສ່ MEM_ADDR_ORDER ທີ່ຕັ້ງເປັນ BANK_ROW_COLUMN.

ຮູບແບບການອ່ານດຽວ
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 example simulation ການ​ອອກ​ແບບ​. ນີ້ຫມາຍຄວາມວ່າການຈໍາລອງຂອງທ່ານກໍາລັງກຽມພ້ອມ, ທ່ານໄດ້ເຮັດການຈໍາລອງການປະຕິບັດການດັດແກ້ RTL, ລໍາດັບລໍາດັບ simulation ໃຫມ່ແມ່ນຖືກຕ້ອງແລະທ່ານໄດ້ເຂົ້າໃຈຮູບແບບການກະຕຸ້ນ. ດໍາເນີນການຈໍາລອງອີກເທື່ອຫນຶ່ງດ້ວຍ 16 ຂຽນແລະອ່ານໃນ perfsim_stimulus.txt.Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-15

ດໍາເນີນການທັງຫມົດ, ລໍຖ້າຈົນກ່ວາສັນຍານ init_calib_complete ຖືກຢືນຢັນ, ແລະທ່ານຈະສາມາດເຫັນຈໍານວນທີ່ສະເຫນີແລະອ່ານ. ຫຼັງຈາກນັ້ນ, ການຈໍາລອງຈະຢຸດເຊົາ. Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-16

ເມື່ອທ່ານຖືກກະຕຸ້ນໃຫ້ເຊົາການຈໍາລອງ, ເລືອກ No ແລະໄປທີ່ປ່ອງຢ້ຽມການຖອດຂໍ້ຄວາມບ່ອນທີ່ທ່ານຈະສາມາດເຫັນສະຖິຕິການປະຕິບັດ. Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-17

ຖ້າທ່ານເລືອກ "ຢຸດການຈໍາລອງ" ສະຖິຕິການປະຕິບັດຈະຖືກຂຽນໃສ່ a 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

ທ່ານອາດຈະສົງໄສວ່າເປັນຫຍັງ percentage bus utilization is on 29. Rerun the simulation with the same IP settings but just change the stimulus file ເຖິງ 256 ຂຽນ ແລະ 256 ອ່ານ

ff_0_0_0000_000_0
ff_0_0_0000_000_1

ໃນປັດຈຸບັນທ່ານຈະເຫັນ percen ໄດ້tage ເປັນ 85, ຊຶ່ງຫມາຍຄວາມວ່າ DDR3 ສະຫນອງການນໍາໃຊ້ລົດເມທີ່ດີກວ່າສໍາລັບລໍາດັບຍາວຂອງການຂຽນແລະການອ່ານລະເບີດ. Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-19

ວິທີການທົ່ວໄປເພື່ອປັບປຸງປະສິດທິພາບ

ປັດໃຈທີ່ມີອິດທິພົນຕໍ່ປະສິດທິພາບສາມາດແບ່ງອອກເປັນສອງພາກ:

  1. ຄວາມຈຳສະເພາະ
  2. ສະເພາະຕົວຄວບຄຸມXilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-20

ຮູບທີ່ 9 ໃຫ້ທ່ານຈົບview ຂອງຂໍ້ກໍານົດທີ່ມີຄວາມຈໍາສະເພາະ.
ບໍ່ຄືກັບ SRAMs ແລະ Block Memories DDR2 ຫຼື DDR3 ການປະຕິບັດບໍ່ພຽງແຕ່ອັດຕາຂໍ້ມູນສູງສຸດເທົ່ານັ້ນ.

ມັນຂຶ້ນກັບປັດໃຈເວລາຫຼາຍ, ລວມທັງ:

  • tRCD: Row Command Delay (ຫຼື ras to cas delay).
  • tCAS(CL): ທີ່ຢູ່ຖັນ strobe latency.
  • tRP: ແຖວການຊັກຊ້າການເກັບເງິນລ່ວງໜ້າ.
  • tRA: Row Active Time (ກະຕຸ້ນເພື່ອປ່ຽນກ່ອນ).
  • tRC: ເວລາຮອບວຽນແຖວ. tRC = tRAS + tRP
  • tRAC: ການຊັກຊ້າໃນການເຂົ້າເຖິງ Radom. tRAC = tRCD + tCAS
  • tCWL: Cas ຂຽນ latency.
  • tZQ: ເວລາປັບຕົວ ZQ.
  • tRFC: Row Refresh Cycle Time
  • tWTR: ຂຽນເພື່ອອ່ານຊັກຊ້າ. ການເຮັດທຸລະກໍາຂຽນຫຼ້າສຸດເພື່ອອ່ານເວລາຄໍາສັ່ງ.
  • tWR: ຂຽນເວລາການຟື້ນຕົວ. ການເຮັດທຸລະກໍາຂຽນຄັ້ງສຸດທ້າຍເຖິງເວລາເຕີມເງິນ

ໄລຍະເວລາຂອງຕົວກໍານົດການທີ່ລະບຸໄວ້ທັງຫມົດແມ່ນຂຶ້ນກັບປະເພດຂອງຫນ່ວຍຄວາມຈໍາທີ່ໃຊ້ແລະລະດັບຄວາມໄວຂອງຫນ່ວຍຄວາມຈໍາ.
ລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບຄໍານິຍາມແລະກໍານົດເວລາສາມາດພົບໄດ້ໃນ DDR2 DDR3 JEDEC ຫຼືໃນເອກະສານຂໍ້ມູນອຸປະກອນຫນ່ວຍຄວາມຈໍາໃດໆ.

ປະສິດທິພາບສ່ວນໃຫຍ່ແມ່ນຂຶ້ນກັບວິທີການເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາ. ຮູບແບບທີ່ຢູ່ທີ່ແຕກຕ່າງກັນໃຫ້ຜົນໄດ້ຮັບປະສິດທິພາບທີ່ແຕກຕ່າງກັນ.

ຊ່ວງເວລາໜ່ວຍຄວາມຈຳຢູ່ເໜືອຫົວ

  1. ເວລາເປີດໃຊ້ງານ ແລະເວລາເກັບເງິນລ່ວງໜ້າເມື່ອປ່ຽນເປັນທະນາຄານໃໝ່/ແຖວ ຫຼືປ່ຽນແຖວໃນທະນາຄານດຽວກັນ.- ດັ່ງນັ້ນ, ຖ້າເຈົ້າຫຼຸດການປ່ຽນແຖວ, ນີ້ສາມາດລຶບ tRCD ແລະ tRP ອອກໄດ້.
  2. ສົ່ງຄໍາສັ່ງຂຽນຫຼືອ່ານຢ່າງຕໍ່ເນື່ອງ - ການຮັກສາເວລາ tCCD.
  3. ຫຍໍ້ການຂຽນເພື່ອອ່ານແລະອ່ານເພື່ອຂຽນການປ່ຽນແປງຄໍາສັ່ງ - ຂຽນເວລາການຟື້ນຕົວເພື່ອປ່ຽນການເຂົ້າອ່ານ, ເວລາປ່ຽນລົດເມເພື່ອປ່ຽນຈາກອ່ານເປັນຂຽນ
  4. ກໍານົດໄລຍະການໂຫຼດຫນ້າຈໍຄືນທີ່ເຫມາະສົມ.
    • DDR3 SDRAM ຕ້ອງການຮອບການໂຫຼດຂໍ້ມູນຄືນໃໝ່ໃນຊ່ວງເວລາສະເລ່ຍຂອງ tREFI.
    • ສາມາດອອກຄຳສັ່ງ Refresh ເພີ່ມເຕີມໄດ້ສູງສຸດ 8 ລາຍການລ່ວງໜ້າ (“ດຶງເຂົ້າ”). ນີ້ບໍ່ໄດ້ຫຼຸດລົງຈໍານວນຂອງການໂຫຼດຫນ້າຈໍຄືນ, ແຕ່ໄລຍະສູງສຸດລະຫວ່າງສອງຄໍາສັ່ງການໂຫຼດຫນ້າຈໍຄືນແມ່ນຈໍາກັດ 9 × tREFI.Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-21
  • ການ​ນໍາ​ໃຊ້​ທັງ​ຫມົດ​ຂອງ​ທະ​ນາ​ຄານ - ກົນໄກການແກ້ໄຂທີ່ເຫມາະສົມແມ່ນດີກວ່າ.
    • ແຖວທະນາຄານ-ຖັນ: ສໍາລັບການເຮັດທຸລະກໍາທີ່ເກີດຂື້ນໃນໄລຍະທີ່ຢູ່ຕາມລໍາດັບ, ຫຼັກອັດຕະໂນມັດຈະເປີດແຖວດຽວກັນໃນທະນາຄານຕໍ່ໄປຂອງອຸປະກອນ DRAM ເພື່ອສືບຕໍ່ການເຮັດທຸລະກໍາເມື່ອສິ້ນສຸດຂອງແຖວທີ່ມີຢູ່ແລ້ວ. ມັນ ເໝາະ ສົມກັບແອັບພລິເຄຊັນທີ່ຕ້ອງການການລະເບີດຂອງແພັກເກັດຂໍ້ມູນໃຫຍ່ໄປຫາສະຖານທີ່ທີ່ຢູ່ຕາມລໍາດັບ.
    • ຖັນແຖວທະນາຄານ: ເມື່ອຂ້າມເຂດແດນແຖວ, ແຖວປະຈຸບັນຈະຖືກປິດ ແລະແຖວອື່ນຈະຖືກເປີດພາຍໃນທະນາຄານດຽວກັນ. MSB ເປັນທີ່ຢູ່ທະນາຄານ, ເຊິ່ງສາມາດໃຊ້ເພື່ອປ່ຽນຈາກທະນາຄານຕ່າງໆ. ມັນ​ເປັນ​ການ​ເຫມາະ​ສົມ​ສໍາ​ລັບ​ການ​ທີ່​ສັ້ນ​, ການ​ເຮັດ​ທຸ​ລະ​ກໍາ​ແບບ​ສຸ່ມ​ຫຼາຍ​ກັບ​ຫນຶ່ງ​ຕັນ​ຂອງ​ຄວາມ​ຊົງ​ຈໍາ​ສໍາ​ລັບ​ໄລ​ຍະ​ເວ​ລາ​ຂອງ​ທີ່​ໃຊ້​ເວ​ລາ​ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ກະ​ໂດດ​ກັບ​ຕັນ​ອື່ນ (ທະ​ນາ​ຄານ​)
  • ຄວາມຍາວລະເບີດ
    • BL 8 ຮອງຮັບ DDR3 ໃນ 7 ຊຸດ. BC4 ມີປະສິດທິພາບຕໍ່າຫຼາຍທີ່ຕໍ່າກວ່າ 50%. ນີ້ແມ່ນຍ້ອນວ່າເວລາປະຕິບັດຂອງ BC4 ແມ່ນຄືກັນກັບ BL8. ຂໍ້ມູນແມ່ນພຽງແຕ່ຫນ້າກາກພາຍໃນອົງປະກອບ.
    • ໃນກໍລະນີທີ່ທ່ານບໍ່ຕ້ອງການທີ່ຈະຂຽນເຕັມທີ່, ບໍ່ວ່າຈະເປັນຫນ້າກາກຂໍ້ມູນຫຼືການຂຽນຫຼັງຈາກອ່ານສາມາດພິຈາລະນາໄດ້.
  • ກໍານົດຊ່ວງເວລາ ZQ ທີ່ເຫມາະສົມ (DDR3 ເທົ່ານັ້ນ)
    ຕົວຄວບຄຸມສົ່ງທັງ ZQ Short (ZQCS) ແລະ ZQ Long (ZQCL) ຄໍາສັ່ງ Calibration.
    • ປະຕິບັດຕາມມາດຕະຖານ DDR3 Jedec
    • ZQ Calibration ແມ່ນສົນທະນາຢູ່ໃນພາກ 5.5 ຂອງ JEDEC Spec JESD79-3 DDR3 SDRAM ມາດຕະຖານ
    • ZQ Calibration calibrates On Die Termination (ODT) ໃນຊ່ວງເວລາປົກກະຕິເພື່ອບັນຊີການປ່ຽນແປງໃນທົ່ວ VT
    • Logic ແມ່ນບັນຈຸຢູ່ໃນ bank_common.v/vhd
    • ພາລາມິເຕີ Tzqcs ກໍານົດອັດຕາທີ່ຄໍາສັ່ງ ZQ Calibration ຖືກສົ່ງໄປຫາຫນ່ວຍຄວາມຈໍາ
    • t ເປັນ​ໄປ​ໄດ້​ທີ່​ຈະ​ປິດ​ການ​ໃຊ້​ງານ​ຕ້ານ​ແລະ​ການ​ສົ່ງ​ດ້ວຍ​ຕົນ​ເອງ​ໂດຍ​ນໍາ​ໃຊ້ app_zq_req​, ມັນ​ຄ້າຍ​ຄື​ກັນ​ກັບ​ການ​ສົ່ງ​ການ​ໂຫຼດ​ຫນ້າ​ຈໍ​ຄືນ​ດ້ວຍ​ຕົນ​ເອງ​.
      ອ້າງອີງໄປທີ່ (Xilinx Answer 47924) ສໍາລັບລາຍລະອຽດ.Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-22

ການຄວບຄຸມເທິງຫົວ

  1. ອ່ານ​ເປັນ​ໄລ​ຍະ – ອ້າງ​ເຖິງ (Xilinx ຕອບ 43344) ສໍາລັບລາຍລະອຽດ.
    • ຢ່າປ່ຽນໄລຍະເວລາຂອງການອ່ານ
    • ຂ້າມການອ່ານເປັນໄລຍະໃນລະຫວ່າງການຂຽນ ແລະອອກຈໍານວນການອ່ານທີ່ພາດກ່ອນການອ່ານທີ່ແທ້ຈິງ
  2. Reordering - ອ້າງ​ອີງ (Xilinx ຕອບ 34392) ສໍາລັບລາຍລະອຽດ.
    ສໍາລັບການອອກແບບການໂຕ້ຕອບຜູ້ໃຊ້ແລະ AXI ມັນດີກວ່າທີ່ຈະເປີດໃຊ້ງານນີ້.
    • Reorder ແມ່ນເຫດຜົນທີ່ເບິ່ງລ່ວງຫນ້າຫຼາຍຄໍາສັ່ງແລະການປ່ຽນແປງຄໍາສັ່ງຂອງຜູ້ໃຊ້ເພື່ອເຮັດໃຫ້ຄໍາສັ່ງທີ່ບໍ່ແມ່ນຫນ່ວຍຄວາມຈໍາບໍ່ຄອບຄອງແບນວິດທີ່ຖືກຕ້ອງ. ການປະຕິບັດຍັງກ່ຽວຂ້ອງກັບຮູບແບບການຈະລາຈອນຕົວຈິງ.
    • ອີງຕາມຮູບແບບທີ່ຢູ່, ການຈັດລໍາດັບຄືນໃຫມ່ຊ່ວຍໃຫ້ຂ້າມ precharge ແລະເປີດໃຊ້ຄໍາສັ່ງແລະເຮັດໃຫ້ tRCD ແລະ tRP ບໍ່ຄອບຄອງຄວາມກວ້າງຂອງແຖບຂໍ້ມູນ.Xilinx DDR2 MIG 7 ການຄາດຄະເນປະສິດທິພາບ-fig-23
  3. ພະຍາຍາມເພີ່ມຈໍານວນເຄື່ອງຈັກຂອງທະນາຄານ.
    • ເຫດຜົນຂອງຕົວຄວບຄຸມສ່ວນໃຫຍ່ແມ່ນຢູ່ໃນເຄື່ອງຈັກຂອງທະນາຄານແລະພວກມັນກົງກັບທະນາຄານ DRAM.
    • ເຄື່ອງທະນາຄານທີ່ໃຫ້ມາຈະຈັດການທະນາຄານ DRAM ດຽວໄດ້ທຸກເວລາ.
    • ການມອບຫມາຍເຄື່ອງຈັກທະນາຄານແມ່ນແບບເຄື່ອນໄຫວດັ່ງນັ້ນມັນບໍ່ຈໍາເປັນຕ້ອງມີເຄື່ອງທະນາຄານສໍາລັບແຕ່ລະທະນາຄານທາງດ້ານຮ່າງກາຍ.
    • ເຄື່ອງຈັກຂອງທະນາຄານສາມາດຕັ້ງຄ່າໄດ້, ແຕ່ມັນເປັນການແລກປ່ຽນລະຫວ່າງພື້ນທີ່ແລະການປະຕິບັດ.
    • ຈໍານວນທີ່ອະນຸຍາດຂອງເຄື່ອງຈັກທະນາຄານແມ່ນຕັ້ງແຕ່ 2-8.
    • ໂດຍຄ່າເລີ່ມຕົ້ນ, 4 ເຄື່ອງຈັກທະນາຄານຖືກຕັ້ງຄ່າຜ່ານພາລາມິເຕີ RTL.
    • ເພື່ອປ່ຽນເຄື່ອງຈັກທະນາຄານ, ໃຫ້ພິຈາລະນາພາລາມິເຕີ nBANK_MACHS = 8 ທີ່ມີຢູ່ໃນ memc_ui_top Example ສໍາລັບ 8 ເຄື່ອງທະນາຄານ – nBANK_MACHS = 8

ດຽວນີ້ເຈົ້າຮູ້ເຖິງປັດໃຈທີ່ມີອິດທິພົນຕໍ່ການປະຕິບັດ.
ພິ​ຈາ​ລະ​ນາ​ເປັນ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ຕົ້ນ​ສະ​ບັບ​ທີ່​ເຮັດ​ໃຫ້​ທ່ານ 512 ໄບ​ຕ​໌​ຂໍ້​ມູນ​ຕໍ່​ຊຸດ​ແລະ​ທ່ານ​ຈໍາ​ເປັນ​ຕ້ອງ​ໄດ້​ປະ​ຢັດ​ໃຫ້​ເຂົາ​ເຈົ້າ​ໃນ​ສະ​ຖານ​ທີ່​ຫນ່ວຍ​ຄວາມ​ຈໍາ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​. ເນື່ອງຈາກ 512 ໄບຕ໌ຂໍ້ມູນເທົ່າກັບ 64 ຂໍ້ມູນ DDR3 ລະເບີດ, ດໍາເນີນການຄືນໃຫມ່ample ອອກແບບດ້ວຍການກະຕຸ້ນ 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 ເພື່ອນໍາໃຊ້ທະນາຄານທັງຫມົດແທນທີ່ຈະປ່ຽນແຖວ, ແກ້ໄຂຮູບແບບທີ່ຢູ່ເພື່ອປ່ຽນທະນາຄານຕາມຮູບຂ້າງລຸ່ມນີ້.
ອັນນີ້ເທົ່າກັບການຕັ້ງຄ່າ ROW_BANK_Column ໃນການຕັ້ງຄ່າແຜນທີ່ທີ່ຢູ່ໜ່ວຍຄວາມຈຳໃນ MIG GUI.

  • 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 bytes, ຫຼືພິຈາລະນາການໂຫຼດຫນ້າຈໍຄືນຄູ່ມື.

ໝາຍເຫດ: Xilinx ບໍ່ໄດ້ຊຸກຍູ້ໃຫ້ overpassing controller refresh ເນື່ອງຈາກພວກເຮົາບໍ່ແນ່ໃຈວ່າທ່ານຈະສາມາດຕອບສະຫນອງ Jedec auto refresh time ທີ່ມີຜົນຕໍ່ຄວາມຫນ້າເຊື່ອຖືຂອງຂໍ້ມູນ.
ຈາກຝ່າຍຄວບຄຸມທ່ານສາມາດປ່ຽນ nBANk_MACH ແລະເບິ່ງການປັບປຸງການປະຕິບັດ.
ຢ່າງໃດກໍຕາມ, ນີ້ອາດຈະສົ່ງຜົນກະທົບຕໍ່ໄລຍະເວລາການອອກແບບຂອງທ່ານ, ກະລຸນາເບິ່ງ (Xilinx ຕອບ 36505) ສໍາລັບລາຍລະອຽດກ່ຽວກັບ nBANk_MACHXilinx 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

ໃຫ້ສັງເກດວ່າຕົວຄວບຄຸມ ½ ແລະ ¼ ມີຜົນກະທົບທາງລົບຕໍ່ປະສິດທິພາບເນື່ອງຈາກການ latencies ຂອງມັນ.
ຕົວຢ່າງample, ເນື່ອງຈາກວ່າພວກເຮົາສາມາດສົ່ງຄໍາສັ່ງພຽງແຕ່ທຸກໆ 4 ຮອບ CK ບາງຄັ້ງມີ padding ພິເສດໃນເວລາທີ່ຍຶດຫມັ້ນກັບຕໍາ່ສຸດທີ່ກໍານົດເວລາ DRAM, ເຊິ່ງສາມາດຫຼຸດລົງປະສິດທິພາບຈາກທິດສະດີ.
ລອງໃຊ້ຕົວຄວບຄຸມທີ່ແຕກຕ່າງກັນເພື່ອຊອກຫາຫນຶ່ງທີ່ເຫມາະສົມກັບຄວາມຕ້ອງການປະສິດທິພາບຂອງທ່ານ.

ເອກະສານອ້າງອີງ

  1. Zynq-7000 AP SoC ແລະ 7 Series FPGAs MIS v2.3 [UG586]
  2. Xilinx MIG Solution Center http://www.xilinx.com/support/answers/34243.html

ປະຫວັດການແກ້ໄຂ
ວັນທີ 13/03/2015 – ເປີດຕົວຄັ້ງທຳອິດ

ດາວໂຫຼດ PDF: ຄູ່ມືການປະເມີນປະສິດທິພາບ Xilinx DDR2 MIG 7

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *