Logotip de Xilinx

Guia d'estimació de rendiment de Xilinx DDR2 MIG 7

Xilinx_DDR2_MIG_7_Performance-Estimation-product

Nota important: Aquest PDF descarregable d'un registre de resposta es proporciona per millorar la seva usabilitat i llegibilitat. És important tenir en compte que Answer Records ho són Webcontingut basat en el contingut que s'actualitza amb freqüència a mesura que hi ha nova informació disponible. Us recordem que heu de visitar el suport tècnic de Xilinx Weblloc i review (Xilinx Answer 63234) per a la darrera versió d'aquesta resposta.

Introducció

A causa de la forma en què es dissenyen les memòries DDR2 i DDR3 i es dissenya el controlador de la sèrie MIG 7, el rendiment no és senzill.
Requereix una comprensió de diversos paràmetres de temporització de Jedec i l'arquitectura del controlador, i haureu d'executar simulacions per obtenir les estimacions.
El principi general per determinar el rendiment és el mateix, però aquest document proporciona una manera senzilla d'obtenir eficiència mitjançant el MIG exampel disseny amb l'ajuda del banc de proves i l'estímul files'adjunta aquí.

Amplada de banda efectiva

El bus de dades DRAM aconsegueix una amplada de banda gairebé màxima només durant les ràfegues de lectura i escriptura i la seva sobrecàrrega redueix la velocitat de dades efectiva.
Uns quants examples despeses generals són:

  • temps de precàrrega per accedir a les files del mateix banc (l'adreça d'accés no és a la mateixa visita de la pàgina de fila)
  • temps de recuperació d'escriptura per canviar d'accés d'escriptura a accés de lectura
  • el temps de resposta de l'autobús per canviar d'accés de lectura a escriptura

Estimació del rendiment de Xilinx DDR2 MIG 7-fig-28
Ample de banda efectiu = Ample de banda màxim * Eficiència 

MIG Design Generation

Consulteu UG586 Capítol 1 per obtenir detalls pas a pas sobre MIG IP i exampla generació del disseny.
Abans d'executar la simulació de rendiment de la sèrie MIG 7, feu el següent per assegurar-vos que el vostre entorn de simulació està bé. Obriu el MIG exampdissenyeu i mapeu les biblioteques adequades, executeu la simulació i assegureu-vos que podeu veure el missatge "prova superada" a la transcripció.
Per demostrar el flux, he generat una IP MIG per a xc7vx690tffg1761-2 i he invocat l'exampdisseny.
Dues coses que cal tenir en compte són els bits d'adreces de memòria i la selecció de mapes d'adreces de memòria.
Per example, he seleccionat MT41J128M8XX-125 a les opcions desplegables de la part de memòria.Xilinx DDR2 MIG-7-Rendiment-Estimació-fig-1

Per a la part de memòria seleccionada de la figura 1, fila = 14, columna = 10 i banc = 3, de manera que app_addr_width = fila + columna + banc + rang = 28 Estimació del rendiment de Xilinx DDR2 MIG 7-fig-2

Podeu seleccionar la columna BANK_ROW_COLUMN o la columna ROW BANK.
He deixat la columna ROW BANK, que és l'assignació d'adreces predeterminada.

Example disseny Simulació amb banc de proves sintetitzable

A Configuració de la simulació, seleccioneu QuestaSim/ModelSim Simulator i navegueu fins a la ubicació de les biblioteques compilades.
Per obtenir més informació sobre com apuntar a una ruta d'instal·lació d'eines de tercers, seleccionar el simulador de destinació i compilar i mapejar biblioteques, podeu consultar (UG900) Guia d'usuari de Vivado Design Suite Simulació lògicaEstimació del rendiment de Xilinx DDR2 MIG 7-fig-3

Executeu la simulació a través de la GUI (feu clic a la pestanya Executar simulació al gestor de projectes) i assegureu-vos que veieu el missatge "prova superada" a la transcripció.

Modificacions de RTL de simulació de rendiment

  1. Feu clic amb el botó dret a la pestanya de fonts, seleccioneu "afegir o crear fonts de simulació" i navegueu fins a mig7_perfsim_traffic_generator.sv file i feu clic a Finalitzar per afegir-lo.
  2. Feu clic amb el botó dret a la pestanya de fonts, seleccioneu "afegir o crear fonts de simulació", navegueu a perfsim_stimulus.txt i feu clic a Finalitza per afegir-lo.
  3. Comenta l'exampla instanciació le_top al sim_tb_top.v file.
  4. Afegiu les línies RTL següents a sim_tb_top,v
  • localparam APP_ADDR_WIDTH = 28;
  • localparam APP_DATA_WIDTH = 64;
  • localparam APP_MASK_WIDTH = APP_DATA_WIDTH / 8;
  • localparam MEM_ADDR_ORDER = "BANK_ROW_COLUMN";
  • localparam BANK_WIDTH = 3;
  • localparam RANK_WIDTH = 1;
  • cable [APP_ADDR_WIDTH-1:0] c0_ddr3_app_addr;
  • cable [2:0] c0_ddr3_app_cmd;
  • cable c0_ddr3_app_en;
  • cable [APP_DATA_WIDTH-1:0] c0_ddr3_app_wdf_data;
  • cable c0_ddr3_app_wdf_end;
  • cable [APP_MASK_WIDTH-1:0] c0_ddr3_app_wdf_mask;
  • cable c0_ddr3_app_wdf_wren;
  • cable [APP_DATA_WIDTH-1:0] c0_ddr3_app_rd_data;
  • cable c0_ddr3_app_rd_data_end;
  • cable c0_ddr3_app_rd_data_valid;
  • cable c0_ddr3_app_rdy;
  • cable c0_ddr3_app_wdf_rdy;
  • cable c0_data_compare_error;
  • cable ui_clk;
  • cable ui_clk_sync_rst;
  • cable app_sr_req = 0;
  • cable app_ref_req = 0;
  • cable app_zq_req =0;
  • cable c0_app_wdf_mask =0;

Instanciació del controlador de memòria FPGA

mig_7series_0_mig u_mig_7series_0_mig (
// Ports d'interfície de memòria

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

// Ports d'interfície d'aplicació

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

// Ports del rellotge del sistema

  • .sys_clk_i (sys_clk_i),

// Ports de rellotge de referència

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

Instanciació del generador de trànsit de rendiment

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. Modifiqueu APP_ADDR_WIDTH, APP_DATA_WIDTH, RANK_WIDTH i BANK_WIDTH segons la vostra selecció de part de memòria.
    Els valors es poden obtenir del _mig.v file.
  • El nom d'instanciació ressaltat en groc mig_7series_0_mig pot variar en funció del nom del vostre component durant la creació de l'IP, comproveu si heu triat un nom diferent i canvieu-lo en conseqüència.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-4
  • Un cop generada la IP, obriu el fitxer _mig.v file i comproveu les variacions dels noms del senyal LHS i corregiu-les.
  • app_sr_req, app_ref_req i app_zq_req s'han d'inicialitzar a 0.
  • Com example_top.v està comentat i és nou files'afegeixen, probablement veuràs "?" al costat del
    mig_7series_0_mig.v file sota fonts de simulació.
    Per cartografiar el correcte file, feu clic amb el botó dret del ratolí mig_7series_0_mig.v, seleccioneu "Afegeix fonts", Navega a
    /mig_7series_0_example.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl
    i afegiu el fitxer mig_7series_0_mig_sim.v file.
  • Si veus "?" per al subjacent files, afegiu tots els RTL files a les carpetes de rellotge, controller, ip_top,phy i UI.
  • Un cop fets els canvis RTL i tot el necessari files'afegeixen a les vostres fonts de simulació, la jerarquia hauria de ser similar a la de la figura 5.
    El fileEls ressaltats en vermell s'han afegit recentment i "?" s'espera als mòduls relacionats amb ECC, ja que la configuració de memòria seleccionada té l'opció ECC desactivada.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-5

Estímul File Descripció
Cada patró d'estímul té 48 bits i el format es descriu a les figures 6-1 a 6-4.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-6

Codificació d'adreces (adreça [35:0])

L'adreça està codificada a l'estímul segons la figura 7-1 a la figura 7-6. Tots els camps d'adreça s'han d'introduir en format hexadecimal. Tots els camps d'adreces tenen una amplada divisible per quatre per introduir-les en format hexadecimal. El banc de proves només envia els bits necessaris d'un camp d'adreça al controlador de memòria.
Per exampli, en una configuració de vuit bancs, només s'envien els bits del banc [2:0] al controlador de memòria i els bits restants s'ignoren. Els bits addicionals per a un camp d'adreça es proporcionen perquè introduïu l'adreça en format hexadecimal.
Heu de confirmar que el valor introduït correspon a l'amplada d'una configuració determinada.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-7

  • Adreça de la columna (Columna[11:0]): L'adreça de columna de l'estímul es proporciona a un màxim de 12 bits, però cal que ho solucioneu en funció del paràmetre d'amplada de columna establert al vostre disseny.
  • Adreça de fila (fila[15:0]): L'adreça de fila a l'estímul s'ofereix com a màxim de 16 bits, però l'heu de resoldre en funció del paràmetre d'amplada de fila establert al vostre disseny.
  • Adreça bancària (banc[3:0]): L'adreça bancària a l'estímul s'ofereix fins a un màxim de quatre bits, però heu d'abordar-ho en funció del paràmetre d'amplada del banc establert al vostre disseny.
  • Adreça de classificació (classificació[3:0]) – L'adreça de classificació a l'estímul s'ofereix fins a un màxim de quatre bits, però l'heu de resoldre en funció del paràmetre d'amplada de classificació establert al vostre disseny.
    L'adreça s'assembla en funció del paràmetre MEM_ADDR_ORDER de nivell superior i s'envia a la interfície d'usuari

Repetició d'ordres (Repetició d'ordres [7:0])
El nombre de repeticions d'ordres és el nombre de vegades que es repeteix l'ordre corresponent a la interfície d'usuari. L'adreça de cada repetició s'incrementa en 8. El nombre màxim de repeticions és 128.
El banc de proves no comprova el límit de la columna i s'ajusta si s'arriba al límit màxim de columna durant els increments.
Les 128 ordres omplen la pàgina. Per a qualsevol adreça de columna que no sigui 0, el recompte de repeticions de 128 acaba travessant el límit de la columna i envoltant-se fins a l'inici de l'adreça de la columna.

Ús d'autobús
La utilització del bus es calcula a la interfície d'usuari tenint en compte el nombre total de lectures i escriptures i s'utilitza l'equació següent:

Estimació del rendiment de Xilinx DDR2 MIG 7-fig-8

  • BL8 pren quatre cicles de rellotge de memòria
  • end_of_stimulus és el moment en què es fan totes les ordres.
  • calib_done és el moment en què es fa el calibratge.

Example Patrons
Aquests exampEls fitxers es basen en el MEM_ADDR_ORDER establert en BANK_ROW_COLUMN.

Patró de lectura únic
00_0_2_000F_00A_1: aquest patró és una lectura única de la 10a columna, la 15a fila i el segon banc.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-9Patró d'escriptura únic
00_0_1_0040_010_0: aquest patró és una escriptura única a la columna 32, la fila 128 i el primer banc.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-10Escriptura i lectura única a la mateixa adreça
00_0_2_000F_00A_0 – Aquest patró és una escriptura única a la 10a columna, la 15a fila i el segon banc.
00_0_2_000F_00A_1 – Aquest patró és una lectura única de la 10a columna, la 15a fila i el segon bancEstimació del rendiment de Xilinx DDR2 MIG 7-fig-11

Múltiples escriptures i lectures amb la mateixa adreça
0A_0_0_0010_000_0 – Això correspon a 10 escriptures amb adreça que comença de 0 a 80 que es poden veure a la columna.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-12

0A_0_0_0010_000_1 – Correspon a 10 lectures amb adreça que comença de 0 a 80 que es poden veure a la columna.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-13

Ajust de pàgina durant les escriptures
0A_0_2_000F_3F8_0 – Això correspon a 10 escriptures amb l'adreça de columna envoltada a l'inici de la pàgina després d'una escriptura.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-14

Simulació del generador de trànsit de rendiment

En aquest punt ja heu acabat amb MIG exampsimulació de disseny. Això implica que la configuració de la simulació està preparada, que heu fet modificacions RTL de simulació de rendiment, que la nova jerarquia de simulació és correcta i que heu entès els patrons d'estímul. Executeu la simulació una vegada més amb 16 escriptures i lectures a perfsim_stimulus.txt.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-15

Feu-ho tot, espereu fins que s'afirmi el senyal init_calib_complete i podreu veure el nombre proposat d'escriptures i lectures. Aleshores s'aturarà la simulació. Estimació del rendiment de Xilinx DDR2 MIG 7-fig-16

Quan se us demani que sortiu de la simulació, seleccioneu No i aneu a la finestra de transcripció on podreu veure les estadístiques de rendiment. Estimació del rendiment de Xilinx DDR2 MIG 7-fig-17

Si seleccioneu "abandonar la simulació" les estadístiques de rendiment s'escriuran a a file nomenat mig_band_width_output.txt situat a sim_1/behave carpeta.

Exampruta del directori del fitxer: -
/mig_7series_0_example_perf_sim\mig_7series_0_example.sim/sim_1/behavEstimació del rendiment de Xilinx DDR2 MIG 7-fig-18

Potser us preguntareu per què el percentatgetagL'ús de l'autobús només és de 29. Torneu a executar la simulació amb la mateixa configuració IP però només canviant l'estímul file a 256 escrits i 256 lectures

ff_0_0_0000_000_0
ff_0_0_0000_000_1

Ara veureu el percentatgetage com 85, la qual cosa implica que DDR3 ofereix una millor utilització del bus per a llargues seqüències d'escriptures i ràfegues de lectura. Estimació del rendiment de Xilinx DDR2 MIG 7-fig-19

Formes generals per millorar el rendiment

Els factors que influeixen en l'eficiència es poden dividir en dos apartats:

  1. Memòria específica
  2. Controlador específicEstimació del rendiment de Xilinx DDR2 MIG 7-fig-20

La figura 9 us dóna un sobreview dels termes que són específics de la memòria.
A diferència de les SRAM i les memòries de blocs, el rendiment DDR2 o DDR3 no és només la velocitat de dades màxima.

Depèn de molts factors temporals, com ara:

  • tRCD: Retard d'ordres de fila (o retard de ras a cas).
  • tCAS(CL): Latència estroboscòpica de l'adreça de la columna.
  • tRP: Retard de precàrrega de fila.
  • tRAS: Temps actiu de fila (activa per canviar prèviament).
  • tRC: Temps de cicle de fila. tRC = tRAS + tRP
  • tRAC: Retard d'accés Radom. tRAC = tRCD + tCAS
  • tCWL: Cas latència d'escriptura.
  • tZQ: Temps de calibració ZQ.
  • tRFC: Temps del cicle d'actualització de files
  • tWTR: Retard d'escriure a lectura. Última transacció d'escriptura a l'hora de l'ordre de lectura.
  • tWR: Escriu Temps de recuperació. Última transacció d'escriptura a l'hora de precàrrega

El temps de tots els paràmetres enumerats depèn del tipus de memòria utilitzada i del grau de velocitat de la part de memòria.
Podeu trobar més detalls sobre les definicions i les especificacions de temps a DDR2 DDR3 JEDEC o a qualsevol full de dades del dispositiu de memòria.

L'eficiència depèn principalment de com s'accedeix a la memòria. Els diferents patrons d'adreces donen resultats d'eficiència diferents.

Despeses generals de temps de memòria

  1. Temps d'activació i temps de precàrrega quan es canvia a bancs/files nous o es canvia de files amb el mateix banc.- Així que si redueix el canvi de fila, això pot eliminar tRCD i tRP.
  2. Envia ordres d'escriptura o lectura contínua - Manteniment del temps tCCD.
  3. Minimitzar el canvi d'ordres d'escriptura a lectura i lectura a escriptura: temps de recuperació d'escriptura per canviar a accessos de lectura, temps de resposta de l'autobús per canviar de lectura a escriptura
  4. Estableix un interval d'actualització adequat.
    • DDR3 SDRAM requereix cicles d'actualització a un interval periòdic mitjà de tREFI.
    • Es poden emetre un màxim de 8 ordres d'actualització addicionals per avançat ("trets"). Això no redueix el nombre d'actualitzacions, però l'interval màxim entre dues ordres d'actualització circumdants està limitat a 9 × tREFIEstimació del rendiment de Xilinx DDR2 MIG 7-fig-21
  • Utilitzeu tots els bancs - És preferible un mecanisme d'adreçament adequat.
    • Fila-Banc-Columna: Per a una transacció que es produeix en un espai d'adreces seqüencial, el nucli obre automàticament la mateixa fila al banc següent del dispositiu DRAM per continuar la transacció quan s'arriba al final d'una fila existent. És molt adequat per a aplicacions que requereixen la ruptura de grans paquets de dades a ubicacions d'adreces seqüencials.
    • Banc-fila-columna: En creuar el límit d'una fila, la fila actual es tancarà i s'obrirà una altra fila dins del mateix banc. MSB és una adreça bancària, que es pot utilitzar per canviar de bancs diferents. És adequat per a transaccions més curtes i aleatòries a un bloc de memòria durant un període de temps i després un salt a un altre bloc (banc)
  • Longitud de l'esclat
    • BL 8 és compatible amb DDR3 a la sèrie 7. BC4 té una eficiència molt baixa que és inferior al 50%. Això es deu al fet que el temps d'execució de BC4 és el mateix que BL8. Les dades només s'emmascaren dins del component.
    • En els casos en què no voleu escriure en ràfega completa, es pot considerar la màscara de dades o l'escriptura després de la lectura.
  • Estableix un interval ZQ adequat (només DDR3)
    El controlador envia ordres de calibració ZQ Short (ZQCS) i ZQ Long (ZQCL).
    • Compliu amb l'estàndard DDR3 Jedec
    • La calibració ZQ es parla a la secció 5.5 de l'estàndard JEDEC Spec JESD79-3 DDR3 SDRAM
    • La calibració ZQ calibra la terminació de matriu (ODT) a intervals regulars per tenir en compte les variacions entre VT
    • La lògica es troba a bank_common.v/vhd
    • El paràmetre Tzqcs determina la velocitat a la qual s'envia una ordre de calibració ZQ a la memòria
    • És possible desactivar el comptador i enviar manualment mitjançant app_zq_req, és semblant a enviar manualment una actualització.
      Consulteu (Xilinx Answer 47924) per obtenir més informació.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-22

Despeses generals del controlador

  1. Lectures periòdiques - Consulteu (Resposta Xilinx 43344) per als detalls.
    • No canvieu el període de lectura
    • Omet les lectures periòdiques durant les escriptures i emet el nombre de lectures perdudes abans d'una lectura real
  2. Reordenació - Consulteu (Resposta Xilinx 34392) per als detalls.
    Per als dissenys d'interfície d'usuari i AXI, és preferible tenir-ho habilitat.
    • La reordenació és la lògica que mira endavant diverses ordres i canvia l'ordre de les ordres de l'usuari perquè les ordres que no siguin de memòria no ocupin ample de banda vàlid. El rendiment també es relaciona amb el patró de trànsit real.
    • Segons el patró d'adreces, la reordenació ajuda a saltar la precàrrega i activar les ordres i fa que tRCD i tRP no ocupin l'amplada de banda de dades.Estimació del rendiment de Xilinx DDR2 MIG 7-fig-23
  3. Intenta augmentar el nombre de màquines bancàries.
    • La major part de la lògica del controlador resideix a les màquines bancàries i corresponen a bancs DRAM
    • Una màquina bancària determinada gestiona un sol banc de DRAM en un moment donat.
    • L'assignació de la màquina bancària és dinàmica, per la qual cosa no és necessari tenir una màquina bancària per a cada banc físic.
    • Les màquines bancàries es poden configurar, però és una compensació entre àrea i rendiment.
    • El nombre permès de màquines bancàries oscil·la entre 2 i 8.
    • Per defecte, es configuren 4 màquines bancàries mitjançant paràmetres RTL.
    • Per canviar les màquines bancàries, considereu el paràmetre nBANK_MACHS = 8 contingut a memc_ui_top Example per a 8 màquines bancàries – nBANK_MACHS = 8

Ara ja coneixeu els factors que influeixen en el rendiment.
Penseu en una aplicació amunt que us ofereixi 512 bytes de dades per paquet i heu de desar-los a diferents ubicacions de memòria. Com que 512 bytes de dades equivalen a 64 ràfegues de dades DDR3, torneu a executar l'exampel disseny amb un estímul file que conté 512 escriptures, 512 lectures i canvi de fila per cada 64 escriptures o lectures:

  • 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

Al final de la simulació, veureu que la utilització de l'autobús és del 77 per cent. Estimació del rendiment de Xilinx DDR2 MIG 7-fig-24

Figura 11: Estadístiques de rendiment per a 512 escriptures i 512 lectures: canvi de fila per a 64 escriptures o lectures. 

Ara podeu aplicar els coneixements après a la secció anterior per millorar l'eficiència. Amb una view per utilitzar tots els bancs en lloc de canviar la fila, modifiqueu el patró d'adreça per canviar el banc tal com es mostra a continuació.
Això equival a configurar ROW_BANK_Column a la configuració de mapatge d'adreces de memòria a la GUI MIG.

  • 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

Al final de la simulació, veureu que l'anterior 77% d'utilització de l'autobús ara és del 87! Estimació del rendiment de Xilinx DDR2 MIG 7-fig-25

Si encara necessiteu una eficiència més gran, podeu optar per paquets grans de 1024 o 2048 bytes o considerar una actualització manual.

Nota: Xilinx no encoratja passar per alt l'actualització del controlador, ja que no estem segurs de si podreu complir el temps d'actualització automàtica de Jedec que afecta la fiabilitat de les dades.
Des del costat del controlador, podeu canviar nBANk_MACH i veure la millora del rendiment.
Tanmateix, això pot afectar el temps de disseny, consulteu (Resposta Xilinx 36505) per obtenir més informació a nBANk_MACHEstimació del rendiment de Xilinx DDR2 MIG 7-fig-26

Obriu el core_name_mig_sim.v file i canvieu els paràmetres nBANK_MACHS de 4 a 8 i torneu a executar la simulació. Perquè el valor del paràmetre tingui efecte al maquinari, heu d'actualitzar core_name_mig.v file.
Vaig utilitzar el mateix patró on vam obtenir un 87% d'utilització de l'autobús (figura -12).
Amb nBANK_MACHS establert a 8, l'eficiència ara és del 90%. Estimació del rendiment de Xilinx DDR2 MIG 7-fig-27

Tingueu en compte també que els controladors ½ i ¼ afecten negativament l'eficiència a causa de les seves latències.
Per example, ja que només podem enviar ordres cada 4 cicles CK, de vegades hi ha un farciment addicional quan s'adhereixen a les especificacions de temps mínimes de DRAM, que poden disminuir l'eficiència del teòric.
Proveu diferents controladors per trobar el que s'adapti als vostres requisits d'eficiència.

Referències

  1. SoC Zynq-7000 AP i FPGA de la sèrie 7 MIS v2.3 [UG586]
  2. Xilinx MIG Solution Center http://www.xilinx.com/support/answers/34243.html

Historial de revisions
13/03/2015 – Lançament inicial

Descarregar PDF: Guia d'estimació de rendiment de Xilinx DDR2 MIG 7

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *