芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 1968|回复: 1

[求助] 模块的输出无法正确传递给下个模块

[复制链接]
  • TA的每日心情
    难过
    2024-1-16 08:24
  • 1

    主题

    1

    帖子

    6

    积分

    新手入门

    Rank: 1

    积分
    6
    发表于 2024-1-16 08:44:37 | 显示全部楼层 |阅读模式
    本帖最后由 auguo 于 2024-1-16 08:45 编辑

    我仿真的时候例化了2个模块,其中一个模块的输出作为下一个模块的输入。但是这个过程中,第一个模块的输出正常,传递给下个模块的值为高阻态Z。

    以加法器为例子:我使用了2个加法器,其中第一个加法器的输出作为第二个加法器的输入。
    //////加法器////////
    module adder(
       input clk,
       input wire [3:0] num0,     // 被加数1
       input wire [3:0] num1,     //被加数2
       input en,                         //使能信号
       output reg [4:0] sum,       // 输出
       output reg sum_vld          //输出使能
        );

       always @(posedge clk ) begin
            if (en) begin
                sum <= num0 + num1;
                sum_vld <= 1;   
            end
            else begin
                sum <= sum;
                sum_vld <= 0;
            end
        end

    endmodule


    /////////////////////////////////////////////////////////
    然后在顶层文件例化2个加法器
    //////顶层文件////
    module Top(
        clk,
        num0,
        num1,
        num2,
        en0,
        en1,

        sum1,

        sum_vld0,
        sum_vld1
        );

    input clk;
    input [3:0] num0;
    input [3:0] num1;
    input [3:0] num2;

    input en0;
    input en1;

    output [4:0] sum1;
    output sum_vld0;
    output sum_vld1;   


    adder adder0(
      .clk(clk),
      .num0(num0),
      .num1(num1),
      .en(en0),
      .sum(sum0),
      .sum_vld(sum_vld0)
        );   

    adder adder1(
      .clk(clk),
      .num0(sum0),
      .num1(num2),
      .en(en1),
      .sum(sum1),
      .sum_vld(sum_vld1)
        );   


    endmodule

    ///////////////////////////////////////////////////////////////////
    仿真输出为X:
    image.png
    进一步检查发现第一个加法器正常工作,3+3 =6,正确。
    image.png
    但是连接到下个加法器的num0时,变成了Z, 导致第二个加法器输出为X
    image.png

    希望大神帮忙看看,哪里有问题
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-10-30 09:14
  • 0

    主题

    2

    帖子

    290

    积分

    中级会员

    Rank: 4

    积分
    290
    发表于 2024-2-23 16:29:00 | 显示全部楼层
    在顶层top中加一下sum0信号的定义                 wire [4:0] sum0;
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-11-21 18:04 , Processed in 0.115872 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表