Xilinx-logoa

Xilinx DDR2 MIG 7 Errendimenduaren Estimazio Gida

Xilinx_DDR2_MIG_7_Performance-Estimation-product

Ohar garrantzitsua: Erantzun-erregistro baten PDF deskargagarri hau erabilgarritasuna eta irakurgarritasuna hobetzeko eskaintzen da. Garrantzitsua da Answer Records direla WebInformazio berria eskuragarri dagoen heinean maiz eguneratzen den edukia. Xilinx-en laguntza teknikora bisitatu behar duzula gogoratzen dizugu Webgune eta review (Xilinx Answer 63234) Erantzun honen azken bertsiorako.

Sarrera

DDR2 eta DDR3 memoriak diseinatu diren eta MIG 7 serieko kontroladorearen diseinua dela eta, errendimendua ez da erraza.
Jedec Timing hainbat parametro eta kontrolagailuaren arkitektura ulertzea eskatzen du, eta simulazioak egin beharko dituzu estimazioak lortzeko.
Errendimendua zehazteko printzipio orokorra bera da, baina dokumentu honek eraginkortasuna lortzeko modu erraz bat eskaintzen du MIG example diseinua proba-bankuaren eta estimuluaren laguntzaz filehemen erantsita dago.

Banda zabalera eraginkorra

DRAM datu-busak banda-zabalera ia lortzen du irakurketa eta idazketa-leherketan soilik eta bere gainkostuak datu-tasa eraginkorra murrizten du.
Adibide batzukampgainkostuak hauek dira:

  • aldez aurretik kargatzeko denbora banku bereko errenkadetara sartzeko (Sarbide helbidea ez dago errenkada-orrialde berean)
  • idatzi berreskuratzeko denbora idazketatik irakurketa sarbidera aldatzeko
  • irakurketatik idazketara aldatzeko autobusaren buelta-denbora

Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-28
Banda-zabalera eraginkorra = Banda-zabalera gailurra * Eraginkortasuna 

MIG Design Generation

Ikus UG586 1. kapitulura MIG IP-ari buruzko urratsez urrats xehetasunak lortzekoample diseinuaren belaunaldia.
MIG 7 Series errendimenduaren simulazioa exekutatu aurretik, egin hau zure simulazio-ingurunea ondo dagoela ziurtatzeko. Ireki MIG adibidezampLiburutegi egokiak diseinatu eta mapatu, exekutatu simulazioa eta ziurtatu transkripzioan "proba gainditu" mezua ikus dezakezula.
Fluxua erakusteko MIG IP bat sortu dut xc7vx690tffg1761-2-rentzat eta ex-a deitu dutampdiseinua.
Kontuan izan behar diren bi gauza hauek dira: memoria helbide-bitak eta memoria-helbideen mapa hautatzea.
Adibidezample, MT41J128M8XX-125 hautatu dut memoria zatiaren goitibeherako aukeren azpian.Xilinx DDR2 MIG-7-Performance-Estimation-fig-1

1. iruditik hautatutako memoria zatirako, errenkada = 14, zutabea = 10 eta bankua = 3, beraz, app_addr_width = errenkada + zutabe + bankua + rank = 28 Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-2

BANK_ROW_COLUMN edo ROW BANK zutabea hauta dezakezu.
ROW BANK zutabea utzi dut, hau da, helbideen mapa lehenetsia.

Example design Simulazioa saiakuntza-banku sintetizagarriarekin

Simulazioaren ezarpenetan, hautatu QuestaSim/ModelSim Simulator eta arakatu konpilatutako liburutegien kokapenera.
Hirugarrenen tresnak instalatzeko bide bat seinalatzeari, xede-simulatzailea hautatzeari eta liburutegiak konpilatzeari eta mapatzeari buruzko xehetasunak lortzeko, ikus dezakezu (UG900) Vivado Design Suite Erabiltzailearen Gida Simulazio logikoa.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-3

Exekutatu simulazioa GUI bidez (egin klik Exekutatu Simulazio fitxan proiektuaren kudeatzailean) eta ziurtatu transkripzioan "proba gainditu" mezua ikusten duzula.

Performance Simulation RTL aldaketak

  1. Egin klik eskuineko botoiarekin iturriak fitxan, hautatu "gehitu edo sortu simulazio-iturriak" eta arakatu mig7_perfsim_traffic_generator.sv. file eta egin klik Amaitu gehitzeko.
  2. Egin klik eskuineko botoiarekin iturriak fitxan, hautatu "gehitu edo sortu simulazio-iturriak", arakatu perfsim_stimulus.txt-era eta egin klik Amaitu gehitzeko.
  3. Iruzkin ezazu example_top instantziazioa sim_tb_top.v-n file.
  4. Gehitu beheko RTL lerroak 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;
  • alanbre [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
  • alanbre [2:0] c0_ddr3_app_cmd;
  • wire c0_ddr3_app_en;
  • alanbre [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
  • wire c0_ddr3_app_wdf_end;
  • alanbre [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
  • wire c0_ddr3_app_wdf_wren;
  • alanbre [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
  • wire c0_ddr3_app_rd_data_end;
  • wire c0_ddr3_app_rd_data_valid;
  • wire c0_ddr3_app_rdy;
  • alanbre c0_ddr3_app_wdf_rdy;
  • wire c0_data_compare_error;
  • alanbre ui_clk;
  • wire ui_clk_sync_rst;
  • wire app_sr_req = 0;
  • alanbre app_ref_req = 0;
  • wire app_zq_req =0;
  • alanbre c0_app_wdf_mask =0;

FPGA Memoria Kontrolagailuaren instantziazioa

mig_7series_0_mig u_mig_7series_0_mig (
// Memoria interfaze-atatuak

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

// Aplikazioen interfazearen atakak

  • .app_addr (c0_ddr3_app_addr),
  • .app_cmd (c0_ddr3_app_cmd),
  • .app_eu (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),

// Sistemako Erloju Portuak

  • .sys_clk_i (sys_clk_i),

// Erreferentziako Erloju Portuak

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

Errendimenduko trafiko-sorgailuaren instantziazioa

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_eu (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. Aldatu APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH eta BANK_WIDTH memoria-zatiaren hautapenaren arabera.
    Baloreak lor daitezke _mig.v file.
  • Horiz nabarmendutako instantziazio-izena mig_7series_0_mig zure osagaiaren izenaren arabera alda daiteke IPa sortzean, egiaztatu beste izen bat aukeratu duzun ala ez eta horren arabera aldatu.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-4
  • IPa sortu ondoren, ireki _mig.v file eta gurutzatu LHS seinaleen izenen aldakuntzak eta zuzendu.
  • app_sr_req, app_ref_req eta app_zq_req 0-n hasieratu behar dira.
  • Adibample_top.v iruzkinduta dago eta berria da filegehitzen dira, ziurrenik ikusiko duzu "?" ondoan
    mig_7series_0_mig.v file simulazio iturrien pean.
    Zuzena mapatzeko file, egin klik eskuineko botoiarekin mig_7series_0_mig.v, hautatu "Gehitu iturriak", Arakatu
    /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
    eta gehitu mig_7series_0_mig_sim.v file.
  • "?" ikusten baduzu azpikoarentzat files, gehitu RTL guztiak files erloju, controller, ip_top,phy eta UI karpetetan.
  • RTL aldaketak egin ondoren eta beharrezkoak diren guztiak files zure Simulazio Iturburuetara gehitzen dira, Hierarkiak 5. irudiaren antzekoa izan behar du.
    The fileGorriz nabarmendutakoak gehitu berriak dira, eta "?" ECC erlazionatutako moduluetan espero da, hautatutako memoriaren konfigurazioak ECC aukera desgaituta duelako.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-5

Bizigarri File Deskribapena
Estimulu eredu bakoitzak 48 bit-ekoa da eta formatua 6-1etik 6-4ra bitarteko irudietan deskribatzen da.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-6

Helbidea kodetzea (Helbidea [35:0])

Helbidea estimuluan kodetuta dago 7-1 iruditik 7-6 irudira. Helbide-eremu guztiak hamaseitar formatuan sartu behar dira. Helbide-eremu guztiak hamaseitar formatuan sartzeko lauz zati daitekeen zabalera dira. Proba-bankuak helbide-eremu baten beharrezko bitak soilik bidaltzen ditu Memoria-kontrolagailura.
Adibidezample, zortzi banku-konfigurazioan, banku-bitak [2:0] bakarrik bidaltzen dira Memoria-Kontrolarira eta gainerako bit-ak ez dira aintzat hartzen. Helbide-eremu baterako bit gehigarriak helbidea hamaseitar formatuan sartzeko ematen dira.
Sartutako balioa konfigurazio jakin baten zabalerarekin bat datorrela baieztatu behar duzu.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-7

  • Zutabearen helbidea (zutabea[11:0]) – Estimuluan zutabe-helbidea gehienez 12 biteko ematen da, baina zure diseinuan zutabe zabalera-parametroan oinarrituta zuzendu behar duzu.
  • Errenkada helbidea (Rankada[15:0]) – Estimuluko errenkada-helbidea gehienez 16 biteko ematen da, baina hau zuzendu behar duzu zure diseinuan ezarritako errenkada-zabaleraren parametroan oinarrituta.
  • Bankuaren helbidea (Bankua[3:0]) – Estimuluan banku-helbidea gehienez lau bitan ematen da, baina zure diseinuan ezarritako banku-zabaleraren parametroan oinarrituta zuzendu behar duzu.
  • Mailaren helbidea (Ranking[3:0]) – Estimuluaren sailkapenaren helbidea gehienez lau bittan ematen da, baina hau zuzendu behar duzu zure diseinuan ezarritako maila-zabalera parametroan oinarrituta.
    Helbidea goi-mailako MEM_ADDR_ORDER parametroan oinarritzen da eta erabiltzailearen interfazera bidaltzen da.

Komandoa Errepikatu (Komandoa Errepikatu [7:0])
Komandoaren errepikapen kopurua Erabiltzaile Interfazean dagokion komandoa errepikatzen den aldi kopurua da. Errepikapen bakoitzaren helbidea 8z gehitzen da. Gehienezko errepikapen kopurua 128 da.
Proba-bankuak ez du zutabearen muga egiaztatzen eta gehikuntzak zehar zutabeen gehienezko mugara iristen den inguratzen du.
128 komandoek orria betetzen dute. 0 ez den edozein zutabe-helbiderako, 128-ren errepikapen-zenbaketa zutabearen muga zeharkatuz eta zutabe-helbidearen hasierara heltzen da.

Autobusaren erabilera
Autobusaren erabilera Erabiltzailearen Interfazean kalkulatzen da irakurketa eta idazketa kopurua guztira kontuan hartuta eta ekuazio hau erabiltzen da:

Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-8

  • BL8-k lau memoria-erloju-ziklo hartzen ditu
  • end_of_stimulus komando guztiak egiten diren unea da.
  • calib_done kalibrazioa egiten den unea da.

Example Ereduak
Hauek adibidezampfitxategiak MEM_ADDR_ORDER BANK_ROW_COLUMN-en ezarrita daude.

Irakurketa eredu bakarra
00_0_2_000F_00A_1 - Eredu hau 10. zutabeko, 15. errenkadako eta bigarren bankuko irakurketa bakarra da.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-9Idazketa eredu bakarra
00_0_1_0040_010_0 - Eredu hau 32. zutabean, 128. errenkadan eta lehen bankuan idazketa bakarra da.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-10Idazketa eta irakurketa bakarra helbide berera
00_0_2_000F_00A_0 – Eredu hau 10. zutabean, 15. errenkadan eta bigarren bankuan idazketa bakarra da.
00_0_2_000F_00A_1 – Eredu hau 10. zutabetik, 15. ilaratik eta bigarren bankutik irakurketa bakarra daXilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-11

Hainbat idazketa eta irakurketa helbide berdinarekin
0A_0_0_0010_000_0 – Hau zutabean ikus daitezkeen 10tik 0ra bitarteko helbidea duten 80 idazketei dagokie.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-12

0A_0_0_0010_000_1 – Hau zutabean ikus daitezkeen 10tik 0ra bitarteko helbidea duten 80 irakurketei dagokie.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-13

Orrialdea idazten diren bitartean
0A_0_2_000F_3F8_0 – Hau 10 idazketei dagokie zutabearen helbidea idazketa baten ondoren orriaren hasierara bilduta.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-14

Performance Traffic Generator simulatzea

Une honetan MIG-ekin amaitu duzuample diseinuaren simulazioa. Horrek esan nahi du zure simulazioaren konfigurazioa prest dagoela, errendimendu-simulazioaren RTL aldaketak egin dituzula, simulazio-hierarkia berria zuzena dela eta estimulu-ereduak ulertu dituzula. Exekutatu simulazioa berriro 16 idazketa eta irakurketarekin perfsim_stimulus.txt-en.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-15

Exekutatu guztiak, itxaron init_calib_complete seinalea aldarrikatu arte, eta proposatutako idazketa eta irakurketa kopurua ikusi ahal izango duzu. Ondoren, simulazioa geldituko da. Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-16

Simulaziotik irteteko eskatzen zaizunean, hautatu Ez eta joan transkripzio-leiora non errendimendu-estatistikak ikusteko aukera izango duzun. Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-17

Hautatzen baduzu "irten simulazioa" errendimendu-estatistikak idatziko dira a file izendatua sim_1/behave-n kokatuta dagoen mig_band_width_output.txt karpeta.

Exampfitxategiaren direktorioaren bidea: -
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavXilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-18

Galdetuko zaizu zergatik ehunekoatagAutobusaren erabilera 29 baino ez da. Exekutatu simulazioa IP ezarpen berdinekin baina estimulua aldatuz. file 256 idatzi eta 256 irakurtzera

ff_0_0_0000_000_0
ff_0_0_0000_000_1

Orain ehunekoa ikusiko duzutage 85 bezala, horrek esan nahi du DDR3-k autobusaren erabilera hobea eskaintzen duela idazketa eta irakurketa-leherketa sekuentzia luzeetarako. Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-19

Errendimendua hobetzeko modu orokorrak

Eraginkortasuna eragiten duten faktoreak bi ataletan bana daitezke:

  1. Memoria Espezifikoa
  2. Kontrolagailu EspezifikoaXilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-20

9. irudiak gaina ematen dizuview memoria espezifikoak diren terminoak.
SRAM eta Block Memories ez bezala DDR2 edo DDR3 errendimendua ez da datu-tasa maximoa soilik.

Denbora-faktore askoren araberakoa da, besteak beste:

  • tRCD: Row Command Delay (edo ras to cas atzerapena).
  • tCAS(CL): Zutabearen helbidea estroboaren latentzia.
  • tRP: Errenkadak aurrekargatzeko atzerapena.
  • tRAS: Errenkada aktiboaren denbora (aktibatu aurretik aldatzeko).
  • tRC: Errenkadaren ziklo-denbora. tRC = tRAS + tRP
  • tRAC: Radom sarbide-atzerapena. tRAC = tRCD + tCAS
  • tCWL: Cas idazteko latentzia.
  • tZQ: ZQ kalibrazio denbora.
  • tRFC: Errenkadak freskatzeko zikloaren denbora
  • tWTR: Idatzi irakurtzeko atzerapena. Azken idazketa-transakzioa Irakurri komandoaren ordura.
  • tWR: Idatzi berreskuratzeko denbora. Azken idazketa transakzioa Aurrekarga ordura

Zerrendatutako parametro guztien denbora erabilitako memoria motaren eta memoria zatiaren abiadura kalifikazioaren araberakoa da.
Definizioei eta denboraren zehaztapenei buruzko xehetasun gehiago DDR2 DDR3 JEDEC-en edo edozein memoria-gailuen datu-orrian aurki daitezke.

Eraginkortasuna, batez ere, memoria atzitzeko moduaren araberakoa da. Helbide eredu ezberdinek eraginkortasun emaitza desberdinak ematen dituzte.

Memoriaren denboraren gainkostuak

  1. Aktibazio-denbora eta Aurrekarga-denbora banku/errenkada berrietara aldatzean edo banku berean dauden errenkadak aldatzean.- Beraz, errenkada aldaketa murrizten baduzu, honek tRCD eta tRP kendu ditzake.
  2. Bidali etengabeko idazketa edo irakurketa komandoak -tCCD denbora mantentzea.
  3. Minimizatu idazketa irakurtzeko eta irakurtzeko idazteko komandoen aldaketa - Idatzi berreskuratze-denbora irakurtzeko sarbideetara aldatzeko, autobusaren buelta-denbora irakurtzetik idaztera aldatzeko
  4. Ezarri freskatze tarte egokia.
    • DDR3 SDRAM-ek Freskatzeko zikloak behar ditu tREFIren batez besteko aldizkako tarte batean.
    • Gehienez ere 8 Freskatzeko komando gehigarri eman daitezke aldez aurretik ("tira"). Horrek ez du freskatze kopurua murrizten, baina inguruko bi Freskatzeko komandoen arteko gehienezko tartea 9 × tREFIra mugatzen da.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-21
  • Erabili banku guztiak - Helbideratzeko mekanismo egoki bat hobe da.
    • Errenkada-Bankua-Ztabea: Helbide-espazio sekuentzial batean gertatzen den transakzio baterako, nukleoak automatikoki irekitzen du errenkada bera DRAM gailuaren hurrengo bankuan transakzioan jarraitzeko lehendik dagoen errenkada baten amaierara iristen denean. Datu-pakete handiak helbide-kokapen sekuentzialetara lehertu behar dituzten aplikazioetarako egokia da.
    • Bankua-errenkada-zutabea: Errenkadaren muga igarotzean, uneko errenkada itxi egingo da eta beste ilara bat irekiko da banku berean. MSB banku-helbide bat da, banku ezberdinetatik aldatzeko erabil daitekeena. Memoria-bloke baterako transakzio laburragoak eta ausazkoagoak egiteko egokia da denbora-tarte baterako eta gero beste bloke batera (banku) batera jauzi egiteko.
  • Leherketaren luzera
    • BL 8 DDR3 7 serierako onartzen da. BC4-k eraginkortasun oso baxua du, %50 baino txikiagoa dena. Hau da BC4-ren exekuzio-denbora BL8-ren berdina delako. Datuak osagaiaren barruan ezkutatzen dira.
    • Leherketa osoa idatzi nahi ez duzun kasuetan, datu-maskara edo idatzi ondoren irakurri daiteke.
  • Ezarri ZQ tarte egokia (DDR3 soilik)
    Kontrolagailuak ZQ Short (ZQCS) eta ZQ Long (ZQCL) Kalibrazio komandoak bidaltzen ditu.
    • Atxiki ezazu DDR3 Jedec estandarra
    • ZQ Kalibrazioa JEDEC Spec JESD5.5-79 DDR3 SDRAM estandarraren 3 atalean aztertzen da.
    • ZQ Calibration-ek On Die Termination (ODT) kalibratzen du aldizka, VT-ko aldaerak kontuan hartzeko
    • Logika bank_common.v/vhd-en dago
    • Tzqcs parametroak ZQ Calibration komandoa memoriara bidaltzen duen abiadura zehazten du
    • Posible da kontagailua desgaitu eta eskuz bidaltzea app_zq_req erabiliz, Freskatze bat eskuz bidaltzearen antzekoa da.
      Ikus (Xilinx Answer 47924) xehetasunetarako.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-22

Kontrolagailuaren gainkostuak

  1. Aldizkako irakurketak - Ikusi (Xilinx erantzuna 43344) xehetasunetarako.
    • Ez aldatu irakurketaren aldia
    • Saltatu aldizkako irakurketak idazketan zehar eta eman galdutako irakurketa kopurua egiazko irakurketa baten aurretik
  2. Berrantolatzea – Erreferentzia (Xilinx erantzuna 34392) xehetasunetarako.
    Erabiltzaile eta AXI Interfazearen diseinuetarako hobe da hau gaituta izatea.
    • Berrantolatzea hainbat komando aurrera begira eta erabiltzailearen komandoen ordena aldatzen duen logika da, memoria ez diren komandoek baliozko banda zabalera okupatu ez dezaten. Errendimendua benetako trafiko-ereduari ere lotuta dago.
    • Helbide-ereduaren arabera, berrantolatzeak aurrez kargatzen eta komandoak aktibatzen laguntzen du eta tRCD eta tRP-k ez dute datu-banda-zabalera okupatzen.Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-23
  3. Saiatu banku-makinen kopurua handitzen.
    • Kontrolagailuaren logika gehiena banku-makinetan dago eta DRAM bankuei dagokie
    • Banku-makina jakin batek DRAM banku bakarra kudeatzen du une bakoitzean.
    • Banku-makinen esleipena dinamikoa da, beraz, ez da beharrezkoa banku-makina bat izatea banku fisiko bakoitzeko.
    • Banku makinak konfiguratu daitezke, baina eremuaren eta errendimenduaren arteko truke bat da.
    • Onartutako banku-makinen kopurua 2-8 bitartekoa da.
    • Lehenespenez, 4 banku-makina RTL parametroen bidez konfiguratzen dira.
    • Banku-makinak aldatzeko, kontuan hartu memc_ui_top Ex-en dagoen nBANK_MACHS = 8 parametroaamp8 banku-makinentzako le - nBANK_MACHS = 8

Errendimenduan eragina duten faktoreez jabetzen zara orain.
Demagun pakete bakoitzeko 512 datu-byte ematen dituen upstream aplikazio bat eta memoria-kokapen desberdinetan gorde behar dituzu. 512 datu-byte 64 DDR3 datu-leherketaren berdina denez, berriro exekutatu example diseinua estimulu batekin file 512 idazketa, 512 irakurketa eta errenkada-aldaketa 64 idazketa edo irakurketa bakoitzeko:

  • 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

Simulazioaren amaieran autobusaren erabilera ehuneko 77an dagoela ikusiko duzu. Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-24

11. Irudia: Errendimendu-estatistikak 512 idazketetarako eta 512 irakurketetarako – Errenkada aldatzea 64 idazketa edo irakurketetarako. 

Orain aurreko atalean ikasitako ezagutza aplika dezakezu eraginkortasuna hobetzeko. batekin view errenkada aldatu beharrean banku guztiak erabiltzeko, aldatu helbide-eredua bankua aldatzeko behean erakusten den moduan.
MIG GUI-ko memoria-helbideen mapa-ezarpenean ROW_BANK_Column ezartzearen baliokidea da.

  • 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

Simulazioaren amaieran, lehengo 77 Ehuneko Autobusaren Erabilera orain 87koa dela ikusiko duzu! Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-25

Eraginkortasun handiagoa behar baduzu oraindik, 1024 edo 2048 byteko pakete tamaina handietara jo dezakezu edo eskuzko freskatzea kontuan hartu.

Oharra: Xilinx-ek ez du kontroladorearen freskatzea saihestea sustatzen, ez baitakigu ziur datuen fidagarritasuna eragiten duen Jedec-en auto-freskatzearen denbora beteko duzun.
Kontrolagailuaren aldetik nBANk_MACH alda dezakezu eta errendimenduaren hobekuntza ikusi.
Hala ere, horrek zure diseinuaren denboran eragina izan dezake, mesedez, ikusi (Xilinx erantzuna 36505) nBANk_MACH-en xehetasunak lortzekoXilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-26

Ireki core_name_mig_sim.v file eta aldatu nBANK_MACHS parametroak 4tik 8ra ​​eta berriro exekutatu simulazioa. Parametroaren balioa hardwarean eragina izan dezan, core_name_mig.v eguneratu behar duzu file.
Autobusaren %87ko erabilera lortu genuen eredu bera erabili nuen (-12. irudia).
nBANK_MACHS 8 gisa ezarrita, eraginkortasuna % 90ekoa da orain. Xilinx DDR2 MIG 7 Errendimenduaren Estimazioa-fig-27

Kontuan izan ½ eta ¼ kontrolagailuek eraginkortasuna negatiboki eragiten dutela beren latentziagatik.
Adibidezample, komandoak 4 CK zikloan behin bakarrik bidal ditzakegulako, batzuetan betegarri gehigarria dago DRAM denbora gutxieneko zehaztapenak atxikitzean, eta horrek eraginkortasuna gutxitu dezake teorikotik.
Probatu kontrolagailu desberdinak zure eraginkortasun eskakizunetara egokitzen dena aurkitzeko.

Erreferentziak

  1. Zynq-7000 AP SoC eta 7 serieko FPGAak MIS v2.3 [UG586]
  2. Xilinx MIG Solution Center http://www.xilinx.com/support/answers/34243.html

Berrikuspen historia
13/03/2015 – Hasierako oharra

Deskargatu PDFa: Xilinx DDR2 MIG 7 Errendimenduaren Estimazio Gida

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *