莱芜网站制作哪家好,如何在自己电脑上做网站,教怎么做ppt的网站,有关建设工程的强制性标准与抗震文章目录 连续赋值语句时延 连续赋值用于数据流行为建模#xff1b;相反#xff0c;过程赋值用于顺序行为建模。组合逻辑电路的行为最好使用连续赋值语句建模。 连续赋值语句
连续赋值语句将值赋给线网#xff08;连续赋值不能为寄存器赋值#xff09;#xff0c;它的格式… 文章目录 连续赋值语句时延 连续赋值用于数据流行为建模相反过程赋值用于顺序行为建模。组合逻辑电路的行为最好使用连续赋值语句建模。 连续赋值语句
连续赋值语句将值赋给线网连续赋值不能为寄存器赋值它的格式如下(简单形式)
assign LHS_target RHS_expression连续赋值语句在什么时候执行呢? 只要在右端表达式的操作数上有事件事件为值的变化发生时表达式即被计算如果结果值有变化新结果就赋给左边的线网。
下面的例子中目标是一个向量线网和一个标量线网的拼接结果
wire Cout, Cin;
wire[3:0] Sum, A, B;
...
assign {Cout, Sum} A B Cin;因为 A 和 B 是 4 位宽加操作的结果最大能够产生 5 位结果。左端表达式的长度指定为 5 位Cout 1 位Sum 4 位。赋值语句因此促使右端表达式最右边的 4 位的结果赋给 Sum第 5 位进位赋给 Cout。
下例采用数据流方式描述 1 位全加器
module FA_Df(A, B, Cin, Sum, Cout);input A, B, Cin;output Sum, Cout;assign Sum A ^ B ^ Cin;assign Cout (A Cin) | (B Cin) | (A B);
endmodule时延
如果在连续赋值语句中没有定义时延如前面的例子则右端表达式的值立即赋给左端表达式, 时延为 0。如下例所示显式定义连续赋值的时延
assign #6 Ask Quiet || Late;规定右边表达式结果的计算到其赋给左边目标需经过 6 个时间单位时延。
如果右端在传输给左端之前变化会发生什么呢在这种情况下应用最新的变化值。下例显示了这种行为
assign #4 Cab Drm;下图显示了这种变化的效果。右端发生在时延间隔内的变化被滤掉。例如在时刻 5Drm 的上升边沿预定在时刻 9 显示在 Cab 上但是因为 Drm 在时刻 8 下降为 0预定在 Cab 上的值被删除。