进程中的信号赋值与变量赋值

进程中的信号赋值与变量赋值

比较对象 信号SIGNAL 变量VARIABLE
基本用法 用于作为电路的信号连线 用于作为进程中局部数据存储单元
适用范围 在整个结构体内的任何地方都能适用 只能在所定义的进程中使用
行为特性 在进程的最后才对信号赋值,有延时 立即赋值,无延时
与Verilog对比 信号赋值类似于非阻塞式赋值 变量类似于阻塞式赋值

在进程中的赋值应该注意以下3点

(1)信号的赋值需要有一个δ延时。
(2)进程中的赋值特点是,所有赋值语句,包括信号赋值和变量赋值,都必须在一个δ延时内完成
(变量在δ延时前即已经完成赋值),即一个进程的运行时间固定为一个δ延时。
“执行赋值”只是一个过程,它具有顺序的特征;
而“完成赋值”是一种结果,它的发生具有VHDL的信号赋值最有特色的并行行为特征。
(3)当在进程中存在同一信号有多个赋值源(即对同一信号发生多次赋值)时,
实际完成赋值,即赋值对象的值发生更新的信号是最接近END PROCESS语句的信号。

使用变量赋值的时序模块设计

ARCHTECTURE bhv OF DDF1 IS
	BEGIN
	PROCESS(CLK)
		VARIABLE Q1 : STD_LOGIC;
	BEGIN
		IF CLK'EVENT AND CLK = &
上一篇:fpga减法运算


下一篇:SQL Server提高并发查询效率