用数据流描述方式对一个设计建模的最基本的机制就是使用连续赋值语句。在连续赋值语句中,某个值被指派给线网变量。 连续赋值语句的语法为:
assign [delay] LHS_net = RHS_ expression;
右边表达式使用的操作数无论何时发生变化, 右边表达式都重新计算, 并且在指定的时延后变化值被赋予左边表达式的线网变量。时延定义了右边表达式操作数变化与赋值给左边表达式之间的持续时间。如果没有定义时延值, 缺省时延为0。
下面的例子显示了使用数据流描述方式对2-4解码器电路的建模的实例模型。
`timescale 1ns⁄1ns
module Decoder2x4 (A, B, EN, Z);
input A, B, EN;
output [ 0 :3] Z;
wire Abar, Bbar;
assign #1 Abar = ~ A; ⁄⁄语句 1。
assign #1 Bbar = ~ B; ⁄⁄语句 2。
assign #2 Z[0] = ~ (Abar & Bbar & EN) ; ⁄⁄语句 3。
assign #2 Z[1] = ~ (Abar & B & EN) ; ⁄⁄语句 4。
assign #2 Z[2] = ~ (A & Bbar & EN) ; ⁄⁄语句 5。
assign #2 Z[3] = ~ (A & B & EN) ; ⁄⁄语句 6。
endmodule
以反引号“ ` ”开始的第一条语句是编译器指令, 编译器指令`timescale 将模块中所有时延的单位设置为1 target=_blank>
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』