Canllaw Amcangyfrif Perfformiad Xilinx DDR2 MIG 7
Nodyn Pwysig: Darperir y PDF hwn o Gofnod Ateb y gellir ei lawrlwytho er mwyn gwella ei ddefnyddioldeb a'i ddarllenadwyedd. Mae'n bwysig nodi bod Cofnodion Ateb Web- cynnwys sy'n seiliedig ar wybodaeth sy'n cael ei ddiweddaru'n aml wrth i wybodaeth newydd ddod i'r amlwg. Fe'ch atgoffir i ymweld â Chymorth Technegol Xilinx Websafle ac ailview (Ateb Xilinx 63234) am y fersiwn diweddaraf o'r Ateb hwn.
Rhagymadrodd
Oherwydd y ffordd y mae atgofion DDR2 a DDR3 yn cael eu pensaernïo ac mae rheolydd cyfres MIG 7 wedi'i ddylunio, nid yw perfformiad yn syml.
Mae'n gofyn am ddealltwriaeth o baramedrau Amseru Jedec amrywiol a Phensaernïaeth rheolydd, a bydd angen i chi redeg efelychiadau i gael yr amcangyfrifon.
Yr un yw'r egwyddor gyffredinol ar gyfer pennu perfformiad ond mae'r ddogfen hon yn darparu ffordd hawdd o sicrhau effeithlonrwydd gan ddefnyddio'r MIG exampdylunio gyda chymorth mainc prawf ac ysgogiad files ynghlwm yma.
Lled Band Effeithiol
Dim ond yn ystod pyliau o ddarllen ac ysgrifennu y mae bws data DRAM yn cyflawni lled band bron â'r brig ac mae ei orbenion yn lleihau'r gyfradd data effeithiol.
Ychydig o gynampLlai o orbenion yw:
- amser rhagdal yn cyrchu rhesi yn yr un banc (cyfeiriad mynediad ddim yn yr un ergyd tudalen rhes)
- ysgrifennu amser adfer i newid o ysgrifennu i ddarllen mynediad
- amser troi bws i newid o fynediad darllen i ysgrifennu
Lled Band Effeithiol = Lled Band Uchaf * Effeithlonrwydd
MIG Design Generation
Cyfeiriwch at UG586 Pennod 1 am fanylion cam-wrth-gam ar MIG IP ac exampcynhyrchu dylunio.
Cyn rhedeg efelychiad perfformiad Cyfres MIG 7, gwnewch y canlynol i sicrhau bod eich amgylchedd efelychu yn iawn. Agor y MIG exampdyluniwch a mapiwch y llyfrgelloedd priodol, rhedwch yr efelychiad, a sicrhewch eich bod yn gallu gweld y neges “wedi pasio’r prawf” yn y trawsgrifiad.
I ddangos y llif rwyf wedi cynhyrchu IP MIG ar gyfer xc7vx690tffg1761-2 ac wedi galw'r cynampdylunio.
Dau beth y dylid eu nodi yw darnau cyfeiriad cof a dewis mapio cyfeiriadau cof.
Am gynample, yr wyf wedi dewis MT41J128M8XX-125 o dan y cof rhan gollwng i lawr opsiynau.
Ar gyfer y rhan cof a ddewiswyd o Ffigur-1, rhes = 14, colofn = 10 a banc = 3, felly app_addr_width = rhes + colofn + banc + rheng = 28
Gallwch ddewis naill ai BANK_ROW_COLUMN neu ROW BANK Colofn.
Rwyf wedi gadael ROW BANK Colofn sef y mapio cyfeiriad rhagosodedig.
Example design Efelychu gyda mainc prawf synthesizable
O dan osodiadau Efelychu, dewiswch QuestaSim/ModelSim Simulator a phori i leoliad y llyfrgelloedd a luniwyd.
I gael manylion ar bwyntio at lwybr gosod offer trydydd parti, dewis yr efelychydd targed, a llunio a mapio llyfrgelloedd, gallwch gyfeirio at (UG900) Efelychu Rhesymeg Canllaw Defnyddiwr Ystafell Ddylunio Vivado
Rhedwch yr efelychiad trwy'r GUI (Cliciwch y Tab Efelychu Rhedeg yn rheolwr y prosiect) a gwnewch yn siŵr eich bod chi'n gweld y neges “pasio prawf” yn y trawsgrifiad.
Addasiadau RTL Efelychu Perfformiad
- De-gliciwch y tab ffynonellau, dewiswch “ychwanegu neu greu ffynonellau efelychu”, a phori i'r mig7_perfsim_traffic_generator.sv file a chliciwch gorffen i'w ychwanegu.
- De-gliciwch y tab ffynonellau, dewiswch “ychwanegu neu greu ffynonellau efelychu”, porwch i perfsim_stimulus.txt, a chliciwch gorffen i'w ychwanegu.
- Rhowch sylwadau ar y cynample_top instantiation yn y sim_tb_top.v file.
- Ychwanegwch y llinellau RTL isod i 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;
- gwifren [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
- gwifren [2:0] c0_ddr3_app_cmd;
- gwifren c0_ddr3_app_cy;
- gwifren [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
- gwifren c0_ddr3_app_wdf_end;
- gwifren [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
- gwifren c0_ddr3_app_wdf_wren;
- gwifren [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
- gwifren c0_ddr3_app_rd_data_end;
- gwifren c0_ddr3_app_rd_data_valid;
- gwifren c0_ddr3_app_rdy;
- gwifren c0_ddr3_app_wdf_rdy;
- gwifren c0_data_compare_error;
- gwifren ui_clk;
- gwifren ui_clk_sync_rst;
- gwifren app_sr_req = 0;
- gwifren app_ref_req = 0;
- gwifren app_zq_req = 0;
- gwifren c0_app_wdf_mask =0;
Amrantiad Rheolwr Cof FPGA
mig_7series_0_mig u_mig_7series_0_mig (
// Porthladdoedd rhyngwyneb cof
- .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),
// Porthladdoedd rhyngwyneb cais
- .app_addr (c0_ddr3_app_addr),
- .app_cmd (c0_ddr3_app_cmd),
- .app_cy (c0_ddr3_app_cy),
- .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),
// Porthladdoedd Cloc System
- .sys_clk_i (sys_clk_i),
// Porthladdoedd Cloc Cyfeirnod
- .clk_ref_i (clk_ref_i),
- .sys_rst (sys_rst)
- );
Perfformiad cyflymiad generadur traffig
mig7_perfsim_generadur_traffig#
(
.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_traffig_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_cy (c0_ddr3_app_cy ),
.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. Addasu APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH a BANK_WIDTH yn ôl eich dewis rhan cof.
Gellir cael gwerthoedd gan y _mig.v file. - Gall yr enw amrantiad melyn wedi'i amlygu mig_7series_0_mig amrywio yn seiliedig ar enw'ch cydran yn ystod creu IP, gwiriwch a ydych wedi dewis enw gwahanol a'i newid yn unol â hynny.
- Unwaith y bydd yr IP wedi'i gynhyrchu agorwch y _mig.v file a chroeswirio am unrhyw amrywiadau mewn enwau signal LHS a'u cywiro.
- Dylid cychwyn app_sr_req, app_ref_req ac app_zq_req i 0.
- Fel cynample_top.v yn cael ei sylwadau allan ac yn newydd files yn cael eu hychwanegu, mae'n debyg y byddwch yn gweld “?” wrth ymyl y
mig_7series_0_mig.v file o dan ffynonellau efelychu.
I fapio'r cywir file, cliciwch ar y dde mig_7series_0_mig.v, dewiswch "Ychwanegu Ffynonellau", Pori i
/mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
ac ychwanegu'r mig_7series_0_mig_sim.v file. - Os gwelwch “?” ar gyfer y gwaelodol files, ychwanegwch yr holl RTL files yn y ffolderi clocio, rheolydd, ip_top, phy a UI.
- Unwaith y bydd y newidiadau RTL wedi'u gwneud a'r cyfan sy'n ofynnol files yn cael eu hychwanegu at eich Ffynonellau Efelychu, dylai Hierarchaeth fod yn debyg i Ffigur 5.
Mae'r files wedi'u hamlygu mewn coch yn cael eu hychwanegu o'r newydd, a "?" a ddisgwylir ar fodiwlau cysylltiedig ag ECC gan fod yr opsiwn ECC wedi'i analluogi ar y ffurfweddiad cof a ddewiswyd.
Ysgogiad File Disgrifiad
Mae pob patrwm ysgogiad yn 48 did a disgrifir y fformat yn Ffigurau 6-1 i 6-4.
Amgodio Cyfeiriad (Cyfeiriad [35:0])
Mae'r cyfeiriad wedi'i amgodio yn yr ysgogiad yn unol â Ffigur 7-1 i Ffigur 7-6. Mae angen nodi pob un o'r meysydd cyfeiriad yn y fformat hecsadegol. Mae pob un o'r meysydd cyfeiriad yn lled y gellir ei rannu â phedwar i'w nodi yn y fformat hecsadegol. Dim ond y darnau gofynnol o faes cyfeiriad y mae'r fainc brawf yn eu hanfon at y Rheolwr Cof.
Am gynample, mewn cyfluniad wyth banc, dim ond Bits banc [2:0] sy'n cael eu hanfon at y Rheolydd Cof ac mae'r darnau sy'n weddill yn cael eu hanwybyddu. Darperir y darnau ychwanegol ar gyfer maes cyfeiriad i chi nodi'r cyfeiriad mewn fformat hecsadegol.
Rhaid i chi gadarnhau bod y gwerth a gofnodwyd yn cyfateb i led ffurfweddiad penodol.
- Cyfeiriad Colofn (Colofn[11:0]) – Darperir Cyfeiriad Colofn yn yr ysgogiad hyd at uchafswm o 12 did, ond mae angen i chi fynd i'r afael â hyn yn seiliedig ar y paramedr lled colofn a osodwyd yn eich dyluniad.
- Cyfeiriad Rhes (Rhes[15:0]) – Darperir cyfeiriad rhes yn yr ysgogiad hyd at 16 did ar y mwyaf, ond mae angen i chi fynd i'r afael â hyn yn seiliedig ar y paramedr lled rhes a osodwyd yn eich dyluniad.
- Cyfeiriad Banc (Banc[3:0]) – Darperir cyfeiriad banc yn yr ysgogiad hyd at uchafswm o bedwar did, ond mae angen i chi fynd i'r afael â hyn yn seiliedig ar y paramedr lled banc a osodwyd yn eich dyluniad.
- Cyfeiriad Safle (Safle[3:0]) – Rhoddir cyfeiriad safle yn yr ysgogiad hyd at uchafswm o bedwar did, ond mae angen i chi fynd i'r afael â hyn yn seiliedig ar y paramedr lled rheng a osodwyd yn eich dyluniad.
Mae'r cyfeiriad wedi'i ymgynnull yn seiliedig ar y paramedr lefel uchaf MEM_ADDR_ORDER a'i anfon i'r rhyngwyneb defnyddiwr
Ailadrodd Gorchymyn (Ailadrodd Gorchymyn [7:0])
Y cyfrif ailadrodd gorchymyn yw'r nifer o amser y mae'r gorchymyn priodol yn cael ei ailadrodd yn y Rhyngwyneb Defnyddiwr. Cynyddir y cyfeiriad ar gyfer pob ailadrodd gan 8. Uchafswm y cyfrif ailadrodd yw 128.
Nid yw'r fainc brawf yn gwirio am ffin y golofn ac mae'n lapio o gwmpas os cyrhaeddir terfyn uchaf y golofn yn ystod y cynyddrannau.
Mae'r 128 Gorchymyn yn llenwi'r dudalen. Ar gyfer unrhyw gyfeiriad colofn ac eithrio 0, mae'r cyfrif ailadrodd o 128 yn dod i ben gan groesi ffin y golofn ac yn lapio o gwmpas i ddechrau cyfeiriad y golofn.
Defnydd Bysiau
Cyfrifir y defnydd o fysiau ar y Rhyngwyneb Defnyddiwr gan ystyried cyfanswm y Darllen ac Ysgrifennu a defnyddir yr hafaliad canlynol:
- Mae BL8 yn cymryd pedwar cylch cloc cof
- end_of_stimulus yw'r amser pan fydd yr holl orchmynion yn cael eu gwneud.
- calib_done yw'r amser pan wneir y graddnodi.
Example Patrymau
Mae'r rhain yn gynampmae llai yn seiliedig ar y set MEM_ADDR_ORDER i BANK_ROW_COLUMN.
Patrwm Darllen Sengl
00_0_2_000F_00A_1 - Mae'r patrwm hwn yn un darlleniad o'r 10fed golofn, y 15fed rhes, a'r ail fanc.Patrwm Ysgrifennu Sengl
00_0_1_0040_010_0 - Mae'r patrwm hwn yn un ysgrifen i'r 32ain golofn, y 128fed rhes, a'r banc cyntaf.Ysgrifennu a Darllen Sengl i'r Un Cyfeiriad
00_0_2_000F_00A_0 – Mae'r patrwm hwn yn un ysgrifennu i'r 10fed golofn, y 15fed rhes, a'r ail fanc.
00_0_2_000F_00A_1 – Mae'r patrwm hwn yn un darlleniad o'r 10fed golofn, y 15fed rhes, a'r ail fanc
Ysgrifennu a Darllen Lluosog gyda'r Un Cyfeiriad
0A_0_0_0010_000_0 – Mae hyn yn cyfateb i 10 ysgrifen gyda'r cyfeiriad yn dechrau o 0 i 80 sydd i'w weld yn y golofn.
0A_0_0_0010_000_1 – Mae hyn yn cyfateb i 10 darlleniad gyda'r cyfeiriad yn dechrau o 0 i 80 sydd i'w weld yn y golofn.
Lapio Tudalen Yn ystod Ysgrifennu
0A_0_2_000F_3F8_0 – Mae hyn yn cyfateb i 10 ysgrifen gyda chyfeiriad y golofn wedi'i lapio i ddechrau'r dudalen ar ôl un ysgrifennu.
Efelychu'r Cynhyrchydd Traffig Perfformiad
Ar y pwynt hwn rydych chi wedi gorffen gyda MIG example dylunio efelychiad. Mae hyn yn awgrymu bod eich gosodiad efelychiad yn barod, eich bod wedi gwneud addasiadau RTL efelychiad perfformiad, mae'r hierarchaeth efelychu newydd yn gywir a'ch bod wedi deall y patrymau ysgogi. Rhedeg yr efelychiad unwaith eto gyda 16 yn ysgrifennu ac yn darllen yn perfsim_stimulus.txt.
Arhoswch i gyd, arhoswch nes bod y signal init_calib_complete wedi'i honni, a byddwch yn gallu gweld y nifer arfaethedig o ysgrifennu a darllen. Yna bydd yr efelychiad yn dod i ben.
Pan gewch eich annog i roi'r gorau i efelychu, dewiswch Na ac ewch i'r ffenestr trawsgrifio lle byddwch yn gallu gweld yr ystadegau perfformiad.
Os dewiswch "rhoi'r gorau i efelychu" bydd ystadegau perfformiad yn cael eu hysgrifennu i a file enwir mig_band_width_output.txt wedi'i leoli yn y sim_1/behave ffolder.
Exampllwybr cyfeiriadur:-
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/bihav
Efallai y byddwch yn meddwl tybed pam y canttagMae defnydd bws yn ony 29. Ailredeg yr efelychiad gyda'r un gosodiadau IP ond dim ond newid yr ysgogiad file i 256 yn ysgrifennu a 256 yn darllen
ff_0_0_0000_000_0
ff_0_0_0000_000_1
Byddwch nawr yn gweld y canrantage fel 85, sy'n awgrymu bod DDR3 yn cynnig gwell defnydd o fysiau ar gyfer dilyniant hir o fyrstio ysgrifennu a darllen.
Ffyrdd cyffredinol o Wella Perfformiad
Gellir rhannu'r ffactorau sy'n dylanwadu ar effeithlonrwydd yn ddwy adran:
- Penodol i'r Cof
- Penodol i'r Rheolydd
Mae Ffigur 9 yn rhoi tro i chiview o'r termau sy'n benodol i'r cof.
Yn wahanol i SRAMs ac Atgofion Bloc nid dim ond y gyfradd data uchaf yw perfformiad DDR2 neu DDR3.
Mae'n dibynnu ar lawer o ffactorau amseru, gan gynnwys:
- tRCD: Oedi Gorchymyn Rhes (neu oedi ras i cas).
- tCAS(CL): Colofn cyfeiriad cuddni strôb.
- tRP: Rhes oedi precharge.
- tRAS: Rhes Amser Actif (activate to prechange).
- tRC: Amser beicio rhes. tRC = tRAS + tRP
- tRAC: Oedi mynediad Radom. tRAC = tRCD + tCAS
- tCWL: Cas ysgrifennu hwyrni.
- tZQ: Amser graddnodi ZQ.
- tRFC: Amser Beicio Adnewyddu Rhes
- tWTR: Ysgrifennu i Read oedi. Trafodiad ysgrifennu diwethaf i amser gorchymyn Darllen.
- tWR: Ysgrifennwch amser Adfer. Trafodiad ysgrifennu diwethaf i amser Precharge
Mae amseriad yr holl baramedrau rhestredig yn dibynnu ar y math o gof a ddefnyddir a gradd cyflymder rhan cof.
Mae mwy o fanylion am y diffiniadau a'r manylebau amseru i'w gweld yn DDR2 DDR3 JEDEC neu mewn unrhyw daflen ddata dyfais cof.
Mae effeithlonrwydd yn dibynnu'n bennaf ar sut i gael mynediad at y cof. Mae patrymau cyfeiriad gwahanol yn rhoi canlyniadau effeithlonrwydd gwahanol.
Gorbenion amseru cof
- Amser actifadu ac amser Rhagdalu wrth newid i fanciau/rhesi newydd neu newid rhesi gyda yn yr un banc.- Felly os byddwch yn lleihau newid rhes, gall hyn ddileu tRCD a tRP.
- Anfon gorchmynion ysgrifennu neu ddarllen parhaus - Cynnal amseriad tCCD.
- Lleihau ysgrifennu i ddarllen a darllen i ysgrifennu newid gorchymyn - Ysgrifennwch amser adfer i newid i fynediad darllen, amser troi bws i newid o ddarllen i ysgrifennu
- Gosodwch egwyl adnewyddu iawn.
- Mae DDR3 SDRAM angen cylchoedd Adnewyddu ar gyfartaledd cyfnod cyfnodol o tREFI.
- Gellir rhoi uchafswm o 8 gorchymyn Adnewyddu ychwanegol ymlaen llaw (“tynnu i mewn”). Nid yw hyn yn lleihau'r nifer o adnewyddiadau, ond mae'r cyfwng mwyaf rhwng dau orchymyn Adnewyddu amgylchynol wedi'i gyfyngu i 9 × tREFI
- Defnyddiwch yr holl fanciau - Mae mecanwaith cyfarch addas yn well.
- Colofn Rhes-Banc: Ar gyfer trafodiad sy'n digwydd dros ofod cyfeiriad dilyniannol, mae'r craidd yn agor yr un rhes yn awtomatig ym manc nesaf y ddyfais DRAM i barhau â'r trafodiad pan gyrhaeddir diwedd rhes bresennol. Mae'n addas iawn ar gyfer cymwysiadau sydd angen byrstio pecynnau data mawr i leoliadau cyfeiriad dilyniannol.
- Colofn Banc-Rhes: Wrth groesi ffin rhes, bydd y rhes gyfredol ar gau a bydd rhes arall yn cael ei hagor o fewn yr un clawdd. Cyfeiriad banc yw MSB, y gellir ei ddefnyddio i newid o fanciau gwahanol. Mae'n addas ar gyfer trafodion byrrach, mwy ar hap i un bloc o gof am gyfnod o amser ac yna naid i floc arall (banc)
- Hyd Byrstio
- Cefnogir BL 8 ar gyfer DDR3 ar 7 cyfres. Mae gan BC4 effeithlonrwydd isel iawn sy'n llai na 50%. Mae hyn oherwydd bod amser gweithredu BC4 yr un peth â BL8. Mae'r data newydd gael ei guddio y tu mewn i'r gydran.
- Mewn achosion lle nad ydych am ysgrifennu byrstio llawn, gellir ystyried naill ai mwgwd data neu ysgrifennu ar ôl darllen.
- Gosod cyfwng ZQ iawn (DDR3 yn unig)
Mae'r rheolydd yn anfon gorchmynion Graddnodi ZQ Short (ZQCS) a ZQ Long (ZQCL).- Cadw at y Safon Jedec DDR3
- Trafodir Graddnodi ZQ yn adran 5.5 o'r Safon JEDEC Spec JESD79-3 DDR3 SDRAM
- Mae Graddnodi ZQ yn graddnodi Ar Gyfer Terfynu sy'n Marw (ODT) yn rheolaidd i gyfrif am amrywiadau ar draws VT
- Mae rhesymeg wedi'i chynnwys yn bank_common.v/vhd
- Mae Paramedr Tzqcs yn pennu'r gyfradd yr anfonir gorchymyn Graddnodi ZQ i'r cof
- t yn bosibl analluogi'r cownter ac anfon â llaw gan ddefnyddio app_zq_req, mae'n debyg i anfon Adnewyddiad â llaw.
Cyfeiriwch at (Ateb Xilinx 47924) am fanylion.
Gorbenion y Rheolydd
- Darlleniadau Cyfnodol - Cyfeiriwch at (Ateb Xilinx 43344) am fanylion.
- Peidiwch â newid cyfnod y darlleniad
- Hepgor darlleniadau cyfnodol yn ystod ysgrifennu a chyhoeddi nifer y darlleniadau a fethwyd cyn darlleniad cywir
- Aildrefnu – Cyfeirio (Ateb Xilinx 34392) am fanylion.
Ar gyfer dyluniadau Defnyddiwr a Rhyngwyneb AXI mae'n well galluogi hyn.- Reorder yw'r rhesymeg sy'n edrych ymlaen sawl gorchymyn ac yn newid trefn gorchymyn defnyddiwr i wneud gorchmynion di-gof i beidio â meddiannu lled band dilys. Roedd y perfformiad hefyd yn ymwneud â phatrwm traffig gwirioneddol.
- Yn seiliedig ar y patrwm cyfeiriad, mae ail-archebu yn helpu i hepgor rhagdal ac actifadu gorchmynion ac yn gwneud tRCD a tRP ddim yn meddiannu lled band data.
- Ceisiwch gynyddu nifer y Peiriannau Banc.
- Mae'r rhan fwyaf o resymeg y rheolydd yn gorwedd yn y peiriannau banc ac maent yn cyfateb i fanciau DRAM
- Mae peiriant banc penodol yn rheoli un banc DRAM ar unrhyw adeg benodol.
- Mae aseiniad peiriant banc yn ddeinamig felly nid oes angen cael peiriant banc ar gyfer pob banc ffisegol.
- Gellir ffurfweddu peiriannau banc, ond mae'n gyfaddawd rhwng ardal a pherfformiad.
- Mae'r nifer a ganiateir o beiriannau banc yn amrywio o 2-8.
- Yn ddiofyn, mae 4 Peiriant Banc wedi'u ffurfweddu trwy baramedrau RTL.
- I newid Peiriannau Banc, ystyriwch y paramedr nBANK_MACHS = 8 sydd wedi'i gynnwys yn memc_ui_top Example ar gyfer 8 Peiriannau Banc – nBANK_MACHS = 8
Rydych chi nawr yn ymwybodol o'r ffactorau sy'n dylanwadu ar berfformiad.
Ystyriwch raglen i fyny'r afon sy'n rhoi 512 beit data fesul pecyn ac mae angen i chi eu cadw i leoliadau cof gwahanol. Gan fod 512 beit data yn hafal i 64 o fyrstiadau data DDR3, ail-redwch yr exampdylunio gyda symbyliad file yn cynnwys 512 yn ysgrifennu, 512 yn darllen a newid rhes am bob 64 yn ysgrifennu neu'n darllen:
- 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
Ar ddiwedd yr efelychiad fe welwch fod y defnydd o fysiau ar 77 y cant.
Ffigur 11: Ystadegau Perfformiad ar gyfer 512 yn ysgrifennu a 512 yn darllen – Newid rhes ar gyfer 64 yn ysgrifennu neu'n darllen.
Gallwch nawr gymhwyso'r wybodaeth a ddysgwyd yn yr adran flaenorol i wella effeithlonrwydd. Gydag a view i ddefnyddio pob un o'r banciau yn lle newid y rhes, addasu'r patrwm cyfeiriad i newid y banc fel y dangosir isod.
Mae hyn yn cyfateb i osod ROW_BANK_Column yn y gosodiad mapio cyfeiriad cof yn y 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
Ar ddiwedd yr efelychiad fe welwch fod y Defnydd Bysiau 77 Canran cynharach bellach yn 87!
Os oes angen effeithlonrwydd uwch arnoch o hyd, gallwch fynd am becynnau mawr o 1024 neu 2048 bytes, neu ystyried adnewyddu â llaw.
Nodyn: Nid yw Xilinx yn annog osgoi adnewyddu rheolydd gan ein bod yn ansicr a fyddwch yn gallu cwrdd ag amseriad adnewyddu ceir Jedec sy'n effeithio ar ddibynadwyedd data.
O ochr y rheolydd gallwch newid nBANk_MACH a gweld y gwelliant mewn perfformiad.
Fodd bynnag, gallai hyn effeithio ar amseriad eich dyluniad, cyfeiriwch ato (Ateb Xilinx 36505) am fanylion ar nBANk_MACH
Agorwch y core_name_mig_sim.v file a newid y paramedrau nBANK_MACHS o 4 i 8 ac ail-redeg yr efelychiad. Er mwyn i'r gwerth paramedr ddod i rym mewn caledwedd, mae angen i chi ddiweddaru'r core_name_mig.v file.
Defnyddiais yr un patrwm lle cawsom 87% o ddefnydd bysiau (ffigur -12).
Gyda nBANK_MACHS wedi'i osod i 8, mae'r effeithlonrwydd bellach yn 90%.
Nodwch hefyd fod ½ a ¼ rheolydd yn effeithio'n negyddol ar effeithlonrwydd oherwydd eu cuddni.
Am gynampLe, gan mai dim ond bob 4 cylch CK y gallwn anfon gorchmynion, weithiau mae padin ychwanegol wrth gadw at y manylebau amseru DRAM lleiaf, a all leihau effeithlonrwydd o'r damcaniaethol.
Rhowch gynnig ar wahanol reolwyr i ddod o hyd i'r un sy'n gweddu i'ch gofyniad effeithlonrwydd.
Cyfeiriadau
- Zynq-7000 AP SoC a 7 Cyfres FPGAs MIS v2.3 [UG586]
- Canolfan Atebion MIG Xilinx http://www.xilinx.com/support/answers/34243.html
Hanes Adolygu
13/03/2015 – Rhyddhad cychwynnol
Lawrlwytho PDF: Canllaw Amcangyfrif Perfformiad Xilinx DDR2 MIG 7