Xilinx DDR2 MIG 7 Performance Estimasi Guide
Cathetan Penting: PDF sing bisa didownload saka Rekam Jawaban iki kasedhiya kanggo nambah migunani lan bisa diwaca. Iku penting kanggo Wigati sing Jawaban Records punika Webisi basis sing kerep dianyari minangka informasi anyar kasedhiya. Sampeyan dielingake kanggo ngunjungi Dhukungan Teknis Xilinx Websitus lan review (Jawaban Xilinx 63234) kanggo versi paling anyar saka Jawaban iki.
Pambuka
Amarga saka memori DDR2 lan DDR3 arsitèktur lan MIG 7 controller seri dirancang, kinerja ora terus maju.
Sampeyan mbutuhake pangerten saka macem-macem paramèter Wektu Jedec lan Arsitektur controller, lan sampeyan kudu mbukak simulasi kanggo njaluk prakiraan.
Prinsip umum kanggo nemtokake kinerja padha nanging dokumen iki nyedhiyakake cara sing gampang kanggo entuk efisiensi nggunakake MIG example desain karo bantuan saka test bench lan stimulus files ditempelake kene.
Bandwidth sing efektif
Bus data DRAM entuk bandwidth cedhak-puncak mung sajrone maca lan nulis lan overhead nyuda tingkat data sing efektif.
Sawetara mantanampkurang saka overhead yaiku:
- wektu precharge kanggo ngakses baris ing bank sing padha (Alamat akses ora ana ing kaca baris sing padha)
- nulis wektu Recovery kanggo ngganti saka nulis kanggo akses maca
- wektu turnaround bis kanggo ngganti saka maca kanggo akses nulis
Bandwidth Efektif = Bandwidth Puncak * Efisiensi
MIG Design Generation
Waca UG586 Bab 1 kanggo rincian langkah-langkah ing MIG IP lan exampgenerasi desain.
Sadurunge mbukak simulasi kinerja MIG 7 Series, tindakake ing ngisor iki kanggo mesthekake yen lingkungan simulasi sampeyan apik. Bukak MIG example ngrancang lan map perpustakaan cocok, mbukak simulasi, lan mesthekake yen sampeyan bisa ndeleng pesen "test liwati" ing transcript.
Kanggo nduduhake aliran, aku wis nggawe IP MIG kanggo xc7vx690tffg1761-2 lan njaluk mantanampngrancang.
Rong bab sing kudu dicathet yaiku bit alamat memori lan pilihan pemetaan alamat memori.
Kanggo example, Aku wis milih MT41J128M8XX-125 ing bagean memori pilihan gulung mudhun.
Kanggo bagean memori sing dipilih saka Figure-1, baris = 14, kolom = 10 lan bank = 3, supaya app_addr_width = baris + kolom + bank + pangkat = 28
Sampeyan bisa milih BANK_ROW_COLUMN utawa ROW BANK Column.
Aku wis ninggalake Kolom ROW BANK sing minangka pemetaan alamat standar.
Example desain Simulasi karo bench test synthesizable
Ing setelan Simulasi, pilih QuestaSim / ModelSim Simulator banjur telusuri menyang lokasi perpustakaan sing dikompilasi.
Kanggo rincian babagan ngarahake path instalasi alat pihak katelu, milih simulator target, lan kompilasi lan pemetaan perpustakaan, sampeyan bisa ngrujuk menyang (UG900) Vivado Design Suite User Guide Logic Simulation
Mbukak simulasi liwat GUI (Klik Run Simulasi Tab ing project manager) lan priksa manawa sampeyan ndeleng pesen "test liwati" ing transcript.
Performance Simulasi RTL modifikasi
- Klik-tengen ing tab sumber, pilih "nambah utawa gawe sumber simulasi", lan telusur menyang mig7_perfsim_traffic_generator.sv file lan klik rampung kanggo nambah.
- Klik-tengen ing tab sumber, pilih "nambah utawa nggawe sumber simulasi", nelusuri perfsim_stimulus.txt, lan klik rampung kanggo nambah.
- Komen mantanampinstantiation le_top ing sim_tb_top.v file.
- Tambah garis RTL ing ngisor iki menyang 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;
- kabel [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
- kabel [2:0] c0_ddr3_app_cmd;
- kabel c0_ddr3_app_en;
- kabel [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
- kabel c0_ddr3_app_wdf_end;
- kabel [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
- kabel c0_ddr3_app_wdf_wren;
- kabel [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
- kabel c0_ddr3_app_rd_data_end;
- kabel c0_ddr3_app_rd_data_valid;
- kabel c0_ddr3_app_rdy;
- kabel c0_ddr3_app_wdf_rdy;
- kabel c0_data_compare_error;
- kawat ui_clk;
- kabel ui_clk_sync_rst;
- kabel app_sr_req = 0;
- kabel app_ref_req = 0;
- kabel app_zq_req = 0;
- kabel c0_app_wdf_mask =0;
Instalasi FPGA Memory Controller
mig_7series_0_mig u_mig_7series_0_mig (
// Port antarmuka memori
- .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 antarmuka aplikasi
- .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),
// Sistem Jam Ports
- .sys_clk_i (sys_clk_i),
// Referensi Jam Ports
- .clk_ref_i (clk_ref_i),
- .sys_rst (sys_rst)
- );
Instansiasi generator lalu lintas kinerja
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. Ngowahi APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH lan BANK_WIDTH miturut pilihan bagean memori.
Nilai bisa dipikolehi saka _mig.v file. - Jeneng instantiasi sing disorot kuning mig_7series_0_mig bisa beda-beda adhedhasar jeneng komponen nalika nggawe IP, verifikasi yen sampeyan wis milih jeneng sing beda lan ganti jeneng kasebut.
- Sawise IP digawe, bukak _mig.v file lan mriksa salib kanggo variasi ing jeneng sinyal LHS lan mbenerake.
- app_sr_req, app_ref_req lan app_zq_req kudu diinisialisasi dadi 0.
- Minangka example_top.v wis komentar metu lan anyar files ditambahake, sampeyan bakal bisa ndeleng "?" jejere
mig_7series_0_mig.v file ing sumber simulasi.
Kanggo peta sing bener file, klik kanan mig_7series_0_mig.v, pilih “Add Sources”, Browse to
/mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
lan nambah mig_7series_0_mig_sim.v file. - Yen sampeyan ndeleng "?" kanggo dhasar files, nambah kabeh RTL files ing clocking, controller, ip_top, phy lan UI folder.
- Sawise pangowahan RTL rampung lan kabeh sing dibutuhake files ditambahake menyang Sumber Simulasi, Hierarki kudu padha karo Gambar 5.
Ing files disorot abang anyar ditambahake, lan "?" samesthine ing modul related ECC minangka konfigurasi memori sing dipilih wis pilihan ECC dipatèni.
Stimulus File Katrangan
Saben pola stimulus yaiku 48 bit lan format kasebut diterangake ing Gambar 6-1 nganti 6-4.
Enkoding Alamat (Alamat [35:0])
Alamat dienkode ing stimulus minangka Gambar 7-1 kanggo Gambar 7-6. Kabeh kolom alamat kudu dilebokake ing format heksadesimal. Kabeh kolom alamat minangka jembar sing bisa dibagi papat kanggo mlebu ing format heksadesimal. Bangku test mung ngirim bit sing dibutuhake saka kolom alamat menyang Controller Memori.
Kanggo example, ing wolung konfigurasi bank, mung Bank Bits [2:0] dikirim menyang Memory Controller lan bit isih digatèkaké. Bit ekstra kanggo kolom alamat diwenehake supaya sampeyan bisa ngetik alamat ing format heksadesimal.
Sampeyan kudu ngonfirmasi yen nilai sing dilebokake cocog karo jembar konfigurasi sing diwenehake.
- Alamat Kolom (Kolom[11:0]) – Alamat Column ing stimulus diwenehake maksimal 12 bit, nanging sampeyan kudu ngatasi iki adhedhasar parameter jembar kolom sing disetel ing desain sampeyan.
- Alamat Baris (Baris[15:0]) – Alamat baris ing stimulus diwenehake nganti maksimal 16 bit, nanging sampeyan kudu ngatasi iki adhedhasar parameter jembar baris sing disetel ing desain sampeyan.
- Alamat Bank (Bank[3:0]) – Alamat bank ing stimulus diwenehake maksimal patang bit, nanging sampeyan kudu ngatasi iki adhedhasar parameter jembar bank sing disetel ing desain sampeyan.
- Alamat Pangkat (Pangkat[3:0]) – Alamat peringkat ing rangsangan diwenehake maksimal patang bit, nanging sampeyan kudu ngatasi iki adhedhasar parameter jembar pangkat sing disetel ing desain sampeyan.
Alamat kasebut dirakit adhedhasar parameter MEM_ADDR_ORDER tingkat paling dhuwur lan dikirim menyang antarmuka panganggo
Baleni Baleni (Baleni Perintah [7:0])
Jumlah pengulangan printah yaiku jumlah wektu printah kasebut diulang ing Antarmuka Panganggo. Alamat kanggo saben pengulangan ditambah 8. Cacahe pengulangan maksimal yaiku 128.
Bangku test ora mriksa wates kolom lan mbungkus yen watesan kolom maksimal tekan nalika nambah.
128 Prentah ngisi kaca kasebut. Kanggo alamat kolom liyane saka 0, jumlah pengulangan 128 rampung ngliwati wates kolom lan mbungkus menyang wiwitan alamat kolom.
Panggunaan Bus
Panggunaan bus diwilang ing Antarmuka Panganggo kanthi nimbang jumlah Waca lan Tulis lan rumus ing ngisor iki digunakake:
- BL8 njupuk papat siklus jam memori
- end_of_stimulus yaiku wektu nalika kabeh prentah wis rampung.
- calib_done yaiku wektu nalika kalibrasi rampung.
Example Pola
Iki mantanamples adhedhasar MEM_ADDR_ORDER disetel kanggo BANK_ROW_COLUMN.
Pola Wacan Tunggal
00_0_2_000F_00A_1 - Pola iki minangka maca siji saka kolom kaping 10, baris kaping 15, lan bank kapindho.Pola Tulis Tunggal
00_0_1_0040_010_0 - Pola iki nulis siji menyang kolom 32, baris 128, lan bank pisanan.Tunggal Tulis lan Waca menyang Alamat sing padha
00_0_2_000F_00A_0 – Pola iki minangka tulisan siji nganti kolom kaping 10, baris kaping 15, lan bank kapindho.
00_0_2_000F_00A_1 – Pola iki minangka maca siji saka kolom 10, baris 15, lan bank kapindho
Multiple Nulis lan Waca karo alamat padha
0A_0_0_0010_000_0 – Iki cocog karo 10 nulis kanthi alamat wiwit saka 0 nganti 80 sing bisa dideleng ing kolom.
0A_0_0_0010_000_1 – Iki cocog karo 10 maca kanthi alamat wiwit saka 0 nganti 80 sing bisa dideleng ing kolom.
Wrap Page Sajrone Nulis
0A_0_2_000F_3F8_0 – Iki cocog karo 10 nulis kanthi alamat kolom sing dibungkus ing wiwitan kaca sawise nulis.
Simulasi Generator Lalu Lintas Kinerja
Ing titik iki sampeyan wis rampung karo MIG exampsimulasi desain. Iki nuduhake yen simulasi sampeyan wis siyap, sampeyan wis nindakake simulasi kinerja modifikasi RTL, hirarki simulasi anyar wis bener lan sampeyan wis ngerti pola rangsangan. Mbukak simulasi maneh karo 16 nulis lan maca ing perfsim_stimulus.txt.
Aja mbukak-kabeh, ngenteni nganti sinyal init_calib_complete ditegesake, lan sampeyan bakal bisa ndeleng nomer ngajokaken nulis lan maca. Simulasi banjur bakal mandheg.
Nalika sampeyan dijaluk metu saka simulasi, pilih Ora lan pindhah menyang jendhela transkrip ing ngendi sampeyan bakal bisa ndeleng statistik kinerja.
Yen sampeyan milih "mati simulasi" statistik kinerja bakal ditulis kanggo a file jenenge mig_band_width_output.txt dumunung ing sim_1/behave folder.
Examppath direktori:-
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behav
Sampeyan bisa uga wonder kok persentagpemanfaatan bis iku ony 29. Run maneh simulasi karo setelan IP padha nanging mung ngganti stimulus file kanggo 256 nulis lan 256 maca
ff_0_0_0000_000_0
ff_0_0_0000_000_1
Sampeyan saiki bakal weruh persentage minangka 85, kang gawe katut sing DDR3 nawakake bis luwih apik kanggo urutan dawa nulis lan maca bledosan.
Cara umum kanggo Ngapikake Kinerja
Faktor sing mengaruhi efisiensi bisa dipérang dadi rong bagean:
- Spesifik Memori
- Pengontrol Spesifik
Gambar 9 menehi sampeyan liwatview saka istilah sing memori tartamtu.
Boten kados SRAMs lan Block Kenangan DDR2 utawa kinerja DDR3 ora mung tingkat data maksimum.
Iku gumantung ing akeh faktor wektu, kalebu:
- tRCD: Row Command Tundha (utawa ras kanggo wektu tundha cas).
- tCAS(CL): Latensi strobo alamat kolom.
- tRP: Tundha precharge baris.
- tRAS: Row Active Time (aktifake kanggo prechange).
- tRC: Wektu siklus baris. tRC = tRAS + tRP
- tTRAC: Tundha akses Radom. tRAC = tRCD + tCAS
- tCWL: Cas nulis latensi.
- tZQ: wektu kalibrasi ZQ.
- tRFC: Wektu Siklus Refresh Baris
- tWTR: Tundha Tulis kanggo Waca. transaksi nulis pungkasan kanggo Read wektu printah.
- tWR: Tulis wektu Recovery. transaksi nulis pungkasan kanggo wektu Precharge
Wektu kabeh paramèter sing kadhaptar gumantung saka jinis memori sing digunakake lan kelas kacepetan bagean memori.
Rincian liyane babagan definisi lan spesifikasi wektu bisa ditemokake ing DDR2 DDR3 JEDEC utawa ing lembar data piranti memori.
Efficiency utamané gumantung carane memori diakses. Pola alamat sing beda menehi asil efisiensi sing beda.
Overhead wektu memori
- wektu aktivasi lan wektu Precharge nalika ngganti menyang bank anyar / larik utawa ngganti larik karo ing bank padha.- Dadi yen sampeyan nyuda owah-owahan larik, iki bisa mbusak tRCD lan tRP.
- Kirimi terus nulis utawa maca printah -Maintaining tCCD wektu.
- Nyilikake nulis kanggo maca lan maca kanggo nulis ganti printah - Tulis wektu pemulihan kanggo ngganti akses maca, wektu turnaround bis kanggo ngganti saka maca kanggo nulis
- Setel interval refresh sing tepat.
- DDR3 SDRAM mbutuhake siklus Refresh ing interval périodik rata-rata tREFI.
- Maksimum 8 printah Refresh tambahan bisa ditanggepi luwih dhisik ("ditarik"). Iki ora nyuda jumlah refresh, nanging interval maksimum antarane rong printah Refresh lingkungan diwatesi 9 × tREFI
- Gunakake kabeh bank - Mekanisme alamat sing cocog luwih disenengi.
- Kolom-Bank: Kanggo transaksi kedadean liwat papan alamat runtut, inti kanthi otomatis mbukak baris padha ing bank sabanjuré piranti DRAM kanggo terus transaksi nalika mburi baris ana wis tekan. Iku uga cocog kanggo aplikasi sing mbutuhake burst saka paket data gedhe kanggo lokasi alamat urutan.
- Bank-Baris-Kolom: Nalika ngliwati wates baris, baris saiki bakal ditutup lan baris liyane bakal dibukak ing bank sing padha. MSB minangka alamat bank, sing bisa digunakake kanggo ngalih saka macem-macem bank. Cocog kanggo transaksi sing luwih cendhek, luwih acak menyang siji blok memori sajrone sawetara wektu banjur mlumpat menyang blok liyane (bank)
- Panjang Burst
- BL 8 didhukung kanggo seri DDR3 ing 7. BC4 nduweni efisiensi sing kurang saka 50%. Iki amarga wektu eksekusi BC4 padha karo BL8. Data mung masked nang komponen.
- Yen sampeyan ora pengin nulis lengkap, topeng data utawa write-after-read bisa dianggep.
- Setel interval ZQ sing tepat (DDR3 Mung)
Kontroler ngirim perintah Kalibrasi ZQ Short (ZQCS) lan ZQ Long (ZQCL).- Manut ing DDR3 Jedec Standard
- Kalibrasi ZQ dibahas ing bagean 5.5 saka JEDEC Spec JESD79-3 DDR3 SDRAM Standard
- Kalibrasi ZQ kalibrasi On Die Termination (ODT) kanthi interval reguler kanggo nyathet variasi ing VT
- Logika ana ing bank_common.v/vhd
- Parameter Tzqcs nemtokake tingkat ing printah Kalibrasi ZQ dikirim menyang memori
- t bisa kanggo mateni counter lan ngirim kanthi manual nggunakake app_zq_req, iku Similar kanggo ngirim Refresh kanthi manual.
Deleng (Jawaban Xilinx 47924) kanggo rincian.
Overhead pengontrol
- Wacan Berkala - Waca (Jawaban Xilinx 43344) kanggo rincian.
- Aja ngganti wektu maca
- Lewati maca periodik sajrone nulis lan ngetokake jumlah maca sing ora kejawab sadurunge maca sing bener
- Ngatur maneh - Rujuk (Jawaban Xilinx 34392) kanggo rincian.
Kanggo desain Pangguna lan Antarmuka AXI, luwih becik ngaktifake iki.- Reorder minangka logika sing katon ing ngarep sawetara printah lan ngganti urutan printah pangguna supaya printah non-memori ora ngenggoni bandwidth sing bener. Kinerja kasebut uga ana gandhengane karo pola lalu lintas sing nyata.
- Adhedhasar pola alamat, reorder mbantu nglumpati precharge lan ngaktifake printah lan ndadekake tRCD lan tRP ora ngenggoni jembar pita data.
- Coba nambah jumlah Mesin Bank.
- Umume logika controller dumunung ing mesin bank lan padha karo bank-bank DRAM
- A mesin bank diwenehi ngatur bank DRAM siji ing sembarang wektu tartamtu.
- Assignment mesin Bank dinamis supaya ora perlu duwe mesin bank kanggo saben bank fisik.
- mesin Bank bisa diatur, nanging iku tradeoff antarane wilayah lan kinerja.
- Jumlah mesin bank sing diidini kalebu 2-8.
- Kanthi gawan, 4 Mesin Bank dikonfigurasi liwat paramèter RTL.
- Kanggo ngganti Mesin Bank, nimbang parameter nBANK_MACHS = 8 sing ana ing memc_ui_top Example kanggo 8 Mesin Bank - nBANK_MACHS = 8
Sampeyan saiki ngerti faktor sing mengaruhi kinerja.
Coba aplikasi hulu sing menehi 512 bita data saben paket lan sampeyan kudu nyimpen menyang lokasi memori sing beda. Minangka 512 bita data witjaksono kanggo 64 bledosan data DDR3, mbukak maneh Example desain karo stimulus file ngemot 512 nulis, 512 maca lan ngoper baris kanggo saben 64 nulis utawa maca:
- 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
Ing pungkasan simulasi, sampeyan bakal weruh manawa panggunaan bis ing 77 persen.
Gambar 11: Statistik Kinerja kanggo 512 nulis lan 512 maca - Ngalih baris kanggo 64 nulis utawa maca.
Sampeyan saiki bisa ngetrapake kawruh sing disinaoni ing bagean sadurunge kanggo nambah efisiensi. Kanthi a view kanggo nggunakake kabeh bank tinimbang ngganti baris, ngowahi pola alamat kanggo ngganti bank minangka kapacak ing ngisor iki.
Iki padha karo setelan ROW_BANK_Column ing setelan pemetaan alamat memori ing 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
Ing mburi simulasi sampeyan bakal weruh sing sadurungé 77 Persen Bus Pemanfaatan saiki 87!
Yen sampeyan isih mbutuhake efisiensi sing luwih dhuwur, sampeyan bisa nggunakake ukuran paket gedhe 1024 utawa 2048 bita, utawa nimbang refresh manual.
Cathetan: Xilinx ora nyengkuyung kanggo ngliwati refresh pengontrol amarga kita ora yakin yen sampeyan bakal bisa ketemu wektu refresh otomatis Jedec sing mengaruhi linuwih data.
Saka sisih controller sampeyan bisa ngganti nBANk_MACH lan ndeleng asil dandan ing kinerja.
Nanging, iki bisa mengaruhi wektu desain sampeyan, waca (Jawaban Xilinx 36505) kanggo rincian nBANk_MACH
Bukak core_name_mig_sim.v file lan ngganti paramèter nBANK_MACHS saka 4 kanggo 8 lan maneh simulasi. Kanggo duwe nilai parameter ditrapake ing hardware, sampeyan kudu nganyari core_name_mig.v file.
Aku digunakake pola padha ngendi kita entuk 87% panggunaan bus (tokoh -12).
Kanthi nBANK_MACHS disetel dadi 8, efisiensi saiki 90%.
Elinga uga yen ½ lan ¼ pengontrol mengaruhi efisiensi amarga latensi.
Kanggo example, awit kita mung bisa ngirim printah saben 4 siklus CK ana kadhangkala padding ekstra nalika adhering kanggo spek wektu DRAM minimal, kang bisa nyuda efficiency saka teori.
Coba macem-macem pengontrol kanggo nemokake sing cocog karo kabutuhan efisiensi sampeyan.
Referensi
- Zynq-7000 AP SoC lan 7 Series FPGAs MIS v2.3 [UG586]
- Pusat Solusi Xilinx MIG http://www.xilinx.com/support/answers/34243.html
Riwayat Revisi
13/03/2015 - release dhisikan
Unduh PDF: Xilinx DDR2 MIG 7 Performance Estimasi Guide