Verilog入门——全加器设计及例化语句应用
module f_adder(ain,bin,cin,cout,sum); //定义全加器模块名为f_adder
input ain,bin,cin; //定义输入端口信号ain,bin,cin
output cout,sum; //定义输出端口信号cout,sum
wire net1,net2,net3; //定义网线变量 net1,net2,net3
h_adder U1(ain,bin,net1,net2);//例化语句调用半加器h_adder ,位置关联法
h_adder U2(.A(net1),.SO(sum),.B(cin),.CO(net3));//例化语句调用半加器h_adder ,端口名关联法
or U3(conut,net2,net3); //例化语句调用库元件或门or,位置关联法
endmodule //结束模块
module h_adder (A,B,SO,CO); //定义模块名h_adder(half adder)
input A,B; //定义输入端口A,B
output SO,CO; //定义输出端口SO(和值,Sum),CO(进位,Carry)
assign SO = A ^ B; //将变量A和B执行异或的结果赋值给输出信号SO
assign CO = A & B; //将变量A和B执行与的结果赋值给输出信号SO
endmodule //结束模块
- 全加器电路图: