我們在進行PCIe RTL仿真時,由于PCIe ltssm協(xié)商過程比較復(fù)雜,導(dǎo)致PCIe ltssm進入L0狀態(tài)所花費的時間比較長(大概在20~60分鐘,因代碼復(fù)雜度、服務(wù)器性能、PCIe速率不同而所有差異),而如果進行網(wǎng)表級別的仿真一般需要1周以上的時間。此時加速PCIe仿真,提高效率是我們必須考慮的問題。常見的加速模式有如下三種。我們以VIP PCIe(Verification IP,一種PCIe驗證虛擬IP)對接Endpoint的仿真環(huán)境進行說明。 ? ? ? 1、選擇低速模式加速仿真 在測試某些與速率不相關(guān)的功能時,為了減少仿真時間,可以選擇低速率模式,如選擇gen1,gen2。特別是gen1(2.5Gbps)速率下,ltssm協(xié)商所需要的時間最短。適用于測試跟速率無關(guān)的功能,比如說用戶邏輯功能的正確性。Gen3以及以上速率跟gen1/gen2比起來,多了均衡協(xié)商過程,此階段耗時最多。 2、使用PIPE口仿真加速 在完整的PCIe協(xié)商過程中,PHY的link協(xié)商時間較長。如果對接VIP支持PIPE(phy-interface-pci-express)互連的話,可以bypass PHY,直接使用PIPE接口連接,即Endpoint PCIe PIPE口對接VIP PIPE,能夠有效減少PCIe上電協(xié)商所需要的時間。側(cè)重PCIe TL層功能點以及用戶邏輯的測試用例,可以bypass PHY,使用PIPE口互連,測試PHY相關(guān)功能的用例不能使用此方法。 3、使用加速宏定義或者配置加速
PCIe ctrl(TL層和DL層)和PHY在設(shè)計時為了方便用戶測試,一般都添加了加速的手段,通常有2種手段:
1)代碼頂層或者內(nèi)部的部分的寄存器決定是否加速:
如果在頂層,可以通過配置寄存器 or 改變例化值的方式實現(xiàn); 如果在內(nèi)部,可以通過force的方式實現(xiàn)
2)通過宏定義實現(xiàn):
例如VCS仿真時加上+define+AUTO_FAST_SIMULIATION,具體宏定義名稱由IP確定。
加速原理 A)大幅減少鏈路狀態(tài)機在各狀態(tài)下的timeout時間,相對于正常模式,仿真模式下timeout時間可以減少至正常模式的千分之一或百分之一; B)大幅度減少訓(xùn)練成功所需序列的數(shù)量,例如連續(xù)接收到1000個序列表示當前狀態(tài)訓(xùn)練成功,加速模式下可以只需要10個序列就能訓(xùn)練成功
審核編輯:彭菁
-
寄存器
+關(guān)注
關(guān)注
31文章
5343瀏覽量
120447 -
仿真
+關(guān)注
關(guān)注
50文章
4087瀏覽量
133650 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9184瀏覽量
85489 -
PCIe
+關(guān)注
關(guān)注
15文章
1239瀏覽量
82698 -
代碼
+關(guān)注
關(guān)注
30文章
4790瀏覽量
68654
原文標題:驗證:3種加速PCIe仿真的方法
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論