原创 Verilog实现的4.5倍分频

2012-7-18 14:31 2376 10 11 分类: FPGA/CPLD

代码如下:

 

module div_4_5(clk,rst,clkout);

input clk,rst;

output clkout;

 

reg [3:0] cnt_p;

reg [3:0] cnt_n;

 

reg clk_p,clk_n;

 

assign clkout=clk_p || clk_n;

 

always @ (posedge clk or negedge rst)

begin

 if(!rst)

  cnt_p<=4'd0;

 else if(cnt_p==4'd8)

  cnt_p<=4'd0;

 else

  cnt_p<=cnt_p+4'd1;

end

 

always @ (posedge clk or negedge rst)

begin

 if(!rst)

  clk_p<=1'd0;

 else if(cnt_p==4'd1 || cnt_p==4'd2 || cnt_p==4'd6 || cnt_p==4'd7)

  clk_p<=1'd1;

 else

  clk_p<=1'd0;

end

 

always @ (negedge clk or negedge rst)

begin

 if(!rst)

  cnt_n<=4'd0;

 else if(cnt_p==3'd1)

  cnt_n<=4'd1;

 else if(cnt_n==4'd8)

  cnt_n<=4'd0;

 else if(cnt_n==4'd0)

  cnt_n<=4'd0;

 else

  cnt_n<=cnt_n+4'd1;

end

 

always @ (negedge clk or negedge rst)

begin

 if(!rst)

  clk_n<=1'd0;

 else if(cnt_n==4'd1 || cnt_n==4'd2 || cnt_n==4'd6 || cnt_n==4'd5)

  clk_n<=1'd1;

 else

  clk_n<=1'd0;

end

 

endmodule

仿真结果:
HDL 4.5倍分频 - 快乐丢丢 - 轮回的七彩年华
 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户403664 2012-7-18 16:56

图片挂了亲
相关推荐阅读
用户1614717 2013-05-15 09:16
【博客大赛】怎样使用示波器正确捕获信号
  很多初学示波器的工程师最关心的是“怎么让波形出来”,这时候我们一般都被教会了要用“AutoSet”键。 但如果AutoSet之后波形还是出不来,我们往往不知所措了; 或者是即使Auto S...
用户1614717 2013-05-15 09:06
存在串扰时的抖动和定时分析(1)
  串行数据标准数量不断激增,明显改善了PC**务器系统的性能。对这些更高速的标准执行测试,找到抖动迹象对设计的长期稳定性及实现优秀的误码率(BER)目标至关重要。要进行高效分析,首先要选择正...
用户1614717 2013-05-15 09:00
利用示波器进行高速串行总线信号分析的方法总结
  选用正确的探测方式、正确的测试码型以及在信号采集上采用性能优良的设备,这些都为最终的信号分析提供了保障。   通常都采用自动化的测量和分析工具来进行一致性测试。安装有分析软件的示波...
用户1614717 2013-05-15 08:57
存在串扰时的抖动和定时分析(2)
  为实现性能目标,大多数串行系统采用多条通路。随着频率和数据速率提高到10 Gb/s以上,少量的串扰就会吃光抖动预算,产生定时问题。   在一个信号受到相邻信号影响时,会发生串扰。在...
用户1614717 2012-12-30 13:51
【博客大赛】写给毕业生
  我算不上什么成功人士,更谈不上“老人家”,本来是没有资格说这些话的。但是,很多刚从学校毕业的年轻朋友给我发了邮件,请教如何规划自己的职业生涯。我基本上从来不回复,不是因为傲慢,仅仅是时间有...
用户1614717 2012-12-06 10:45
QuartusII使用技巧
  概述:          总结一些使用QuartusII软件的小经验,有些技巧性的东西很久不用或者不是经常用到很容易就忘掉,等到用到再到处查找确实费时费力。        1、使用...
我要评论
1
10
关闭 站长推荐上一条 /3 下一条