文章目录
- 一、问题描述
- 二、verilog源码
- 三、仿真结果
一、问题描述
到目前为止,您已经熟悉了 module模块 ,这是一种通过输入和输出端口与其外部交互的电路。更大、更复杂的电路是通过将较小的模块和其他连接在一起的部分(例如赋值语句和always块)组合而成的更大模块来构建的。这形成了一个层次结构,因为模块可以包含其他模块的实例。
下图显示了一个带有子模块的非常简单的电路。在本练习中,创建模块 mod_a 的一个实例,然后将模块的三个引脚(in1, in2 和 out )连接到顶层模块的三个端口(线网 a 、 b 和 out )。该模块 mod_a 是为你提供的——你必须实例化它。
模块的层次结构是通过在另一个模块中实例化一个模块来创建的,只要使用的所有模块都属于同一个项目(因此编译器知道在哪里可以找到模块)。一个模块的代码不会写在另一个模块的主体中(不同模块的代码不嵌套)。
可以通过端口名称或端口位置将信号连接到模块。对于额外的练习,请尝试两种方法。
二、verilog源码
module top_module ( input a, input b, output out );
//通过位置
//mod_a u1 (a, b, out);
//通过名称
mod_a u2 (.in1(a), .in2(b), .out(out));
endmodule
三、仿真结果
转载请注明出处!