主时钟clk的分频信号 能在always中 作为被检测的时钟么? 下面是我遇到的问题

2019-03-25 09:52发布

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   整个程序中 为什么 红 {MOD}的部分 我用clk产生的分频信号 clk1 去做被检测的时钟  fm 就没有输出; 而如果 我把 clk1 换成 clk 输出就是正常的  求教 !! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。