1. 塊語句有兩種,一種是 begin-end 語句, 通常用來標志()執行的語句;一種是 fork-join 語句,通常用來標志()執行的語句。
答案:順序,并行
解析:
(1)begin_end順序塊,用于將多條語句組成順序塊,語句按順序一條一條執行(除了帶有內嵌延遲控制的非阻塞賦值語句),每條語句的延遲時間是相對于由上一條語句的仿真時間而言;
(2)fork-join并行塊,塊內語句同時執行。
2. 塊語句,下面這段語句中,第 40 時刻上,A、B 的值各是多少?
reg A;reg B;initial begin fork begin A = 1; #20 A = 0; #30 A = 1; #50 A = 0; end begin B = 1; #20 B = 0; #30 B = 1; #50 B = 0; end joinend
答案:A = 0,B = 0
解析:
塊語句有兩種,begin...end 和 fork...join,其中 fork...join 是并行塊,begin...end 是順序執行塊,可以相互嵌套。
上面,兩個 begin...end 之間是并行的,而各自 begin...end 內部是順序執行,A 和 B 的賦值邏輯是一樣的,所以要么都是 1,要么都是 0。
按照順序執行,A 前 20 個時間單位是 1,然后持續 30 個時間單位的 0,所以 40 時刻是 0,同理 B 也是 0。
原文標題:Verilog 的塊語句 fork...join 和 begin...end
文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
Verilog
+關注
關注
28文章
1351瀏覽量
110162 -
語句表
+關注
關注
0文章
8瀏覽量
7222
原文標題:Verilog 的塊語句 fork...join 和 begin...end
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論