原创 D触发器实现二分频与二倍频

2009-10-10 15:36 15198 11 14 分类: FPGA/CPLD

先来二分频的


其基本思想是将D触发器改成T触发器,每隔一个时钟周期,输出时钟反向一次。这样就达到了二分频的目的。


下面列出Verilog代码:


module div2(clk,rst_n,clk_out);


input clk,rst_n;


output clk_out;


wire clk_temp;


always @(posedge clk)


begin


       if(~rst_n)


     begin


      clk_out<=0;


    end


      else


     clk_out<=clk_temp;


end


assign clk_temp=~clk_out;


endmodule


仿真图如下:


点击看大图


下面是二倍频的


基本思想:通过逻辑延时,使同频时钟相位改变,而后将两个时钟相或即可得到二倍频电路,不过占空比不可调,由两个时钟相位差决定。


Verilog代码如下:


module twice (clk,
clk_out
    );


input clk;
output clk_out;


wire clk_temp;
wire d_outn;
reg  d_out=0;


assign clk_temp = clk ^ d_out ;
assign clk_out = clk_temp ;
assign d_outn = ~d_out ;
   
always@(posedge clk_temp)
begin
  d_out <= d_outn ;
end
   
endmodule


由于它是靠延时产生的时钟,所以只能进行时序仿真才能看到波形,仿真波形如下:


点击看大图


大家可以自己在quartus下仿真。


 


 

文章评论3条评论)

登录后参与讨论

用户377235 2014-11-3 10:46

倍频不能实现

用户1550373 2014-8-25 10:47

不能倍频啊,看我给你改一改

用户377235 2013-8-16 20:14

Error (10170): Verilog HDL syntax error at twice.v(16) near text ")"; mismatched closing parenthesis 不能倍频呀
相关推荐阅读
用户534970 2009-11-23 09:43
解决有些EDN资料解压不了的问题
我不知道有没有其它同仁遇到过有些解压资料无法解压的问题,反正我遇到不少,开始以为资料不全,后来发现不然,你可以将下载完的资料按顺序命名为1,2,3.。。。依次,应该就能解决问题,如果还不行,那就是资料...
用户534970 2009-11-14 09:57
ep2c的最高工作频率
昨天试出ep2c的最高频率了,405.02mhz。...
用户534970 2009-10-06 10:59
modelsim se进行时序仿真遇到的问题
今天上午,用modelsim se作了以下简单的时序仿真,但是总是出不来正确的结果,在quartus 8.0下进行时序仿真,也能完全通过。没办法,只好翻出以前做过好使的例子,一行一行的对照,找出不同。...
用户534970 2009-10-06 09:03
帮助你免于失业的十大软件技术
1. XML     首先,你要了解XML。我不是说仅仅是XML规格本身,还包括一系列相关的基于XML的语言:最重要的是XHTML、XSLT、XSL、DTDs、XML Schema (XSD)、XPa...
用户534970 2009-10-06 08:49
使UltraEdit支持Verilog hdl语言(转)
UltraEdit是一款功能强大的文本编辑器,可以编辑文字、Hex、ASCII码,可以取代记事本,内建英文单字检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。...
我要评论
3
11
关闭 站长推荐上一条 /2 下一条