主时钟clk的分频信号 能在always中 作为被检测的时钟么? 下面是我遇到的问题
[复制链接]
module music(clk,ret,fm,fm1,fm2); input clk; input ret; output fm,fm1,fm2; reg clk1; reg clk2; reg h,fm; reg [9:0] cnt; reg [5:0] cnt1; reg [2:0] cnt2; reg [2:0] cnt3; reg [5:0] div; parameter a=6'd50, b=6'd40, c=6'd30, d=6'd20, e=6'd10, f=6'd5; always @(posedge clk or posedge ret) if(!ret) begin clk1<=0; cnt1<=0; end else if(cnt1==6'b111111) begin clk1<=~clk1; cnt1<=0; end else cnt1<=cnt1+1; always @(posedge clk or posedge ret) if(!ret) begin clk2<=0; cnt2<=0; end else if(cnt2==3'b111) begin clk2<=~clk2; cnt2<=0; end else cnt2<=cnt2+1; always @(posedge clk1 or posedge ret) if(!ret) begin fm<=0; cnt<=0; end else if(cnt==10) begin fm<=~fm; cnt<=0; end else cnt<=cnt+1; /* always @( posedge clk2 or posedge ret) begin if(!ret) begin cnt3<=0; end else if(cnt3==3'b101) cnt3<=0; else cnt3<=cnt3+1; case(cnt3) 0: div=a; 1: div=b; 2: div=c; 3: div=d; 4: div=e; 5: div=f; default : div=0; endcase end */ assign fm1=clk1; assign fm2=clk2; // assign fm=h; endmodule
整个程序中 为什么 红色的部分 我用clk产生的分频信号 clk1 去做被检测的时钟 fm 就没有输出;
而如果 我把 clk1 换成 clk 输出就是正常的 求教 !!
|