flyriz 发表于 2012-10-24 15:47:42

求助,verilog中多个模块的引用

verilog中多个模块的引用
先在顶层模块中引用一个数码管动态显示的模块:
led_disp      led
(      
      .clk(clk),
      .disp_num(dis_num),
      .ledseg(ledseg),
      .ledcs(ledcs)
);
然后在这个led_disp动态显示的模块中再引用一个产生方波的模块,周期是10ms:
// MSEC:half cycle ,value range 0-255
wave_signal #(.MSEC(5)) w1
(
      .clk(clk),
      .reset_n(reset_n),
      .signal_out(timeflag)
);
在led_disp里面,用wave_signal的输出信号signal_out作为动态刷新数码管的驱动信号,编译过程也没有错误,但是实际运行的时候就不行了,数码不亮。

然后我改了一下,直接在顶层定义波形发生的模块,然后把输出信号signal_out引入到数码管动态显示的模块中,如下:
wire timeflag;
wave_signal #(.MSEC(5)) w1
(
      .clk(clk),
      .reset_n(reset_n),
      .signal_out(timeflag)
);
led_disp      led
(      
      .clk(clk),
      .disp_num(dis_num),
      .ledseg(ledseg),
      .ledcs(ledcs),
      .timeflag(timeflag)
);
于是乎,这样就可以了,正常工作。
为什么wave_signal 、led_disp要并行才可以,led_disp中再用wave_signal就不行了?模块不能嵌套吗?
先谢谢各位。


flyriz 发表于 2012-10-24 15:49:07

求指导!

flyriz 发表于 2012-10-24 17:53:11

问题找到,由于我的粗心,第一种方法中wave_signal模块的reset_n在led模块中没有定义。感谢21IC的Backkom80
http://bbs.21ic.com/icview-387261-1-1.html
页: [1]
查看完整版本: 求助,verilog中多个模块的引用