Xilinx DDR2 MIG 7 Leiðbeiningar um árangursmat
Mikilvæg athugasemd: Þessi niðurhalanlega PDF af svarskrá er veitt til að auka notagildi hennar og læsileika. Það er mikilvægt að hafa í huga að Answer Records eru það Web- byggt efni sem er oft uppfært eftir því sem nýjar upplýsingar verða tiltækar. Þú ert minntur á að heimsækja Xilinx tækniaðstoð Websíða og afturview (Xilinx svar 63234) fyrir nýjustu útgáfuna af þessu svari.
Inngangur
Vegna þess hvernig DDR2 og DDR3 minningar eru smíðuð og MIG 7 röð stjórnandinn er hannaður, er frammistaða ekki beint fram.
Það krefst skilnings á ýmsum Jedec tímastillingum og stjórnunararkitektúr og þú þarft að keyra eftirlíkingar til að fá áætlanir.
Almenna meginreglan til að ákvarða frammistöðu er sú sama en þetta skjal veitir auðvelda leið til að ná fram skilvirkni með því að nota MIG exampLe hönnun með hjálp prófbekk og áreiti filefylgir hér með.
Árangursrík bandbreidd
DRAM gagnarútan nær aðeins nær hámarksbandbreidd við lestur og ritun og kostnaður hennar lækkar virkan gagnahraða.
Nokkrir fyrrvampyfirkostnaður er:
- forhleðslutími með aðgangi að línum í sama banka (aðgangsheimilisfang er ekki í sama línu-síðu höggi)
- endurheimtartími skrifa til að breyta úr skrifaðgangi yfir í lesaðgang
- afgreiðslutími strætó til að breyta úr lesaðgangi í skrifaðgang
Virk bandbreidd = hámarksbandbreidd * Skilvirkni
MIG Design Generation
Sjá UG586 kafla 1 fyrir skref-fyrir-skref upplýsingar um MIG IP og tdample hönnunarkynslóðin.
Áður en þú keyrir MIG 7 Series frammistöðuhermun skaltu gera eftirfarandi til að ganga úr skugga um að uppgerð umhverfið þitt sé í lagi. Opnaðu MIG examphannaðu og kortaðu viðeigandi bókasöfn, keyrðu uppgerðina og tryggðu að þú getir séð skilaboðin „prófið staðist“ í afritinu.
Til að sýna flæðið hef ég búið til MIG IP fyrir xc7vx690tffg1761-2 og kallaði á fyrrverandiamphönnun.
Tvennt sem ætti að hafa í huga eru minnisfangabitar og val á kortlagningu minnisfanga.
Til dæmisample, ég hef valið MT41J128M8XX-125 undir minni hluta fellilistanum.
Fyrir valinn minnishluta úr mynd-1, röð = 14, dálkur = 10 og banki = 3, þannig að app_addr_width = röð + dálkur + banki + röð = 28
Þú getur valið annað hvort BANK_ROW_COLUMN eða ROW BANK dálk.
Ég hef yfirgefið ROW BANK Column sem er sjálfgefin vistfangavörpun.
Example hönnun Eftirlíking með tilbúnum prófunarbekk
Undir Simulation settings, veldu QuestaSim/ModelSim Simulator og flettu að staðsetningu safnaðra bóka.
Fyrir upplýsingar um að benda á uppsetningarslóð þriðja aðila verkfæra, val á markhermi og samsetningu og kortlagningu bókasöfn er hægt að vísa í (UG900) Vivado Design Suite User Guide Logic Simulation
Keyrðu uppgerðina í gegnum GUI (Smelltu á Run Simulation flipann í verkefnastjóranum) og vertu viss um að þú sjáir „prófið staðist“ skilaboðin í afritinu.
Performance Simulation RTL breytingar
- Hægrismelltu á heimildaflipann, veldu „bæta við eða búðu til hermiheimildir“ og flettu að mig7_perfsim_traffic_generator.sv file og smelltu á klára til að bæta því við.
- Hægrismelltu á heimildaflipann, veldu „bæta við eða búðu til hermiheimildir“, flettu að perfsim_stimulus.txt og smelltu á klára til að bæta því við.
- Athugaðu fyrrvample_top instantiation í sim_tb_top.v file.
- Bættu neðangreindum RTL línum við 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;
- vír [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
- vír [2:0] c0_ddr3_app_cmd;
- vír c0_ddr3_app_en;
- vír [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
- vír c0_ddr3_app_wdf_end;
- vír [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
- vír c0_ddr3_app_wdf_wren;
- vír [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
- vír c0_ddr3_app_rd_data_end;
- vír c0_ddr3_app_rd_data_valid;
- vír c0_ddr3_app_rdy;
- vír c0_ddr3_app_wdf_rdy;
- vír c0_data_compare_error;
- vír ui_clk;
- vír ui_clk_sync_rst;
- vír app_sr_req = 0;
- vír app_ref_req = 0;
- vír app_zq_req =0;
- vír c0_app_wdf_mask =0;
Staðfesting FPGA minnisstýringar
mig_7series_0_mig u_mig_7series_0_mig (
// Minni tengi tengi
- .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),
// Forritsviðmótstengi
- .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),
// System Clock Ports
- .sys_clk_i (sys_clk_i),
// Tilvísun í klukkuhöfn
- .clk_ref_i (clk_ref_i),
- .sys_rst (sys_rst)
- );
Staðfesting á frammistöðuumferðarrafali
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. Breyttu APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH og BANK_WIDTH í samræmi við val á minnihluta.
Verðmæti er hægt að fá hjá _mig.v file. - Gula auðkennda staðfestingarheitið mig_7series_0_mig getur verið breytilegt eftir nafni íhluta þíns meðan á IP-gerð stendur, athugaðu hvort þú hafir valið annað nafn og breyttu því í samræmi við það.
- Þegar IP er búið til opnaðu _mig.v file og krossathugaðu hvort afbrigði eru á LHS merkjaheitum og leiðréttu þau.
- app_sr_req, app_ref_req og app_zq_req ætti að frumstilla í 0.
- Sem fyrrvample_top.v er útskrifuð og ný fileer bætt við muntu líklega sjá "?" við hliðina á
mig_7series_0_mig.v file undir uppgerð heimilda.
Til að kortleggja rétt file, hægrismelltu á mig_7series_0_mig.v, veldu „Bæta við heimildum“, flettu til
/mig_7röð_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
og bættu við mig_7series_0_mig_sim.v file. - Ef þú sérð "?" fyrir undirliggjandi files, bæta við öllum RTL files í klukku, stjórnandi, ip_top,phy og UI möppum.
- Þegar RTL breytingarnar eru gerðar og allar nauðsynlegar files eru bætt við uppgerðina þína, stigveldið ætti að vera svipað og á mynd 5.
The files auðkennd með rauðu er nýlega bætt við og "?" er gert ráð fyrir á ECC tengdum einingum þar sem valin minnisstilling hefur ECC valkostinn óvirkan.
Hvati File Lýsing
Hvert áreitismynstur er 48 bitar og sniðinu er lýst á myndum 6-1 til 6-4.
Kóðun heimilisfangs (heimilisfang [35:0])
Heimilisfangið er kóðað í áreitinu eins og á mynd 7-1 til mynd 7-6. Allir heimilisfangsreitir þurfa að vera slegnir inn á sextándu sniði. Allir vistfangareitirnir eru breidd sem er deilanleg með fjórum til að slá inn á sextándu sniði. Prófunarbekkurinn sendir aðeins nauðsynlega bita af vistfangareit til minnisstýringarinnar.
Til dæmisample, í átta banka uppsetningu, eru aðeins bankabitar [2:0] sendir til minnisstýringarinnar og bitarnir sem eftir eru eru hunsaðir. Aukabitarnir fyrir heimilisfangsreit eru gefnir til að slá inn heimilisfangið á sextándu sniði.
Þú verður að staðfesta að gildið sem slegið er inn samsvarar breidd tiltekinnar uppsetningar.
- Heimilisfang dálks (dálkur[11:0]) – Dálkaðfang í áreitinu er veitt að hámarki 12 bita, en þú þarft að takast á við þetta út frá breytu dálkbreiddar sem sett er í hönnun þína.
- Röð heimilisfang (Row[15:0]) – Röð heimilisfang í áreitinu er veitt að hámarki 16 bita, en þú þarft að takast á við þetta út frá línubreiddarbreytu sem er sett í hönnun þinni.
- Heimilisfang banka (Bank[3:0]) – Heimilisfang banka í áreitinu er gefið upp að hámarki fjóra bita, en þú þarft að takast á við þetta út frá breytu bankabreiddar sem er stillt í hönnun þinni.
- Röð heimilisfang (staða[3:0]) – Rank heimilisfang í áreitinu er veitt að hámarki fjóra bita, en þú þarft að takast á við þetta út frá röð breidd færibreytu sem er sett í hönnun þinni.
Heimilisfangið er sett saman út frá efstu MEM_ADDR_ORDER færibreytunni og sent í notendaviðmótið
Skipun Endurtaka (Command Repeat [7:0])
Endurtekningarfjöldi skipana er fjöldi skipta sem viðkomandi skipun er endurtekin í notendaviðmótinu. Heimilisfangið fyrir hverja endurtekningu er aukið um 8. Hámarksfjöldi endurtekningar er 128.
Prófunarbekkurinn athugar ekki fyrir súlumörkin og hann sveiflast um ef hámarksmörkum súlunnar er náð meðan á stigunum stendur.
128 skipanirnar fylla upp síðuna. Fyrir hvaða dálkvistfang sem er annað en 0, endar endurtekningartalan 128 með því að fara yfir dálkmörkin og sveiflast að byrjun dálksfangsins.
Strætónotkun
Strætónýtingin er reiknuð út í notendaviðmótinu að teknu tilliti til heildarfjölda lesta og skrifa og eftirfarandi jafna er notuð:
- BL8 tekur fjórar minnisklukkulotur
- end_of_stimulus er tíminn þegar allar skipanir eru gerðar.
- calib_done er tíminn þegar kvörðun er lokið.
Example Mynstur
Þessir fyrrvampfærslur eru byggðar á MEM_ADDR_ORDER stillt á BANK_ROW_COLUMN.
Eitt lesmynstur
00_0_2_000F_00A_1 – Þetta mynstur er eitt aflestrar úr 10. dálki, 15. röð og öðrum banka.Einstakt skrifa mynstur
00_0_1_0040_010_0 – Þetta mynstur er ein skrif í 32. dálk, 128. röð og fyrsta banka.Einn skrifa og lesa á sama heimilisfang
00_0_2_000F_00A_0 – Þetta mynstur er ein skrif í 10. dálk, 15. röð og annan banka.
00_0_2_000F_00A_1 – Þetta mynstur er einn lestur úr 10. dálki, 15. röð og öðrum banka
Margt skrifað og lesið með sama heimilisfangi
0A_0_0_0010_000_0 – Þetta samsvarar 10 skrifum með heimilisfang frá 0 til 80 sem sjá má í dálkinum.
0A_0_0_0010_000_1 – Þetta samsvarar 10 lestum með heimilisfangi frá 0 til 80 sem sjá má í dálkinum.
Síðubrot meðan á skrifum stendur
0A_0_2_000F_3F8_0 – Þetta samsvarar 10 skrifum með heimilisfang dálks vafið við upphaf síðunnar eftir eina skrif.
Hermir eftir Performance Traffic Generator
Á þessum tímapunkti ertu búinn með MIG example hönnunarlíking. Þetta gefur til kynna að uppgerðin þín sé tilbúin, þú hefur gert RTL-breytingar á frammistöðuhermi, nýja uppgerðastigveldið er rétt og þú hefur skilið áreitimynstrið. Keyrðu uppgerðina aftur með 16 skrifum og lestum í perfsim_stimulus.txt.
Gerðu allt, bíddu þar til init_calib_complete merkið er fullyrt og þú munt geta séð fyrirhugaðan fjölda skrifa og lesta. Þá mun uppgerðin hætta.
Þegar þú ert beðinn um að hætta uppgerð skaltu velja Nei og fara í afritsgluggann þar sem þú munt geta séð árangurstölfræði.
Ef þú velur „hætta uppgerð“ frammistöðutölfræði verður skrifuð til a file nefndur mig_band_width_output.txt staðsett í sim_1/behave möppu.
Example skráarslóð:-
/mig_7röð_0_example_perf_sim\mig_7series_0_example.sim/sim_1/hegðun
Þú gætir furða hvers vegna prósenttage strætónotkun er aðeins 29. Endurræstu uppgerðina með sömu IP stillingum en breytir bara áreitinu file til 256 skrifa og 256 lesna
ff_0_0_0000_000_0
ff_0_0_0000_000_1
Þú munt nú sjá prósentunatage as 85, sem gefur til kynna að DDR3 býður upp á betri strætónýtingu fyrir langa röð af skrifum og lestri.
Almennar leiðir til að bæta árangur
Þeim þáttum sem hafa áhrif á skilvirkni má skipta í tvo hluta:
- Minni tiltekið
- Stjórnandi sérstakur
Mynd 9 gefur þér yfirview af hugtökum sem eru minnissértæk.
Ólíkt SRAM og Block Memories DDR2 eða DDR3 árangur er ekki bara hámarks gagnahraði.
Það fer eftir mörgum tímasetningarþáttum, þar á meðal:
- tRCD: Row Command Delay (eða ras til cas seinkun).
- tCAS(CL): Dálk heimilisfang strobe leynd.
- tRP: Töf á forhleðslu línu.
- tRAS: Virkur tími röð (virkjaðu til að skipta um).
- tRC: Röð hringrásartími. tRC = tRAS + tRP
- tRAC: Radom aðgangs seinkun. tRAC = tRCD + tCAS
- tCWL: Cas skrifa leynd.
- tZQ: ZQ kvörðunartími.
- tRFC: Röð endurnýjun hringrásartíma
- tWTR: Skrifaðu til að lesa seinkun. Síðasta skriffærsla á lestur skipunartíma.
- tWR: Skrifaðu batatíma. Síðasta færslufærslu í Forhleðslutíma
Tímasetning allra tilgreindra færibreytna fer eftir gerð minnis sem notað er og hraðastig minnihluta.
Frekari upplýsingar um skilgreiningar og tímasetningarforskriftir er að finna í DDR2 DDR3 JEDEC eða í hvaða minnisblaði sem er.
Skilvirkni fer aðallega eftir því hvernig aðgangur er að minni. Mismunandi heimilisfang mynstur gefa mismunandi skilvirkni niðurstöður.
Kostnaður við tímasetningu minnis
- Virkjunartími og Forhleðslutími þegar skipt er yfir í nýja banka/raðir eða skipt um línur með í sama banka.- Þannig að ef þú minnkar línubreytingar getur þetta fjarlægt tRCD og tRP.
- Sendu samfelldar skrif- eða lesskipanir -Viðhald tCCD tímasetningar.
- Lágmarkaðu skrifa til að lesa og lesa til að skrifa skipanaskipti - Skrifaðu endurheimtartíma til að breyta til að lesa aðgang, afgreiðslutími strætó til að skipta úr lestri í að skrifa
- Stilltu rétta endurnýjunarbil.
- DDR3 SDRAM krefst endurnýjunarlota með reglulegu millibili að meðaltali tREFI.
- Að hámarki 8 viðbótar endurnýjunarskipanir er hægt að gefa út fyrirfram ("dregnar inn"). Þetta dregur ekki úr fjölda endurnýjunar, en hámarksbilið milli tveggja umhverfis endurnýjunarskipana er takmarkað við 9 × tREFI
- Nýta alla bankana - Æskilegt er að hentugur ávarpsbúnaður sé.
- Röð-banka-dálkur: Fyrir viðskipti sem eiga sér stað yfir raðbundið heimilisfangrými, opnar kjarninn sjálfkrafa sömu röð í næsta banka DRAM tækisins til að halda viðskiptunum áfram þegar lok núverandi röð er náð. Það hentar vel forritum sem krefjast þess að stórir gagnapakkar séu sprungnir á raðnúmer heimilisfangs.
- Bank-röð-dálkur: Þegar farið er yfir línumörk verður núverandi röð lokuð og önnur röð opnuð innan sama bakka. MSB er heimilisfang banka sem hægt er að nota til að skipta úr mismunandi bönkum. Það er hentugur fyrir styttri, tilviljunarkenndari færslur í einn minnisblokk í ákveðinn tíma og síðan hoppa í aðra blokk (banka)
- Sprungalengd
- BL 8 er stutt fyrir DDR3 á 7 röð. BC4 hefur mjög lága skilvirkni sem er minna en 50%. Þetta er vegna þess að framkvæmdartími BC4 er sá sami og BL8. Gögnin eru bara duluð inni í íhlutnum.
- Í tilfellum þar sem þú vilt ekki skrifa fullan burst, getur annaðhvort gagnamaska eða ritun eftir lestur komið til greina.
- Stilltu rétt ZQ bil (aðeins DDR3)
Stýringin sendir bæði ZQ Short (ZQCS) og ZQ Long (ZQCL) kvörðunarskipanir.- Fylgdu DDR3 Jedec staðlinum
- Fjallað er um ZQ kvörðun í kafla 5.5 í JEDEC Spec JESD79-3 DDR3 SDRAM staðlinum
- ZQ Calibration kvarðar On Die Termination (ODT) með reglulegu millibili til að gera grein fyrir breytingum á VT
- Rökfræði er að finna í bank_common.v/vhd
- Færibreytan Tzqcs ákvarðar hraðann sem ZQ kvörðunarskipun er send á í minnið
- Það er hægt að slökkva á teljarann og senda handvirkt með app_zq_req, það er svipað og að senda handvirkt Refresh.
Sjá (Xilinx svar 47924) fyrir nánari upplýsingar.
Yfirkostnaður stjórnanda
- Reglubundin lestur - Sjá (Xilinx svar 43344) fyrir nánari upplýsingar.
- Ekki breyta lestrartímanum
- Slepptu reglulegum lestri meðan á skrifum stendur og gefðu út fjölda lesninga sem gleymst hefur að lesa áður en sannur lestur er
- Endurröðun - Sjá (Xilinx svar 34392) fyrir nánari upplýsingar.
Fyrir notenda- og AXI-viðmótshönnun er æskilegt að hafa þetta virkt.- Endurröðun er rökfræðin sem horfir fram á við nokkrar skipanir og breytir skipanaröð notenda til að láta skipanir sem ekki eru í minni taka ekki upp gilda bandbreidd. Frammistaðan tengdist einnig raunverulegu umferðarmynstri.
- Byggt á heimilisfangamynstrinu hjálpar endurröðun að sleppa forhleðslu og virkja skipanir og gerir það að verkum að tRCD og tRP taka ekki gagnabandsbreidd.
- Reyndu að fjölga bankavélum.
- Flest rökfræði stjórnandans er í bankavélunum og þær samsvara DRAM bönkum
- Tiltekin bankavél stjórnar einum DRAM banka á hverjum tíma.
- Úthlutun bankavéla er kraftmikil svo það er ekki nauðsynlegt að hafa bankavél fyrir hvern líkamlegan banka.
- Hægt er að stilla bankavélar, en það er skipting milli svæðis og frammistöðu.
- Leyfilegur fjöldi bankavéla er á bilinu 2-8.
- Sjálfgefið er að 4 bankavélar séu stilltar með RTL breytum.
- Til að breyta bankavélum skaltu íhuga færibreytuna nBANK_MACHS = 8 sem er í memc_ui_top Ex.ample fyrir 8 bankavélar – nBANK_MACHS = 8
Þú ert nú meðvitaður um þá þætti sem hafa áhrif á frammistöðu.
Íhugaðu andstreymisforrit sem gefur þér 512 gagnabæt á hvern pakka og þú þarft að vista þau á mismunandi minnisstöðum. Þar sem 512 gagnabæt eru jöfn 64 DDR3 gagnasprungum skaltu keyra tdample hönnun með áreiti file sem inniheldur 512 skrif, 512 lestur og raðskipti fyrir hverjar 64 skrif eða lestur:
- 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
Í lok uppgerðarinnar sérðu að strætónýting er 77 prósent.
Mynd 11: Frammistöðutölfræði fyrir 512 skrif og 512 lestur - Röð skipti fyrir 64 skrif eða lestur.
Þú getur nú beitt þekkingunni sem lærðist í fyrri hlutanum til að bæta skilvirkni. Með view til að nýta alla bankana í stað þess að breyta röðinni, breyttu heimilisfangamynstri til að breyta banka eins og sýnt er hér að neðan.
Þetta jafngildir því að stilla ROW_BANK_Column í stillingu fyrir kortlagningu minnisfanga í 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
Í lok uppgerðarinnar muntu sjá að fyrri 77 prósent rútunotkun er nú 87!
Ef þú þarfnast enn meiri skilvirkni geturðu farið í stórar pakkastærðir, 1024 eða 2048 bæti, eða íhugað handvirka endurnýjun.
Athugið: Xilinx hvetur ekki til þess að framhjá endurnýjun stjórnanda þar sem við erum ekki viss um hvort þú munt geta mætt tímasetningu sjálfvirkrar endurnýjunar Jedec sem hefur áhrif á áreiðanleika gagna.
Frá stjórnandi hliðinni geturðu breytt nBANk_MACH og séð framför í frammistöðu.
Hins vegar getur þetta haft áhrif á tímasetningu hönnunar þinnar, vinsamlegast skoðaðu (Xilinx svar 36505) fyrir upplýsingar um nBANk_MACH
Opnaðu core_name_mig_sim.v file og breyttu breytunum nBANK_MACHS úr 4 í 8 og keyrðu uppgerðina aftur. Til að færibreytugildið taki gildi í vélbúnaði þarftu að uppfæra kjarnanafn_mig.v file.
Ég notaði sama mynstur þar sem við fengum 87% rútunýtingu (mynd -12).
Með nBANK_MACHS stillt á 8 er skilvirknin nú 90%.
Athugaðu líka að ½ og ¼ stýringar hafa neikvæð áhrif á skilvirkni vegna leyfa þeirra.
Til dæmisample, þar sem við getum aðeins sent skipanir á 4 CK lotum er stundum auka fylling þegar farið er eftir lágmarks DRAM tímasetningarforskriftum, sem getur dregið úr skilvirkni frá fræðilegu.
Prófaðu mismunandi stýringar til að finna þann sem hentar þínum skilvirknikröfum.
Heimildir
- Zynq-7000 AP SoC og 7 Series FPGAs MIS v2.3 [UG586]
- Xilinx MIG lausnamiðstöð http://www.xilinx.com/support/answers/34243.html
Endurskoðunarsaga
13/03/2015 - Frumútgáfa
Sækja PDF: Xilinx DDR2 MIG 7 Leiðbeiningar um árangursmat