首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

verilog实现占空比为1/2的奇数分频电路

verilog实现占空比为1/2的奇数分频电路

最近正在准备找工作,由于是做FPGA开发,所以verilog实现技术分频电路是一道经常出现的题目,三分频,五分频电路等等;
经过一下午时间总结出了一个通用电路,可以实现任意奇数分频电路。
verilog代码如下:
module fenpin3(clk,clkout,rst);//奇数分频电路,能够进行3,5,7分频
input clk,rst;
output clkout;
reg [2:0] a,b;
reg clkout;
parameter fenpin=3;
always@(posedge clk or negedge rst)
begin
if(!rst)
a<=0;
else if(a==fenpin-1)
a<=0;
else
a<=a+1;
end
always@(negedge clk or negedge rst)
begin
if(!rst)
b<=0;
else if(b==fenpin-1)
b<=0;
else
b<=b+1;
end
always@(a or b or rst)
begin
if(!rst)
clkout<=0;
else if((a+b==1)||(a+b==fenpin+1))
clkout<=~clkout;
end
endmodule
通过以上电路,可以实现任意占空比为1/2的电路。仿真波形如下:
三分频:


五分频:


七分频:



来源:
lujin0808的专栏
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表