XILIX-logo

Xilinx 63234 END FPGA Distributor

XILINX-63234-END-FPGA-Distributor-product

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 langsung. 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 menehi cara sing gampang kanggo entuk efisiensi nggunakake MIG example desain karo bantuan saka bangku test lan rangsangan files ditempelake kene.

Bandwidth sing efektif
Bus data DRAM entuk bandwidth puncak mung sajrone maca lan nulis, lan nduwur sirah nyuda tingkat data sing efektif.

XILINX-63234-END-FPGA-Distributor-anjir-36

Sawetara mantanamples saka overhead punika

  • 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

Siklus jam nransfer data

  • Efisiensi (%) = ——————————————-

Total siklus jam
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 kasebut, aku wis nggawe IP MIG kanggo xc7vx690tffg1761-2 lan ngundang 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.XILINX-63234-END-FPGA-Distributor-fig- (1)

Kanggo bagean memori sing dipilih saka Figure-1, baris = 14, kolom = 10 lan bank = 3, supaya app_addr_width = baris + kolom + bank + pangkat = 28

XILINX-63234-END-FPGA-Distributor-fig- (2)

Sampeyan bisa milih BANK_ROW_COLUMN utawa ROW BANK_COLUMN.
Aku wis ninggalake Kolom ROW BANK, yaiku 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 katrangan 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.XILINX-63234-END-FPGA-Distributor-fig- (3)

Simulasi GUI (Klik Run Simulasi Tab ing project manager) lan priksa manawa sampeyan ndeleng pesen "test liwati" ing transkrip.

Performance Simulasi RTL modifikasi

  1. Klik-tengen ing tab sumber, pilih "nambah utawa nggawe sumber simulasi", telusuri menyang mig7_perfsim_traffic_generator.sv file lan klik rampung kanggo nambah.
  2. Klik-tengen ing tab sumber, pilih "nambah utawa nggawe sumber simulasi", nelusuri perfsim_stimulus.txt, lan klik rampung nambah.
  3. Komen mantanampinstantiation le_top ing sim_tb_top.v file.
  4. Tambah garis RTL ing ngisor iki menyang sim_tb_top,vXILINX-63234-END-FPGA-Distributor-fig- (4)XILINX-63234-END-FPGA-Distributor-fig- (5)XILINX-63234-END-FPGA-Distributor-fig- (6)XILINX-63234-END-FPGA-Distributor-fig- (7)XILINX-63234-END-FPGA-Distributor-fig- (8)
  5. Owahi APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH, H, lan BANK_WIDTH miturut pilihan bagean memori sampeyan. Nilai bisa dipikolehi saka _mig.v file.
  6. Jeneng instan sing disorot kuning mig_7series_0_mig bisa beda-beda adhedhasar jeneng komponen nalika nggawe IP.XILINX-63234-END-FPGA-Distributor-fig- (9)
  7. Sawise IP digawe mbukak _mig.v file lan mriksa salib kanggo sembarang variasi ing jeneng sinyal LHS lan mbenerake.
  8. app_sr_req, app_ref_req, lan app_zq_req kudu diinisialisasi dadi 0.
  9. 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.
  10. Kanggo peta sing bener file, klik kanan mig_7series_0_mig.v, pilih “Add Sources”, telusuri /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl lan tambahake mig_7series_0_mig_sim.v file.
  11. Yen sampeyan ndeleng "?" kanggo dhasar files, nambah kabeh RTL files ing clocking, controller, ip_top, phy, lan folder UI.XILINX-63234-END-FPGA-Distributor-fig- (10)
  12. Sawise pangowahan RTL rampung lan kabeh sing dibutuhake files ditambahake menyang Sumber Simulasi, Hierarki kudu padha karo Gambar 5.
  13. 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 48 bit, lan format kasebut diterangake ing Gambar 6-1 nganti 6-4.

XILINX-63234-END-FPGA-Distributor-fig- (11)

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 diketik cocog karo jembar konfigurasi sing diwenehake.

XILINX-63234-END-FPGA-Distributor-fig- (12)

  • Alamat Kolom (Kolom [11:0]) - Alamat Kolom 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 maksimal 16 bit, nanging sampeyan kudu ngatasi
  • Iki adhedhasar parameter jembar baris 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 (Rank [3: 0]) - Alamat peringkat ing stimulus 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])

  • Count pengulangan printah yaiku kaping pirang-pirang printah kasebut diulang ing Antarmuka Panganggo. Alamat kanggo saben pengulangan ditambah 8. Cacahe pengulangan maksimal yaiku 128.
  • Bangku test ora mriksa wates kolom, lan ngubengi yen watesan kolom maksimal tekan nalika nambah.
  • 128 Prentah ngisi kaca kasebut. Kanggo alamat kolom apa wae kajaba 0, jumlah pengulangan 128 rampung.
  • Wates kolom mbungkus menyang wiwitan alamat kolom.

Panggunaan Bus

Panggunaan bus diwilang ing Antarmuka Panganggo, njupuk jumlah total Waca lan nulis, lan rumus ing ngisor iki digunakake:

XILINX-63234-END-FPGA-Distributor-fig- (13)

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

XILINX-63234-END-FPGA-Distributor-fig- (14)

Pola Tulis Tunggal
00_0_1_0040_010_0 - Pola iki nulis siji menyang kolom 32, baris 128, lan bank pisanan.

XILINX-63234-END-FPGA-Distributor-fig- (15)

Tunggal Tulis lan Waca menyang Alamat sing padha

  • 00_0_2_000F_00A_0 - Pola iki nulis siji menyang kolom kaping 10, baris kaping 15, lan bank kapindho.
  • 00_0_2_000F_00A_1 - Pola iki diwaca siji saka kolom kaping 10, baris kaping 15, lan bank kapindhoXILINX-63234-END-FPGA-Distributor-fig- (16)

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.XILINX-63234-END-FPGA-Distributor-fig- (17)
  • 0A_0_0_0010_000_1 - Iki cocog karo 10 maca kanthi alamat wiwit saka 0 nganti 8,0, sing bisa dideleng ing kolom.XILINX-63a234-END-FPGA-Distributor-fig- (18)

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.

XILINX-63234-END-FPGA-Distributor-fig- (19)

Simulasi Generator Lalu Lintas Kinerja
Ing jalur iki, sampeyan wis rampung karo mantan MIGampsimulasi desain. Iki nuduhake yen persiyapan simulasi wis siyap, sampeyan wis nindakake simulasi kinerja modifikasi RTL, hirarki simulasi anyar bener, lan sampeyan wis ngerti pola rangsangan. Mbukak simulasi maneh karo 16 nulis lan maca ing perfsim_stimulus.txt.

XILINX-63234-END-FPGA-Distributor-fig- (20)

  • Apa mbukak kabeh, ngenteni nganti sinyal init_calib_complete ditegesake, lan sampeyan bakal bisa ndeleng nomer ngajokaken nulis lan maca. Simulasi banjur bakal mandheg.XILINX-63234-END-FPGA-Distributor-fig- (21)
  • Nalika sampeyan dijaluk metu saka simulasi, pilih Ora lan pindhah menyang jendhela transkrip, ing ngendi sampeyan bakal bisa ndeleng statistik kinerja.XILINX-63234-END-FPGA-Distributor-fig- (22)
  • Yen sampeyan milih "mati simulasi," statistik kinerja bakal ditulis menyang a file jenenge mig_band_width_output.txt dumunung ing folder sim_1/behave.
  • Examppath direktori:- /mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavXILINX-63234-END-FPGA-Distributor-fig- (23)

Sampeyan bisa uga wonder kok persentage saka panggunaan bis mung 29. Mlaku 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.

XILINX-63234-END-FPGA-Distributor-fig- (25)

Cara umum kanggo nambah Kinerja
Faktor sing mengaruhi efisiensi bisa dipérang dadi rong bagean:

  1. Spesifik MemoriXILINX-63234-END-FPGA-Distributor-fig- (26)
  2. Pengontrol Spesifik

Gambar 9 menehi sampeyan liwatview saka istilah sing memori-tartamtu.
Boten kados SRAMs lan Block Kenangan, kinerja DDR2 utawa 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
  • tRAC: Tundha akses acak. tRAC = tRCD + tCAS
  • tCWLCAS minangka latensi nulis.
  • 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 standar DDR2 lan DDR3 JEDEC utawa lembar data piranti memori.

Efficiency utamané gumantung carane memori diakses. Pola alamat sing beda menehi asil efisiensi sing beda.

Overhead wektu memori

  1. Wektu aktivasi lan wektu Precharge nalika ngganti menyang bank anyar / larik utawa ngganti larik ing bank padha.- Dadi, sampeyan ngurangi owah-owahan larik, kang bisa mbusak tRCD lan tRP.
  2. Kirimi terus nulis utawa maca printah -Maintaining tCCD wektu.
  3. Nyilikake owah-owahan printah nulis-kanggo-maca lan maca-kanggo-nulis - Tulis wektu pemulihan kanggo ngganti akses maca, lan wektu turnaround bis kanggo ngganti saka maca kanggo nulis.
  4. Setel interval refresh sing tepat.
    • a. DDR3 SDRAM mbutuhake siklus Refresh ing interval périodik rata-rata tREFI.
    • b. 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 × tREFIXILINX-63234-END-FPGA-Distributor-fig- (27)
  5. Gunakake kabeh bank - Mekanisme alamat sing cocog luwih disenengi.
    • a. Baris-Bank-Column: Kanggo transaksi kedadean liwat papan alamat runtut, inti kanthi otomatis mbukak baris padha ing bank sabanjuré piranti DRAM kanggo nerusake transaksi nalika pungkasan baris ana wis tekan. Iku uga cocog kanggo aplikasi sing mbutuhake burst saka paket data gedhe kanggo lokasi alamat urutan.
    • b. Bank-Row-Column: 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 kanggo sawetara wektu, banjur mlumpat menyang blok liyane (bank)
  6. Panjang Burst
    • a. BL 8 didhukung kanggo DDR3 ing seri 7. BC4 nduweni efisiensi sing sithik banget, yaiku kurang saka 50%. Iki amarga wektu eksekusi BC4 padha karo BL8. Data mung masked nang komponen.
    • b. Yen sampeyan ora pengin nulis lengkap, topeng data utawa write-after-read bisa dianggep.
  7. Setel interval ZQ sing tepat (DDR3 Mung)
    Kontroler ngirim perintah Kalibrasi ZQ Short (ZQCS) lan ZQ Long (ZQCL).
    • a. Manut ing DDR3 JEDEC Standard
    • b. Kalibrasi ZQ dibahas ing bagean 5.5 saka JEDEC Spec JESD79-3 DDR3 SDRAM Standard
    • c. Kalibrasi ZQ kalibrasi On-Die Termination (ODT) kanthi interval biasa kanggo nyathet variasi ing VT
    • d. Logika ana ing bank_common.v/vhd
    • e. Parameter Tzqcs nemtokake tingkat ing printah Kalibrasi ZQ dikirim menyang memori
    • f. Sampeyan bisa mateni counter lan kanthi manual ngirim nggunakake app_zq_req, iku Similar kanggo ngirim Refresh kanthi manual. Waca (Jawaban Xilinx 47924) kanggo rincian.XILINX-63234-END-FPGA-Distributor-fig- (28)

Overhead pengontrol

  1. Wacan Berkala - Waca (Jawaban Xilinx 43344) kanggo rincian.
    • a. Aja ngganti wektu maca.
    • b. Lewati maca periodik sajrone nulis lan ngetokake jumlah maca sing ora kejawab sadurunge maca sing bener
  2. Reordering - Waca (Jawaban Xilinx 34392) kanggo rincian. Kanggo desain Pangguna lan Antarmuka AXI, luwih becik ngaktifake iki.
    • a. Reorder minangka logika sing katon ing ngarep sawetara printah lan ngganti urutan printah pangguna supaya printah nonmemory ora ngenggoni bandwidth sing bener. Kinerja kasebut uga ana gandhengane karo pola lalu lintas sing nyata.
    • b. Adhedhasar pola alamat, reorder mbantu ngliwati precharge lan ngaktifake printah lan ndadekake tRCD lan tRP ora ngenggoni bandwidth data.XILINX-63234-END-FPGA-Distributor-fig- (29)
  3. Coba nambah jumlah Mesin Bank.
    • a. Umume logika controller dumunung ing mesin bank, lan padha cocog karo bank-bank DRAM
    • b. A mesin bank diwenehi ngatur bank DRAM siji ing sembarang wektu tartamtu.
    • c. assignment mesin Bank dinamis, supaya ora perlu mesin bank kanggo saben bank fisik.
    • d. mesin Bank bisa diatur, nanging iku tradeoff antarane wilayah lan kinerja.
    • e. Jumlah mesin bank sing diidini kalebu 2-8.
    • f. Kanthi gawan, 4 Mesin Bank dikonfigurasi liwat paramèter RTL.
    • g. 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,t, lan sampeyan kudu nyimpen menyang lokasi memori 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:

XILINX-63234-ENXILINX-63234-END-FPGA-Distributor-anjir- (29)D-FPGA-Distributor-anjir- (30)

Ing pungkasan simulasi, sampeyan bakal weruh yen panggunaan bis ing 77 persen.

XILINX-63234-END-FPGA-Distributor-fig- (31)
Gambar 11: Statistik Kinerja kanggo 512 nulis lan 512 maca - Ngalih baris kanggo 64 nulis utawa maca.

Sampeyan saiki bisa aplikasi kawruh sinau ing bagean sadurungé kanggo nambah efficiency. Kanggo nggunakake kabeh bank tinimbang ngganti baris, ngowahi pola alamat kanggo ngganti bank kaya ing ngisor iki. Iki padha karo setelan ROW_BANK_Column ing setelan pemetaan alamat memori ing MIG GUI.

XILINX-63234-END-FPGA-Distributor-fig- (32)

Ing mburi simulasi, sampeyan bakal weruh sing sadurungé 77 Persen Bus Panggunaan saiki 87!

XILINX-63234-END-FPGA-Distributor-fig- (33)
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 liwat refresh controller, amarga kita ora yakin yen sampeyan bakal bisa ketemu JEDEC otomatis Refresh wektu, kang mengaruhi linuwih data. Saka controller sampeyan bisa ngganti NBANNBANk_MACH kanggo ndeleng dandan kinerja. Nanging, iki bisa mengaruhi wektu desain Panjenengan, Mangga deleng (Jawaban Xilinx 36505) kanggo rincian nBANk_MACH.

XILINX-63234-END-FPGA-Distributor-fig- (33)

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 (Figure 2). Kanthi nBANK_MACHS disetel dadi 8, efisiensi saiki 90%.

XILINX-63234-END-FPGA-Distributor-fig- (35)

Uga, elinga 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

  1. Zynq-7000 AP SoC lan 7 Series FPGAs MIS v2.3 [UG586]
  2. Pusat Solusi Xilinx MIG http://www.xilinx.com/support/answers/34243.html

Riwayat Revisi
13/03/2015 – Rilis awal..

Dokumen / Sumber Daya

Xilinx 63234 END FPGA Distributor [pdf] Pandhuan pangguna
63234 END FPGA Distributor, 63234, END FPGA Distributor, FPGA Distributor

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *