Verilog中
阻塞賦值
阻塞賦值用等號(=),一般對應電路中的組合邏輯賦值,等號右端的結果會立刻賦值給左端。
非阻塞賦值
非阻塞賦值用小於等於號(<=)表示,一般對應電路中的時序邏輯賦值,等號右端的結果不會立刻賦值給左端。
assign, deassign
assign(過程賦值操作)與 deassign (取消過程賦值操作)表示第一類過程連續賦值語句。
賦值對象只能是寄存器或寄存器組,而不能是 wire 型變量。
assign Q = 1'b0 ; //給Q賦值
deassign Q ;//取消Q的賦值
force, release
force (強制賦值操作)與 release(取消強制賦值)表示第二類過程連續賦值語句。
賦值對象可以是 reg 型變量,也可以是 wire 型變量。
當 force 作用在寄存器上時,寄存器當前值被覆蓋;release 時該寄存器值將繼續保留強制賦值時的值。之后,該寄存器的值可以被原有的過程賦值語句改變。
當 force 作用在線網上時,線網值也會被強制賦值。但是一旦 release 該線網型變量,其值馬上變為原有的驅動值
VHDL中
:=是對變量和常量進行賦值的賦值操作符,另外在聲明信號、變量、常量的時候,可以用:=對其賦初值
變量賦值格式為“變量名:=表達式”,(阻塞)
信號賦值格式為“信號名<=表達式”;(非阻塞)
=>是用於port map 子模塊的例化