在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4350|回复: 2

[原创] 关于输入输出均为50%占空比的任意整数分频实现

[复制链接]
发表于 2014-7-6 14:57:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
这是一个可综合的任意整数分频器,占空比均可调,本代码为升级版Duty=50%



  1. module Divclk(clk,tg_clk,rst);
  2. input clk,rst;
  3. output tg_clk;

  4. reg[23:0]counter;
  5. reg temp_tgp,temp_tgn;

  6. parameter countN=27000000/3200000;        //N=clkin/clkout 此处小数点是无意义的

  7. always@(posedge clk or posedge rst)     //频率近似,小数分频将在后面帖子讨论
  8. begin
  9.         if(rst)
  10.         counter<=24'b0;
  11.         else if(counter>(countN-2))
  12.         counter<=24'b0;
  13.         else
  14.         counter<=counter+1'b1;
  15. end

  16. always@(*)                                        //Duty 任意调整begin
  17.         if(countN%2)
  18.                 begin
  19.                 if(counter>(countN-3)/2)//counter odd
  20.                 temp_tgp<=1'b0;
  21.                 else
  22.                 temp_tgp<=1'b1;
  23.                 end
  24.         else
  25.                 begin
  26.                 if(counter>(countN-2)/2)//counter even
  27.                 temp_tgp=1'b0;
  28.                 else
  29.                 temp_tgp=1'b1;
  30.                 end
  31. end

  32. //以下完成Duty=50%调整,非50%占空比可以省略以下代码
  33. always@(negedge clk or posedge rst)
  34. begin
  35.         if(rst)
  36.         temp_tgn<=1'b0;
  37.         else
  38.                 temp_tgn<=temp_tgp;
  39. end

  40. assign tg_clk=(countN%2)?(temp_tgp|temp_tgn):temp_tgp;

  41. endmodule


复制代码



由于输入的时钟不能精确,所以在确定分频数的时候存在取整。countN不是完整四舍五入,但可以
由调试者进行四舍五入中的五入。偶数分频直接在占空比调整就可完成,奇数分频需要一个延迟,
以3分频为例:
首先循环计数3,然后将输出调节占空比为1/3,接着将占空比=1/3信号通过DFF在原时钟负跳沿下延
迟,将此DFF的输入输出进行OR操作就行。
发表于 2014-8-13 20:59:33 | 显示全部楼层
小数分频程序呢??
 楼主| 发表于 2014-8-14 20:50:13 | 显示全部楼层
回复 2# yzh_2110


  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-23 03:31 , Processed in 0.018185 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表