Xilinx-logo

Panduan Estimasi Performa Xilinx DDR2 MIG 7

Xilinx_DDR2_MIG_7_Produk-Estimasi-Kinerja

Catatan Penting: PDF Catatan Jawaban yang dapat diunduh ini disediakan untuk meningkatkan kegunaan dan keterbacaannya. Penting untuk dicatat bahwa Catatan Jawaban adalah Webkonten berbasis yang sering diperbarui seiring tersedianya informasi baru. Anda diingatkan untuk mengunjungi Dukungan Teknis Xilinx Websitus dan ulangview (Xilinx Answer 63234) untuk versi terbaru Jawaban ini.

Perkenalan

Karena cara memori DDR2 dan DDR3 dirancang dan pengontrol seri MIG 7 dirancang, kinerjanya tidak berjalan mulus.
Hal ini memerlukan pemahaman tentang berbagai parameter Waktu Jedec dan Arsitektur pengontrol, dan Anda perlu menjalankan simulasi untuk mendapatkan perkiraannya.
Prinsip umum untuk menentukan kinerja adalah sama tetapi dokumen ini memberikan cara mudah untuk memperoleh efisiensi dengan menggunakan MIG exampdesain file dengan bantuan bangku tes dan stimulus fileterlampir di sini.

Bandwidth yang Efektif

Bus data DRAM mencapai bandwidth mendekati puncak hanya selama lonjakan baca dan tulis dan overhead-nya menurunkan kecepatan data efektif.
Beberapa mantanampjumlah overhead adalah:

  • waktu pengisian awal mengakses baris di bank yang sama (Alamat akses tidak ada di halaman baris yang sama)
  • tulis waktu pemulihan untuk mengubah dari akses tulis ke akses baca
  • waktu penyelesaian bus untuk mengubah dari akses baca ke tulis

Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-28
Bandwidth Efektif = Bandwidth Puncak * Efisiensi 

Generasi Desain MIG

Lihat UG586 Bab 1 untuk detail langkah demi langkah tentang MIG IP dan example generasi desain.
Sebelum menjalankan simulasi kinerja Seri MIG 7, lakukan hal berikut untuk memastikan lingkungan simulasi Anda baik-baik saja. Buka MIG example merancang dan memetakan perpustakaan yang sesuai, menjalankan simulasi, dan memastikan bahwa Anda dapat melihat pesan “tes lulus” di transkrip.
Untuk mendemonstrasikan alirannya, saya telah membuat IP MIG untuk xc7vx690tffg1761-2 dan memanggil exampdesain.
Dua hal yang perlu diperhatikan adalah bit alamat memori dan pemilihan pemetaan alamat memori.
Misalnyaample, saya telah memilih MT41J128M8XX-125 di bawah opsi drop down bagian memori.Xilinx DDR2 MIG-7-Estimasi-Kinerja-gbr-1

Untuk bagian memori yang dipilih dari Gambar-1, baris = 14, kolom = 10 dan bank = 3, jadi app_addr_width = baris + kolom + bank + rank= 28 Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-2

Anda dapat memilih Kolom BANK_ROW_COLUMN atau ROW BANK.
Saya telah meninggalkan Kolom ROW BANK yang merupakan pemetaan alamat default.

Example desain Simulasi dengan bangku tes yang dapat disintesis

Di bawah Pengaturan simulasi, pilih QuestaSim/ModelSim Simulator dan telusuri ke lokasi perpustakaan yang dikompilasi.
Untuk detail tentang menunjuk ke jalur pemasangan alat pihak ketiga, memilih simulator target, dan menyusun serta memetakan perpustakaan, Anda dapat merujuk ke (UG900) Panduan Pengguna Vivado Design Suite Simulasi LogikaEstimasi Kinerja Xilinx DDR2 MIG 7-gbr-3

Jalankan simulasi melalui GUI (Klik Tab Jalankan Simulasi di manajer proyek) dan pastikan Anda melihat pesan “tes lulus” di transkrip.

Modifikasi RTL Simulasi Kinerja

  1. Klik kanan tab sumber, pilih “tambah atau buat sumber simulasi”, dan ramban ke mig7_perfsim_traffic_generator.sv file dan klik selesai untuk menambahkannya.
  2. Klik kanan tab sumber, pilih “tambah atau buat sumber simulasi”, telusuri perfsim_stimulus.txt, dan klik selesai untuk menambahkannya.
  3. Komentari mantannyaample_top instantiasi di sim_tb_top.v file.
  4. Tambahkan baris RTL di bawah ini ke sim_tb_top,v
  • parameter lokal APP_ADDR_WIDTH = 28;
  • parameter lokal APP_DATA_WIDTH = 64;
  • parameter lokal APP_MASK_WIDTH = APP_DATA_WIDTH / 8;
  • localparam MEM_ADDR_ORDER = “BANK_ROW_COLUMN”;
  • parameter lokal BANK_WIDTH = 3;
  • parameter lokal 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;
  • kawat c0_data_compare_error;
  • kawat ui_clk;
  • kabel 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;

Instansiasi Pengontrol Memori FPGA

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 (aplikasi_sr_req),
  • .app_ref_req (app_ref_req),
  • .app_zq_req (aplikasi_zq_req),
  • .app_sr_active (aplikasi_sr_aktif),
  • .app_ref_ack (app_ref_ack),
  • .app_zq_ack (aplikasi_zq_ack),
  • .ui_clk (ui_clk),
  • .ui_clk_sync_rst (ui_clk_sync_rst),
  • .app_wdf_mask (c0_ddr3_app_wdf_mask),

// Port Jam Sistem

  • .sys_clk_i (sys_clk_i),

// Referensi Port Jam

  • .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 ),
.pertama (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. Ubah APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH dan BANK_WIDTH sesuai pilihan bagian memori Anda.
    Nilai dapat diperoleh dari _mig.v file.
  • Nama instantiasi yang disorot kuning mig_7series_0_mig dapat bervariasi berdasarkan nama komponen Anda selama pembuatan IP, verifikasi apakah Anda telah memilih nama yang berbeda dan ubahlah sesuai dengan itu.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-4
  • Setelah IP dibuat, buka _mig.v file dan memeriksa ulang setiap variasi nama sinyal LHS dan memperbaikinya.
  • app_sr_req, app_ref_req dan app_zq_req harus diinisialisasi ke 0.
  • Sebagai mantanample_top.v dikomentari dan baru files ditambahkan, Anda mungkin akan melihat “?” di samping
    mig_7series_0_mig.v file di bawah sumber simulasi.
    Untuk memetakan yang benar file, klik kanan mig_7series_0_mig.v, pilih “Tambahkan Sumber”, Telusuri ke
    /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
    dan tambahkan mig_7series_0_mig_sim.v file.
  • Jika kamu melihat "?" untuk yang mendasarinya files, tambahkan semua RTL files di folder clocking, controller, ip_top,phy dan UI.
  • Setelah perubahan RTL selesai dan semua yang diperlukan files ditambahkan ke Sumber Simulasi Anda, Hirarki harus serupa dengan Gambar 5.
    Itu fileyang disorot dengan warna merah baru ditambahkan, dan “?” diharapkan pada modul terkait ECC karena konfigurasi memori yang dipilih menonaktifkan opsi ECC.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-5

Rangsangan File Keterangan
Setiap pola stimulus berukuran 48 bit dan formatnya dijelaskan pada Gambar 6-1 hingga 6-4.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-6

Pengkodean Alamat (Alamat [35:0])

Alamat tersebut dikodekan dalam stimulus sesuai Gambar 7-1 hingga Gambar 7-6. Semua bidang alamat harus dimasukkan dalam format heksadesimal. Semua kolom alamat memiliki lebar yang habis dibagi empat untuk dimasukkan dalam format heksadesimal. Bangku tes hanya mengirimkan bit bidang alamat yang diperlukan ke Pengontrol Memori.
MisalnyaampMisalnya, dalam konfigurasi delapan bank, hanya Bit bank [2:0] yang dikirim ke Pengontrol Memori dan bit sisanya diabaikan. Bit tambahan untuk bidang alamat disediakan agar Anda dapat memasukkan alamat dalam format heksadesimal.
Anda harus memastikan nilai yang dimasukkan sesuai dengan lebar konfigurasi tertentu.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-7

  • Kolom Alamat (Kolom[11:0]) – Kolom Alamat dalam stimulus diberikan maksimal 12 bit, namun Anda perlu mengatasinya berdasarkan parameter lebar kolom yang diatur dalam desain Anda.
  • Alamat Baris (Baris[15:0]) – Alamat baris dalam stimulus diberikan maksimal 16 bit, namun Anda perlu mengatasinya berdasarkan parameter lebar baris yang diatur dalam desain Anda.
  • Alamat Bank (Bank[3:0]) – Alamat bank dalam stimulus diberikan maksimal empat bit, namun Anda perlu mengatasinya berdasarkan parameter lebar bank yang ditetapkan dalam desain Anda.
  • Alamat Peringkat (Peringkat[3:0]) – Alamat peringkat dalam stimulus diberikan maksimal empat bit, tetapi Anda perlu mengatasinya berdasarkan parameter lebar peringkat yang ditetapkan dalam desain Anda.
    Alamat dikumpulkan berdasarkan parameter MEM_ADDR_ORDER tingkat atas dan dikirim ke antarmuka pengguna

Pengulangan Perintah (Pengulangan Perintah [7:0])
Jumlah pengulangan perintah adalah berapa kali masing-masing perintah diulangi di Antarmuka Pengguna. Alamat untuk setiap pengulangan bertambah 8. Jumlah pengulangan maksimum adalah 128.
Bangku tes tidak memeriksa batas kolom dan membungkus jika batas kolom maksimum tercapai selama penambahan.
128 Perintah mengisi halaman. Untuk alamat kolom apa pun selain 0, jumlah pengulangan 128 akan melewati batas kolom dan memutar ke awal alamat kolom.

Pemanfaatan Bus
Pemanfaatan bus dihitung di Antarmuka Pengguna dengan mempertimbangkan jumlah total Baca dan Tulis dan persamaan berikut digunakan:

Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-8

  • BL8 membutuhkan empat siklus jam memori
  • end_of_stimulus adalah waktu ketika semua perintah dilakukan.
  • calib_done adalah waktu kalibrasi selesai.

Example Pola
Mantan iniampFile didasarkan pada MEM_ADDR_ORDER yang disetel ke BANK_ROW_COLUMN.

Pola Bacaan Tunggal
00_0_2_000F_00A_1 – Pola ini adalah pembacaan tunggal dari kolom ke-10, baris ke-15, dan bank kedua.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-9Pola Tulis Tunggal
00_0_1_0040_010_0 – Pola ini merupakan penulisan tunggal pada kolom ke-32, baris ke-128, dan bank pertama.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-10Tulis Tunggal dan Baca ke Alamat yang Sama
00_0_2_000F_00A_0 – Pola ini adalah penulisan tunggal pada kolom ke-10, baris ke-15, dan bank kedua.
00_0_2_000F_00A_1 – Pola ini merupakan pembacaan tunggal dari kolom ke-10, baris ke-15, dan baris keduaEstimasi Kinerja Xilinx DDR2 MIG 7-gbr-11

Banyak Penulisan dan Pembacaan dengan Alamat yang Sama
0A_0_0_0010_000_0 – Ini setara dengan 10 penulisan dengan alamat mulai dari 0 hingga 80 yang dapat dilihat pada kolom.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-12

0A_0_0_0010_000_1 – Ini sesuai dengan 10 pembacaan dengan alamat mulai dari 0 hingga 80 yang dapat dilihat di kolom.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-13

Bungkus Halaman Selama Penulisan
0A_0_2_000F_3F8_0 – Ini setara dengan 10 penulisan dengan alamat kolom ditempatkan di awal halaman setelah satu kali penulisan.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-14

Mensimulasikan Performance Traffic Generator

Pada titik ini Anda selesai dengan MIG exampsimulasi desain le. Ini berarti bahwa pengaturan simulasi Anda sudah siap, Anda telah melakukan modifikasi RTL simulasi kinerja, hierarki simulasi baru sudah benar dan Anda telah memahami pola stimulus. Jalankan simulasi sekali lagi dengan 16 kali tulis dan baca di perfsim_stimulus.txt.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-15

Lakukan run-all, tunggu hingga sinyal init_calib_complete ditegaskan, dan Anda akan dapat melihat jumlah penulisan dan pembacaan yang diusulkan. Simulasi kemudian akan berhenti. Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-16

Saat Anda diminta untuk keluar dari simulasi, pilih Tidak dan buka jendela transkrip di mana Anda dapat melihat statistik kinerja. Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-17

Jika Anda memilih “keluar dari simulasi” statistik kinerja akan ditulis ke a file bernama mig_band_width_output.txt terletak di sim_1/behave map.

Example jalur direktori: -
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavEstimasi Kinerja Xilinx DDR2 MIG 7-gbr-18

Anda mungkin bertanya-tanya mengapa persennyatagpemanfaatan bus hanya 29. Jalankan kembali simulasi dengan pengaturan IP yang sama tetapi hanya mengubah stimulus file menjadi 256 menulis dan 256 membaca

ff_0_0_0000_000_0
ff_0_0_0000_000_1

Anda sekarang akan melihat persennyatage sebagai 85, yang berarti bahwa DDR3 menawarkan pemanfaatan bus yang lebih baik untuk rangkaian penulisan dan pembacaan yang panjang. Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-19

Cara umum untuk Meningkatkan Kinerja

Faktor-faktor yang mempengaruhi efisiensi dapat dibagi menjadi dua bagian:

  1. Memori Spesifik
  2. Khusus PengontrolEstimasi Kinerja Xilinx DDR2 MIG 7-gbr-20

Gambar 9 memberi Anda gambaran lebihview istilah yang khusus untuk memori.
Berbeda dengan SRAM dan Block Memories, kinerja DDR2 atau DDR3 bukan hanya kecepatan data maksimum.

Hal ini bergantung pada banyak faktor waktu, termasuk:

  • tRCD: Penundaan Perintah Baris (atau penundaan ras ke cas).
  • tCAS(CL): Latensi strobo alamat kolom.
  • tRP: Penundaan pengisian awal baris.
  • tras: Baris Waktu Aktif (aktifkan untuk melakukan perubahan awal).
  • tRC: Waktu siklus baris. tRC = tRAS + tRP
  • jalur: Penundaan akses Radom. tRAC = tRCD + tCAS
  • tCWL: Cas menulis latensi.
  • tZQ: Waktu kalibrasi ZQ.
  • tRFC: Waktu Siklus Penyegaran Baris
  • tWTR: Penundaan Tulis ke Baca. Tulis transaksi terakhir ke waktu perintah Baca.
  • tWR: Tulis waktu Pemulihan. Transaksi tulis terakhir pada waktu Precharge

Pengaturan waktu semua parameter yang tercantum bergantung pada jenis memori yang digunakan dan tingkat kecepatan bagian memori.
Rincian lebih lanjut mengenai definisi dan spesifikasi pengaturan waktu dapat ditemukan di DDR2 DDR3 JEDEC atau di lembar data perangkat memori apa pun.

Efisiensi terutama bergantung pada bagaimana memori diakses. Pola alamat yang berbeda memberikan hasil efisiensi yang berbeda pula.

Overhead waktu memori

  1. Waktu aktivasi dan waktu Precharge saat berpindah ke bank/baris baru atau mengganti baris di bank yang sama.- Jadi jika Anda mengurangi perubahan baris, ini dapat menghapus tRCD dan tRP.
  2. Kirim perintah tulis atau baca terus menerus -Menjaga waktu tCCD.
  3. Minimalkan pergantian perintah tulis ke baca dan baca ke tulis – Waktu pemulihan tulis untuk mengubah akses baca, waktu penyelesaian bus untuk mengubah dari baca ke tulis
  4. Tetapkan interval penyegaran yang tepat.
    • DDR3 SDRAM memerlukan siklus Refresh pada interval periodik rata-rata tREFI.
    • Maksimum 8 perintah Refresh tambahan dapat dikeluarkan terlebih dahulu (“ditarik”). Ini tidak mengurangi jumlah penyegaran, tetapi interval maksimum antara dua perintah Penyegaran di sekitarnya dibatasi hingga 9 × tREFIEstimasi Kinerja Xilinx DDR2 MIG 7-gbr-21
  • Memanfaatkan semua bank – Mekanisme pengalamatan yang sesuai lebih disukai.
    • Baris-Bank-Kolom: Untuk transaksi yang terjadi melalui ruang alamat berurutan, inti secara otomatis membuka baris yang sama di bank berikutnya pada perangkat DRAM untuk melanjutkan transaksi ketika akhir dari baris yang ada tercapai. Ini sangat cocok untuk aplikasi yang memerlukan ledakan paket data besar ke lokasi alamat berurutan.
    • Kolom Baris Bank: Ketika melewati batas baris, baris saat ini akan ditutup dan baris lainnya akan dibuka dalam bank yang sama. MSB adalah alamat bank yang dapat digunakan untuk berpindah dari bank yang berbeda. Cocok untuk transaksi yang lebih pendek dan acak ke satu blok memori untuk jangka waktu tertentu dan kemudian melompat ke blok lain (bank)
  • Panjang Ledakan
    • BL 8 didukung untuk DDR3 pada seri 7. BC4 memiliki efisiensi yang sangat rendah yaitu kurang dari 50%. Hal ini karena waktu eksekusi BC4 sama dengan BL8. Datanya hanya disembunyikan di dalam komponen.
    • Jika Anda tidak ingin menulis burst penuh, masker data atau tulis-setelah-baca dapat dipertimbangkan.
  • Atur interval ZQ yang tepat (Hanya DDR3)
    Pengontrol mengirimkan perintah Kalibrasi ZQ Short (ZQCS) dan ZQ Long (ZQCL).
    • Patuhi Standar DDR3 Jedec
    • Kalibrasi ZQ dibahas di bagian 5.5 dari Standar JEDEC Spec JESD79-3 DDR3 SDRAM
    • Kalibrasi ZQ mengkalibrasi On Die Termination (ODT) secara berkala untuk memperhitungkan variasi di seluruh VT
    • Logikanya terkandung di bank_common.v/vhd
    • Parameter Tzqcs menentukan kecepatan pengiriman perintah Kalibrasi ZQ ke memori
    • Anda dapat menonaktifkan penghitung dan mengirim secara manual menggunakan app_zq_req, mirip dengan mengirim Refresh secara manual.
      Lihat (Jawaban Xilinx 47924) untuk detailnya.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-22

Overhead Pengontrol

  1. Bacaan Berkala – Lihat (Jawaban Xilinx 43344) untuk rinciannya.
    • Jangan mengubah periode pembacaan
    • Lewati pembacaan berkala selama penulisan dan keluarkan jumlah pembacaan yang terlewat sebelum pembacaan yang sebenarnya
  2. Pemesanan Ulang – Lihat (Jawaban Xilinx 34392) untuk rinciannya.
    Untuk desain Antarmuka Pengguna dan AXI, sebaiknya ini diaktifkan.
    • Penyusunan ulang adalah logika yang melihat ke depan beberapa perintah dan mengubah urutan perintah pengguna agar perintah non-memori tidak menempati bandwidth yang valid. Kinerja juga berhubungan dengan pola lalu lintas aktual.
    • Berdasarkan pola alamat, pemesanan ulang membantu melewatkan perintah pengisian awal dan mengaktifkan serta membuat tRCD dan tRP tidak menempati lebar pita data.Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-23
  3. Cobalah untuk menambah jumlah Mesin Bank.
    • Sebagian besar logika pengontrol berada di mesin bank dan berhubungan dengan bank DRAM
    • Mesin bank tertentu mengelola satu bank DRAM pada waktu tertentu.
    • Penugasan mesin bank bersifat dinamis sehingga tidak perlu memiliki mesin bank untuk setiap bank fisik.
    • Mesin bank dapat dikonfigurasi, namun ini merupakan tradeoff antara area dan kinerja.
    • Jumlah mesin bank yang diperbolehkan berkisar antara 2-8.
    • Secara default, 4 Mesin Bank dikonfigurasi melalui parameter RTL.
    • Untuk mengubah Mesin Bank, perhatikan parameter nBANK_MACHS = 8 yang terdapat pada memc_ui_top Example untuk 8 Mesin Bank – nBANK_MACHS = 8

Anda sekarang mengetahui faktor-faktor yang mempengaruhi kinerja.
Pertimbangkan aplikasi upstream yang memberi Anda 512 byte data per paket dan Anda perlu menyimpannya ke lokasi memori berbeda. Karena 512 byte data sama dengan 64 semburan data DDR3, jalankan kembali example desain dengan stimulus file berisi 512 penulisan, 512 pembacaan, dan peralihan baris untuk setiap 64 penulisan atau pembacaan:

  • 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

Di akhir simulasi Anda akan melihat bahwa utilisasi bus mencapai 77 persen. Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-24

Gambar 11: Statistik Kinerja untuk 512 penulisan dan 512 pembacaan – Peralihan baris untuk 64 penulisan atau pembacaan. 

Anda sekarang dapat menerapkan pengetahuan yang dipelajari di bagian sebelumnya untuk meningkatkan efisiensi. Dengan view untuk memanfaatkan semua bank daripada mengubah baris, ubah pola alamat untuk mengubah bank seperti yang ditunjukkan di bawah ini.
Ini setara dengan pengaturan ROW_BANK_Column dalam pengaturan pemetaan alamat memori di 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

Di akhir simulasi Anda akan melihat bahwa Pemanfaatan Bus yang sebelumnya 77 Persen kini menjadi 87! Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-25

Jika Anda masih memerlukan efisiensi yang lebih tinggi, Anda dapat menggunakan ukuran paket besar 1024 atau 2048 byte, atau mempertimbangkan penyegaran manual.

Catatan: Xilinx tidak menganjurkan melewati penyegaran pengontrol karena kami tidak yakin apakah Anda dapat memenuhi waktu penyegaran otomatis Jedec yang memengaruhi keandalan data.
Dari sisi pengontrol Anda dapat mengubah nBANk_MACH dan melihat peningkatan kinerja.
Namun, ini mungkin mempengaruhi waktu desain Anda, silakan lihat (Jawaban Xilinx 36505) untuk detail tentang nBANk_MACHEstimasi Kinerja Xilinx DDR2 MIG 7-gbr-26

Buka core_name_mig_sim.v file dan ubah parameter nBANK_MACHS dari 4 menjadi 8 dan jalankan kembali simulasi. Agar nilai parameter diterapkan di perangkat keras, Anda perlu memperbarui core_name_mig.v file.
Saya menggunakan pola yang sama dimana kita mendapatkan 87% pemanfaatan bus (gambar -12).
Dengan nBANK_MACHS disetel ke 8, efisiensinya kini mencapai 90%. Estimasi Kinerja Xilinx DDR2 MIG 7-gbr-27

Perhatikan juga bahwa pengontrol ½ dan ¼ berdampak negatif terhadap efisiensi karena latensinya.
Misalnyaampmisalnya, karena kami hanya dapat mengirimkan perintah setiap 4 siklus CK, terkadang terdapat padding tambahan ketika mengikuti spesifikasi pengaturan waktu DRAM minimum, yang dapat menurunkan efisiensi dari teori.
Cobalah pengontrol yang berbeda untuk menemukan pengontrol yang sesuai dengan kebutuhan efisiensi Anda.

Referensi

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

Riwayat Revisi
13/03/2015 – Rilis awal

Unduhan PDF: Panduan Estimasi Performa Xilinx DDR2 MIG 7

Referensi

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *