yigeren0405 发表于 2011-6-25 11:22:56

带参数的模块调用

小弟实现了一个分频器,现想在其他模块中调用他,利用参数传递分频系数,可是为什么我设置分频系数为2时,应该是4分频才对啊,为什么仿真出来的图形是6分频?是不是模块调用出问题了?要是我单独用分频的那个模块仿真,结果就是4分频。
分频器模块:
module clk_div(clk,cout);
parameter div_param=0;
input clk;
output cout;
reg cout;
reg cnt;
always@(posedge clk)
        begin
        cnt<=cnt+1;
        if(cnt==div_param) begin cout<=~cout;cnt<=0;end
        end
endmodule
调用分频器模块:
module LED(clk,led,clkin);
input clk;
output led;
output clkin;
reg led;
reg cnt;
clk_div #(0) U1(.clk(clk),.cout(clkin));//调用
仿真结果:
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_652168IGABWJ.jpg
(原文件名:未命名.jpg)
要是分频系数设为3,仿真结果却是8分频,实在不解,请大侠赐教

avrgogo 发表于 2011-6-25 13:10:42

楼主把0忘了吧

shawnelee88 发表于 2011-6-25 16:27:37

第一个模块模块div_param设置会不会有问题   
要么就是例化的时候出了问题   看看例化方式对不对   好像那个#在后面的额吧

yigeren0405 发表于 2011-6-25 16:51:50

实例化的时候#是在前面的,我照书上那样实例化的,有什么不对吗?补充一下,附的图片是div_param=2时候的图片,照理说应该是4分频才对,为什么图片是6分频呢?不理解
页: [1]
查看完整版本: 带参数的模块调用