Nee*_*hta 0 verilog module spartan lcd xilinx
我有两个模块
以下代码段最相关,并附在下面:
顶层模块:
计数器counter1(...,error_count); lcd lcd1(...,error_count);
计数器模块:
模块计数器(...,error_count); ... 输出寄存器[31:0] error_count = 0; ... //每个时钟周期更新计数器 终端模块
LCD模块:
模块LCD(...,error_count); ... 输入[31:0] error_count; ... //用于在LCD上显示的error_count 终端模块
此代码有什么问题?显示屏仅输出0作为输出。我传递向量的方式有什么问题吗?
附加信息:我正在使用Xilinx Spartan 3E入门套件来测试此代码。LCD代码很好,我已经使用本地计数器(reg [31:0])对其进行了测试。
您需要在顶层模块中声明32位连线以连接两个端口。
wire [31:0] error_count;
如果不考虑这一点,则将声明一个隐式网络,该网络仅是1位导线,将无法正确连接向量。
这个错误是经典的Verilog陷阱。这里的演示文稿对此和其他内容有很好的解释:
http://www.sutherland-hdl.com/papers/2006-SNUG-Boston_standard_gotchas_presentation.pdf