testbech

一 基礎(chǔ)語法

1 初始化

initial可以初始化信號(hào),如clk, rst等信號(hào)都需要一個(gè)初始化值。#+數(shù)字表示等待一定時(shí)間后執(zhí)行下一步操作,如下面的代碼中rst初始化為0,10ns后置為1。時(shí)鐘的生成可以通過#產(chǎn)生,每隔2ns時(shí)鐘翻轉(zhuǎn)一次,即產(chǎn)生一個(gè)4ns的時(shí)鐘。

initial begin
        clk = 1'b0;
        rst = 1'b0;
        #10;
        rst = 1'b1;
end

always #2 clk <= ~clk;

2 文件讀寫

文件的讀寫需要先定義存儲(chǔ)的變量再進(jìn)行文件的讀取。如下定義了位寬為32bit深度為1024的內(nèi)存來讀取文件,文件為16進(jìn)制。

logic [31:0] mem [1024];
$readmemh("..//testdata//dat.hex", mem);

寫文件的定義如下,可以結(jié)合時(shí)鐘和使能信號(hào)寫數(shù)據(jù)。

integer fp_wr;
initial fp_wr = $fopen("..//wr.dat","w");
$fwrite(fp_wr,"%h\n",dat[31:0]);

3 task和function

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容