Xilinx-логотипі

Xilinx DDR2 MIG 7 өнімділігін бағалау нұсқаулығы

Xilinx_DDR2_MIG_7_Performance-Estimation-product

Маңызды ескерту: Жауап жазбасының бұл жүктеп алынатын PDF форматы оның ыңғайлылығы мен оқылуын жақсарту үшін берілген. Жауап жазбалары екенін ескеру маңызды Web-жаңа ақпарат қолжетімді болған сайын жиі жаңартылатын мазмұнға негізделген. Сізге Xilinx техникалық қолдау қызметіне бару керектігі ескертіледі Webсайт және қайтаview (Xilinx Answer 63234) осы Жауаптың соңғы нұсқасы үшін.

Кіріспе

DDR2 және DDR3 жадылары құрастырылғандықтан және MIG 7 сериялы контроллер құрастырылғандықтан, өнімділік бірден алға жылжымайды.
Ол әртүрлі Jedec Timing параметрлерін және контроллер архитектурасын түсінуді талап етеді және бағалауларды алу үшін модельдеулерді іске қосу керек.
Өнімділікті анықтаудың жалпы принципі бірдей, бірақ бұл құжат MIG ex көмегімен тиімділікті алудың оңай жолын ұсынадыampсынақ стендінің және ынталандырудың көмегімен дизайн fileмұнда тіркелген.

Тиімді өткізу қабілеті

DRAM деректер шинасы оқу және жазу үзілістері кезінде ғана ең жоғары өткізу қабілеттілігіне жетеді және оның үстеме шығыны тиімді деректер жылдамдығын төмендетеді.
Бірнеше бұрынғыampүстеме шығындар мыналар:

  • бір банктегі жолдарға қол жеткізу үшін алдын ала зарядтау уақыты (кіру мекенжайы бір жол бетінде емес)
  • жазудан оқуға рұқсат алу үшін жазуды қалпына келтіру уақыты
  • оқудан жазу рұқсатына ауысу үшін автобустың айналу уақыты

Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-28
Тиімді өткізу қабілеттілігі = Ең жоғары өткізу қабілеттілігі * Тиімділік 

MIG дизайнын құру

MIG IP және мысалы бойынша қадамдық мәліметтер алу үшін UG586 1 тарауын қараңызampдизайн жасау.
MIG 7 сериялы өнімділік симуляциясын іске қоспас бұрын, модельдеу ортасының жақсы екеніне көз жеткізу үшін келесі әрекеттерді орындаңыз. MIG экс ашыңызampСәйкес кітапханаларды жобалаңыз және картаға түсіріңіз, модельдеуді іске қосыңыз және транскриптте «сынақтан өтті» хабарын көре алатыныңызға көз жеткізіңіз.
Ағынды көрсету үшін мен xc7vx690tffg1761-2 үшін MIG IP құрдым және бұрынғы серверді шақырдым.ample дизайн.
Айта кету керек екі нәрсе - жад мекенжайының биттері және жад мекенжайын салыстыру таңдауы.
Мысалыample, мен жад бөлігінің ашылмалы опциялары астында MT41J128M8XX-125 таңдадым.Xilinx DDR2 MIG-7-Өнімділік-бағалау-сур-1

1-суреттегі таңдалған жад бөлігі үшін жол = 14, баған = 10 және банк = 3, сондықтан app_addr_width = жол + баған + банк + дәреже = 28 Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-2

BANK_ROW_COLUMN немесе ROW BANK бағанын таңдауға болады.
Мен ROW BANK бағанын қалдырдым, ол әдепкі мекенжай салыстыру болып табылады.

Example дизайн Синтезделетін сынақ стендімен модельдеу

Модельдеу параметрлері астынан QuestaSim/ModelSim Simulator параметрін таңдап, жинақталған кітапханалардың орнын шолыңыз.
Үшінші тарап құралдарын орнату жолын көрсету, мақсатты симуляторды таңдау және кітапханаларды құрастыру және салыстыру туралы мәліметтерді алу үшін (UG900) Vivado Design Suite пайдаланушы нұсқаулығы логикалық модельдеу бөлімін қараңыз.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-3

Модельдеуді GUI арқылы іске қосыңыз (жоба менеджеріндегі «Симуляцияны іске қосу» қойындысын басыңыз) және транскриптте «сынақтан өтті» хабарын көргеніңізге көз жеткізіңіз.

Performance Simulation RTL модификациялары

  1. Дереккөздер қойындысын тінтуірдің оң жақ түймешігімен нұқыңыз, «симуляция көздерін қосу немесе жасау» тармағын таңдап, mig7_perfsim_traffic_generator.sv бетіне өтіңіз. file және оны қосу үшін аяқтау түймесін басыңыз.
  2. Дереккөздер қойындысын тінтуірдің оң жақ түймешігімен нұқыңыз, «симуляция көздерін қосу немесе жасау» тармағын таңдаңыз, perfsim_stimulus.txt бетіне өтіңіз және оны қосу үшін аяқтау түймесін басыңыз.
  3. Бұрынғыға түсініктеме беріңізampsim_tb_top.v ішіндегі le_top данасы file.
  4. Төмендегі RTL жолдарын sim_tb_top,v ішіне қосыңыз
  • жергілікті параметр APP_ADDR_WIDTH = 28;
  • жергілікті параметр APP_DATA_WIDTH = 64;
  • localparam APP_MASK_WIDTH = APP_DATA_WIDTH / 8;
  • localparam MEM_ADDR_ORDER = “BANK_ROW_COLUMN”;
  • localparam BANK_WIDTH = 3;
  • жергілікті параметр RANK_WIDTH = 1;
  • сым [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
  • сым [2:0] c0_ddr3_app_cmd;
  • сым c0_ddr3_app_en;
  • сым [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
  • сым c0_ddr3_app_wdf_end;
  • сым [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
  • сым c0_ddr3_app_wdf_wren;
  • сым [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
  • сым c0_ddr3_app_rd_data_end;
  • сым c0_ddr3_app_rd_data_valid;
  • сым c0_ddr3_app_rdy;
  • сым c0_ddr3_app_wdf_rdy;
  • сым c0_data_compare_error;
  • ui_clk сымы;
  • сым ui_clk_sync_rst;
  • сым app_sr_req = 0;
  • сым app_ref_req = 0;
  • сым app_zq_req =0;
  • сым c0_app_wdf_mask =0;

FPGA жад контроллерінің инстанциясы

mig_7series_0_mig u_mig_7series_0_mig (
// Жад интерфейсінің порттары

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

// Қолданбалы интерфейс порттары

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

// Жүйелік сағат порттары

  • .sys_clk_i (sys_clk_i),

// Анықтамалық сағат порттары

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

Трафик генераторының өнімділігі

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. Жад бөлігін таңдауыңызға сәйкес APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH және BANK_WIDTH өзгертіңіз.
    Мәндерді мына жерден алуға болады _mig.v file.
  • Сары бөлектелген даналық атауы mig_7series_0_mig IP жасау кезінде құрамдас атыңызға байланысты өзгеруі мүмкін, басқа атау таңдағаныңызды тексеріңіз және оны сәйкесінше өзгертіңіз.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-4
  • IP жасалғаннан кейін ашыңыз _mig.v file және LHS сигнал атауларындағы кез келген өзгерістерді тексеріп, оларды түзетіңіз.
  • app_sr_req, app_ref_req және app_zq_req 0-ге инициализациялануы керек.
  • Бұрынғыдайample_top.v түсініктеме берілді және жаңа files қосылса, «?» көретін шығарсыз. жанында
    mig_7series_0_mig.v file модельдеу көздері астында.
    Дұрыс картаға түсіру үшін file, mig_7series_0_mig.v тінтуірдің оң жақ түймешігімен нұқыңыз, «Дереккөздерді қосу» таңдаңыз,
    /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
    және mig_7series_0_mig_sim.v қосыңыз file.
  • Егер сіз «?» көрсеңіз негізі үшін files, барлық RTL қосыңыз files clocking, controller, ip_top,phy және UI қалталарында.
  • RTL өзгертулері жасалғаннан кейін және барлық қажетті files модельдеу көздеріне қосылады, иерархия 5-суретке ұқсас болуы керек.
    The fileқызыл түспен белгіленген s жаңадан қосылды және «?» таңдалған жад конфигурациясында ECC опциясы өшірілген болғандықтан, ECC қатысты модульдерде күтіледі.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-5

Ынталандыру File Сипаттама
Әрбір ынталандыру үлгісі 48 бит және пішім 6-1 мен 6-4 суретте сипатталған.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-6

Мекенжайды кодтау (Мекенжай [35:0])

Мекенжай ынталандыруда 7-1-суретке 7-6-суретке сәйкес кодталған. Барлық мекенжай өрістері он алтылық форматта енгізілуі керек. Мекенжай өрістерінің барлығы он алтылық пішімге енгізу үшін төртке бөлінетін ені болып табылады. Сынақ үстелі жад контроллеріне мекенжай өрісінің қажетті биттерін ғана жібереді.
Мысалыample, сегіз банк конфигурациясында жад контроллеріне тек банк биттері [2:0] жіберіледі, ал қалған биттер еленбейді. Мекенжай өрісіне қосымша биттер мекенжайды он алтылық пішімде енгізу үшін берілген.
Енгізілген мәннің берілген конфигурацияның еніне сәйкес келетінін растау керек.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-7

  • Баған мекенжайы (баған[11:0]) – Тітіркендіргіштегі баған мекенжайы максимум 12 битке дейін беріледі, бірақ сіз оны дизайнда орнатылған баған ені параметрі негізінде шешуіңіз керек.
  • Жол мекенжайы (жол[15:0]) – Тітіркендіргіштегі жол мекенжайы максимум 16 битке дейін беріледі, бірақ сіз оны дизайнда орнатылған жол ені параметрі негізінде шешуіңіз керек.
  • Банк мекенжайы (Банк[3:0]) – Ынталандырудағы банк мекенжайы ең көбі төрт битке дейін беріледі, бірақ сіз оны дизайнда орнатылған банк ені параметрі негізінде шешуіңіз керек.
  • Дәреже мекенжайы (Реңк[3:0]) – Тітіркендіргіштегі дәреже мекенжайы ең көбі төрт битке дейін беріледі, бірақ сіз оны дизайнда орнатылған ранг ені параметрі негізінде шешуіңіз керек.
    Мекенжай жоғарғы деңгейлі MEM_ADDR_ORDER параметріне негізделген және пайдаланушы интерфейсіне жіберіледі

Пәрменді қайталау (пәрменді қайталау [7:0])
Пәрменнің қайталану саны – сәйкес пәрменнің Пайдаланушы интерфейсінде қайталану уақыты. Әрбір қайталаудың мекенжайы 8-ге артады. Ең көп қайталау саны - 128.
Сынақ орны баған шекарасын тексермейді және қадамдар кезінде максималды баған шегіне жеткен жағдайда айналады.
128 пәрмен бетті толтырады. 0-ден басқа кез келген баған мекенжайы үшін 128 қайталау саны баған шекарасын кесіп өтіп, баған мекенжайының басына дейін айналады.

Автобусты пайдалану
Автобусты пайдалану пайдаланушы интерфейсінде оқу мен жазудың жалпы санын ескере отырып есептеледі және келесі теңдеу қолданылады:

Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-8

  • BL8 төрт жад циклін қабылдайды
  • стимулдың_соңы - барлық командалар орындалатын уақыт.
  • calib_done — калибрлеу орындалатын уақыт.

Example Үлгілер
Бұл бұрынғыampолар BANK_ROW_COLUMN мәніне орнатылған MEM_ADDR_ORDER негізінде жасалған.

Бір рет оқу үлгісі
00_0_2_000F_00A_1 – Бұл үлгі 10-баған, 15-жол және екінші қатардан бір рет оқылады.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-9Жалғыз жазу үлгісі
00_0_1_0040_010_0 – Бұл үлгі 32-бағанға, 128-жолға және бірінші банкке бір жазу болып табылады.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-10Бір мекенжайға бір жазу және оқу
00_0_2_000F_00A_0 – Бұл үлгі 10-бағанға, 15-жолға және екінші қатарға бір жазу болып табылады.
00_0_2_000F_00A_1 – Бұл үлгі 10-баған, 15-жол және екінші қатардан бір рет оқыладыXilinx DDR2 MIG 7 өнімділігін бағалау-сур-11

Бір мекенжаймен бірнеше жазу және оқу
0A_0_0_0010_000_0 – Бұл бағанда көруге болатын 10-ден 0-ге дейінгі мекенжайы бар 80 жазуға сәйкес келеді.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-12

0A_0_0_0010_000_1 – Бұл бағанда көруге болатын 10-ден 0-ге дейінгі мекенжайы бар 80 оқуға сәйкес келеді.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-13

Жазу кезінде бетті орау
0A_0_2_000F_3F8_0 – Бұл бір жазудан кейін беттің басына оралған баған мекенжайы бар 10 жазуға сәйкес келеді.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-14

Өнімділік трафик генераторын имитациялау

Осы кезде сіз MIG бұрынғы жұмысын аяқтадыңызampдизайн модельдеу. Бұл сіздің модельдеу орнатуыңыз дайын екенін, өнімділікті модельдеу RTL модификацияларын орындағаныңызды, жаңа модельдеу иерархиясы дұрыс екенін және ынталандыру үлгілерін түсінгеніңізді білдіреді. Модельдеуді perfsim_stimulus.txt файлында 16 жазу және оқу арқылы тағы бір рет іске қосыңыз.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-15

Барлығын орындаңыз, init_calib_complete сигналы бекітілгенше күтіңіз, сонда сіз ұсынылған жазулар мен оқулар санын көре аласыз. Содан кейін модельдеу тоқтайды. Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-16

Модельдеуден шығу сұралғанда, Жоқ опциясын таңдап, өнімділік статистикасын көре алатын транскрипт терезесіне өтіңіз. Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-17

Егер сіз таңдасаңыз «Симуляцияны тоқтату» өнімділік статистикасы а-ға жазылады file аталды mig_band_width_output.txt файлы sim_1/behave ішінде орналасқан қалта.

Example каталог жолы: -
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavXilinx DDR2 MIG 7 өнімділігін бағалау-сур-18

Неліктен пайыз деген сұрақ туындауы мүмкінtage шинаны пайдалану тек қана 29. Модельдеуді бірдей IP параметрлерімен қайта іске қосыңыз, бірақ тек ынталандыруды өзгертіңіз. file 256 жазу және 256 оқылған

ff_0_0_0000_000_0
ff_0_0_0000_000_1

Енді сіз пайызды көресізtage as 85, бұл DDR3 жазу және оқу үзілістерінің ұзақ тізбегі үшін автобусты жақсырақ пайдалануды ұсынатынын білдіреді. Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-19

Өнімділікті арттырудың жалпы жолдары

Тиімділікке әсер ететін факторларды екі бөлімге бөлуге болады:

  1. Жадтың ерекшелігі
  2. Контроллерге тәнXilinx DDR2 MIG 7 өнімділігін бағалау-сур-20

9-сурет сізге қорытынды бередіview жадыға тән терминдер.
SRAM және блок жадтарынан айырмашылығы DDR2 немесе DDR3 өнімділігі тек максималды деректер жылдамдығы ғана емес.

Бұл көптеген уақыт факторларына байланысты, соның ішінде:

  • tRCD: Жол пәрменінің кешігуі (немесе кешігуден кейін).
  • tCAS(CL): Баған мекенжайының strobe кідірісі.
  • tRP: Жолды алдын ала зарядтау кідірісі.
  • tRAS: Жолдың белсенді уақыты (алдын ала өзгерту үшін белсендіріңіз).
  • tRC: Қатар циклінің уақыты. tRC = tRAS + tRP
  • tRAC: Радомға кіру кідірісі. tRAC = tRCD + tCAS
  • tCWL: Жазудың кешігуі.
  • tZQ: ZQ калибрлеу уақыты.
  • tRFC: Жолды жаңарту циклінің уақыты
  • tWTR: Оқу кешігуіне жазыңыз. Оқу пәрмен уақытына соңғы жазу транзакциясы.
  • tWR: Қалпына келтіру уақытын жазыңыз. Алдын ала зарядтау уақытына соңғы жазу транзакциясы

Барлық тізімделген параметрлердің уақыты пайдаланылатын жад түріне және жад бөлігінің жылдамдық дәрежесіне байланысты.
Анықтамалар мен уақыт сипаттамалары туралы қосымша мәліметтерді DDR2 DDR3 JEDEC немесе кез келген жад құрылғысының деректер парағында табуға болады.

Тиімділік негізінен жадқа қалай қол жеткізуге байланысты. Әртүрлі мекенжай үлгілері әртүрлі тиімділік нәтижелерін береді.

Жад уақытының үстеме шығындары

  1. Жаңа банктерге/жолдарға ауысқанда немесе бір банктегі жолдарды өзгерткенде белсендіру уақыты және алдын ала зарядтау уақыты.- Сондықтан жолды өзгертуді азайтсаңыз, бұл tRCD және tRP жоюы мүмкін.
  2. Үздіксіз жазу немесе оқу пәрмендерін жіберу - tCCD уақытын сақтау.
  3. Пәрменді ауыстыруды оқу үшін жазуды және оқуды жазуды азайтыңыз - оқуға кіруге өзгерту үшін қалпына келтіру уақытын жазыңыз, оқудан жазуға өзгерту үшін автобусты қайталау уақытын
  4. Тиісті жаңарту аралығын орнатыңыз.
    • DDR3 SDRAM tREFI орташа мерзімді аралықта Жаңарту циклдерін қажет етеді.
    • Ең көбі 8 қосымша Жаңарту пәрмені алдын ала шығарылуы мүмкін («ішке тарту»). Бұл жаңартулар санын азайтпайды, бірақ екі айналасындағы Жаңарту пәрмендері арасындағы ең үлкен аралық 9 × tREFI-мен шектеледі.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-21
  • Барлық банктерді пайдаланыңыз - Сәйкес адрестеу механизмі жақсырақ.
    • Жол-банк-баған: Кезекті мекенжай кеңістігінде орындалатын транзакция үшін, бар жолдың соңына жеткенде транзакцияны жалғастыру үшін ядро ​​DRAM құрылғысының келесі банкінде бірдей жолды автоматты түрде ашады. Ол үлкен деректер пакеттерін дәйекті мекенжай орындарына жіберуді қажет ететін қолданбаларға өте қолайлы.
    • Қатар-баған: Жолдың шекарасын кесіп өткенде, ағымдағы жол жабылады және сол жағалауда басқа жол ашылады. MSB - бұл әртүрлі банктерден ауысу үшін пайдалануға болатын банк мекенжайы. Ол белгілі бір уақыт аралығында бір жад блогына қысқарақ, кездейсоқ транзакцияларға, содан кейін басқа блокқа (банкке) өту үшін қолайлы.
  • Жарылыс ұзындығы
    • BL 8 нұсқасына 3 сериядағы DDR7 үшін қолдау көрсетіледі. BC4 өте төмен тиімділікке ие, ол 50%-дан аз. Себебі BC4 орындалу уақыты BL8 сияқты. Деректер құрамдас ішінде жай ғана маскирленген.
    • Толық серпінді жазуды қаламасаңыз, деректер маскасын немесе оқудан кейін жазуды қарастыруға болады.
  • Тиісті ZQ аралығын орнату (тек DDR3)
    Контроллер ZQ Short (ZQCS) және ZQ Long (ZQCL) калибрлеу пәрмендерінің екеуін де жібереді.
    • DDR3 Jedec стандартын ұстаныңыз
    • ZQ калибрлеуі JEDEC Spec JESD5.5-79 DDR3 SDRAM стандартының 3 бөлімінде талқыланады
    • ZQ Calibration VT бойынша вариацияларды есепке алу үшін тұрақты аралықтармен On Die Termination (ODT) калибрлейді.
    • Логика bank_common.v/vhd ішінде қамтылған
    • Tzqcs параметрі ZQ Calibration пәрменінің жадқа жіберілу жылдамдығын анықтайды
    • t санағышты өшіріп, app_zq_req арқылы қолмен жіберуге болады, бұл Жаңартуды қолмен жіберуге ұқсас.
      Толық ақпаратты (Xilinx Answer 47924) қараңыз.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-22

Контроллердің үстеме шығындары

  1. Мерзімді оқулар – қараңыз (Xilinx жауабы 43344) мәліметтер үшін.
    • Оқу мерзімін өзгертпеңіз
    • Жазу кезінде мерзімді оқуларды өткізіп жіберіңіз және шынайы оқылғанға дейін өткізіп алған оқулар санын шығарыңыз
  2. Қайта реттеу – қараңыз (Xilinx жауабы 34392) мәліметтер үшін.
    Пайдаланушы және AXI интерфейсінің конструкциялары үшін мұны қосқан жөн.
    • Қайта реттеу – бірнеше пәрмендерді алға қарайтын және жадтан тыс пәрмендерді жарамды өткізу қабілеттілігін алмау үшін пайдаланушы пәрмен тәртібін өзгертетін логика. Өнімділік нақты трафик үлгісіне де қатысты.
    • Мекенжай үлгісіне сүйене отырып, қайта реттеу алдын ала зарядтауды өткізіп жіберуге және пәрмендерді белсендіруге көмектеседі және tRCD және tRP деректер жолағы енін алмайды.Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-23
  3. Банк машиналарының санын көбейтуге тырысыңыз.
    • Контроллердің логикасының көп бөлігі банк машиналарында орналасқан және олар DRAM банктеріне сәйкес келеді
    • Берілген банк машинасы кез келген уақытта бір DRAM банкін басқарады.
    • Банк машинасын тағайындау динамикалық, сондықтан әрбір физикалық банк үшін банк машинасының болуы қажет емес.
    • Банк машиналарын конфигурациялауға болады, бірақ бұл аймақ пен өнімділік арасындағы айырбас.
    • Банк машиналарының рұқсат етілген саны 2-8 аралығында.
    • Әдепкі бойынша, 4 банк машинасы RTL параметрлері арқылы конфигурацияланады.
    • Банк машиналарын өзгерту үшін memc_ui_top Ex ішіндегі nBANK_MACHS = 8 параметрін қарастырыңыз.ample 8 банк машинасы үшін – nBANK_MACHS = 8

Енді сіз өнімділікке әсер ететін факторларды білесіз.
Әр пакетке 512 деректер байты беретін жоғары ағынды қолданбаны қарастырыңыз және оларды әртүрлі жад орындарына сақтауыңыз керек. 512 деректер байты 64 DDR3 деректер сериясына тең болғандықтан, бұрынғы нұсқасын қайта іске қосыңызampынталандыру арқылы дизайн file 512 жазуды, 512 оқуды және әрбір 64 жазу немесе оқу үшін жолды ауыстыруды қамтитын:

  • 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

Модельдеу соңында автобустарды пайдалану 77 пайызды құрайтынын көресіз. Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-24

11-сурет: 512 жазу және 512 оқу үшін өнімділік статистикасы – 64 жазу немесе оқу үшін жолды ауыстыру. 

Енді сіз тиімділікті арттыру үшін алдыңғы бөлімде алған біліміңізді қолдана аласыз. А view жолды өзгертудің орнына барлық банктерді пайдалану үшін төменде көрсетілгендей банкті өзгерту үшін мекенжай үлгісін өзгертіңіз.
Бұл MIG GUI ішіндегі жад мекенжайын салыстыру параметріндегі ROW_BANK_Column параметріне тең.

  • 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

Модельдеу соңында автобустардың бұрынғы 77% пайдалануы қазір 87 екенін көресіз! Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-25

Егер сізге әлі де жоғары тиімділік қажет болса, 1024 немесе 2048 байт үлкен пакет өлшемдерін таңдауға немесе қолмен жаңартуды қарастыруға болады.

Ескерту: Xilinx контроллерді жаңартуды айналып өтуге шақырмайды, өйткені деректер сенімділігіне әсер ететін Jedec автоматты жаңарту уақытын қанағаттандыра алатыныңызға сенімді емеспіз.
Контроллер тарапынан nBANk_MACH өзгертуге және өнімділіктің жақсаруын көруге болады.
Дегенмен, бұл дизайн уақытына әсер етуі мүмкін, қараңыз (Xilinx жауабы 36505) nBANk_MACH туралы мәліметтер алу үшінXilinx DDR2 MIG 7 өнімділігін бағалау-сур-26

core_name_mig_sim.v ашыңыз file және nBANK_MACHS параметрлерін 4-тен 8-ге дейін өзгертіп, модельдеуді қайта іске қосыңыз. Параметр мәні аппараттық құралда күшіне енуі үшін core_name_mig.v файлын жаңарту қажет file.
Мен дәл сол үлгіні қолдандым, онда біз 87% автобусты пайдаландық (сурет -12).
nBANK_MACHS 8 мәніне орнатылғанда, тиімділік қазір 90% құрайды. Xilinx DDR2 MIG 7 өнімділігін бағалау-сур-27

Сондай-ақ, ½ және ¼ контроллерлердің кідірістеріне байланысты тиімділікке теріс әсер ететінін ескеріңіз.
Мысалыample, біз тек әр 4 CK циклі үшін командаларды жібере алатындықтан, кейде DRAM уақытының минималды сипаттамаларын ұстанған кезде қосымша толтыру болады, бұл теориялық тиімділікті төмендетуі мүмкін.
Тиімділік талабыңызға сәйкес келетінін табу үшін әртүрлі контроллерлерді қолданып көріңіз.

Анықтамалар

  1. Zynq-7000 AP SoC және 7 сериялы FPGA MIS v2.3 [UG586]
  2. Xilinx MIG шешімдер орталығы http://www.xilinx.com/support/answers/34243.html

Қайта қарау тарихы
13/03/2015 – Алғашқы шығарылым

PDF файлын жүктеу: Xilinx DDR2 MIG 7 өнімділігін бағалау нұсқаулығы

Анықтамалар

Пікір қалдырыңыз

Электрондық пошта мекенжайыңыз жарияланбайды. Міндетті өрістер белгіленген *