force和release
在程序中經常會遇到force和release,如下圖:
add u_add(.a(a1),.b(b1),.c(c1));
initial
begin
a1 = 2'b1;
b1 = 2'b1;
#20 force u_add.a = 2'd2;
#10 release u_add.a ;
end
對force和release的作用進行說明:
在u_add模塊中,a接口與a1相連,b接口與b1相連,c接口與c1相連,那么就有如下兩種情況:
(1)在沒有force下,即release環境下,u_add模塊的a接口輸入的就是a1信號,a1信號為高a則為高,b、c接口同理;
(2)在force下,相當於系統做了一個強制賦值,此時u_add模塊的a接口為2`d2。
總結如下:force的作用相當於給模塊的接口強制賦值了一個值;
release的作用相當於把force這個強制條件給解除了。