Xilinx-logo

Xilinx DDR2 MIG 7 Performance Estimasi Guide

Xilinx_DDR2_MIG_7_Performance-Estimasi-produk

Catetan penting: PDF anu tiasa diunduh tina Rékam Jawaban ieu disayogikeun pikeun ningkatkeun kagunaan sareng kabaca. Kadé dicatet yén Jawaban Records téh Webeusi dumasar-nu remen diropéa salaku informasi anyar sadia. Anjeun ngingetkeun nganjang ka Rojongan Téknis Xilinx Websitus jeung ulangview (Jawaban Xilinx 63234) pikeun versi panganyarna tina Jawaban ieu.

Bubuka

Kusabab jalan DDR2 na DDR3 kenangan arsiték sarta MIG 7 runtuyan controller dirancang, kinerja henteu lempeng ka hareup.
Merlukeun pamahaman rupa Jedec Timing parameter jeung Arsitéktur controller, tur anjeun bakal kedah ngajalankeun simulasi pikeun meunangkeun perkiraan.
Prinsip umum pikeun nangtukeun kinerja sarua tapi dokumen ieu nyadiakeun cara gampang pikeun ménta efisiensi ngagunakeun MIG example desain kalayan bantuan bangku test na rangsangan files napel dieu.

Bandwidth anu épéktip

Beus data DRAM ngahontal rubakpita anu caket-puncak ngan ukur nalika maca sareng nyerat sareng overhead na nurunkeun tingkat data anu efektif.
Sababaraha exampbiaya overhead nyaéta:

  • waktos precharge ngakses baris di bank sarua (Alamat aksés henteu dina baris-halaman hit sarua)
  • nulis waktu recovery pikeun ngarobah tina nulis kana aksés dibaca
  • waktos turnaround beus pikeun ngarobah tina baca kana aksés nulis

Xilinx DDR2 MIG 7 Performance Estimasi-gbr-28
Bandwidth éféktif = Bandwidth Puncak * Efisiensi 

Generasi Desain MIG

Tingal UG586 Bab 1 pikeun detil léngkah-léngkah ngeunaan MIG IP sareng exampgenerasi desain le.
Sateuacan ngajalankeun simulasi kinerja MIG 7 Series, lakukeun di handap pikeun mastikeun lingkungan simulasi anjeun henteu kunanaon. Buka MIG example ngarancang jeung peta perpustakaan luyu, ngajalankeun simulasi, sarta mastikeun yén anjeun bisa ningali pesen "test lulus" dina transcript nu.
Pikeun nunjukkeun aliran kuring parantos ngahasilkeun IP MIG pikeun xc7vx690tffg1761-2 sareng naroskeun mantan.amprarancang.
Dua hal anu kedah diperhatoskeun nyaéta bit alamat mémori sareng pilihan pemetaan alamat mémori.
Pikeun example, Kuring geus dipilih MT41J128M8XX-125 handapeun bagian memori serelek handap pilihan.Xilinx DDR2 MIG-7-Performance-Estimasi-Gbr-1

Pikeun bagian mémori anu dipilih tina Gambar-1, baris = 14, kolom = 10 sareng bank = 3, janten app_addr_width = baris + kolom + bank + pangkat = 28 Xilinx DDR2 MIG 7 Performance Estimasi-gbr-2

Anjeun tiasa milih BANK_ROW_COLUMN atanapi ROW BANK Kolom.
Kuring geus ninggalkeun ROW BANK Kolom nu pemetaan alamat standar.

Example design Simulasi kalawan bangku test synthesizable

Dina setélan simulasi, pilih QuestaSim / ModelSim Simulator tur kotektak ka lokasi perpustakaan disusun '.
Pikeun detil ngeunaan nunjuk ka jalur masang alat pihak katilu, milih simulator udagan, sareng kompilasi sareng pemetaan perpustakaan, anjeun tiasa ngarujuk kana (UG900) Vivado Design Suite User Guide Logic Simulation.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-3

Ngajalankeun simulasi ngaliwatan GUI (Klik Run Simulasi Tab dina manajer proyék) tur pastikeun Anjeun ningali pesen "test lulus" dina transcript nu.

Performance Simulasi RTL modifikasi

  1. Klik-katuhu dina tab sumber, pilih "tambahkeun atawa jieun sumber simulasi", tur kotektak ka mig7_perfsim_traffic_generator.sv file teras klik rengse pikeun nambahkeun eta.
  2. Klik-katuhu dina tab sumber, pilih "tambahkeun atanapi jieun sumber simulasi", kotektak ka perfsim_stimulus.txt, teras klik bérés pikeun nambihanana.
  3. Komen mantanampinstantiation le_top di sim_tb_top.v file.
  4. Tambahkeun garis RTL handap pikeun 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;
  • kawat [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
  • kawat [2:0] c0_ddr3_app_cmd;
  • kawat c0_ddr3_app_en;
  • kawat [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
  • kawat c0_ddr3_app_wdf_end;
  • kawat [APP_MASK_WIDTH-1: 0] c0_ddr3_app_wdf_mask;
  • kawat c0_ddr3_app_wdf_wren;
  • kawat [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
  • kawat c0_ddr3_app_rd_data_end;
  • kawat c0_ddr3_app_rd_data_valid;
  • kawat c0_ddr3_app_rdy;
  • kawat c0_ddr3_app_wdf_rdy;
  • kawat c0_data_compare_error;
  • kawat ui_clk;
  • kawat ui_clk_sync_rst;
  • kawat app_sr_req = 0;
  • kawat app_ref_req = 0;
  • kawat app_zq_req = 0;
  • kawat c0_app_wdf_mask =0;

FPGA Mémori Controller instantiation

mig_7series_0_mig u_mig_7series_0_mig (
// palabuhan panganteur 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),

// palabuhan panganteur 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),

// Sistim Jam palabuhan

  • .sys_clk_i (sys_clk_i),

// Rujukan Jam Palabuhan

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

Performance lalulintas generator instantiation

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 ),
.mimiti (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. Ngaropéa APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH na BANK_WIDTH nurutkeun pilihan bagian memori Anjeun.
    Nilai tiasa didapet tina _mig.v file.
  • Ngaran instansi anu disorot konéng mig_7series_0_mig tiasa béda-béda dumasar kana nami komponén anjeun nalika nyiptakeun IP, pariksa upami anjeun parantos milih nami anu sanés sareng robih sasuai.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-4
  • Sakali IP dihasilkeun buka _mig.v file sarta cross-mariksa pikeun sagala variasi dina ngaran sinyal LHS tur ngabenerkeun aranjeunna.
  • app_sr_req, app_ref_req sareng app_zq_req kedah diinisialisasi janten 0.
  • Salaku example_top.v ieu commented kaluar jeung anyar files ditambahkeun, Anjeun meureun bakal ningali "?" gigireun
    mig_7series_0_mig.v file dina sumber simulasi.
    Pikeun peta nu bener file, klik katuhu mig_7series_0_mig.v, pilih "Tambahkeun Sumber", Kotektak ka
    /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
    tur nambahkeun mig_7series_0_mig_sim.v file.
  • Upami anjeun ningali "?" pikeun dasarna files, tambahkeun sadayana RTL files dina clocking, controller, ip_top, phy jeung polder UI.
  • Sakali parobihan RTL parantos réngsé sareng sadaya anu diperyogikeun files ditambahkeun kana Sumber Simulasi anjeun, Hierarki kedah sami sareng Gambar 5.
    The files disorot beureum nu anyar ditambahkeun, sarta "?" diperkirakeun dina modul patali ECC salaku konfigurasi memori dipilih boga pilihan ECC ditumpurkeun.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-5

Rangsangan File Katerangan
Unggal pola stimulus nyaéta 48 bit sarta formatna digambarkeun dina Gambar 6-1 ngaliwatan 6-4.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-6

Encoding Alamat (Alamat [35:0])

Alamatna disandikeun dina stimulus sakumaha Gambar 7-1 ka Gambar 7-6. Sadaya widang alamat kedah diasupkeun dina format héksadesimal. Sakabéh widang alamat téh rubak anu bisa dibagi ku opat pikeun nuliskeun dina format héksadesimal. Bangku tés ngan ukur ngirimkeun bit anu diperyogikeun tina widang alamat ka Controller Mémori.
Pikeun example, dina konfigurasi dalapan bank, ngan bank Bits [2:0] dikirim ka Controller Mémori jeung bit sésana teu dipaliré. Bit tambahan pikeun widang alamat disadiakeun pikeun anjeun ngasupkeun alamat dina format héksadesimal.
Anjeun kudu mastikeun nilai diasupkeun pakait jeung lebar konfigurasi dibikeun.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-7

  • Alamat Kolom (Kolom[11:0]) – Alamat kolom dina stimulus disadiakeun pikeun maksimum 12 bit, tapi anjeun kudu alamat ieu dumasar kana parameter lebar kolom diatur dina desain Anjeun.
  • Alamat Baris (Baris[15:0]) – Alamat baris dina stimulus disadiakeun pikeun maksimum 16 bit, tapi anjeun kudu alamat ieu dumasar kana parameter lebar baris diatur dina desain Anjeun.
  • Alamat Bank (Bank[3:0]) – Alamat bank di stimulus disadiakeun pikeun maksimum opat bit, tapi anjeun kudu alamat ieu dumasar kana parameter lebar bank diatur dina rarancang Anjeun.
  • Alamat Rengking (Rengking[3:0]) – Alamat réngking dina stimulus disayogikeun maksimal opat bit, tapi anjeun kedah ngémutan ieu dumasar kana parameter lebar pangkat anu disetél dina desain anjeun.
    Alamatna dirakit dumasar kana parameter MEM_ADDR_ORDER tingkat luhur sareng dikirim ka antarmuka pangguna

Paréntah Ulang (Paréntah Ulang [7:0])
Jumlah pangulangan paréntah nyaéta jumlah waktos paréntah masing-masing diulang dina Panganteur Pangguna. Alamat pikeun tiap pengulangan dironjatkeun ku 8. Jumlah pangulangan maksimum nyaéta 128.
Bangku tés henteu mariksa wates kolom sareng ngabungkus upami wates kolom maksimal ngahontal nalika paningkatan.
128 Paréntah ngeusian halaman. Pikeun alamat kolom lian ti 0, jumlah pengulangan 128 ends nepi meuntas wates kolom jeung wrapping sabudeureun ka mimiti alamat kolom.

Mangpaat beus
Pamakéan beus diitung dina Antarmuka Pamaké kalayan nimbangkeun jumlah Bacaan sareng Tulisan sareng persamaan di handap ieu dianggo:

Xilinx DDR2 MIG 7 Performance Estimasi-gbr-8

  • BL8 nyokot opat siklus jam memori
  • end_of_stimulus mangrupikeun waktos nalika sadaya paréntah parantos réngsé.
  • calib_done nyaéta waktu nalika calibration geus rengse.

Example Pola
Ieu examples dumasar kana MEM_ADDR_ORDER disetel ka BANK_ROW_COLUMN.

Pola Baca Tunggal
00_0_2_000F_00A_1 - Pola ieu mangrupikeun bacaan tunggal tina kolom ka-10, baris ka-15, sareng bank kadua.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-9Pola Tulis Tunggal
00_0_1_0040_010_0 - Pola ieu mangrupikeun tulisan tunggal ka kolom ka-32, baris ka-128, sareng bank kahiji.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-10Tunggal Tulis sareng Baca ka Alamat Anu Sarua
00_0_2_000F_00A_0 – Pola ieu mangrupikeun tulisan tunggal ka kolom ka-10, baris ka-15, sareng bank kadua.
00_0_2_000F_00A_1 – Pola ieu mangrupikeun bacaan tunggal tina kolom ka-10, baris ka-15, sareng bank kaduaXilinx DDR2 MIG 7 Performance Estimasi-gbr-11

Sababaraha Tulisan sareng Bacaan sareng Alamat Anu Sarua
0A_0_0_0010_000_0 – Ieu pakait jeung 10 nulis jeung alamat mimitian ti 0 nepi ka 80 nu bisa ditempo dina kolom.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-12

0A_0_0_0010_000_1 – Ieu pakait jeung 10 dibaca kalawan alamat mimitian ti 0 nepi ka 80 nu bisa ditempo dina kolom.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-13

Page Wrap Salila Nulis
0A_0_2_000F_3F8_0 – Ieu pakait jeung 10 nulis kalawan alamat kolom dibungkus ka awal kaca sanggeus hiji nulis.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-14

Simulating Generator Lalu Lintas Kinerja

Dina titik ieu anjeun geus rengse kalayan MIG example simulasi desain. Ieu ngakibatkeun yen simulasi Anjeun nyetél geus siap, anjeun geus dipigawé simulasi kinerja modifikasi RTL, hirarki simulasi anyar bener jeung anjeun geus dipikaharti pola rangsangan. Ngajalankeun simulasi sakali deui kalawan 16 nulis jeung maca dina perfsim_stimulus.txt.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-15

Ngajalankeun-sadayana, antosan dugi sinyal init_calib_complete negeskeun, tur anjeun bakal tiasa ningali jumlah diusulkeun nulis jeung maca. simulasi nu lajeng bakal eureun. Xilinx DDR2 MIG 7 Performance Estimasi-gbr-16

Nalika anjeun dipenta pikeun kaluar tina simulasi, pilih Henteu sareng angkat ka jandela transkrip dimana anjeun bakal tiasa ningali statistik kinerja. Xilinx DDR2 MIG 7 Performance Estimasi-gbr-17

Lamun anjeun milih "kaluar simulasi" statistik kinerja bakal ditulis ka a file ngaranna mig_band_width_output.txt lokasina di sim_1 / behave polder.

Exampjalur diréktori:-
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavXilinx DDR2 MIG 7 Performance Estimasi-gbr-18

Anjeun bisa heran naha persentage utilization beus téh ony 29. Jalankeun deui simulasi jeung setélan IP sarua tapi ngan ngarobah stimulus file ka 256 nyerat sareng 256 maca

ff_0_0_0000_000_0
ff_0_0_0000_000_1

Anjeun ayeuna bakal ningali persentage salaku 85, nu ngakibatkeun yen DDR3 nawarkeun utilization beus hadé pikeun sekuen panjang nulis jeung maca bursts. Xilinx DDR2 MIG 7 Performance Estimasi-gbr-19

Cara umum pikeun Ngaronjatkeun Performance

Faktor anu mangaruhan efisiensi tiasa dibagi jadi dua bagian:

  1. Mémori Spésifik
  2. Controller SpésifikXilinx DDR2 MIG 7 Performance Estimasi-gbr-20

angka 9 méré Anjeun leuwihview tina istilah anu memori husus.
Teu kawas SRAMs na Blok Kenangan DDR2 atanapi kinerja DDR3 teu ngan laju data maksimum.

Éta gumantung kana seueur faktor waktos, kalebet:

  • tRCD: Baris Komando reureuh (atanapi ras ka cas reureuh).
  • tCAS (CL): Latén strobo alamat kolom.
  • tRP: Baris precharge reureuh.
  • tRAS: Baris Active Time (aktipkeun pikeun prechange).
  • tRC: waktos siklus baris. tRC = tRAS + tRP
  • tTRAC: Radom aksés reureuh. tRAC = tRCD + tCAS
  • tCWL: Cas nulis latency.
  • tZQ: waktos calibration ZQ.
  • tRFC: Baris Refresh Daur Time
  • tWTR: Tulis pikeun Baca reureuh. Panungtungan nulis transaksi ka Baca waktos paréntah.
  • tWR: Tulis waktos Pamulihan. Panungtungan nulis transaksi ka waktos Precharge

Timing sadaya parameter didaptarkeun gumantung kana jenis memori dipaké sarta mémori bagian speed kelas.
Rincian langkung seueur ngeunaan definisi sareng spésifikasi waktos tiasa dipendakan dina DDR2 DDR3 JEDEC atanapi dina lembar data alat mémori.

Efisiensi utamana gumantung kana kumaha memori diaksés. Pola alamat anu béda masihan hasil efisiensi anu béda.

Mémori waktos overheads

  1. waktos aktivasina sarta waktu Precharge nalika ngarobah kana bank anyar / baris atawa ngarobah barisan kalawan di bank sarua.- Ku kituna lamun ngurangan robah baris, ieu bisa nyabut tRCD na tRP.
  2. Kirim kontinyu nulis atawa maca paréntah -Maintaining tCCD timing.
  3. Ngaleutikan nulis pikeun maca sareng maca pikeun nyerat parobihan paréntah - Tulis waktos pamulihan kanggo ngarobih kana aksés maca, waktos turnaround beus kanggo robih tina maca kana nyerat
  4. Setel interval refresh anu pas.
    • DDR3 SDRAM merlukeun siklus Refresh dina interval periodik rata tREFI.
    • Maksimum 8 Paréntah Anyarkeun tambahan tiasa dikaluarkeun sateuacanna ("ditarik"). Ieu henteu ngirangan jumlah refresh, tapi interval maksimal antara dua paréntah Refresh di sakurilingna dugi ka 9 × tREFIXilinx DDR2 MIG 7 Performance Estimasi-gbr-21
  • Mangpaat sadaya bank - Mékanisme alamat anu cocog langkung saé.
    • Baris-Bank-Kolom: Pikeun urus lumangsung ngaliwatan spasi alamat sequential, inti otomatis muka nepi baris sarua dina bank hareup alat DRAM pikeun nuluykeun urus nalika tungtung baris aya geus ngahontal. Éta cocog pikeun aplikasi anu ngabutuhkeun pakét data anu ageung ka lokasi alamat anu berurutan.
    • Bank-Baris-Kolom: Nalika nyebrang wates baris, baris ayeuna bakal ditutup sarta baris sejen bakal dibuka dina bank sarua. MSB mangrupakeun alamat bank, nu bisa dipaké pikeun pindah ti bank béda. Éta cocog pikeun transaksi anu langkung pondok, langkung acak ka hiji blok mémori pikeun sababaraha waktos teras luncat ka blok anu sanés (bank)
  • Panjang Burst
    • BL 8 dirojong pikeun DDR3 on 7 runtuyan. BC4 boga efisiensi pisan low nu kirang ti 50%. Ieu kusabab waktos palaksanaan BC4 sami sareng BL8. Data ieu ngan masked jero komponén.
    • Dina kasus dimana anjeun teu hayang nulis burst pinuh, boh mask data atawa nulis-sanggeus-baca bisa dianggap.
  • Setel interval ZQ anu pas (DDR3 Ngan)
    Controller ngirimkeun paréntah Kalibrasi ZQ Short (ZQCS) sareng ZQ Long (ZQCL).
    • Patuh kana DDR3 Jedec Standar
    • Kalibrasi ZQ dibahas dina bagian 5.5 tina JEDEC Spec JESD79-3 DDR3 SDRAM Standard
    • ZQ Calibration calibrates On Die Termination (ODT) dina interval anu teratur pikeun ngitung variasi dina VT
    • Logika dikandung dina bank_common.v/vhd
    • Parameter Tzqcs nangtukeun laju nu paréntah ZQ Calibration dikirim ka mémori
    • t nyaéta dimungkinkeun pikeun nganonaktipkeun counter jeung sacara manual ngirim ngagunakeun app_zq_req, éta Sarupa jeung sacara manual ngirim Refresh a.
      Tingal (Jawaban Xilinx 47924) pikeun detil.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-22

Overheads Controller

  1. Bacaan périodik - Tingali (Jawaban Xilinx 43344) pikeun detil.
    • Ulah ngarobah periode bacaan
    • Luncat maca périodik nalika nyerat sareng ngaluarkeun jumlah bacaan anu sono sateuacan maca anu leres
  2. Susunan deui - Rujuk (Jawaban Xilinx 34392) pikeun detil.
    Pikeun desain Pangguna sareng Antarmuka AXI langkung saé pikeun ngaktipkeun ieu.
    • Susunan ulang mangrupikeun logika anu ningali payun sababaraha paréntah sareng ngarobih paréntah paréntah pangguna supados paréntah non-memori henteu ngeusian rubakpita anu sah. Kinerja ogé patali jeung pola lalulintas sabenerna.
    • Dumasar pola alamatna, susunan ulang mantuan pikeun ngalewatan precharge jeung ngaktipkeun paréntah sarta ngajadikeun tRCD jeung tRP teu ngeusian lebar pita data.Xilinx DDR2 MIG 7 Performance Estimasi-gbr-23
  3. Coba nambahan jumlah Mesin Bank.
    • Kalolobaan logika controller resides dina mesin bank jeung maranéhna pakait jeung bank DRAM
    • A mesin bank dibikeun ngatur bank DRAM tunggal iraha wae.
    • ngerjakeun mesin bank dinamis jadi teu perlu boga mesin bank pikeun tiap bank fisik.
    • mesin Bank bisa ngonpigurasi, tapi mangrupakeun tradeoff antara wewengkon jeung kinerja.
    • Jumlah allowable mesin bank ti 2-8.
    • Sacara standar, 4 Mesin Bank dikonpigurasi ngaliwatan parameter RTL.
    • Pikeun ngarobah Mesin Bank, mertimbangkeun parameter nBANK_MACHS = 8 dikandung dina memc_ui_top Example pikeun 8 Mesin Bank - nBANK_MACHS = 8

Anjeun ayeuna sadar kana faktor anu mangaruhan kinerja.
Pertimbangkeun aplikasi hulu anu masihan anjeun 512 bait data per pakét sareng anjeun kedah nyimpen éta ka lokasi mémori anu béda. Salaku 512 bait data sarua jeung 64 data DDR3 bursts, ngajalankeun ulang example design kalawan stimulus a file ngandung 512 nyerat, 512 maca sareng ngalih baris pikeun unggal 64 nyerat atanapi 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

Dina ahir simulasi anjeun bakal nempo yén utilization beus pa 77 persen. Xilinx DDR2 MIG 7 Performance Estimasi-gbr-24

Angka 11: Statistik Kinerja pikeun 512 nyerat sareng 512 maca - Ngalihkeun baris pikeun 64 nyerat atanapi maca. 

Anjeun ayeuna tiasa nerapkeun pangaweruh anu diajar dina bagian sateuacana pikeun ningkatkeun efisiensi. Kalayan a view Pikeun ngamangpaatkeun sakabéh bank tinimbang ngarobah baris, ngaropéa pola alamat pikeun ngarobah bank sakumaha ditémbongkeun di handap ieu.
Ieu sarua jeung setelan ROW_BANK_Column dina setelan pemetaan alamat memori dina 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

Dina ahir simulasi anjeun bakal nempo yén saméméhna 77 Persen Bus Utilization ayeuna 87! Xilinx DDR2 MIG 7 Performance Estimasi-gbr-25

Upami anjeun masih ngabutuhkeun efisiensi anu langkung luhur, anjeun tiasa milih ukuran pakét ageung 1024 atanapi 2048 bait, atanapi mertimbangkeun refresh manual.

Catetan: Xilinx teu ajak bypassing controller refresh sabab kami teu yakin lamun bakal bisa papanggih Jedec otomatis refresh timing nu mangaruhan reliabiliti data.
Ti sisi controller Anjeun bisa ngarobah nBANk_MACH tur tingal pamutahiran dina kinerja.
Nanging, ieu tiasa mangaruhan waktos desain anjeun, mangga tingal (Jawaban Xilinx 36505) pikeun detil ngeunaan nBANk_MACHXilinx DDR2 MIG 7 Performance Estimasi-gbr-26

Buka core_name_mig_sim.v file sarta ngarobah parameter nBANK_MACHS tina 4 ka 8 jeung ulang ngajalankeun simulasi. Pikeun mibanda nilai parameter mawa pangaruh dina hardware, anjeun kudu ngamutahirkeun core_name_mig.v file.
I dipaké pola anu sarua dimana urang meunang 87% utilization beus (angka -12).
Kalayan nBANK_MACHS disetel ka 8, efisiensi ayeuna 90%. Xilinx DDR2 MIG 7 Performance Estimasi-gbr-27

Catet ogé yén ½ sareng ¼ controller mangaruhan éfisiénna kusabab laténna.
Pikeun example, saprak urang ngan bisa ngirim paréntah unggal 4 CK siklus aya kadang tambahan padding nalika adhering ka minimum DRAM spésifikasi timing, nu bisa ngurangan efisiensi tina teoritis.
Coba kaluar controller béda pikeun manggihan hiji nu cocog sarat efisiensi Anjeun.

Rujukan

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

Riwayat révisi
13/03/2015 - release awal

Unduh PDF: Xilinx DDR2 MIG 7 Performance Estimasi Guide

Rujukan

Ninggalkeun komentar

alamat surélék anjeun moal diterbitkeun. Widang diperlukeun ditandaan *