在博客 DDR VIP 模型的無縫快速初始化中,我們討論了內(nèi)存 VIP 模擬可以選擇快速完成重置和初始化過程并進(jìn)入空閑狀態(tài)并開始讀取和寫入內(nèi)存位置的重要性。我們提出了一種方法來實現(xiàn)這一點,即在完成重置和初始化所需的所有JEDEC標(biāo)準(zhǔn)步驟時縮小所需的時序。
在這篇博客中,我們將討論 Synopsys Memory VIP 如何允許完全跳過初始化,同時保持模型的正確行為。
使用 Synopsys 內(nèi)存 VIP 的 Skip 初始化功能可確保模型處于空閑狀態(tài),從而繞過重置過程的要求。在該狀態(tài)下,VIP 已準(zhǔn)備好接受 REF、MRS 和 ACT 等命令。允許的命令如圖 1 – DDR3 SDRAM JEDEC 標(biāo)準(zhǔn) JESD79-3F 狀態(tài)圖和圖 2 – DDR4 SDRAM JEDEC 標(biāo)準(zhǔn) JESD79-4 狀態(tài)圖所示。
圖 1 – DDR3 SDRAM JEDEC 標(biāo)準(zhǔn) JESD79-3F 狀態(tài)圖
圖 2 – DDR4 SDRAM JEDEC 標(biāo)準(zhǔn) JESD79-4 狀態(tài)圖
跳過初始化功能適用于 DDR3、DDR4。應(yīng)該注意的是,使用skip init在后門設(shè)置后重置將清除所有設(shè)置并設(shè)置回默認(rèn)值。
對于離散設(shè)備,我們可以使用以下方法將VIP設(shè)置為跳過初始化模式:
// dram_cfg is handle of class svt_ddr_confitugation dram_cfg.skip_init = 1 |
對于 DIMM 設(shè)備,我們可以使用以下步驟將 VIP 設(shè)置為跳過 DIMM 型號上的初始化序列:
// dimm_cfg is handle of svt_ddr_dimm_configuration and // configuring the skip_init setting for individual DRAM // configurations with DIMM structure foreach(dimm_cfg.data_lane_cfg[i]) begin foreach(dimm_cfg.data_lane_cfg[i].rank_cfg[j]) begin dimm_cfg.data_lane_cfg[i].rank_cfg[j].skip_init = 1; end end // Skip initialization setting for RCD component within an // RDIMM and LRDIMM dimm_cfg.ca_buffer_cfg.skip_init = 1; |
在通過config_db機(jī)制傳遞配置對象之前,應(yīng)在構(gòu)建階段完成離散和 DIMM 型號的跳過初始化設(shè)置。
此外,這些設(shè)置可以在構(gòu)建階段之后完成,但用戶必須調(diào)用 reconfigure() 方法來更新模型中的設(shè)置。這必須在接口上執(zhí)行任何命令之前完成。
以下是 reconfigure() 方法調(diào)用的語法:
// For Discrete Device Model env.mem_agent.reconfigure(dram_cfg); // For DIMM Model env.dimm_env.reconfigure(dimm_cfg); |
在隨后的博客中,我們將討論如何使用前門和后門訪問設(shè)置模式寄存器。
審核編輯:郭婷
-
寄存器
+關(guān)注
關(guān)注
31文章
5357瀏覽量
120614 -
DDR4
+關(guān)注
關(guān)注
12文章
322瀏覽量
40830 -
Ref
+關(guān)注
關(guān)注
0文章
19瀏覽量
27897
發(fā)布評論請先 登錄
相關(guān)推薦
評論