Xilinx-logo

Xilinx DDR2 MIG 7 Rêbernameya Texmîna Performansê

Xilinx_DDR2_MIG_7_Performance-Estimation-product

Nîşeya Girîng: Ev PDF-ya dakêşandî ya Tomara Bersiv ji bo zêdekirina karanîna û xwendina wê tê peyda kirin. Girîng e ku bala xwe bidin ku Qeydên Bersiv in Web-naverokên bingehîn ên ku bi peydabûna agahdariya nû pir caran têne nûve kirin. Tê bîra we ku hûn serdana Piştgiriya Teknîkî ya Xilinx bikin Website û review (Bersiva Xilinx 63234) ji bo guhertoya herî dawî ya vê Bersivê.

Pêşkêş

Ji ber awayê ku bîranînên DDR2 û DDR3 têne çêkirin û kontrolkerê rêza MIG 7-ê hatî sêwirandin, performans ne rasterast e.
Ew têgihîştina cûrbecûr Parametreyên Demjimêra Jedec û Mîmariya kontrolker hewce dike, û hûn ê hewce bikin ku simulasyonan bimeşînin da ku texmînan bistînin.
Prensîba giştî ya ji bo destnîşankirina performansê yek e lê ev belge rêyek hêsan peyda dike ku meriv bi karanîna MIG ex-ê karîgeriyê bistîne.ampsêwirana le bi alîkariya stûna ceribandinê û stimulusê fileli vir ve girêdayî ye.

Bandora bandorker

Otobusa daneya DRAM-ê tenê di dema teqînên xwendin û nivîsandinê de firehiya bandê ya nêzîk-lûtkê bi dest dixe û serê wê rêjeya daneya bi bandor kêm dike.
Çend examplêzêdekirina zêde ev in:

  • dema pêşdibistanê gihîştina rêzan di heman bankê de (Navnîşana gihîştinê ne di heman rêz-rûpelê de ye)
  • dema başbûnê binivîsin da ku ji nivîsandinê ji bo gihîştina xwendinê biguhezînin
  • dema zivirîna otobusê ji bo guheztina ji xwendinê bo nivîsandinê

Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-28
Bandwidth bi bandor = Bandfirehiya Peak * Karbidestî 

MIG Design Generation

Ji bo hûrguliyên gav-bi-gav li ser MIG IP û berê serî li UG586 Beşa 1 bidinample nifşê sêwiranê.
Berî ku hûn simulasyona performansa MIG 7 Series bimeşînin, jêrîn bikin da ku hûn pê ewle bibin ku jîngeha weya simulasyonê baş e. MIG ex vekinampPirtûkxaneyên guncan sêwirînin û nexşeyê bikin, simulasyonê bimeşînin, û pê ewle bin ku hûn dikarin peyama "test derbas bû" di transkriptê de bibînin.
Ji bo nîşandana herikînê min ji bo xc7vx690tffg1761-2 MIG IP-yek çêkir û berê bang kirample design.
Du tiştên ku divê werin destnîşan kirin bitsên navnîşana bîranînê û hilbijartina nexşeya navnîşana bîranînê ne.
Ji bo example, min MT41J128M8XX-125 di bin vebijarkên dakêşana beşa bîranînê de hilbijartiye.Xilinx DDR2 MIG-7-Performance-Estimation-fig-1

Ji bo beşa bîranînê ya hilbijartî ji Figure-1, rêz = 14, stûn = 10 û bank = 3, ji ber vê yekê app_addr_width = rêz + stûn + bank + rêz = 28 Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-2

Hûn dikarin stûna BANK_ROW_COLUMN an ROW BANK hilbijêrin.
Min Stûna ROW BANK ku nexşeya navnîşa xwerû ye hişt.

Example sêwirana Simulasyonek bi doşeka testê ya sentezkirî

Di binê mîhengên Simulasyonê de, QuestaSim/ModelSim Simulator hilbijêrin û li cîhê pirtûkxaneyên berhevkirî bigerin.
Ji bo hûrguliyên li ser nîşankirina rêgezek sazkirinê ya amûrên sêyemîn, hilbijartina simulatorê armanc, û berhevkirin û nexşekirina pirtûkxaneyan, hûn dikarin serî li (UG900) Vivado Design Suite Bikarhêner Rêbernameya Logic SimulationXilinx DDR2 MIG 7 Texmîna Performansê-Fig-3

Simulasyonê bi navgîniya GUI-yê bikirtînin (Di rêveberê projeyê de Tabeya Simulasyonê Bixebitînin) bikirtînin û pê ewle bin ku hûn peyama "test derbas bû" di transkriptê de dibînin.

Guherandinên RTL-ya Simulasyona Performansê

  1. Li tabloya çavkaniyan rast-klîk bikin, "çavkaniyên simulasyonê zêde bikin an biafirînin" hilbijêrin û li mig7_perfsim_traffic_generator.sv bigerin. file û qedandinê bikirtînin da ku wê lê zêde bikin.
  2. Li tabloya çavkaniyan rast-klîk bikin, "çavkaniyên simulasyonê zêde bikin an biafirînin" hilbijêrin, li perfsim_stimulus.txt bigerin, û ji bo lê zêde bikin qedandinê bikirtînin.
  3. Berê şîrove bikeample_top instantiation di sim_tb_top.v file.
  4. Xetên RTL yên jêrîn li sim_tb_top,v zêde bikin
  • 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;
  • têl [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
  • wire [2:0] c0_ddr3_app_cmd;
  • wire c0_ddr3_app_en;
  • têl [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
  • têl c0_ddr3_app_wdf_end;
  • têl [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
  • têl c0_ddr3_app_wdf_wren;
  • têl [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
  • têl c0_ddr3_app_rd_data_end;
  • têl c0_ddr3_app_rd_data_valid;
  • têl c0_ddr3_app_rdy;
  • têl c0_ddr3_app_wdf_rdy;
  • wire c0_data_compare_error;
  • wire ui_clk;
  • têl ui_clk_sync_rst;
  • têl app_sr_req = 0;
  • têl app_ref_req = 0;
  • têl app_zq_req =0;
  • têl c0_app_wdf_mask =0;

Mînaka Kontrolkerê Bîra FPGA

mig_7series_0_mig u_mig_7series_0_mig (
// Portên pêwendiya bîranînê

  • .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),

// Portên pêwendiya serîlêdanê

  • .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),

// Pergala Saetê Ports

  • .sys_clk_i (sys_clk_i),

// Portên Saetê Referansê

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

Nimûneya hilberînerê trafîkê ya performansê

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 li gorî hilbijartina beşa bîra xwe biguherînin.
    Nirx dikarin ji nav werin wergirtin _mig.v file.
  • Navê destnîşankirî yê zer a ronîkirî mig_7series_0_mig dikare li gorî navê pêkhateya we di dema afirandina IP-yê de biguhere, verast bike ka we navek cûda hilbijartiye û li gorî wê biguhezîne.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-4
  • Dema ku IP-ê hatî çêkirin vekin _mig.v file û ji bo her cûrbecûr navên sînyala LHS-ê veqetînin û wan rast bikin.
  • app_sr_req, app_ref_req û app_zq_req divê bi 0-ê bêne destpêkirin.
  • Wek example_top.v tê şîrovekirin û nû ye files têne zêdekirin, hûn ê belkî bibînin "?" li kêleka
    mig_7series_0_mig.v file di bin çavkaniyên simulasyonê de.
    Ji bo nexşeya rast file, mig_7series_0_mig.v rast bikirtînin, "Çavkaniyan lê zêde bikin" hilbijêrin, bigerin
    /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
    û mig_7series_0_mig_sim.v lê zêde bike file.
  • Ger hûn bibînin "?" ji bo bingehîn files, hemî RTL zêde bikin fileDi peldankên demjimêr, kontrolker, ip_top, phy û UI de ye.
  • Dema ku guhertinên RTL têne kirin û hemî hewce ne files li Çavkaniyên Simulasyona we têne zêdekirin, Hiyerarşî divê mîna Figure 5 be.
    Ew fileyên bi sor hatine ronîkirin nû hatine zêdekirin, û "?" Li ser modulên têkildarî ECC-ê tê çaverê kirin ji ber ku veavakirina bîranîna hilbijartî vebijarka ECC neçalak e.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-5

Stimulus File Terîf
Her şêwazek stimulus 48 bit e û format di jimarên 6-1 heya 6-4 de tê vegotin.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-6

Kodkirina Navnîşanê (Navnîşan [35:0])

Navnîşan di stimulusê de li gorî jimar 7-1 heya jimar 7-6 tê kod kirin. Pêdivî ye ku hemî qadên navnîşan di forma hexadecimal de bêne nivîsandin. Hemî qadên navnîşan firehiyek in ku bi çaran ve tê dabeş kirin da ku têkevin forma hexadecimal. Bûka testê tenê bitsên pêwîst ên qada navnîşanê ji Kontrolkerê Bîrê re dişîne.
Ji bo exampLe, di veavakirina heşt bankê de, tenê Biteyên bankê [2:0] ji Kontrolkerê Bîrê re têne şandin û bitên mayî têne paşguh kirin. Bitikên zêde yên qada navnîşanê ji bo ku hûn navnîşan bi rengek hexadecimal têkevin têne peyda kirin.
Divê hûn piştrast bikin ku nirxa hatî nivîsandin bi firehiya veavakirinek diyarkirî re têkildar e.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-7

  • Navnîşana Stûnê (Stûna[11:0]) - Navnîşana Stûnê ya di stimulasyonê de herî zêde 12 bit tê peyda kirin, lê hûn hewce ne ku vê yekê li ser bingeha pîvana firehiya stûnê ya ku di sêwirana we de hatî destnîşan kirin çareser bikin.
  • Navnîşana Rêzê (Rêz[15:0]) - Navnîşana rêzê ya di stimulusê de herî zêde 16 bit tê peyda kirin, lê hûn hewce ne ku vê yekê li ser bingeha pîvana firehiya rêzê ya ku di sêwirana we de hatî destnîşan kirin çareser bikin.
  • Navnîşana Bankê (Banke[3:0]) - Navnîşana bankê di teşwîqê de herî zêde çar bit tê peyda kirin, lê hûn hewce ne ku vê yekê li ser bingeha pîvana firehiya bankê ya ku di sêwirana we de hatî destnîşan kirin çareser bikin.
  • Navnîşana Rêz (Rank[3:0]) - Navnîşana rêzê ya di stimulusê de herî zêde çar bit tê peyda kirin, lê hûn hewce ne ku vê yekê li ser bingeha pîvana firehiya rêzê ya ku di sêwirana we de hatî destnîşan kirin çareser bikin.
    Navnîşan li ser bingeha pîvana asta jorîn MEM_ADDR_ORDER tê berhev kirin û ji navgîniya bikarhêner re tê şandin

Ferman Dubarekirin (Command Repeat [7:0])
Hejmara dubarekirina fermanê ew çend car e ku fermana têkildar li Navrûya Bikarhêner tê dubare kirin. Navnîşana her dubarekirinê bi 8an zêde dibe. Hejmara dubarekirina herî zêde 128 e.
Dîwana testê sînorê stûnê kontrol nake û ger di dema zêdebûnê de herî zêde sînorê stûnê bigihîje dora xwe dipêçe.
128 Ferman rûpel tijî dikin. Ji bo her navnîşana stûnê ji bilî 0-ê, jimara dubarekirina 128-an bi dawî dibe ku sînorê stûnê derbas dike û digihîje destpêka navnîşana stûnê.

Otobus Utilization
Bikaranîna otobusê li Navrûya Bikarhêner tê hesibandin ku jimara giştî ya Xwendin û Nivîsandinê li ber çavan digire û hevkêşeya jêrîn tê bikar anîn:

Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-8

  • BL8 çar çerxên demjimêra bîranînê digire
  • end_of_stimulus dema ku hemî ferman têne kirin e.
  • calib_done dema kalibrasyon tê kirin e.

Example Patterns
Ev examples li ser bingeha MEM_ADDR_ORDER hatî danîn li ser BANK_ROW_COLUMN.

Single Read Pattern
00_0_2_000F_00A_1 - Ev nimûne ji stûna 10-an, rêza 15-an, û banka duyemîn xwendinek yekane ye.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-9Yekane Nimûneya Nivîsandinê
00_0_1_0040_010_0 - Ev nimûne ji bo stûna 32-an, rêza 128-an, û banka yekem yek nivîsek e.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-10Yekane Ji Heman Navnîşanê re Binivîsin û Bixwînin
00_0_2_000F_00A_0 – Ev nimûne ji bo stûna 10-an, rêza 15-an, û banka duyemîn yek nivîsek e.
00_0_2_000F_00A_1 – Ev nimûne ji stûna 10-an, rêza 15-an, û banka duyemîn xwendinek yekane yeXilinx DDR2 MIG 7 Texmîna Performansê-Fig-11

Bi Heman Navnîşanê Gelek Dinivîse û Dixwîne
0A_0_0_0010_000_0 – Ev bi 10 nivîsan re bi navnîşana ku ji 0 heta 80 dest pê dike ku di stûnê de têne dîtin re têkildar e.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-12

0A_0_0_0010_000_1 – Ev bi 10 xwendinên bi navnîşana ku ji 0 heta 80 dest pê dike ku di stûnê de têne dîtin re têkildar e.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-13

Rûpelê Di dema Nivîsandinê de pêça
0A_0_2_000F_3F8_0 – Ev bi 10 nivîsan re bi navnîşana stûnê ya ku di destpêka rûpelê de piştî yek nivîsandinê ve girêdayî ye.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-14

Simulating The Performance Traffic Generator

Di vê nuqteyê de hûn bi MIG ex re qediyanample design simulation. Ev tê vê wateyê ku sazkirina simulasyona we amade ye, we guheztinên RTL-ya simulasyona performansê kiriye, hiyerarşiya nû ya simulasyonê rast e û we qalibên stimulus fam kiriye. Di perfsim_stimulus.txt de bi 16 nivîsandin û xwendinê careke din simulasyonê bixebitînin.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-15

Hemî bixebitin, li bendê bimînin heya ku nîşana init_calib_complete were destnîşan kirin, û hûn ê bikaribin hejmara pêşniyarên nivîsandin û xwendinê bibînin. Wê hingê simulasyon dê raweste. Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-16

Dema ku ji we tê xwestin ku dev ji simulasyonê berdin, Na hilbijêrin û biçin pencereya transkriptê ya ku hûn ê karibin statîstîkên performansê bibînin. Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-17

Ger hûn hilbijêrin " dev ji simulasyonê berdin" statîstîkên performansê dê ji bo a file bi nav kirin mig_band_width_output.txt di sim_1/behave de cih digire pêçek.

Exampriya pelrêça: -
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavXilinx DDR2 MIG 7 Texmîna Performansê-Fig-18

Hûn dikarin bipirsin çima ji sedîtagBikaranîna otobusê yek e 29. Simulasyonê bi heman mîhengên IP-yê ji nû ve bimeşînin lê tenê stimulusê biguhezînin file heta 256 dinivîse û 256 dixwîne

ff_0_0_0000_000_0
ff_0_0_0000_000_1

Hûn ê niha ji sedî bibînintage wekî 85, ku tê vê wateyê ku DDR3 ji bo rêzikên dirêj ên nivîsandin û xwendinê karanîna otobusê çêtir pêşkêşî dike. Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-19

Rêbazên gelemperî ji bo çêtirkirina performansê

Faktorên ku bandorê li ser bandorê dikin dikarin li du beşan bêne dabeş kirin:

  1. Bîra Taybet
  2. Controller SpecificXilinx DDR2 MIG 7 Texmîna Performansê-Fig-20

Figure 9 dide weview ji şertên ku bîranîn taybetî ne.
Berevajî SRAM û Bîranînên Block performansa DDR2 an DDR3 ne tenê rêjeya daneya herî zêde ye.

Ew bi gelek faktorên demê ve girêdayî ye, di nav de:

  • tRCD: Derengiya Fermana Rêzê (an ras ji bo derengiya cas).
  • tCAS (CL): Derengiya strobeya navnîşana stûnê.
  • tRP: Pêşkêşkirina rêzê dereng.
  • tRAS: Row Active Time (çalak bike ji bo pêşguhertinê).
  • tRC: Dema çerxa rêzê. tRC = tRAS + tRP
  • tRAC: Dereng gihîştina Radom. tRAC = tRCD + tCAS
  • tCWL: Cas derengiya nivîsandinê.
  • tZQ: Wextê kalibrasyonê ZQ.
  • tRFC: Row Refresh Cycle Time
  • tWTR: Ji bo derengiya xwendinê binivîse. Danûstandina paşîn a nivîsandina dema fermanê bixwînin.
  • tWR: Dema Recovery binivîse. Danûstandina paşîn a nivîsandina dema Pêşkêşkirinê

Demjimêra hemî pîvanên navnîşkirî bi celebê bîranîna hatî bikar anîn û pola leza beşa bîranînê ve girêdayî ye.
Zêdetir hûrgulî li ser pênase û taybetmendiyên demjimêrê dikarin di DDR2 DDR3 JEDEC an di her pelgeya cîhaza bîranînê de werin dîtin.

Karbidestî bi giranî bi awayê gihîştina bîranînê ve girêdayî ye. Nimûneyên navnîşan ên cihêreng encamên karbidestiya cûda didin.

Zêdebûna dema bîranînê

  1. Dema ku hûn di heman bankê de li bankên nû / rêzikên nû biguhezînin an jî bi heman bankê re rêzan biguhezînin dema aktîvkirinê û dema barkirinê.
  2. Fermanên nivîsandinê an xwendinê yên domdar bişînin -Parastina dema tCCD.
  3. Guhertina fermana nivîsandinê ji bo xwendinê û xwendinê ji bo nivîsandinê kêm bikin - Wextê başbûnê binivîsin da ku guheztinên xwendinê biguhezînin, dema zivirîna otobusê ji xwendinê bo nivîsandinê biguherînin
  4. Navberek nûvekirinê ya rast saz bikin.
    • DDR3 SDRAM di navberek demkî ya navînî ya tREFI de çerxên Nûvekirinê hewce dike.
    • Herî zêde 8 fermanên Refresh-ê yên din dikarin di pêş de bêne derxistin ("kişandin"). Ev jimara nûvekirinan kêm nake, lê navbera herî zêde di navbera du fermanên Refresh ên derdorê de bi 9 × tREFI ve sînorkirî ye.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-21
  • Hemî bankan bikar bînin - Mekanîzmayek navnîşana minasib tê tercîh kirin.
    • Rêz-Bank-Stûn: Ji bo danûstendinek ku li ser cîhek navnîşek rêzdar çêdibe, navik bixweber heman rêzê di perava paşîn a cîhaza DRAM-ê de vedike da ku dema ku gihîştina dawiya rêzek heyî danûstendinê bidomîne. Ew ji bo serîlêdanên ku hewce dike ku pakêtên daneya mezin li cîhên navnîşanên rêzdar biteqînin re xweş e.
    • Bank-Rêz-Stûn: Dema ku sînorê rêzek derbas dibe, rêza heyî dê were girtin û rêzek din dê di heman bankê de were vekirin. MSB navnîşek bankê ye, ku dikare ji bo veguheztina ji bankên cûda were bikar anîn. Ew ji bo danûstendinên kurttir, rasthatîtir li yek blokek bîranînê ji bo demek dem û dûv re jî bazdanek berbi blokek din (banke) maqûl e.
  • Dirêjiya teqînê
    • BL 8 ji bo DDR3 li ser 7 series tê piştgirî kirin. BC4 xwedan bandorek pir kêm e ku ji% 50 kêmtir e. Ev ji ber ku dema darvekirina BC4 wekî BL8 e. Daneyên tenê di hundurê pêkhateyê de têne mask kirin.
    • Di rewşên ku hûn naxwazin teqîna tevahî binivîsin, dikarin maskeya daneyê an jî binivîsin-piştî-xwendinê bêne hesibandin.
  • Navberek ZQ-ya rast destnîşan bikin (Tenê DDR3)
    Kontrolker her du fermanên Kalibrasyona ZQ Short (ZQCS) û ZQ Long (ZQCL) dişîne.
    • Li gorî DDR3 Jedec Standard tevbigerin
    • Kalibrasyona ZQ di beşa 5.5 ya JEDEC Spec JESD79-3 DDR3 SDRAM Standard de tê nîqaş kirin.
    • Kalibrasyona ZQ Li Ser Dawiya Mirinê (ODT) di navberên birêkûpêk de kalibr dike da ku guheztinên di nav VT de hesab bike.
    • Mantiq di bank_common.v/vhd de heye
    • Parametre Tzqcs rêjeya ku fermanek ZQ Calibration ji bîrê re tê şandin diyar dike
    • T gengaz e ku meriv jimarvan neçalak bike û bi karanîna app_zq_req bi destan bişîne, ew mîna şandina Nûvekirinê bi destan e.
      Ji bo hûragahiyan li (Bersiva Xilinx 47924) binihêrin.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-22

Controller Overheads

  1. Xwendinên Perîyodîk - Binihêrin (Bersiv Xilinx 43344) ji bo hûragahiyan.
    • Dema xwendinê neguherînin
    • Di dema nivîsandinê de ji xwendinên periyodîk derbikevin û berî xwendina rast hejmara xwendinên ji dest dane derxînin
  2. Reordering - Referand (Bersiv Xilinx 34392) ji bo hûragahiyan.
    Ji bo sêwiranên Navrûya Bikarhêner û AXI çêtir e ku ev were çalak kirin.
    • Ji nû ve rêzkirin mantiq e ku li pêş çend fermanan dinêre û rêzika fermana bikarhêner diguhezîne da ku fermanên ne-bîrê firehiya band derbasdar dagir neke. Performansa bi şêwaza trafîkê ya rastîn ve jî têkildar e.
    • Li ser bingeha şêwaza navnîşanê, ji nû ve rêzkirin dibe alîkar ku meriv pêşî lê zêde bike û fermanan çalak bike û dike ku tRCD û tRP firehiya banda daneyê dagir neke.Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-23
  3. Hewl bidin ku hejmara Makîneyên Bankê zêde bikin.
    • Piraniya mantiqa kontrolker di makîneyên bankê de dimîne û ew bi bankên DRAM re têkildar in
    • Makîneyek bankê ya diyar di her kêliyê de yek bankek DRAM-ê birêve dibe.
    • Peywira makîneya bankê dînamîk e ji ber vê yekê ne hewce ye ku ji bo her bankek fîzîkî makîneyek bankê hebe.
    • Makîneyên bankê dikarin werin mîheng kirin, lê ew danûstendinek di navbera herêm û performansê de ye.
    • Hejmara destûr a makîneyên bankê di navbera 2-8 de ye.
    • Bi xwerû, 4 Makîneyên Bankê bi navgîniya pîvanên RTL-ê ve têne mîheng kirin.
    • Ji bo guheztina Makîneyên Bankê, pîvana nBANK_MACHS = 8 ku di memc_ui_top Ex-ê de heye, bihesibînin.ample ji bo 8 Makîneyên Bankê - nBANK_MACHS = 8

Naha hûn ji faktorên ku bandorê li performansê dikin agahdar in.
Serlêdanek jorîn bifikirin ku her pakêtê 512 baytên daneyê dide we û hûn hewce ne ku wan li cîhên bîranîna cihêreng hilînin. Ji ber ku 512 baytên daneyê bi 64 teqînên daneya DDR3 re wekhev e, berê ji nû ve bimeşînin.ample sêwirana bi teşwîqek file ji bo her 512 nivîsandin an xwendinê 512 nivîsandin, 64 xwendin û guherandina rêzan hene:

  • 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

Di dawiya simulasyonê de hûn ê bibînin ku karanîna otobusê ji sedî 77 e. Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-24

Xiflteya 11: Statîstîkên Performansê ji bo 512 nivîsandin û 512 xwendin - Veguheztina rêzê ji bo 64 nivîsandin an xwendin. 

Naha hûn dikarin zanîna ku di beşa berê de fêr bûne bicîh bikin da ku karbidestiyê baştir bikin. Bi view ji bo ku hûn li şûna ku rêzê biguhezînin hemî bankan bikar bînin, şêwaza navnîşanê biguhezînin da ku bankê biguhezînin wekî ku li jêr tê xuyang kirin.
Ev hevwateya danîna ROW_BANK_Column di mîhenga nexşeya navnîşana bîranînê de di MIG GUI de ye.

  • 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

Di dawiya simulasyonê de hûn ê bibînin ku berê ji sedî 77 Bikaranîna Otobusê niha 87 e! Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-25

Heke hûn hîn jî hewcedariya we ya bilindtir e, hûn dikarin li pîvanên pakêtên mezin ên 1024 an 2048 byte biçin, an nûvekirinek bi destan bifikirin.

Not: Xilinx teşwîq nake ku ji nûvekirina kontrolkerê derbas bibe ji ber ku em nebawer in gelo hûn ê karibin dema nûvekirina otomatîkî ya Jedec-ê ku bandorê li pêbaweriya daneyê dike bibînin.
Ji hêla kontrolker ve hûn dikarin nBANk_MACH biguherînin û çêtirbûna performansê bibînin.
Lêbelê, ev dibe ku bandorê li dema sêwirana we bike, ji kerema xwe serî lê bidin (Bersiv Xilinx 36505) ji bo hûragahiyan li nBANk_MACHXilinx DDR2 MIG 7 Texmîna Performansê-Fig-26

core_name_mig_sim.v veke file û parametreyên nBANK_MACHS ji 4 ber 8 biguherînin û simulasyonê ji nû ve bimeşînin. Ji bo ku nirxa parametreyê di hardware de bandor bike, divê hûn core_name_mig.v nûve bikin file.
Min heman şêweyê bikar anî ku me 87% karanîna otobusê girt (hejmar -12).
Li gel ku nBANK_MACHS li 8 hatî danîn, karbidestî niha %90 e. Xilinx DDR2 MIG 7 Texmîna Performansê-Fig-27

Di heman demê de balê bikişînin ku ½ û ¼ kontrolker ji ber derengbûna wan bandorek neyînî li ser kargêriyê dikin.
Ji bo exampLe, ji ber ku em tenê dikarin her 4 çerxên CK-ê fermanan bişînin, carinan gava ku bi hûrguliyên demjimêra DRAM-ê ve girêdayî ye, pêvekek zêde heye, ku dikare ji hêla teorîkî ve karîgeriyê kêm bike.
Kontrolkerên cihêreng biceribînin da ku yeka ku li gorî hewcedariya weya karîgeriyê ye bibînin.

Çavkanî

  1. Zynq-7000 AP SoC û 7 Series FPGAs MIS v2.3 [UG586]
  2. Navenda Çareseriyê ya Xilinx MIG http://www.xilinx.com/support/answers/34243.html

Dîroka Revision
13/03/2015 - Serbestberdana destpêkê

PDFî bikin: Xilinx DDR2 MIG 7 Rêbernameya Texmîna Performansê

Çavkanî

Bihêle şîroveyek

Navnîşana e-nameya we nayê weşandin. Zeviyên pêwîst têne nîşankirin *