此通用电路可以实现任意奇数分频电路

FPGA/ASIC技术

190人已加入

描述

最近正在准备找工作,由于是做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的电路。仿真波形如下:

三分频:

五分频:

七分频:

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分