題目說明
編寫一個創(chuàng)建模塊dut實例(具有任何實例名稱)的測試平臺,并創(chuàng)建一個時鐘信號來驅(qū)動模塊的clk輸入。時鐘周期為 10 ps。時鐘應(yīng)初始化為零,其第一個轉(zhuǎn)換為 0 到 1。
模塊端口聲明
moduletop_module();
題目解析
生成clock有很多種方式,常見的就是forever和always。
timeunit1ps; timeprecision1ps; moduletop_module(); logicclk; dutu1_dut( .clk(clk) ); initialbegin clk<=?1'b0?; ????end ???? ????always?#5?clk?<=?~clk?; ? endmodule
![93e47c44-c01c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/AE/wKgaomTndCeAfcGeAAEH_la9kVg985.png)
點擊Submit,等待一會就能看到下圖結(jié)果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網(wǎng)站會對比這兩個波形,一旦這兩者不匹配,仿真結(jié)果會變紅。
這一題就結(jié)束了。
Problem 174-tb1
題目說明
創(chuàng)建一個 Verilog 測試臺,它將為輸出 A 和 B 生成以下波形
模塊端口聲明
moduletop_module(outputregA,outputregB);
題目解析
initial+# n即可。
timeunit1ps; timeprecision1ps; moduletop_module(outputlogicA, outputlogicB);// //generateinputpatternshere initialbegin A<=1'b0?; ????????B?<=1'b0?; ????????#10?; ????????A?<=?1'b1?; ????????B?<=?1'b0?; ????????#5?; ????????A?<=?1'b1?; ????????B?<=?1'b1?; ????????#5?; ????????A?<=?1'b0?; ????????B?<=?1'b1?; ????????#20?; ????????A?<=?1'b0?; ????????B?<=?1'b0?; ????end endmodule
![9446c25a-c01c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/AE/wKgaomTndCeAEoXgAAFOY5V65WA937.png)
點擊Submit,等待一會就能看到下圖結(jié)果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網(wǎng)站會對比這兩個波形,一旦這兩者不匹配,仿真結(jié)果會變紅。
這一題就結(jié)束了。
Problem 175-and
題目說明
給給定的與門寫測試文件,波形參考下圖。
模塊端口聲明
moduletop_module();
題目解析
和上一題類似。
timeunit1ps; timeprecision1ps; moduletop_module(); logic[1:0]in; wirelogicout; andgateu_andgate( .in(in), .out(out) ); initialbegin in<=?2'b00?; ????????#10?; ????????in?<=?2'b01?; ????????#10?; ????????in?<=?2'b10?; ????????#10?; ????????in?<=?2'b11?; ????end?? ???????? endmodule
![94aa31a0-c01c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/AE/wKgaomTndCiAcyQYAAE28TH82Jo711.png)
點擊Submit,等待一會就能看到下圖結(jié)果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網(wǎng)站會對比這兩個波形,一旦這兩者不匹配,仿真結(jié)果會變紅。
這一題就結(jié)束了。
Problem 176-tb2
題目說明
給定一個q7電路,按照下圖編寫testbench:
模塊端口聲明
moduletop_module();
題目解析
timeunit1ps; timeprecision1ps; moduletop_module(); logicclk; logicin; logic[2:0]s; wirelogicout; q7u1_q7( .clk(clk), .in(in), .s(s), .out(out) ); initialbegin clk<=?1'b0?; ????????forever ????????#5?clk?<=?~clk?; ????end ???? ????initial?begin ????????in?<=?1'b0?; ????????s??<=?3'd2?; ????????#10?; ????????in?<=?1'b0?; ????????s??<=?3'd6?; ????????#10?; ????????in?<=?1'b1?; ????????s??<=?3'd2?; ????????#10?; ????????in?<=?1'b0?; ????????s??<=?3'd7?; ????????#10?; ????????in?<=?1'b1?; ????????s??<=?3'd0?; ????????#30?; ????????in?<=?1'b0?; ????????s??<=?3'd0?; ????end ???????? endmodule
![950701c8-c01c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/AE/wKgaomTndCiAY-RRAAFcYYnWjFM765.png)
點擊Submit,等待一會就能看到下圖結(jié)果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網(wǎng)站會對比這兩個波形,一旦這兩者不匹配,仿真結(jié)果會變紅。
這一題就結(jié)束了。
Problem 177-tff
題目說明
給題目中給定的tff編寫測試文件。
模塊端口聲明
moduletop_module();
題目解析
timeunit1ps; timeprecision1ps; moduletop_module(); logicclk; logicreset; logict; wirelogicq; tffu_tff( .clk(clk), .reset(reset), .t(t), .q(q) ); initialbegin clk<=?1'b0?; ????????forever ????????#5 ????????clk?<=?~clk?; ????end ???? ????initial?begin ????????reset?<=?1'b0?; ????????t?<=?1'b0?; ????????#3; ????????reset?<=?1'b1?; ????????t?<=?1'b1?; ????????#10; ????????reset?<=?1'b0?; ????????t?<=?1'b1?; ????end ? endmodule
![95681742-c01c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/99/AE/wKgaomTndCiALtNLAAGOYTfYF1I195.png)
點擊Submit,等待一會就能看到下圖結(jié)果:
注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網(wǎng)站會對比這兩個波形,一旦這兩者不匹配,仿真結(jié)果會變紅。
這一題就結(jié)束了。
審核編輯:劉清
-
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110190 -
HDL
+關(guān)注
關(guān)注
8文章
327瀏覽量
47416 -
時鐘信號
+關(guān)注
關(guān)注
4文章
449瀏覽量
28610 -
CLK
+關(guān)注
關(guān)注
0文章
127瀏覽量
17190
原文標(biāo)題:HDLBits: 在線學(xué)習(xí) SystemVerilog(二十四)-Problem 163-177(TestBench)
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
如何在PetaLinux流程外創(chuàng)建模塊
阿里云云效功能升級,支持快速創(chuàng)建多個應(yīng)用的獨立測試環(huán)境
FPGA固件開發(fā)- 測試平臺的編寫
數(shù)字IC驗證之“構(gòu)成uvm測試平臺的主要組件”(4)連載中...
Simulink建模仿真實例快速入門
Verilog HDL硬件描述語言_建模實例
PCB設(shè)計:網(wǎng)絡(luò)分析儀測試DUT出現(xiàn)2個差不多的阻抗?
VHDL測試平臺編寫綜述
![VHDL<b class='flag-5'>測試</b><b class='flag-5'>平臺</b><b class='flag-5'>編寫</b>綜述](https://file.elecfans.com/web1/M00/DB/CA/pIYBAGAH33OAGxRAAABsi6CnXp8933.png)
使用物聯(lián)網(wǎng)平臺創(chuàng)建一個溫度警報系統(tǒng)
![使用物聯(lián)網(wǎng)<b class='flag-5'>平臺</b><b class='flag-5'>創(chuàng)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>溫度警報系統(tǒng)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
DUT 和 testbench 連接教程
鴻蒙ArkUI-X跨平臺開發(fā):【 編寫第一個ArkUI-X應(yīng)用】
![鴻蒙ArkUI-X跨<b class='flag-5'>平臺</b>開發(fā):【 <b class='flag-5'>編寫</b>第<b class='flag-5'>一個</b>ArkUI-X應(yīng)用】](https://file1.elecfans.com/web2/M00/E7/6A/wKgaomZHYpCAfHdmAABRB5pcYsA368.jpg)
評論