Verilog程序如下,怎么修改可以增大运行的频率?求大神解答

2019-07-15 20:46发布

Verilog程序如下,怎么修改可以增大运行的频率?求大神解答
module jsq(clk,rst,rec,dout,Uab);
input clk,rst,Uab;
output dout;
input [23:0]rec;
reg dout,flag;
reg [23:0]cnt;
reg [4:0]cnt_c;
reg Uab_ff0;
wire add_cnt,add_cnt_c;
wire end_cnt,end_cnt_c;
wire dout_12h;
always@(posedge clk or negedge rst)begin
  if(rst==0)begin
    cnt<=0;
  end
  else if(add_cnt)begin
    if(end_cnt)begin
           cnt<=0;
        end

  else begin
    cnt<=cnt+1'b1;
  end
   end
end
assign add_cnt=flag==1;
assign end_cnt=(add_cnt&&cnt==4999&&(cnt_c==1||cnt_c==2||cnt_c==3||cnt_c==4||cnt_c==5||cnt_c==6||cnt_c==7||cnt_c==8||cnt_c==9||cnt_c==10||cnt_c==11||cnt_c==12||cnt_c==13||cnt_c==14||cnt_c==15||cnt_c==16||cnt_c==17||cnt_c==18||cnt_c==19||cnt_c==20||cnt_c==21||cnt_c==22||cnt_c==23||cnt_c==24||cnt_c==25||cnt_c==26||cnt_c==27||cnt_c==28||cnt_c==29||cnt_c==30))||(add_cnt&&cnt==rec-1&&cnt_c==0);
always@(posedge clk or negedge rst)begin
  if(rst==0)begin
    cnt_c<=0;
  end
  else if(add_cnt_c)begin
    if(end_cnt_c)begin
           cnt_c<=0;
        end
  
  else begin
    cnt_c<=cnt_c+1'b1;
  end
  end
end
assign add_cnt_c=end_cnt;
assign end_cnt_c=add_cnt_c&&cnt_c==30;
always@(posedge clk or negedge rst)begin
  if(rst==0)begin
    dout<=0;
  end
  else if(dout_12h)begin
    dout<=1;
  end
  else if(end_cnt)begin
    dout<=0;
  end
end
assign dout_12h=add_cnt&&cnt==2499&&(cnt_c==1||cnt_c==2||cnt_c==3||cnt_c==4||cnt_c==5||cnt_c==6||cnt_c==7||cnt_c==8||cnt_c==9||cnt_c==10||cnt_c==11||cnt_c==12||cnt_c==13||cnt_c==14||cnt_c==15||cnt_c==16||cnt_c==17||cnt_c==18||cnt_c==19||cnt_c==20||cnt_c==21||cnt_c==22||cnt_c==23||cnt_c==24||cnt_c==25||cnt_c==26||cnt_c==27||cnt_c==28||cnt_c==29||cnt_c==30);
always@(posedge clk or negedge rst)begin
  if(rst==0)begin
    flag<=0;
  end
  else if(Uab_ff0==0&&Uab==1)begin
    flag<=1;
  end
  else if(end_cnt_c)begin
   flag<=0;
end
end
always@(posedge clk or negedge rst)begin
   if(rst==0)begin
    Uab_ff0<=0;
  end
  else begin
    Uab_ff0<=Uab;
  end
end
endmodule

  

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
LQVSHQ
1楼-- · 2019-07-15 21:46
避免组合逻辑复杂化?
defisker
2楼-- · 2019-07-16 02:44
你说的增大运行的频率是什么意思呢?加快系统钟吗?
teleagle
3楼-- · 2019-07-16 07:30
设计意图不明,不好判断
zw260132324
4楼-- · 2019-07-16 09:25
一堆的cnt_c==1||cnt_c==2之类的,为什么不用cnt_c>=1 & cnt_c<=30替代呢?

一周热门 更多>