日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 公眾號精選 > 芯片驗證工程師
[導讀]1、Verilogtask和Verilogfunction有什么區(qū)別?1.function應在一個仿真時間單元內(nèi)執(zhí)行,task可以包含時序控制語句。2.function無法啟用task,task可以啟用其他task或function。3.function應返回一個單個值,task...

1、Verilog task Verilog function有什么區(qū)別?

1.function應在一個仿真時間單元內(nèi)執(zhí)行,task可以包含時序控制語句。

2.function無法啟用task,task可以啟用其他taskfunction

3.function應返回一個單個值,task沒有返回值。

?

2、給定以下Verilog 代碼,“a”會打印什么值?

always @(posedge clk) begina = 0;a <= 1;$display(a);end這是一個很tricky 的問題!Verilog調(diào)度語義意味著當前仿真時間存在一個4級的仿真隊列:


1: Active Events (blocking statements)2: Inactive Events (#0 delays, etc)3: Non-Blocking Assign Updates (non-blocking statements)4: Monitor Events ($display, $monitor, etc).由于“a=0”是一個 active event,因此它被安排到第一個“隊列”中?!?/span>a<=1”中的RHS是一個non-blocking event,因此它被放入第三個隊列中。最后,將display 語句放入第4個隊列中。只有monitor event隊列中的事件完成了才進入到后面的仿真時間。因此,“a=0”會發(fā)生,然后顯示一個=0。如果我們在下一個仿真時間中查看a的值,它將顯示1。

?

3、以下兩行Verilog代碼有什么區(qū)別?

#5 a = b; a = #5 b;#5 a=b;等待5個時間單位后再執(zhí)行“a=b;”的操作。因此,a的值是時間單位5b的值。

a = #5 b; b的值被計算并存儲在內(nèi)部臨時寄存器中,在五個時間單位后,將此存儲的值賦值給a。a的值為b在時間單位為0時的值。

?

4、

c = foo ? a : b;


if (foo) c = a;else c = b;的區(qū)別是?

?

foo = 1'bx, a = 'b1, and b = 'b0時,


c = foo ? a : b;會得到“x


if (foo) c = a;else c = b;會得到“0”


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。

芯片驗證工程師

85 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉