微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于至简设计法的数字时钟设计

基于至简设计法的数字时钟设计

时间:02-15 来源:互联网 点击:

    fen_s <= 0;

  

            end

  

            else begin

  

                fen_s <=  fen_s + 1;

  

            end

  

        end

  

    end

  
  

    assign add_fen_s =  end_fen_g;

  

    assign end_fen_s =  add_fen_s && fen_s == 6-1;

  
  

    always  @(posedge clk or negedge rst_n)begin

  

        if(rst_n==1'b0)begin

  

            shi_g <= 0;

  

        end

  

        else  if(add_shi_g)begin

  

             if(end_shi_g)begin

  

                shi_g <=  0;

  

            end

  

            else begin

  

                shi_g <=  shi_g + 1;

  

            end

  

        end

  

    end

  
  

    assign add_shi_g =  end_fen_s;

  

    assign end_shi_g =  add_shi_g &&  shi_g ==x-1;

  
  

    always  @(posedge clk or negedge rst_n)begin

  

        if(rst_n==1'b0)begin

  

            shi_s <= 0;

  

        end

  

        else  if(add_shi_s)begin

  

             if(end_shi_s)begin

  

                shi_s <=  0;

  

            end

  

            else begin

  

                shi_s <=  shi_s + 1;

  

            end

  

        end

  

    end

  
  

    assign add_shi_s =  end_shi_g;

  

assign end_shi_s = add_shi_s && shi_s == 3-1;

  
  

always@(*)begin

  

         if(shi_s==2)

  

            x  =4;

  

        else

  

            x  =10;

  

end

  



细心的读者可以发现,上面每段计数器格式都非常相似。没错,这就是明德扬设计的技巧。我们设计的这套模板,基本上可以应用于任何场合,任何时候读者只考虑两个因素就够了,不会出现丢三落四的情况,而且每次只需要考虑一个因素,保证能做出最优的设计。

如果你还未发现这代码优秀的地方,建议你百度下数字时钟的代码,好好比一比,特别是好好想想我们的设计思路,明德扬是有方法有步骤、可以做到一次性设计对,而他们的则是想到哪写

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top