Module Verilog:将向量作为端口传递给模块

Module Verilog:将向量作为端口传递给模块,module,verilog,xilinx,lcd,spartan,Module,Verilog,Xilinx,Lcd,Spartan,我有两个模块 计数器:输出是一个称为错误计数的向量 lcd:在lcd上显示代码的模块。输入包括时钟和错误计数 以下代码片段最为相关,并附在下面: 顶级模块: counter counter1 (..., error_count); lcd lcd1 (..., error_count); 计数器计数器1(…,错误计数); lcd lcd1(…,错误计数) 计数器模块: module counter (..., error_count); ... output reg [31:0] error_c

我有两个模块

  • 计数器:输出是一个称为错误计数的向量
  • lcd:在lcd上显示代码的模块。输入包括时钟和错误计数
  • 以下代码片段最为相关,并附在下面:

  • 顶级模块:

    counter counter1 (..., error_count); lcd lcd1 (..., error_count); 计数器计数器1(…,错误计数); lcd lcd1(…,错误计数)
  • 计数器模块:

    module counter (..., error_count); ... output reg [31:0] error_count = 0; ... //Update counter every clock cycle endmodule 模块计数器(…,错误计数); ... 输出寄存器[31:0]错误\u计数=0; ... //每个时钟周期更新计数器 端模
  • lcd模块:

    module lcd (..., error_count); ... input [31:0] error_count; ... //error_count used to display on LCD endmodule 模块lcd(…,错误计数); ... 输入[31:0]错误计数; ... //错误\u用于在LCD上显示的计数 端模
  • 这个代码有什么问题?显示器仅打印0作为输出。我传递向量的方式有什么问题吗

    其他信息:
    我正在使用Xilinx Spartan 3E初学者工具包测试此代码。LCD代码很好,我已经用本地计数器(reg[31:0])对其进行了测试。

    您需要在顶级模块中声明32位导线以连接两个端口

    wire[31:0]错误计数

    如果不考虑这一点,将声明一个隐式网络,该网络仅为1位导线,无法正确连接向量

    这个错误是一个典型的Verilog问题。这里的演示文稿很好地解释了此演示文稿和其他演示文稿:


    您需要在顶级模块内声明32位导线以连接两个端口

    wire[31:0]错误计数

    如果不考虑这一点,将声明一个隐式网络,该网络仅为1位导线,无法正确连接向量

    这个错误是一个典型的Verilog问题。这里的演示文稿很好地解释了此演示文稿和其他演示文稿: