FPGA賦值(阻塞與非阻塞,assign和force)


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 子模塊的例化

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM