[問題] 請問testbench中關於@的語法
各位大大好
想請教一下testbench中的關於@語法
像是下面的例子(節錄自Chris Spear的 SystemVerilog for Verification)
int new_address1, new_address2;
bit clk;
initial begin
fork
my_task(21, new_address1);
my_task(20, new_address2);
join
$display("new_address1 = %0d", new_address1);
$display("new_address2 = %0d", new_address2);
end
initial
forever #50 clk = !clk;
task my_task(input int address, output int new_address);
@(clk)
new_address = address;
endtask
其中task裡面的 @(clk)
是代表clk變為1的時候才做下面的敘述嗎?
我在書上看到的都只有寫到@(posedge xxx) 或是 @(negedge xxx)
不然就是要先定義一個event 之後才有@的trigger條件
但是在這個例子中
既沒有posedge/negedge,也沒有event
為什麼可以直接寫@(clk)
還是verilog裡面就有規定這種寫法呢?
甚麼網站或是書會有寫嗎?
(我看了ASIC WORLD裡面的 tutorial好像沒有....)
感謝回答!! ^_^
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.86.131
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1455548342.A.FD8.html
推
02/15 23:35, , 1F
02/15 23:35, 1F
→
02/16 00:15, , 2F
02/16 00:15, 2F
→
02/16 00:15, , 3F
02/16 00:15, 3F