大多數(shù)電子系統(tǒng)使用存儲器組件來存儲可執(zhí)行軟件或存儲數(shù)據(jù),因此精確存儲器模型的可用性是大多數(shù)功能驗(yàn)證策略的基礎(chǔ)。在經(jīng)過驗(yàn)證的基于標(biāo)準(zhǔn)的庫中提供這些模型至關(guān)重要。本文介紹了您應(yīng)該在這些模型中尋找的品質(zhì),并介紹了一個新的庫,我覺得它提供了這種最全面的解決方案,并支持任何類型的仿真環(huán)境和所有三個業(yè)界領(lǐng)先的仿真器。
內(nèi)存模型要求
出于驗(yàn)證建模的目的,可以將存儲器設(shè)備抽象為存儲陣列的信號級協(xié)議接口。信號級接口必須符合存儲器協(xié)議的時序和行為,這可以在行業(yè)標(biāo)準(zhǔn)中指定,例如用于DDR3的JEDEC JES79-3F標(biāo)準(zhǔn),或者在特定情況下,它可以在設(shè)備制造商的數(shù)據(jù)表。存儲陣列的實(shí)現(xiàn)方式對用戶來說不是直接可見的,但對于仿真模型,通常使用SystemVerilog數(shù)據(jù)結(jié)構(gòu)或優(yōu)化的C數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)。
圖1:內(nèi)存設(shè)備模型的通用抽象
在測試平臺中使用內(nèi)存模型時,它被實(shí)例化為連接到內(nèi)存控制器的組件,它既可以是被測設(shè)計,也可以是被測設(shè)計的一部分。使用存儲器模型協(xié)議前端的信號訪問存儲器,并將數(shù)據(jù)傳入和傳出模型的存儲陣列。前端協(xié)議的復(fù)雜性因存儲器類型而異,但它可能涉及使用控制和狀態(tài)寄存器與存儲器狀態(tài)空間交互的并發(fā)傳輸。從某些類型的內(nèi)存(例如DDR)獲得不錯的性能依賴于控制器識別某些類型的數(shù)據(jù)流量并重新組織內(nèi)存訪問以優(yōu)化內(nèi)存中的訪問速率。這種復(fù)雜程度要求高保真存儲器模型不僅要重現(xiàn)真實(shí)存儲器設(shè)備的復(fù)雜行為和時序,還要確定控制器優(yōu)化是否有效。
前門訪問存儲器通過協(xié)議接口對于功能驗(yàn)證是必需的,但是將數(shù)據(jù)傳入和傳出存儲器確實(shí)需要時間;因此,后門接口用于直接加載或卸載存儲器存儲陣列。后門接口通常用于在存儲器模型中加載可執(zhí)行軟件映像,或者它可以用于加載將由硬件加速器操縱的數(shù)據(jù)內(nèi)容。后門接口還可用于在測試期間檢查內(nèi)存內(nèi)容,或者在測試結(jié)束時將內(nèi)存數(shù)據(jù)與黃金參考進(jìn)行比較。后門接口也可以耦合到內(nèi)存調(diào)試器,以允許交互式查看和更改內(nèi)存內(nèi)容。
除了提供這種有用的前后門功能外,還需要其他功能來增強(qiáng)內(nèi)存的可用性。用于驗(yàn)證的內(nèi)存模型。內(nèi)存模型應(yīng)該提供一種檢查正在遵循內(nèi)存協(xié)議并在出現(xiàn)錯誤時標(biāo)記錯誤的方法。這通常通過使用在發(fā)生錯誤時觸發(fā)的斷言來支持,從而更容易找到問題的根本原因。內(nèi)存模型應(yīng)提供功能覆蓋監(jiān)視器,以跟蹤協(xié)議的使用方式。這可用于檢查內(nèi)存控制器是否已經(jīng)過徹底驗(yàn)證,或者了解哪些模式的協(xié)議操作尚未經(jīng)過測試。支持調(diào)試內(nèi)存協(xié)議對于有效跟蹤錯誤來源也很重要。
Mentor內(nèi)存庫
Mentor Graphics最近推出了一種全新的綜合內(nèi)存驗(yàn)證IP庫,旨在滿足對精確內(nèi)存仿真模型日益增長的需求。新發(fā)布的Mentor內(nèi)存模型庫包含25種最常用的內(nèi)存類型。通過配置,該庫支持基于內(nèi)存設(shè)備的數(shù)千個模型,用戶可以創(chuàng)建自己的配置,允許支持幾乎無限數(shù)量的模型。
表1:當(dāng)前支持的內(nèi)存模型類型通過Mentor內(nèi)存庫
DDR內(nèi)存類型支持 | Flash記憶類型支持 |
DDR2,DDR3,DDR4 | SDCard |
LPDRR2,LPDDR3,LPDDR4 | eMMC |
UDIMM(DDR2,DDR3,DDR4) | ONFI |
RDIMM(DDR2,DDR3,DDR4) | Serial Flash |
LRDIMM(DDR3,DDR4) | NAND Flash |
DFI | NOR Flash |
寬IO,寬IO2 | UFS |
HMC | |
HBM |
全部庫中可用的模型既可以用作獨(dú)立的內(nèi)存模型,也可以用作UVM代理,支持任何類型的模擬環(huán)境。這些模型適用于所有三個主要的EDA仿真平臺 - 來自Mentor Graphics的Questa,來自Cadence的Incisive和來自Synopsys的VCS。
內(nèi)存模型打包為SystemVerilog模塊,其引腳對應(yīng)于建模的內(nèi)存類型。這允許它們被實(shí)例化為設(shè)計網(wǎng)表中的組件或測試工具的頂層。模型響應(yīng)前門訪問的信號級協(xié)議,并提供庫中通用的后門API。
模型為每種類型的內(nèi)存模型提供全部功能和時序精度。這包括可選的功能模式設(shè)置和對高級操作的支持,例如訓(xùn)練和調(diào)平,用于微調(diào)高速協(xié)議接口(如DDR4)的響應(yīng)。
模型的時序和行為是高度可配置的,允許它們被調(diào)整以具有真實(shí)存儲設(shè)備的個性。每個內(nèi)存模塊都有一個MANUFACTURER和一個PART_NUMBER參數(shù),允許您指定模型應(yīng)該表現(xiàn)的設(shè)備。這些參數(shù)在模擬開始時用于在模型中設(shè)置適當(dāng)?shù)呐渲眠x項(xiàng)??梢詫⑦@些部件號參數(shù)的值更改為模擬器命令行選項(xiàng)。這使得可以更改建模的零件而無需重新編譯設(shè)計和測試平臺,這對于檢查第二個源組件是否可以在系統(tǒng)設(shè)計中工作非常有用。
Mentor支持內(nèi)存模型VIP配置GUI,允許您在GUI創(chuàng)建的測試平臺中實(shí)例化特定的內(nèi)存組件模型,或者創(chuàng)建可由內(nèi)存組件加載的配置文件。通過GUI,您可以訪問特定內(nèi)存類型的所有可用配置選項(xiàng),包括時序參數(shù)。這允許您創(chuàng)建自己的內(nèi)存模型變體來探索特定的角點(diǎn)情況。 GUI生成的配置文件的路徑是內(nèi)存模塊的另一個參數(shù),如果指定,則覆蓋MANUFACTURER和PART_NUMBER配置。
圖2:內(nèi)存模型框圖
模型有一個API,因此您可以在模擬過程中重新配置它們。 API允許指定新的設(shè)備部件號或使用不同的配置文件。使用這種方法幾乎可以對模型進(jìn)行任何更改。但是,您必須確保行為中的任何更改都發(fā)生在測試中的合理位置,并且您必須意識到模型可能需要重新初始化或訓(xùn)練,具體取決于重新配置的范圍。
內(nèi)存模型具有其他模塊級參數(shù),可提供可選的驗(yàn)證功能。使用ENABLE_FUNC_COV參數(shù)激活內(nèi)存協(xié)議的功能覆蓋監(jiān)視器。使用ENABLE _TXN_LOG參數(shù)打開內(nèi)存事務(wù)記錄器。內(nèi)存事務(wù)記錄器可寫入模擬器腳本或指定的日志文件,輸出可用于跟蹤內(nèi)存級模擬活動。
由于內(nèi)存模型構(gòu)建在Mentor Verification IP之上在體系結(jié)構(gòu)方面,它們具有內(nèi)置的事務(wù)調(diào)試工具,允許在波形窗口中查看協(xié)議活動以及其他設(shè)計級信號。此功能將內(nèi)存訪問抽象為高級事務(wù),從而可以輕松了解內(nèi)存協(xié)議在任何時間點(diǎn)發(fā)生的情況。
即時模型重新配置
Mentor內(nèi)存模型的一般用例是獨(dú)立模型,代表系統(tǒng)級別的內(nèi)存設(shè)備。在這種情況下,它們在測試用例的持續(xù)時間內(nèi)對設(shè)備的行為進(jìn)行建模,并且不進(jìn)行重新配置。但是,存在一些內(nèi)存控制器驗(yàn)證方案,其中在模擬過程中更改模型的時序或行為是有用的。內(nèi)存模型以三種方式之一支持??梢允褂眠\(yùn)行時API調(diào)用(指定新的部件號或新自定義配置文件的路徑)對模型配置進(jìn)行重大更改以更改部件號或?qū)⑵渲匦屡渲脼樽远x配置。通過在模型本身中直接設(shè)置配置變量,可以進(jìn)行較小的運(yùn)行時更改。
每個模型的所有可用配置變量都記錄在庫提供的綜合在線文檔中。例如,通過在運(yùn)行中改變適當(dāng)?shù)亩〞r變量,可以進(jìn)行微妙的定時改變以檢查存儲器控制器是否能夠應(yīng)對延遲的定時響應(yīng)。
表2:內(nèi)存模型模塊參數(shù)
參數(shù) | 目的 |
制造商 | 識別零件制造商 |
PART_NUMBER | 標(biāo)識設(shè)備部件號 |
CONFIG_FILE | 配置GUI創(chuàng)建的自定義配置文件的路徑 |
ENABLE_FUNC_COV | 啟用功能覆蓋率監(jiān)視器 |
ENABLE_TXN_LOG | 啟用事務(wù)記錄器進(jìn)行調(diào)試 |
TXN_LOG_FILE | 事務(wù)記錄器輸出的文件路徑 |
IF_NAME | 與uvm_config_db一起用于識別模型虛擬接口句柄 |
可以使用Verilog或VHDL測試平臺中的分層引用或SystemVerilog UVM測試平臺中的虛擬接口句柄對配置變量進(jìn)行更改。該模型將其虛擬接口句柄的引用放入UVM uvm_config_db數(shù)據(jù)結(jié)構(gòu)中,UVM測試平臺中的組件可以通過這種方式引用模型的配置參數(shù)。提供模塊級參數(shù)以自定義用于存儲和檢索uvm_config_db模型虛擬接口句柄的路徑和鍵字符串的命名。
結(jié)論
Mentor內(nèi)存模型庫提供了全面的內(nèi)存建模解決方案,并提供了廣泛的配置選項(xiàng),可以非常輕松地對特定設(shè)備部件或自定義部件進(jìn)行建模。這些模型具有內(nèi)置的高級驗(yàn)證功能,可用于任何形式的基于仿真的驗(yàn)證環(huán)境,并且有資格在Questa,Incisive和VCS模擬器上運(yùn)行。
-
存儲器
+關(guān)注
關(guān)注
38文章
7653瀏覽量
167462 -
PCB打樣
+關(guān)注
關(guān)注
17文章
2977瀏覽量
22586 -
華強(qiáng)PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
28619 -
華強(qiáng)pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43937
發(fā)布評論請先 登錄
什么是適用于移動設(shè)備的嵌入式大容量存儲?
是否有人像使用PIC32MX那樣把所有數(shù)據(jù)放入外部存儲器?
PANASONIC推出適用于高清視頻錄制的新SDHC記憶卡產(chǎn)
相變存儲器:能實(shí)現(xiàn)全新存儲器使用模型的新型存儲器
DS3645適用于網(wǎng)絡(luò)服務(wù)器的安全存儲器
基于長短期記憶模型的多維主題模型

區(qū)塊鏈技術(shù)并不適合所有人
谷歌發(fā)布了最新的AI工具 成功將收獲所有人的目光
LTC3718:適用于DDR/QDR存儲器終端的低輸入電壓DC/DC控制器產(chǎn)品手冊

適用于istContainer和所有視圖的滑動菜單庫
存儲器工作原理及如何選擇存儲器品牌
適用于所有平臺的便攜式Web調(diào)試器

MSP430FRBoot-適用于MSP430? FRAM大型存儲器型號器件的主存儲器引導(dǎo)加載程序和無線更新

評論