在编程中遇到了这么个问题:
count_60是一个工程中的子模块,定义成这样:module count_60(clk_count_60,clear,load,load_data,out,update,count_60_carry);
其中 out 定义为了reg型变量。在顶层文件中引用了这个子模块,引用方式如下:
count_60 sec_N(clk_1Hz,1,1,0,sec_n,update,sec_carry_n);
本来,sec_n对应的是子模块中的out ,所以在声明中也定义为了reg型。结果编译时报错,无法综合。后来把sec_n改成wire型后就没有了这个问题。想问一下,sec_n究竟该不该定义为wire型。如果应该的话,为什么?