Xilinx logosu

Xilinx DDR2 MIG 7 Performans Tahmin Kılavuzu

Xilinx_DDR2_MIG_7_Performans-Tahmini-ürünü

Önemli Not: Yanıt Kaydının bu indirilebilir PDF'si, kullanılabilirliğini ve okunabilirliğini geliştirmek için sağlanmıştır. Yanıt Kayıtlarının WebYeni bilgiler mevcut oldukça sık sık güncellenen tabanlı içerik. Xilinx Teknik Destek'i ziyaret etmeniz hatırlatıldı Website ve yenidenview (Xilinx Cevap 63234) bu Yanıtın en son sürümü için.

giriiş

DDR2 ve DDR3 belleklerin mimari yapısı ve MIG 7 serisi denetleyicinin tasarımı nedeniyle performans basit değildir.
Çeşitli Jedec Zamanlama parametrelerinin ve denetleyici Mimarisinin anlaşılmasını gerektirir ve tahminleri almak için simülasyonlar çalıştırmanız gerekecektir.
Performansı belirlemeye yönelik genel prensip aynıdır ancak bu belge, MIG ex kullanarak verimlilik elde etmenin kolay bir yolunu sağlar.amptest tezgahı ve uyaran yardımıyla tasarım fileburaya eklenmiştir.

Etkili Bant Genişliği

DRAM veri yolu, yalnızca okuma ve yazma patlamaları sırasında zirveye yakın bant genişliğine ulaşır ve ek yükü, etkin veri hızını düşürür.
Birkaç eskiampgenel giderler şunlardır:

  • Aynı kümedeki satırlara erişim için ön yükleme süresi (Erişim adresi aynı satır-sayfa isabetinde değil)
  • yazma erişiminden okuma erişimine geçiş için yazma kurtarma süresi
  • okuma erişiminden yazma erişimine geçmek için veri yolu geri dönüş süresi

Xilinx DDR2 MIG 7 Performans Tahmini-şekil-28
Etkili Bant Genişliği = En Yüksek Bant Genişliği * Verimlilik 

MIG Tasarım Üretimi

MIG IP ve ex hakkında adım adım ayrıntılar için UG586 Bölüm 1'e bakın.ample tasarım üretimi.
MIG 7 Serisi performans simülasyonunu çalıştırmadan önce simülasyon ortamınızın iyi olduğundan emin olmak için aşağıdakileri yapın. MIG ex'i açınampUygun kitaplıkları tasarlayıp eşleyin, simülasyonu çalıştırın ve transkriptte "test başarılı" mesajını gördüğünüzden emin olun.
Akışı göstermek için xc7vx690tffg1761-2 için bir MIG IP oluşturdum ve eskiyi çağırdımamptasarım.
Dikkat edilmesi gereken iki şey, bellek adresi bitleri ve bellek adresi eşleme seçimidir.
ÖrneğinampDosyada, bellek parçası açılır seçenekleri altında MT41J128M8XX-125'i seçtim.Xilinx DDR2 MIG-7-Performans-Tahmini-şekil-1

Şekil-1'den seçilen hafıza kısmı için satır = 14, sütun = 10 ve sıra = 3, yani app_addr_width = satır + sütun + sıra + rütbe = 28 Xilinx DDR2 MIG 7 Performans Tahmini-şekil-2

BANK_ROW_COLUMN veya ROW BANK Sütununu seçebilirsiniz.
Varsayılan adres eşlemesi olan ROW BANK Sütununu bıraktım.

ExampSentezlenebilir test tezgahıyla tasarım simülasyonu

Simülasyon ayarları altında QuestaSim/ModelSim Simulator'u seçin ve derlenen kitaplıkların konumuna göz atın.
Üçüncü taraf araç yükleme yolunu işaretleme, hedef simülatörü seçme ve kitaplıkları derleme ve eşlemeyle ilgili ayrıntılar için (UG900) Vivado Design Suite Kullanıcı Kılavuzu Mantık Simülasyonu'na başvurabilirsiniz.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-3

Simülasyonu GUI aracılığıyla çalıştırın (proje yöneticisinde Simülasyonu Çalıştır Sekmesine tıklayın) ve transkriptte "test başarılı" mesajını gördüğünüzden emin olun.

Performans Simülasyonu RTL değişiklikleri

  1. Kaynaklar sekmesine sağ tıklayın, "simülasyon kaynakları ekle veya oluştur"u seçin ve mig7_perfsim_traffic_generator.sv dosyasına göz atın file ve eklemek için bitir'i tıklayın.
  2. Kaynaklar sekmesine sağ tıklayın, "simülasyon kaynakları ekle veya oluştur"u seçin, perfsim_stimulus.txt dosyasına göz atın ve eklemek için bitir'e tıklayın.
  3. Eski sevgiliyi yorumlayınampsim_tb_top.v'de le_top örneklemesi file.
  4. Aşağıdaki RTL satırlarını sim_tb_top,v'ye ekleyin
  • 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;
  • yerelparametre RANK_WIDTH = 1;
  • tel [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
  • tel [2:0] c0_ddr3_app_cmd;
  • tel c0_ddr3_app_en;
  • kablo [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
  • tel c0_ddr3_app_wdf_end;
  • tel [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
  • tel c0_ddr3_app_wdf_wren;
  • kablo [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
  • kablo c0_ddr3_app_rd_data_end;
  • tel c0_ddr3_app_rd_data_valid;
  • tel c0_ddr3_app_rdy;
  • tel c0_ddr3_app_wdf_rdy;
  • tel c0_data_compare_error;
  • tel ui_clk;
  • tel ui_clk_sync_rst;
  • tel app_sr_req = 0;
  • wire app_ref_req = 0;
  • wire app_zq_req =0;
  • tel c0_app_wdf_mask =0;

FPGA Bellek Denetleyicisi örneklemesi

mig_7series_0_mig u_mig_7series_0_mig (
// Bellek arayüzü bağlantı noktaları

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

// Uygulama arayüzü portları

  • .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 Saati Bağlantı Noktaları

  • .sys_clk_i (sys_clk_i),

// Referans Saat Bağlantı Noktaları

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

Performans trafiği oluşturucu örneklemesi

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. Bellek bölümü seçiminize göre APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH ve BANK_WIDTH'yi değiştirin.
    Değerler şuradan alınabilir: _mig.v file.
  • Sarıyla vurgulanan mig_7series_0_mig örnekleme adı, IP oluşturma sırasında bileşen adınıza göre değişebilir; farklı bir ad seçip seçmediğinizi doğrulayın ve buna göre değiştirin.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-4
  • IP oluşturulduktan sonra açın _mig.v file ve LHS sinyal adlarındaki değişiklikleri çapraz kontrol edip düzeltin.
  • app_sr_req, app_ref_req ve app_zq_req 0 olarak başlatılmalıdır.
  • eskisi gibiample_top.v yorumlandı ve yenilendi fileler eklendiğinde muhtemelen “?” göreceksiniz. yanında
    mig_7series_0_mig.v file simülasyon kaynakları altında.
    Doğru haritayı çıkarmak için filemig_7series_0_mig.v'ye sağ tıklayın, “Kaynak Ekle”yi seçin, Şuraya Gözat
    /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
    ve mig_7series_0_mig_sim.v'yi ekleyin file.
  • Eğer görürsen "?" altta yatan şey için files, tüm RTL'yi ekle fileClocking, Controller, ip_top,phy ve UI klasörlerinde bulunur.
  • RTL değişiklikleri yapıldıktan ve gerekli tüm işlemler tamamlandıktan sonra fileSimülasyon Kaynaklarınıza eklendiğinde Hiyerarşi Şekil 5'e benzer olmalıdır.
    The filekırmızıyla vurgulananlar yeni eklenenlerdir ve “?” Seçilen bellek yapılandırmasında ECC seçeneği devre dışı olduğundan, ECC ile ilgili modüllerde beklenir.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-5

Uyarıcı File Tanım
Her bir uyaran modeli 48 bittir ve format Şekil 6-1'den 6-4'e kadar açıklanmıştır.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-6

Adres Kodlama (Adres [35:0])

Adres, Şekil 7-1'den Şekil 7-6'ya kadar uyaranda kodlanmıştır. Adres alanlarının tamamının onaltılık formatta girilmesi gerekir. Adres alanlarının tümü, onaltılık formatta girilebilmesi için dörde bölünebilen bir genişliktedir. Test tezgahı yalnızca bir adres alanının gerekli bitlerini Bellek Denetleyicisine gönderir.
ÖrneğinampDosyada sekiz sıralı konfigürasyonda, Bellek Denetleyicisine yalnızca sıra Bitleri [2:0] gönderilir ve geri kalan bitler göz ardı edilir. Adres alanı için ekstra bitler, adresi onaltılık formatta girmeniz için sağlanmıştır.
Girilen değerin belirli bir konfigürasyonun genişliğine karşılık geldiğini onaylamanız gerekir.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-7

  • Sütun Adresi (Sütun[11:0]) – Uyarandaki Sütun Adresi maksimum 12 bit olarak sağlanır, ancak bunu tasarımınızda ayarlanan sütun genişliği parametresine göre ele almanız gerekir.
  • Satır Adresi (Satır[15:0]) – Uyarandaki satır adresi maksimum 16 bit olarak sağlanır, ancak bunu tasarımınızda ayarlanan satır genişliği parametresine göre ele almanız gerekir.
  • Banka Adresi (Banka[3:0]) – Uyarandaki banka adresi en fazla dört bit olarak sağlanır, ancak bunu tasarımınızda ayarlanan banka genişliği parametresine göre ele almanız gerekir.
  • Sıra Adresi (Sıra[3:0]) – Uyarandaki sıra adresi maksimum dört bit olarak sağlanır, ancak bunu tasarımınızda ayarlanan sıra genişliği parametresine göre ele almanız gerekir.
    Adres, üst düzey MEM_ADDR_ORDER parametresine göre derlenir ve kullanıcı arayüzüne gönderilir.

Komut Tekrarı (Komut Tekrarı [7:0])
Komut tekrarlama sayısı, ilgili komutun Kullanıcı Arayüzünde tekrarlanma sayısıdır. Her tekrarın adresi 8 artırılır. Maksimum tekrar sayısı 128'dir.
Test tezgahı sütun sınırını kontrol etmez ve artışlar sırasında maksimum sütun sınırına ulaşılıp ulaşılmadığını kontrol eder.
128 Komut sayfayı dolduruyor. 0 dışındaki herhangi bir sütun adresi için, 128'lik tekrar sayısı, sütun sınırını geçerek sütun adresinin başlangıcına kadar sarılır.

Otobüs Kullanımı
Veri yolu kullanımı Kullanıcı Arayüzünde toplam Okuma ve Yazma sayısı dikkate alınarak hesaplanır ve aşağıdaki denklem kullanılır:

Xilinx DDR2 MIG 7 Performans Tahmini-şekil-8

  • BL8 dört bellek saati döngüsü alır
  • end_of_stimulus, tüm komutların yapıldığı zamandır.
  • calib_done kalibrasyonun yapıldığı zamandır.

Example Desenler
Bu eskiampdosyalar, BANK_ROW_COLUMN olarak ayarlanan MEM_ADDR_ORDER'ı temel alır.

Tek Okuma Deseni
00_0_2_000F_00A_1 – Bu model 10. sütun, 15. satır ve ikinci bankadan tek bir okumadır.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-9Tek Yazma Deseni
00_0_1_0040_010_0 – Bu kalıp 32. sütuna, 128. satıra ve ilk bankaya tek bir yazma işlemidir.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-10Aynı Adrese Tek Yazma ve Okuma
00_0_2_000F_00A_0 – Bu model, 10. sütuna, 15. satıra ve ikinci bankaya tek bir yazma işlemidir.
00_0_2_000F_00A_1 – Bu model 10. sütun, 15. satır ve ikinci bankadan tek bir okumadırXilinx DDR2 MIG 7 Performans Tahmini-şekil-11

Aynı Adresle Çoklu Yazma ve Okuma
0A_0_0_0010_000_0 – Bu, sütunda görülen 10'dan 0'e kadar adresli 80 yazmaya karşılık gelir.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-12

0A_0_0_0010_000_1 – Bu, sütunda görülebileceği gibi 10'dan 0'e kadar başlayan adreslerle 80 okumaya karşılık gelir.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-13

Yazma Sırasında Sayfa Kaydırma
0A_0_2_000F_3F8_0 – Bu, bir yazmadan sonra sayfanın başına sarılmış sütun adresiyle 10 yazmaya karşılık gelir.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-14

Performans Trafiği Oluşturucunun Simülasyonu

Bu noktada MIG ex ile işiniz bittiample tasarım simülasyonu. Bu, simülasyon kurulumunuzun hazır olduğu, performans simülasyonu RTL değişiklikleri yaptığınız, yeni simülasyon hiyerarşisinin doğru olduğu ve uyaran modellerini anladığınız anlamına gelir. Perfsim_stimulus.txt dosyasında simülasyonu 16 yazma ve okuma ile bir kez daha çalıştırın.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-15

Run-all yapın, init_calib_complete sinyali onaylanana kadar bekleyin; önerilen yazma ve okuma sayısını görebileceksiniz. Simülasyon daha sonra duracaktır. Xilinx DDR2 MIG 7 Performans Tahmini-şekil-16

Simülasyondan çıkmanız istendiğinde Hayır'ı seçin ve performans istatistiklerini görebileceğiniz transkript penceresine gidin. Xilinx DDR2 MIG 7 Performans Tahmini-şekil-17

Eğer seçerseniz “Simülasyonu bırak” performans istatistikleri bir dosyaya yazılacaktır. file adlandırılmış sim_1/behave dosyasında bulunan mig_band_width_output.txt dosya.

Exampdosya dizini yolu: -
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavXilinx DDR2 MIG 7 Performans Tahmini-şekil-18

Yüzdenin nedenini merak edebilirsiniztagVeri yolu kullanımı yalnızca 29'dur. Simülasyonu aynı IP ayarlarıyla ancak yalnızca uyaranı değiştirerek yeniden çalıştırın. file 256 yazma ve 256 okumaya kadar

ff_0_0_0000_000_0
ff_0_0_0000_000_1

Artık yüzdeyi göreceksiniztage olarak 85; bu, DDR3'ün uzun yazma ve okuma patlamaları dizileri için daha iyi veri yolu kullanımı sunduğu anlamına gelir. Xilinx DDR2 MIG 7 Performans Tahmini-şekil-19

Performansı Artırmanın Genel Yolları

Verimliliği etkileyen faktörler iki bölüme ayrılabilir:

  1. Belleğe Özel
  2. Denetleyiciye ÖzelXilinx DDR2 MIG 7 Performans Tahmini-şekil-20

Şekil 9 size bir genel bakış sunuyorview belleğe özgü terimlerden biridir.
SRAM'lerden ve Blok Belleklerden farklı olarak DDR2 veya DDR3 performansı yalnızca maksimum veri hızı değildir.

Aşağıdakiler de dahil olmak üzere birçok zamanlama faktörüne bağlıdır:

  • tRCD: Satır Komut Gecikmesi (veya ras'tan cas'a gecikme).
  • tCAS(CL): Sütun adresi flaş gecikmesi.
  • tRP: Satır ön yükleme gecikmesi.
  • tRAS: Satır Etkin Zamanı (önceden değiştirmek için etkinleştirin).
  • tRC: Satır döngüsü süresi. tRC = tRAS + tRP
  • tRAC: Radom erişim gecikmesi. tRAC = tRCD + tCAS
  • tCWL: Cas yazma gecikmesi.
  • tZQ: ZQ kalibrasyon süresi.
  • tRFC: Satır Yenileme Döngü Süresi
  • tWTR: Okuma gecikmesine yazma. Okuma komutuna son yazma işlemi zamanı.
  • tWR: Kurtarma süresini yazın. Ön Şarj süresine son yazma işlemi

Listelenen tüm parametrelerin zamanlaması, kullanılan hafıza tipine ve hafıza parçası hız derecesine bağlıdır.
Tanımlar ve zamanlama spesifikasyonları hakkında daha fazla ayrıntıyı DDR2 DDR3 JEDEC'de veya herhangi bir bellek cihazı veri sayfasında bulabilirsiniz.

Verimlilik esas olarak belleğe nasıl erişildiğine bağlıdır. Farklı adres kalıpları farklı verimlilik sonuçları verir.

Bellek zamanlama ek yükleri

  1. Yeni sıralara/satırlara geçerken veya aynı sıradaki satırları değiştirirken aktivasyon süresi ve Önşarj süresi.- Yani satır değişimini azaltırsanız, bu tRCD ve tRP'yi kaldırabilir.
  2. Sürekli yazma veya okuma komutları gönderin -tCCD zamanlamasını koruma.
  3. Okumadan okumaya ve okumadan yazmaya komut geçişini en aza indirin – Okuma erişimlerini değiştirmek için yazma kurtarma süresi, okumadan yazmaya geçiş için veri yolu geri dönüş süresi
  4. Uygun bir yenileme aralığı ayarlayın.
    • DDR3 SDRAM, ortalama periyodik tREFI aralığında Yenileme döngüleri gerektirir.
    • En fazla 8 ek Yenileme komutu önceden verilebilir (“içe çekilmiş”). Bu, yenileme sayısını azaltmaz ancak çevreleyen iki Yenileme komutu arasındaki maksimum aralık 9 × tREFI ile sınırlıdırXilinx DDR2 MIG 7 Performans Tahmini-şekil-21
  • Tüm bankaları kullanın – Uygun bir adresleme mekanizması tercih edilir.
    • Satır-Banka-Sütun: Sıralı bir adres alanı üzerinde gerçekleşen bir işlem için çekirdek, mevcut bir satırın sonuna ulaşıldığında işleme devam etmek üzere DRAM cihazının bir sonraki bankasında aynı satırı otomatik olarak açar. Büyük veri paketlerinin sıralı adres konumlarına dağıtılmasını gerektiren uygulamalara çok uygundur.
    • Banka-Satır-Sütun: Bir sıra sınırını geçtiğinizde mevcut sıra kapatılacak ve aynı sıra içerisinde başka bir sıra açılacaktır. MSB, farklı bankalardan geçiş yapmak için kullanılabilecek bir banka adresidir. Belirli bir süre için bir bellek bloğunda daha kısa, daha rastgele işlemler ve ardından başka bir bloğa (banka) atlamak için uygundur.
  • Patlama Uzunluğu
    • BL 8, 3 serisinde DDR7 için desteklenir. BC4'ün verimliliği %50'nin altındadır. Bunun nedeni BC4'ün yürütme süresinin BL8 ile aynı olmasıdır. Veriler bileşenin içinde maskelenmiştir.
    • Tam seri yazmak istemediğiniz durumlarda veri maskesi veya okuma sonrası yazma düşünülebilir.
  • Uygun bir ZQ aralığı ayarlayın (Yalnızca DDR3)
    Kontrol cihazı hem ZQ Kısa (ZQCS) hem de ZQ Uzun (ZQCL) Kalibrasyon komutlarını gönderir.
    • DDR3 Jedec Standardına uyun
    • ZQ Kalibrasyonu, JEDEC Spec JESD5.5-79 DDR3 SDRAM Standardının 3 bölümünde tartışılmaktadır.
    • ZQ Kalibrasyonu, VT'deki değişiklikleri hesaba katmak için Kalıp Sonlandırmada (ODT) düzenli aralıklarla kalibre eder
    • Mantık bank_common.v/vhd dosyasında bulunur
    • Tzqcs parametresi, ZQ Kalibrasyon komutunun belleğe gönderilme hızını belirler
    • Sayacı devre dışı bırakmak ve app_zq_req kullanarak manuel olarak göndermek mümkündür; bu, manuel olarak bir Yenileme göndermeye benzer.
      Ayrıntılar için (Xilinx Cevap 47924)'e bakın.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-22

Denetleyici Ek Yükleri

  1. Periyodik Okumalar – Bkz. (Xilinx Cevap 43344) Ayrıntılar için.
    • Okuma periyodunu değiştirmeyin
    • Yazma sırasında periyodik okumaları atlayın ve gerçek bir okumadan önce kaçırılan okumaların sayısını verin
  2. Yeniden sıralama – Bakınız (Xilinx Cevap 34392) Ayrıntılar için.
    Kullanıcı ve AXI Arayüzü tasarımları için bunun etkinleştirilmesi tercih edilir.
    • Yeniden sıralama, çeşitli komutların önüne bakan ve bellek dışı komutların geçerli bant genişliğini işgal etmemesini sağlamak için kullanıcı komut sırasını değiştiren mantıktır. Performans aynı zamanda gerçek trafik düzeniyle de ilgilidir.
    • Adres düzenine dayalı olarak yeniden sıralama, ön şarjın atlanmasına ve komutların etkinleştirilmesine yardımcı olur ve tRCD ile tRP'nin veri bant genişliğini işgal etmemesini sağlar.Xilinx DDR2 MIG 7 Performans Tahmini-şekil-23
  3. Banka Makinelerinin sayısını artırmaya çalışın.
    • Denetleyicinin mantığının çoğu banka makinelerinde bulunur ve DRAM bankalarına karşılık gelirler
    • Belirli bir banka makinesi, herhangi bir zamanda tek bir DRAM bankasını yönetir.
    • Banka makine ataması dinamik olduğundan her fiziksel banka için bir banka makinesinin bulunması gerekli değildir.
    • Banka makineleri yapılandırılabilir ancak bu, alan ve performans arasında bir dengedir.
    • İzin verilen banka makinesi sayısı 2-8 arasında değişmektedir.
    • Varsayılan olarak 4 Banka Makinesi RTL parametreleri aracılığıyla yapılandırılır.
    • Banka Makinelerini değiştirmek için memc_ui_top Ex'de bulunan nBANK_MACHS = 8 parametresini göz önünde bulundurunamp8 Banka Makinesi için dosya – nBANK_MACHS = 8

Artık performansı etkileyen faktörlerin farkındasınız.
Size paket başına 512 veri baytı veren bir yukarı akış uygulamasını düşünün ve bunları farklı bellek konumlarına kaydetmeniz gerekir. 512 veri baytı 64 DDR3 veri patlamasına eşit olduğundan, ex'i yeniden çalıştırın.ampbir teşvikle tasarım file 512 yazma, 512 okuma ve her 64 yazma veya okuma için satır değiştirmeyi içerir:

  • 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

Simülasyonun sonunda otobüs kullanımının yüzde 77 olduğunu göreceksiniz. Xilinx DDR2 MIG 7 Performans Tahmini-şekil-24

Şekil 11: 512 yazma ve 512 okuma için Performans İstatistikleri – 64 yazma veya okuma için satır değiştirme. 

Verimliliği artırmak için artık önceki bölümde öğrenilen bilgileri uygulayabilirsiniz. Birlikte view Satırı değiştirmek yerine tüm bankaları kullanmak için, bankayı değiştirmek üzere adres düzenini aşağıda gösterildiği gibi değiştirin.
Bu, MIG GUI'deki bellek adresi eşleme ayarında ROW_BANK_Column ayarına eşdeğerdir.

  • 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

Simülasyonun sonunda, daha önce yüzde 77 olan Otobüs Kullanımının artık 87 olduğunu göreceksiniz! Xilinx DDR2 MIG 7 Performans Tahmini-şekil-25

Hala daha yüksek verimliliğe ihtiyacınız varsa, 1024 veya 2048 baytlık büyük paket boyutlarını tercih edebilir veya manuel yenilemeyi düşünebilirsiniz.

Not: Xilinx, veri güvenilirliğini etkileyen Jedec otomatik yenileme zamanlamasını karşılayıp karşılayamayacağınızdan emin olmadığımız için denetleyici yenilemesinin atlanmasını teşvik etmez.
Denetleyici tarafından nBANk_MACH'ı değiştirebilir ve performanstaki iyileşmeyi görebilirsiniz.
Ancak bu durum tasarım zamanlamanızı etkileyebilir, lütfen bkz. (Xilinx Cevap 36505) nBANk_MACH ile ilgili ayrıntılar içinXilinx DDR2 MIG 7 Performans Tahmini-şekil-26

Core_name_mig_sim.v dosyasını açın file ve nBANK_MACHS parametrelerini 4'ten 8'e değiştirin ve simülasyonu yeniden çalıştırın. Parametre değerinin donanımda etkili olması için core_name_mig.v dosyasını güncellemeniz gerekir. file.
%87 veri yolu kullanımı elde ettiğimiz aynı modeli kullandım (şekil -12).
nBANK_MACHS 8'e ayarlandığında verimlilik artık %90'dır. Xilinx DDR2 MIG 7 Performans Tahmini-şekil-27

Ayrıca ½ ve ¼ denetleyicilerin gecikmeleri nedeniyle verimliliği olumsuz etkilediğini de unutmayın.
Örneğinample, yalnızca her 4 CK döngüsünde bir komut gönderebildiğimiz için, bazen minimum DRAM zamanlama spesifikasyonlarına bağlı kalındığında ekstra dolgu söz konusu olur ve bu da teorik verimliliği azaltabilir.
Verimlilik ihtiyacınıza uygun olanı bulmak için farklı kontrol cihazlarını deneyin.

Referanslar

  1. Zynq-7000 AP SoC ve 7 Serisi FPGA'lar MIS v2.3 [UG586]
  2. Xilinx MIG Çözüm Merkezi http://www.xilinx.com/support/answers/34243.html

Revizyon Geçmişi
13/03/2015 – İlk sürüm

PDF İndir: Xilinx DDR2 MIG 7 Performans Tahmin Kılavuzu

Referanslar

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlenmiştir *