華文網

「精品博文」Systemverilog下interface的一種用法,突破傳統思維!

以前的文章中,我經常提到 sv interface的黑魔法。現在我就來聊一聊,systemverilog區別於hdl,到底可以帶來什麼樣的思路。

從實際應用出發吧(本來本文的代碼就是已經應用於實際專案的),設計《一個SPI配置FPGA內部邏輯寄存器的方案》。

這個還是很常用的功能,傳統的設計,對於增減寄存器數量,唯讀寄存器,讀寫寄存器修改並不是很友好。有時候可以算“牽一發動全身”。

具體的實現方式及各個參數說明,請參考github的ReadMe,這裡不特別說明。

下面為systemverilog代碼

如果想增加一個讀寫寄存器,只用例化一個 spi_general_reg 就行了,基本上只用修改一行代碼。大大提高友好性。

systemverilog設計影響點:

spi_cfg_inerface 定義成一個可以parameter控制的interface陣列。

模組接受一個interface陣列的port

控制信號全部封裝進interface,根本不用表露

--@--Young--@--

點擊閱讀原文查看原始程式碼!