码迷,mamicode.com
首页 > 其他好文 > 详细

verilog分频模块设计

时间:2018-07-14 16:34:07      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:put   ram   一个   verilog   div   flag   通过   mod   always   

verilog设计:

分频器的设计:

  分频器就是将一个时钟源的频率降低的过程(可以通过观察分频之后周期中包含几个原时钟周期来看是几分频),分频分为基数分频也分为偶数分频,

偶数分频的代码如下:(其中就是计数器翻转的过程)

 1 module div(clk,rst_n);
 2     input clk,rst_n;
 3     
 4     reg clk_1k;//1k Hz的时钟
 5     reg [20:0] count; //计数器
 6     parameter div = 6;//这个分频为了方便仿真,随意定了个较小的值,10分分频
 7     parameter flag=div/2-1;
 8     
 9     always @(posedge clk or negedge rst_n)
10     begin
11         if(!rst_n)
12         begin 
13             clk_1k <= 1;
14             count <= flag;
15         end
16         else
17            if(count < flag)
18                count  <= count + 1;
19            else
20            begin
21                count <= 0 ;
22                clk_1k <= ~clk_1k;
23             end
24     end
25 endmodule

奇数分频(计数不用以整个周期为单位)

 1 module intec(clk,rst_n);
 2     input clk,rst_n;
 3     
 4     reg clk_1k;//1k Hz的时钟
 5     reg [20:0] count; //计数器
 6     parameter div = 3;//这个分频为了方便仿真,随意定了个较小的值,10分分频
 7     parameter flag=div-1;
 8     
 9     always @(clk or negedge rst_n)
10     begin
11         if(!rst_n)
12         begin 
13             clk_1k <= 1;
14             count <= flag;
15         end
16         else
17            if(count < flag)
18                count  <= count + 1;
19            else
20            begin
21                count <= 0 ;
22                clk_1k <= ~clk_1k;
23             end
24     end
25 endmodule

 

verilog分频模块设计

标签:put   ram   一个   verilog   div   flag   通过   mod   always   

原文地址:https://www.cnblogs.com/yskn/p/9309655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!