HDLBits练习 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:
在这里插入图片描述
在这里插入图片描述
本题与第一题使用的申明方法相同,且表中给出了对应端口与名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值