任务描述
本关任务:采用结构化建模的方法,通过实例化已提供的模块(mod_a),将顶层模块的输入/输出端口与之通过位置关联的方式连接。
mod_a模块
module mod_a (
input a, b, c, d,
output out1, out2
);
assign out1 = a & b;
assign out2 = c | d;
endmodule
知识点
结构化建模
结构化建模也称为层次化建模,它是将一个比较复杂的数字逻辑电路划分为多个子模块,再分别对每个子模块建模,然后将这些子模块组合在一起,完成所需的电路功能,如图1所示。
图1 结构化建模
在结构化建模中,父模块对子模块的调用通过模块实例化实现,其格式如下:
模块名 实例化名 (信号列表)
例化过程中信号列表用于描述父模块与子模块之间端口信号的关联方式,实现子模块与父模块、子模块间的通信。通常有位置关联法和名称关联法。
位置关联法:实例化子模块时,按照子模块定义时端口出现的顺序建立端口的连接关系,排列顺序不能改变,如下所示。
(信号1, 信号2, …, 信号n)
名称关联法:实例化子模块时,直接通过名称建立子模块端口的连接关系,不考虑其排列顺序,如下所示。
(.端口1(信号1), .端口2(信号2), …, .端口n(信号n))
module mod_pos