路由器的System Verilog驗證平臺

Andy_ICer發表於2020-12-23

目錄

1、RTL模組框架

2、SV驗證平臺

微信公眾號


 

​    本文主要以路由器(Router)為例分享SV的驗證平臺,建議觀看程式碼的讀者有一定的SV基礎。分享的檔案是我搭建Router的SV驗證平臺,但是由於RTL設計的程式碼在伺服器上,所以主要是分享一下驗證平臺的結構和搭建的程式碼,供大家學習使用,如要轉載請標明出處!

 

1、RTL模組框架

    左邊是輸入:16位的din(資料輸入)、16位的frame_n(資料幀有效,低電平有效)、16位的valid_n(有效訊號,低電平有效)、reset_n(低電平復位)和clock(時鐘)

    右邊是輸出:16位的dout(資料輸出)、16位的dout(資料輸出)、16位的frameo_n(資料幀輸出有效)、16位的valido_n(輸出有效訊號,低電平有效)

    主要的模組功能:16個輸入的通道,選一個通道作為輸入通道,同樣的,16個輸出的通道,也是選一個通道作為輸出通道,資料是一bit一bit地傳輸。例如,選擇din[7]為資料的輸入通道,所以frame_n[7]和valid_n[7]就是控制訊號;選擇dout[3]為資料的輸出通道,所以frameo_n[3]和valido_n[3]就是控制訊號。因此資料會從7號輸入通道輸入,然後從3號通道輸出,路由器的功能就是這麼簡單。

    主要的時序:1、先發4bit的地址,因為最大隻有16,所以4bit的地址是剛好可以表示0-15,frame_n要拉低;2、然後停頓5個週期,期間din拉高,valid_n拉高;3、傳輸資料,期間valid_n拉低;4、結束傳輸,valid_n在傳完最後一個bit的同時拉高,而frame_n在傳輸最後一個bit的前一個bit拉高,所以frame_n在整個傳輸階段都是拉低的。

 

2、SV驗證平臺

    

    以上是整個驗證平臺的框架,具體的程式碼可以在下面連結獲得。

連結:https://pan.baidu.com/s/1cwY68PyQ4vHAtdtjqCJTVA

提取碼:jyor

 

微信公眾號

     建立了一個微信公眾號“Andy的ICer之路”,此公眾號主要分享數字IC相關的學習經驗,文章主要在公眾號上發,csdn會盡量同步更新,有興趣的朋友可以關注一下!

 

 


 

 

 

 

 

相關文章