https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js

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

 

 
posted @ 2022-03-30 10:59  SLOWBY  阅读(1399)  评论(0)    收藏  举报