标签: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
标签:put ram 一个 verilog div flag 通过 mod always
原文地址:https://www.cnblogs.com/yskn/p/9309655.html