Verilog Language;Modules:Hierarchy
1.Modules
模块例化的基本语法:
模块名 实例名 (定义连接 port 信号);
//按端口名称申明与端口顺序无关
mod_a instance1(.out(c),.in1(wa),.in2(wb));
例1:
解:
module top_module(
input a,
input b,
output out
);
mod_a MOD_A (
.in1(a),
.in2(b),
.out(out)
);
endmodule
ex例:

解:
module half_adder(A,B,C,S);//半加器模块
input A,B;
output S,C;
assign S=A^B;
assign C=A&B;
endmodule
module full_adder(A,B,Cin,S,Co);//全加器
input A,B,Cin;
output S,Co;
wire C1,C2,S1;
half_adder u1(A,B,S1,C1);
half_adder u2(Cin,S1,S,C2);
assign Co = C1|C2;
endmodule
//按端口顺序说明
//u1 u2为实例名为对half_adder 的调用
2.Module pos
//按端口顺序申明
mod_a instance1(wa, wb, wc );
例1:

解:
//由于没有给出端口对应名称(四个输入全为in),只能按照顺序申明
//根据module mod_a中给出的顺序
module top_module(
input a,
input b,
input c,
input d,
output out1,
output out2
);
mod_a u1(out1,out2,a,b,c,d);
endmodule
3.Module name
//按端口名称申明与端口顺序无关
mod_a instance1(.out(c),.in1(wa),.in2(wb));
例1:


本题与第一题使用的申明方法相同,且表中给出了对应端口与名
这篇博客探讨了Verilog语言中的模块(Modules),包括Module pos, name, shift, shift8, add, fadd, cseladd 和 addsub 的实现与问题。内容涵盖了模块的申明、实例化以及在不同情况下的使用方法,如顺序申明和按名称申明。文章还提到了在某些模块中遇到的实例化问题和警告,并讨论了wire申明、assign的用法以及或非门的运算方法。"
127102998,15201238,英语语法与写作技巧详解,"['英语语法', '写作技巧']
最低0.47元/天 解锁文章
566

被折叠的 条评论
为什么被折叠?



