首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Verilog:如何将模块的输出分配给具有不同宽度的总线

Verilog:如何将模块的输出分配给具有不同宽度的总线
EN

Stack Overflow用户
提问于 2019-07-10 07:06:45
回答 1查看 243关注 0票数 0

假设我有一个带有总线输入A和总线输出B的模块foo:

代码语言:javascript
复制
module foo ();
    input [7:0] A;
    output [7:0] B;
endmodule

而foo是在top module内部实例化的,我想要如下所示(可能有语法错误):

代码语言:javascript
复制
module top ();
     wire [2:0] bus1;
     wire [2:0] bus2;
     wire [2:0] bus3;
     wire [2:0] bus4;

     foo myfoo (
        .A[7:5](bus1[2:0]),
        .A[4:3](2'b00),
        .A[2:0](bus2[2:0]),
        .B[7:5](bus3[2:0]),
        .B[4:3](),
        .B[2:0](bus4[2:0])
     );
endmodule

什么是语法正确和最优雅的方式呢?

EN

回答 1

Stack Overflow用户

发布于 2019-07-10 07:49:50

使用连接,如下所示。使用临时信号作为未连接切片的填充。

代码语言:javascript
复制
 wire tmp[1:0];

 foo myfoo (
    .A({bus1[2:0], 2'b00, bus2[2:0]),
    .B({bus3[2:0], tmp, bus4[2:0]})
 );
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56961484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档