一、驗證導論
SystemVerilog學習(1)——驗證導論-CSDN博客文章瀏覽閱讀403次。SystemVerilog自學,驗證系統概述,什么是SVhttps://blog.csdn.net/apple_53311083/article/details/133953016
二、數據類型
SystemVerilog學習(2)——數據類型-CSDN博客文章瀏覽閱讀498次。SystemVerilog數據類型說明https://blog.csdn.net/apple_53311083/article/details/133954778
三、數組
SystemVerilog學習(3)——數組_system verilog 多維數組-CSDN博客文章瀏覽閱讀381次。SV數組類型和隊列_system verilog 多維數組https://blog.csdn.net/apple_53311083/article/details/133956143
四、自定義結構
SystemVerilog學習(4)——自定義結構-CSDN博客文章瀏覽閱讀306次。SV自定義類型https://blog.csdn.net/apple_53311083/article/details/133960786
五、接口
SystemVerilog學習 (5)——接口-CSDN博客文章瀏覽閱讀515次。在進行驗證的時候,我們盡量希望能夠把設計部分和驗證的部分分成,這里就會涉及到兩個部分的連接問題,使用verilog的大家應該都知道,在verilog中對于端口的連接來說是一件非常枯燥和繁瑣的事情,對于一個大的設計來說,端口的連接是非常耗時和易錯的。SV在這方面引入了接口來簡化這一步驟。https://blog.csdn.net/apple_53311083/article/details/134417729
六、驗證平臺
SystemVerilog學習 (6)——驗證平臺-CSDN博客文章瀏覽閱讀276次,點贊5次,收藏4次。測試平臺(Testbench)是整個驗證系統的總稱。它包含了驗證系統的各個組件、組件之間的互聯關系,測試平臺的配置與控制等,從更系統的意義來講,它還包括編譯仿真的流程、結果分析報告和覆蓋率檢查等。從狹義上講,我們主要關注驗證平臺的結構和組件部分,他們可以產生設計所需要的各種輸入,也會在此基礎上進行設計功能的檢查。https://blog.csdn.net/apple_53311083/article/details/134419436
七、面向編程
SystemVerilog學習 (7)——面向對象編程-CSDN博客文章瀏覽閱讀108次,點贊2次,收藏3次。面向對象編程(OOP)使用戶能夠創建復雜的數據類型,并且將它們跟使用這些數據類型的程序緊密地結合在一起。用戶可以在更加抽象的層次建立測試平臺和系統級模型,通過調用函數來執行一個動作而不是改變信號的電平。當使用事務來代替信號翻轉的時候,你就會變得更加高效。這樣做的附加好處是,測試平臺跟設計細節分開了,它們變得更加可靠,更加易于維護,在將來的項日中可以重復使用。https://blog.csdn.net/apple_53311083/article/details/134427859
八、包的使用
SystemVerilog學習(8)——包的使用-CSDN博客文章瀏覽閱讀122次,點贊2次,收藏3次。在實際的使用過程中,經常會把一個大的驗證平臺的創建和設計部分封裝成一個包的形式,然后我們再通過另一個tb文件導出包的形式來完成我們的驗證目標。這樣做的好處一方面是增加我們驗證流程的層次性和條理性,同時增加了代碼的復用率。包中可以使用class,module,interface等一系列的內容。在認知上,我們就可以把包認知為我們C語言中的函數庫,我們verilog中的IP核。https://blog.csdn.net/apple_53311083/article/details/134441687
九、隨機化
SystemVerilog學習 (9)——隨機化-CSDN博客文章瀏覽閱讀341次,點贊3次,收藏5次。隨著設計變得越來越大,要產生一個完整的激勵集來測試設計的功能也變得越來越困難了。 定向激勵的測試方法早已經無法滿足檢查功能完整性的要求。解決的辦法是采用受約束的隨機測試法(CRT)自動產生測試集。隨機約束測試(CRT,Constrained-Random Test)即能夠產生你感興趣的、你想不到的的測試向量,通過回歸測試、替換隨機種子的方式來提高單位測試用例的覆蓋率收集效率。https://blog.csdn.net/apple_53311083/article/details/134444360
十、線程控制
SystemVerilog學習 (10)——線程控制-CSDN博客文章瀏覽閱讀233次,點贊3次,收藏5次。在實際硬件中,時序邏輯通過時鐘沿來激活,組合邏輯的輸出則隨著輸人的變化而變化。所有這些并發的活動在Verilog 的寄存器傳輸級上是通過initial和 always塊語句、實例化和連續賦值語句來模擬的。為了模擬和檢驗這些語句塊,測試平臺使用許多并發執行的線程。在測試平臺的環境里,大多數語句塊被模擬成事務處理器,并運行在各自的線程里。SystemVerilog 的調度器就像一個交通警察,總是不停地選擇下一個要運行的線程https://blog.csdn.net/apple_53311083/article/details/134450256
十一、覆蓋率
SystemVerilog學習 (11)——覆蓋率-CSDN博客文章瀏覽閱讀1.3k次,點贊19次,收藏22次。“驗證如果沒有量化,那么就意味著沒有盡頭。” ,伴隨著復雜SoC系統的驗證難度系數成倍增加,無論是定向測試還是隨機測試,我們在驗證的過程中終究需要回答兩個問題:是否所有設計的功能在驗證計劃中都已經驗證?代碼中的某些部分是否從未執行過。覆蓋率就是用來幫助我們在仿真中回答以上問題的指標。如今,覆蓋率已經被廣泛采用,作為衡量驗證過程中的重要數據。https://blog.csdn.net/apple_53311083/article/details/134465224