使用verilog实现模块级联
使用verilog实现模块级联
maomao818 发表于2年前
使用verilog实现模块级联
  • 发表于 2年前
  • 阅读 493
  • 收藏 1
  • 点赞 1
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

摘要: 本文介绍两个半加器级联成为一个全家器的过程,加深对模块级联的理解!

一个verilog程序可以包含多个模块,以满足一个复杂的程序设计。调用多个模块是通过端口关联来进行实现的,这种调用实际上是 一种硬件电路的嵌入,调用的方式是模块实例化,其中端口关联有两种方式:一种是位置关联,一种是名称关联,形式为“.端口名(变量名)“,实现端口与变量的关联。下面通过两个半加器来实现一个全加器来加以说明调用的方式:

moudle HalfAdd(X,Y,SUM,C_out);

    input    X,Y;

    output SUM,C_out;

    xor u_xor(SUM,X,Y);

    and u_and(C_out,X,Y);

endmoudle


moudle FullAdd(X,Y,C_in,SUM,C_out);

    input X,Y;

    output C_in,Sum,C_out;

    wire HalfAdd_A_SUM;

    wire HalfAdd_A_COUT;

    wire HalfAdd_B_COUT;

    or u_or(C_out,HalfAdd_A_COUT,HalfAdd_B_COUT);


    HalfAdd u_HalfAdd_A(.X(X),.Y(Y),.SUM(HalfAdd_A_SUM),.C_out(HalfAdd_A_COUT));

    HalfAdd u_HalfAdd_B(.X(X),.Y(Half_A_SUM),.SUM(SUM),C_out(HalfAdd_B_COUT)));


endmoudle


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 14
码字总数 6578
×
maomao818
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: