使用verilog实现模块级联

本文介绍了Verilog中模块的概念及其实例化方法,并通过两个半加器实现一个全加器的具体实例,详细展示了位置关联和名称关联两种端口关联方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个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

192650_Oxq2_2609639.jpg


转载于:https://my.oschina.net/818826/blog/643782

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值