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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7137|回复: 13

怎么实现占空比1:1的三分频??

[复制链接]
发表于 2008-3-16 16:03:15 | 显示全部楼层 |阅读模式

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

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

x
逻辑电路或者RTL代码实现都可以
谢谢大家指点
发表于 2008-3-16 16:55:21 | 显示全部楼层
用时钟的上升沿和下降研分别触发即可
发表于 2008-3-16 17:10:59 | 显示全部楼层
这个三分频蛮有意思的,可以参考一下,实现起来简单,避免使用计数器了

module div_3(clk,clkout);
input  clk;
output clkout;
reg    q1,q2,d,clkout;

always @(posedge clk)
  if(!d)
     q1=1'b1;
  else
     q1=~q1;

always @(negedge clk)
  if(!d)
     q2=1'b1;
  else
     q2=~q2;

always @(q1 or q2)
  d=q1&q2 ;

always @(posedge d)
  clkout=~clkout;

endmodule

 楼主| 发表于 2008-3-17 00:44:14 | 显示全部楼层
谢谢
我学习一下,呵呵
 楼主| 发表于 2008-3-17 00:53:20 | 显示全部楼层
module div_3(clk,clkout);
input  clk;
output clkout;
reg    q1,q2,d,clkout;

always @(posedge clk)
  if(!d)
     q1=1'b1;
  else
     q1=~q1;

always @(negedge clk)
  if(!d)
     q2=1'b1;
  else
     q2=~q2;

always @(q1 or q2)
  d=q1&q2 ;

always @(posedge d)
  clkout=~clkout;

endmodule

刚看了一下,怎么感觉不对呢?实现的不是三分频
我没有跑仿真,只是把初值d和clkout都看为0
发表于 2008-3-17 12:46:06 | 显示全部楼层
是真确的.
进行了仿真的。要把q1,q2,clkout,都先置为0.
发表于 2008-3-18 16:20:37 | 显示全部楼层
我感觉也是不对啊,作出来的不是3分频,而是4分频,应该分别用posedge & negedge 两个counter来实现!
发表于 2008-3-19 08:35:48 | 显示全部楼层
确实是4分频, 不是3分频, 如果是四分频, 就不用这样繁琐了
发表于 2008-3-19 15:45:16 | 显示全部楼层
仿真看一下吧. 不要以为自己都是对的.上面的程序是正确的.
同时用上升沿和下降沿能够做任意奇数的50%分频.
发表于 2008-3-20 09:40:12 | 显示全部楼层
学习一下~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-5-15 05:08 , Processed in 0.210230 second(s), 10 queries , Gzip On, MemCached On.

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