以下是一个简单的Verilog模块的例子,其中包含输入端口a和b,输出端口sum,以及一个组合逻辑块:
module Adder (
input wire a,
input wire b,
output wire sum
);
// 组合逻辑块
assign sum = a + b;
endmodule
在这个例子中,Adder 是一个模块,有两个输入端口 a 和 b,以及一个输出端口 sum。assign sum = a + b; 表示将输入端口 a 和 b 相加的结果赋值给输出端口 sum。
要使用这个模块,你可以在其他模块中实例化它,如下所示:
module TopModule;
// 输入信号
reg a, b;
// 输出信号
wire sum;
// 实例化 Adder 模块
Adder adder_instance (
.a(a),
.b(b),
.sum(sum)
);
// 在仿真中对输入进行赋值
endmodule
在这个例子中,TopModule 是另一个模块,它实例化了 Adder 模块,并将 a、b、和 sum 信号连接到 Adder 模块的输入和输出端口。
模块的定义和实例化使得Verilog代码更模块化和易于维护,因为每个模块可以单独设计和测试。
转载请注明出处:http://www.zyzy.cn/article/detail/11032/Verilog