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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5366|回复: 11

[求助] 有前辈高手来解答写么~~万分感谢

[复制链接]
发表于 2014-6-14 15:29:04 | 显示全部楼层 |阅读模式
10资产
本帖最后由 lbz053273 于 2014-6-14 15:32 编辑

QQ图片20140614152055.jpg
我想知道上图的count里面的逻辑是怎么实现的?
嗯,我说的是电路图。
比如我现在要实现6分频,代码里面只要写个3反转就好了,那电路图里面怎么实现反转的?
我的想法:
我吧第一个触发器的输出和第二个触发器的输出拉出来与一下,相当于计数11,
然后在NC—verilog里面仿真,出来的波形是3:1,我要是拉出来1010,波形更是乱套了,只有部分计数10,。
我想知道反转是怎么实现的~~~
抓狂
求助~

我的仿真

我的仿真

 楼主| 发表于 2014-6-14 15:45:32 | 显示全部楼层
。。。。。人啊~~~来人啊
发表于 2014-6-15 21:54:56 | 显示全部楼层
奇数倍分频只能特殊处理了,占空比50%更得注意
 楼主| 发表于 2014-6-16 09:36:15 | 显示全部楼层
回复 3# lsjxyp


   。。。。你这和没说一个样啊
发表于 2014-6-16 09:54:31 | 显示全部楼层
本帖最后由 vongy 于 2014-6-16 10:32 编辑

说到分频,我们首先想到的方法就是利用计数器,比如三分频,我们可以计一个0, 1, 2循环的计数器pos_cnt,这个计数器使用CLK的上升沿实现,当pos_cnt=0, 1时,clk_p = 0,当pos_cnt=2时,clk_p=1,这样clk_p产生的是占空比是1/3的3分频。
因为想要的占空比是50%,这里就会有0.5个时钟周期的概念,这个0.5是怎么来的,我们看时钟的上升沿和下降沿之间的间隔刚好是0.5个时钟周期,因此会想到再利用时钟的下降沿做一个计数器neg_cnt, 0, 1, 2,当neg_cnt=0, 1时 clk_n = 0, neg_cnt=2, clk_n =1
最后clk_out = clk_p | clk_n,即可得到占空比是50%的3分频。
发表于 2014-6-16 10:04:11 | 显示全部楼层
试试这个

module count3
(
        input                reset,
        input                clk,
        output                qout
)
reg                [3:0]        count;

always @(posedge clk)
if(reset)
        count        <=        0;
else if(count < 8)
        count        <=        count + 1;
else
        count        <=        0;

reg                                qout;

always @(posedge clk)
if(count = 0)
        qout        <=        1'b1;
else if(count == 4)
        qout        <=        1'b0;
else
        qout        <=        qout;
       
endmodule
 楼主| 发表于 2014-6-16 11:19:14 | 显示全部楼层
回复 6# UNice

。。。不是要代码啊,我代码什么的都弄好了,也仿真出来了,现在是要电路图实现代码的功能。可是我3分频搭不出来
 楼主| 发表于 2014-6-16 11:21:17 | 显示全部楼层
回复 5# vongy


   你说的这个我知道的,代码我实现了,现在我只是想用电路图来实现。。就是用D触发器实现,我就不知道怎么弄了,我知道的只是加一个触发器,就多一个二分频
发表于 2014-6-16 14:56:12 | 显示全部楼层
在软件里可以自动生成原理图的,上面那段代码可以自动生成: QQ图片20140616145710.jpg
发表于 2014-6-16 17:15:59 | 显示全部楼层




   verilog描述的就是电路啊,你说的是另一种用图形描述电路的方式,你给的那张图couter3里就是一个模3计数器。另外你说的多一级DFF的方法是将前一级的DFF.Q接到当前DFF.CLK上,这属于异步电路了,用的时候要小心了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-19 21:02 , Processed in 0.035464 second(s), 8 queries , Gzip On, Redis On.

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