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

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

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

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

評(píng)論