Xilinx logotipi

Xilinx DDR2 MIG 7 unumdorligini baholash bo'yicha qo'llanma

Xilinx_DDR2_MIG_7_Performance-Shap-mahsulot

Muhim eslatma: Ushbu yuklab olinadigan javob yozuvining PDF formatida foydalanish qulayligi va o'qilishini yaxshilash uchun taqdim etilgan. Javob yozuvlari ekanligini ta'kidlash muhimdir Web- yangi ma'lumotlar paydo bo'lishi bilan tez-tez yangilanadigan tarkibga asoslangan. Sizga Xilinx texnik yordamiga tashrif buyurish eslatiladi Websayt va qaytaview (Xilinx Answer 63234) ushbu Javobning soʻnggi versiyasi uchun.

Kirish

DDR2 va DDR3 xotiralari arxitekturasi va MIG 7 seriyali kontroller ishlab chiqilganligi sababli unumdorlik to'g'ridan-to'g'ri emas.
Bu turli xil Jedec Timing parametrlari va boshqaruvchi arxitekturasini tushunishni talab qiladi va siz taxminlarni olish uchun simulyatsiyalarni bajarishingiz kerak bo'ladi.
Samaradorlikni aniqlashning umumiy printsipi bir xil, ammo bu hujjat MIG ex yordamida samaradorlikka erishishning oson yo'lini taqdim etadiamptest dastgohi va stimulyator yordamida le dizayn filebu yerga biriktirilgan.

Samarali o'tkazish qobiliyati

DRAM ma'lumotlar shinasi o'tkazish va yozishning portlashlari paytida eng yuqori tarmoqli kengligiga erishadi va uning yuki samarali ma'lumot tezligini pasaytiradi.
Bir necha sobiqampQo'shimcha xarajatlar quyidagilardir:

  • bir xil bankdagi qatorlarga kirish uchun oldindan to'lov vaqti (Kirish manzili bir xil satr sahifasida emas)
  • yozishdan o'qishga kirish uchun yozishni tiklash vaqti
  • o'qishdan yozishga kirish uchun avtobusning aylanish vaqti

Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-28
Samarali tarmoqli kengligi = Peak tarmoqli kengligi * Samaradorlik 

MIG dizayn avlodi

MIG IP va ex bo'yicha bosqichma-bosqich ma'lumot olish uchun UG586 1-bobiga qarangampdizayn avlodi.
MIG 7 Series ishlash simulyatsiyasini ishga tushirishdan oldin simulyatsiya muhitingiz yaxshi ekanligiga ishonch hosil qilish uchun quyidagilarni bajaring. MIG sobiqni ochingampTegishli kutubxonalarni loyihalashtiring va xaritalashtiring, simulyatsiyani bajaring va transkriptda “testdan oʻtdi” xabarini koʻrishingiz mumkinligiga ishonch hosil qiling.
Oqimni namoyish qilish uchun men xc7vx690tffg1761-2 uchun MIG IP-ni yaratdim va sobiq ni chaqirdim.ampdizayn.
E'tiborga olish kerak bo'lgan ikkita narsa - xotira manzili bitlari va xotira manzilini xaritalash tanlovi.
Misol uchunample, Men MT41J128M8XX-125 ni xotira qismining ochiladigan variantlari ostida tanladim.Xilinx DDR2 MIG-7-Umumiylikni baholash-shakl-1

1-rasmdagi tanlangan xotira qismi uchun satr = 14, ustun = 10 va bank = 3, shuning uchun app_addr_width = satr + ustun + bank + daraja = 28 Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-2

Siz BANK_ROW_COLUMN yoki QAT BANK ustunini tanlashingiz mumkin.
Men standart manzil xaritasi bo'lgan ROW BANK ustunini qoldirdim.

Example dizayn Sintezlanadigan test dastgohi bilan simulyatsiya

Simulyatsiya sozlamalari ostida QuestaSim/ModelSim Simulator-ni tanlang va tuzilgan kutubxonalar joylashuvini ko'rib chiqing.
Uchinchi tomon vositalarini oʻrnatish yoʻliga ishora qilish, maqsadli simulyatorni tanlash va kutubxonalarni kompilyatsiya qilish va xaritalash boʻyicha batafsil maʼlumot olish uchun (UG900) Vivado Design Suite foydalanuvchi qoʻllanmasi Logic Simulation boʻlimiga murojaat qilishingiz mumkin.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-3

Simulyatsiyani GUI orqali ishga tushiring (loyiha menejeridagi Simulyatsiyani ishga tushirish yorlig'ini bosing) va transkriptda "sinovdan o'tdi" xabarini ko'rganingizga ishonch hosil qiling.

Ishlash simulyatsiyasi RTL modifikatsiyalari

  1. Manbalar yorlig'ini o'ng tugmasini bosing, "simulyatsiya manbalarini qo'shish yoki yaratish" ni tanlang va mig7_perfsim_traffic_generator.sv sahifasini ko'rib chiqing. file va qo'shish uchun tugatish tugmasini bosing.
  2. Manbalar yorlig'ini sichqonchaning o'ng tugmasi bilan bosing, "simulyatsiya manbalarini qo'shish yoki yaratish" ni tanlang, perfsim_stimulus.txt ni ko'rib chiqing va uni qo'shish uchun tugatish tugmasini bosing.
  3. Sobiqni izohlangampsim_tb_top.v da le_top instantiation file.
  4. Quyidagi RTL qatorlarini sim_tb_top,v ga qo'shing
  • 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;
  • sim [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
  • sim [2:0] c0_ddr3_app_cmd;
  • tel c0_ddr3_app_en;
  • sim [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
  • sim c0_ddr3_app_wdf_end;
  • sim [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
  • tel c0_ddr3_app_wdf_wren;
  • sim [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
  • tel c0_ddr3_app_rd_data_end;
  • sim c0_ddr3_app_rd_data_valid;
  • sim c0_ddr3_app_rdy;
  • tel c0_ddr3_app_wdf_rdy;
  • sim c0_data_compare_error;
  • sim ui_clk;
  • sim ui_clk_sync_rst;
  • sim app_sr_req = 0;
  • sim app_ref_req = 0;
  • sim app_zq_req =0;
  • tel c0_app_wdf_mask =0;

FPGA xotira tekshiruvi instantsiyasi

mig_7series_0_mig u_mig_7series_0_mig (
// Xotira interfeysi portlari

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

// Ilova interfeysi portlari

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

// Tizim soatlari portlari

  • .sys_clk_i (sys_clk_i),

// Ma'lumot soati portlari

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

Trafik generatorining ishlashi

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_trafik_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. APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH va BANK_WIDTHni xotira qismini tanlashga qarab o‘zgartiring.
    Qiymatlarni dan olish mumkin _mig.v file.
  • Sariq rang bilan belgilangan namuna nomi mig_7series_0_mig IP yaratish vaqtida komponent nomiga qarab farq qilishi mumkin, boshqa nom tanlaganingizni tekshiring va shunga mos ravishda oʻzgartiring.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-4
  • IP yaratilgandan so'ng, uni oching _mig.v file va LHS signal nomlaridagi har qanday o'zgarishlarni o'zaro tekshiring va ularni tuzating.
  • app_sr_req, app_ref_req va app_zq_req 0 ga ishga tushirilishi kerak.
  • Misol uchunample_top.v sharhlangan va yangi files qo'shilgan bo'lsa, ehtimol siz "?" yonida
    mig_7series_0_mig.v file simulyatsiya manbalari ostida.
    To'g'ri xaritalash uchun file, mig_7series_0_mig.v ni o'ng tugmasini bosing, "Manbalarni qo'shish" ni tanlang, ko'ring
    /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
    va mig_7series_0_mig_sim.v ni qo'shing file.
  • Agar siz "?" asosiy uchun files, barcha RTL ni qo'shing files clocking, controller, ip_top,phy va UI papkalarida.
  • RTL o'zgarishlari va barcha kerakli o'zgarishlar amalga oshirilgandan so'ng files simulyatsiya manbalaringizga qo'shilgan bo'lsa, ierarxiya 5-rasmga o'xshash bo'lishi kerak.
    The fileqizil rang bilan belgilangan lar yangi qo'shiladi va “?” ECC bilan bog'liq modullarda kutiladi, chunki tanlangan xotira konfiguratsiyasida ECC opsiyasi o'chirilgan.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-5

Rag'batlantirish File Tavsif
Har bir ogohlantiruvchi naqsh 48 bit va format 6-1 dan 6-4 gacha bo'lgan shakllarda tasvirlangan.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-6

Manzil kodlash (manzil [35:0])

Manzil stimulda 7-1-rasmdan 7-6-rasmga muvofiq kodlangan. Barcha manzil maydonlari o'n oltilik formatda kiritilishi kerak. Barcha manzil maydonlari o'n oltilik formatda kiritish uchun to'rtga bo'linadigan kenglikdir. Sinov dastgohi faqat manzil maydonining kerakli bitlarini Xotira boshqaruvchisiga yuboradi.
Misol uchunample, sakkiz bank konfiguratsiyasida faqat bank bitlari [2:0] Xotira boshqaruvchisiga yuboriladi va qolgan bitlar e'tiborga olinmaydi. Manzil maydoni uchun qo'shimcha bitlar manzilni o'n oltilik formatda kiritishingiz uchun taqdim etiladi.
Kiritilgan qiymat berilgan konfiguratsiya kengligiga mos kelishini tasdiqlashingiz kerak.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-7

  • Ustun manzili (ustun[11:0]) – Rag'batlantiruvchidagi ustun manzili maksimal 12 bitga taqdim etiladi, ammo siz buni dizayningizda o'rnatilgan ustun kengligi parametri asosida hal qilishingiz kerak.
  • Qator manzili (Qator[15:0]) – Rag'batlantiruvchidagi satr manzili maksimal 16 bitga taqdim etiladi, ammo siz buni dizayningizda o'rnatilgan qator kengligi parametri asosida hal qilishingiz kerak.
  • Bank manzili (Bank[3:0]) – Rag'batlantiruvchidagi bank manzili maksimal to'rt bitga taqdim etiladi, ammo siz buni dizayningizda o'rnatilgan bank kengligi parametri asosida hal qilishingiz kerak.
  • Darajali manzil (Runk[3:0]) – Rag'batlantiruvchidagi daraja manzili ko'pi bilan to'rt bitga beriladi, ammo siz buni dizayningizda o'rnatilgan daraja kengligi parametri asosida hal qilishingiz kerak.
    Manzil yuqori darajadagi MEM_ADDR_ORDER parametri asosida yig‘iladi va foydalanuvchi interfeysiga yuboriladi.

Buyruqni takrorlash (Buyruqni takrorlash [7:0])
Buyruqning takroriy soni - bu foydalanuvchi interfeysida tegishli buyruq takrorlangan vaqt soni. Har bir takrorlash uchun manzil 8 ga oshiriladi. Maksimal takrorlash soni 128 ta.
Sinov dastgohi ustun chegarasini tekshirmaydi va agar o'sishlar paytida maksimal ustun chegarasiga erishilsa, u o'raladi.
128 ta buyruq sahifani to'ldiradi. 0 dan boshqa har qanday ustun manzili uchun 128 takrorlanish soni ustun chegarasini kesib o'tib, ustun manzilining boshiga o'raladi.

Avtobusdan foydalanish
Avtobusdan foydalanish foydalanuvchi interfeysida o'qish va yozishning umumiy sonini hisobga olgan holda hisoblanadi va quyidagi tenglama qo'llaniladi:

Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-8

  • BL8 to'rtta xotira siklini oladi
  • end_of_stimulus - barcha buyruqlar bajariladigan vaqt.
  • calib_done - kalibrlash amalga oshirilgan vaqt.

Example Patterns
Bular sobiqamples BANK_ROW_COLUMN o'rnatilgan MEM_ADDR_ORDERga asoslangan.

Yagona o'qish namunasi
00_0_2_000F_00A_1 - Bu naqsh 10-ustun, 15-qator va ikkinchi bankdan bitta o'qiladi.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-9Yagona yozish namunasi
00_0_1_0040_010_0 - Bu naqsh 32-ustun, 128-qator va birinchi bankka bitta yozish.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-10Bitta manzilga bitta yozish va o'qish
00_0_2_000F_00A_0 – Bu naqsh 10-ustun, 15-qator va ikkinchi bankka bitta yozish.
00_0_2_000F_00A_1 – Ushbu naqsh 10-ustun, 15-qator va ikkinchi bankdan bitta o'qiladiXilinx DDR2 MIG 7 unumdorligini baholash-shakl-11

Bir xil manzil bilan bir nechta yozish va o'qish
0A_0_0_0010_000_0 – Bu ustunda ko'rish mumkin bo'lgan 10 dan 0 gacha bo'lgan manzilli 80 ta yozishga to'g'ri keladi.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-12

0A_0_0_0010_000_1 – Bu ustunda ko'rish mumkin bo'lgan 10 dan 0 gacha bo'lgan manzil bilan 80 ta o'qishga to'g'ri keladi.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-13

Yozish paytida sahifalarni o'rash
0A_0_2_000F_3F8_0 – Bu bitta yozishdan keyin sahifaning boshiga o'ralgan ustun manzili bilan 10 ta yozishga to'g'ri keladi.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-14

Ishlash trafik generatorini simulyatsiya qilish

Bu nuqtada siz MIG ex bilan tugatasizampdizayn simulyatsiyasi. Bu sizning simulyatsiya sozlamalaringiz tayyorligini, siz ishlash simulyatsiyasi RTL modifikatsiyalarini amalga oshirganingizni, yangi simulyatsiya ierarxiyasi to'g'ri ekanligini va siz stimulyator naqshlarini tushunganingizni anglatadi. Simulyatsiyani perfsim_stimulus.txt faylida 16 ta yozish va o'qish bilan yana bir marta ishga tushiring.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-15

Hammasini ishga tushiring, init_calib_complete signali tasdiqlanmaguncha kuting va siz tavsiya etilgan yozish va o'qish sonini ko'rishingiz mumkin bo'ladi. Keyin simulyatsiya to'xtaydi. Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-16

Simulyatsiyadan chiqish so'ralganda, Yo'q-ni tanlang va transkripsiya oynasiga o'ting, u erda siz ishlash statistikasini ko'rishingiz mumkin. Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-17

Agar tanlasangiz "simulyatsiyani to'xtatish" ishlash statistikasi a ga yoziladi file nomli mig_band_width_output.txt sim_1/behave da joylashgan papka.

Example katalog yo'li: -
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavXilinx DDR2 MIG 7 unumdorligini baholash-shakl-18

Nima uchun foiz deb hayron bo'lishingiz mumkintage avtobusdan foydalanish 29. Simulyatsiyani bir xil IP sozlamalari bilan qayta ishga tushiring, lekin faqat stimulni o'zgartiring. file 256 yozish va 256 o'qishga qadar

ff_0_0_0000_000_0
ff_0_0_0000_000_1

Endi siz foizni ko'rasiztage sifatida 85, bu DDR3 yozish va o'qish portlashlarining uzoq ketma-ketligi uchun avtobusdan yaxshiroq foydalanishni taklif qilishini anglatadi. Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-19

Samaradorlikni oshirishning umumiy usullari

Samaradorlikka ta'sir qiluvchi omillarni ikki qismga bo'lish mumkin:

  1. Xotiraga xos
  2. Maxsus nazoratchiXilinx DDR2 MIG 7 unumdorligini baholash-shakl-20

9-rasm sizga yakun yasadiview xotiraga xos atamalar.
SRAM va blok xotiralaridan farqli o'laroq, DDR2 yoki DDR3 unumdorligi faqat maksimal ma'lumot tezligi emas.

Bu ko'plab vaqt omillariga bog'liq, jumladan:

  • tRCD: Qator buyrug'ining kechikishi (yoki ras to cas kechikishi).
  • tCAS(CL): Ustun manzili strobe kechikishi.
  • tRP: Qatorni oldindan zaryadlash kechikishi.
  • tRAS: Qator faol vaqti (oldindan almashtirish uchun faollashtiring).
  • tRC: Qator aylanish vaqti. tRC = tRAS + tRP
  • tRAC: Radomga kirish kechikishi. tRAC = tRCD + tCAS
  • tCWL: Yozish kechikishi.
  • tZQ: ZQ kalibrlash vaqti.
  • tRFC: Qatorni yangilash davri vaqti
  • tWTR: O'qish kechikishiga yozing. O'qish buyrug'i vaqtiga oxirgi yozish operatsiyasi.
  • tWR: Qayta tiklash vaqtini yozing. Oldindan to'lov vaqtiga oxirgi yozish tranzaktsiyasi

Barcha sanab o'tilgan parametrlarning vaqti ishlatilgan xotira turiga va xotira qismi tezligi darajasiga bog'liq.
Ta'riflar va vaqt spetsifikatsiyalari haqida batafsil ma'lumotni DDR2 DDR3 JEDEC yoki istalgan xotira qurilmasi ma'lumotlar varaqlarida topish mumkin.

Samaradorlik asosan xotiraga qanday kirishiga bog'liq. Turli xil manzil naqshlari turli xil samaradorlik natijalarini beradi.

Xotira vaqtining qo'shimcha xarajatlari

  1. Yangi banklar/satrlarga o'tish yoki bir xil bankdagi qatorlarni o'zgartirishda faollashtirish vaqti va Precharge vaqti.- Shunday qilib, agar siz qator o'zgarishini kamaytirsangiz, bu tRCD va tRPni olib tashlashi mumkin.
  2. Uzluksiz yozish yoki o'qish buyruqlarini yuborish - tCCD vaqtini saqlash.
  3. O'qish uchun yozishni minimallashtiring va yozish uchun o'qish buyrug'ini o'zgartirish - O'qishga kirishga o'tish uchun tiklash vaqtini yozing, o'qishdan yozishga o'tish uchun avtobusni qayta ishlash vaqtini
  4. To'g'ri yangilash oralig'ini o'rnating.
    • DDR3 SDRAM o'rtacha davriy tREFI oralig'ida yangilash davrlarini talab qiladi.
    • Ko'pi bilan 8 ta qo'shimcha Yangilash buyrug'i oldindan berilishi mumkin ("tortib olinadi"). Bu yangilanishlar sonini kamaytirmaydi, lekin ikkita atrofdagi Yangilash buyrug'i orasidagi maksimal interval 9 × tREFI bilan cheklangan.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-21
  • Barcha banklardan foydalaning - Tegishli adreslash mexanizmi afzalroqdir.
    • Qator-bank-ustun: Ketma-ket manzil maydonida sodir bo'ladigan tranzaksiya uchun yadro avtomatik ravishda DRAM qurilmasining keyingi bankida bir xil qatorni ochadi va mavjud satr oxiriga yetganda tranzaktsiyani davom ettiradi. Bu katta ma'lumotlar paketlarini ketma-ket manzil joylariga o'tkazishni talab qiladigan ilovalar uchun juda mos keladi.
    • Bank-qator-ustun: Qator chegarasini kesib o'tishda joriy qator yopiladi va xuddi shu bankda boshqa qator ochiladi. MSB - bu turli banklardan o'tish uchun ishlatilishi mumkin bo'lgan bank manzili. Bu ma'lum vaqt davomida bir xotira blokiga qisqaroq, tasodifiy tranzaktsiyalar va keyin boshqa blokga (bank) o'tish uchun javob beradi.
  • Portlash uzunligi
    • BL 8 3 seriyali DDR7 uchun qo'llab-quvvatlanadi. BC4 50% dan kam bo'lgan juda past samaradorlikka ega. Buning sababi, BC4 ning bajarilish vaqti BL8 bilan bir xil. Ma'lumotlar faqat komponent ichida maskalanadi.
    • To'liq portlashni yozishni istamasangiz, ma'lumotlar maskasi yoki o'qishdan keyin yozishni ko'rib chiqishingiz mumkin.
  • To'g'ri ZQ oralig'ini o'rnating (faqat DDR3)
    Tekshirish moslamasi ZQ Short (ZQCS) va ZQ Long (ZQCL) kalibrlash buyruqlarini ham yuboradi.
    • DDR3 Jedec standartiga rioya qiling
    • ZQ kalibrlash JEDEC Spec JESD5.5-79 DDR3 SDRAM standartining 3-bo‘limida muhokama qilinadi.
    • ZQ Calibration VT bo'yicha o'zgarishlarni hisobga olish uchun muntazam ravishda ODTni kalibrlaydi.
    • Mantiq bank_common.v/vhd da mavjud
    • Tzqcs parametri ZQ Calibration buyrug'ining xotiraga yuborilish tezligini aniqlaydi
    • t hisoblagichni o'chirib qo'yish va app_zq_req yordamida qo'lda yuborish mumkin, bu yangilashni qo'lda yuborishga o'xshaydi.
      Tafsilotlar uchun (Xilinx Answer 47924) ga qarang.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-22

Nazoratchining qo'shimcha xarajatlari

  1. Davriy o'qishlar - qarang (Xilinx javobi 43344) tafsilotlar uchun.
    • O'qish davrini o'zgartirmang
    • Yozish paytida davriy o'qishlarni o'tkazib yuboring va haqiqiy o'qishdan oldin o'tkazib yuborilgan o'qishlar sonini bering
  2. Qayta tartiblash - qarang (Xilinx javobi 34392) tafsilotlar uchun.
    Foydalanuvchi va AXI interfeysi dizaynlari uchun buni yoqish afzalroqdir.
    • Qayta tartiblash - bu bir nechta buyruqlarni oldindan ko'rib chiqadigan va foydalanuvchi buyruqlar tartibini xotirada bo'lmagan buyruqlar to'g'ri tarmoqli kengligini egallamaslik uchun o'zgartiradigan mantiqdir. Ishlash, shuningdek, haqiqiy trafik naqshiga bog'liq.
    • Manzil naqshiga asoslanib, qayta tartiblash oldindan to'lashni o'tkazib yuborishga va buyruqlarni faollashtirishga yordam beradi va tRCD va tRP ma'lumotlar diapazoni kengligini egallamaydi.Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-23
  3. Bank mashinalari sonini ko'paytirishga harakat qiling.
    • Kontroller mantig'ining ko'p qismi bank mashinalarida joylashgan va ular DRAM banklariga mos keladi
    • Berilgan bank mashinasi istalgan vaqtda bitta DRAM bankini boshqaradi.
    • Bank mashinasini belgilash dinamikdir, shuning uchun har bir jismoniy bank uchun bank mashinasi bo'lishi shart emas.
    • Bank mashinalari sozlanishi mumkin, ammo bu hudud va ishlash o'rtasidagi kelishuvdir.
    • Bank mashinalarining ruxsat etilgan soni 2 dan 8 gacha.
    • Odatiy bo'lib, 4 ta bank mashinasi RTL parametrlari orqali sozlangan.
    • Bank mashinalarini o'zgartirish uchun memc_ui_top Ex dagi nBANK_MACHS = 8 parametrini ko'rib chiqing.amp8 ta bank mashinasi uchun le - nBANK_MACHS = 8

Endi siz ishlashga ta'sir qiluvchi omillarni bilasiz.
Sizga har bir paketga 512 ma'lumot baytini beradigan yuqori oqim ilovasini ko'rib chiqing va ularni turli xil xotira joylariga saqlashingiz kerak. 512 ma'lumot bayti 64 DDR3 ma'lumotlar portlashiga teng bo'lganligi sababli, sobiqni qayta ishga tushiringample dizayn rag'batlantirish bilan file 512 yozish, 512 o'qish va har 64 yozish yoki o'qish uchun qatorlarni almashtirishni o'z ichiga oladi:

  • 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

Simulyatsiya oxirida avtobusdan foydalanish 77 foizni tashkil etganini ko'rasiz. Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-24

11-rasm: 512 yozish va 512 o'qish uchun ishlash statistikasi - 64 yozish yoki o'qish uchun qatorlarni almashtirish. 

Endi samaradorlikni oshirish uchun oldingi bo'limda o'rganilgan bilimlarni qo'llashingiz mumkin. a bilan view qatorni o'zgartirish o'rniga barcha banklardan foydalanish uchun quyida ko'rsatilgandek bankni o'zgartirish uchun manzil naqshini o'zgartiring.
Bu MIG GUI-dagi xotira manzilini xaritalash sozlamalarida ROW_BANK_Column o'rnatishga teng.

  • 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

Simulyatsiya oxirida avtobusdan oldingi 77 foiz foydalanish endi 87 foizga teng ekanligini ko'rasiz! Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-25

Agar siz hali ham yuqori samaradorlikni talab qilsangiz, 1024 yoki 2048 bayt hajmdagi katta paketlarga o'tishingiz yoki qo'lda yangilashni ko'rib chiqishingiz mumkin.

Eslatma: Xilinx tekshirgichni yangilashni chetlab o'tishni rag'batlantirmaydi, chunki ma'lumotlar ishonchliligiga ta'sir qiluvchi Jedec avtomatik yangilash vaqti bilan tanishishingizga ishonchimiz komil emas.
Nazoratchi tomondan siz nBANk_MACH ni o'zgartirishingiz va ishlashning yaxshilanishini ko'rishingiz mumkin.
Biroq, bu sizning dizayn vaqtingizga ta'sir qilishi mumkin, iltimos, qarang (Xilinx javobi 36505) nBANk_MACH haqida ma'lumot uchunXilinx DDR2 MIG 7 unumdorligini baholash-shakl-26

core_name_mig_sim.v ni oching file va nBANK_MACHS parametrlarini 4 dan 8 ga o'zgartiring va simulyatsiyani qayta ishga tushiring. Parametr qiymati apparatda kuchga kirishi uchun siz core_name_mig.v ni yangilashingiz kerak file.
Men avtobusdan 87% foydalanishga erishgan bir xil sxemadan foydalandim (rasm -12).
nBANK_MACHS 8 ga o'rnatilganda, samaradorlik endi 90% ni tashkil qiladi. Xilinx DDR2 MIG 7 unumdorligini baholash-shakl-27

Shuni ham yodda tutingki, ½ va ¼ kontrollerlar kechikishlari tufayli samaradorlikka salbiy ta'sir qiladi.
Misol uchunample, chunki biz faqat har 4 CK siklida buyruqlar yuborishimiz mumkin bo'lganligi sababli, minimal DRAM vaqt xususiyatlariga rioya qilgan holda, ba'zida qo'shimcha to'ldirish mavjud bo'lib, bu nazariy jihatdan samaradorlikni kamaytirishi mumkin.
Samaradorlik talabingizga mos keladiganini topish uchun turli kontrollerlarni sinab ko'ring.

Ma'lumotnomalar

  1. Zynq-7000 AP SoC va 7 Series FPGA MIS v2.3 [UG586]
  2. Xilinx MIG yechim markazi http://www.xilinx.com/support/answers/34243.html

Qayta ko'rib chiqish tarixi
13/03/2015 - Dastlabki nashr

PDF-ni yuklab olish: Xilinx DDR2 MIG 7 unumdorligini baholash bo'yicha qo'llanma

Ma'lumotnomalar

Fikr qoldiring

Sizning elektron pochta manzilingiz nashr etilmaydi. Majburiy maydonlar belgilangan *