完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
回复本帖可获得 5 分积分奖励! 每人限 1 次(中奖概率 20%) |
process(clk,rst )
begin if rst ='0' then count <= n-1; elsif rising_edge(clk) then count<=count-1; if count>=n/2 then q<='0'; else q<='1'; end if; if count<=0 then count<=n-1; end if; end if; end process; 请问这几句是如何实现分频的??? 求大神解答!! |
|
相关推荐
9个回答
|
|
|
|
|
|
好了,搞懂了,。。。。。。。
|
|
|
|
你这个是VHDL么?
|
|
|
|
回帖奖励 +5 分积分
输入是时钟和复位两个信号
|
|
|
|
开看看,学习一下
|
|
|
|
what?
|
|
|
|
解决了没有了?
|
|
|
|
知道怎么分频的了吗? 想知道
|
|
|
|
本帖最后由 alasga 于 2016-5-23 21:09 编辑
举个例子,如果N=10,那么复位信号(rst_n)有效时,count=9,然后,每个时钟周期上升沿时,count值自动减1,一次为8,7,6,5,4,3,2,1,0,当count<=0(其实只能等于零,因为等于零时,下一个时钟周期count重新变为9),依次循环,即count的值在9~0之间周期变化,那么Q的值在count>5(5~9)时为0,反之,在0~4时为1,即生成一个占空比为1:1的10分频时钟,这下理解了吧?另外你代码写的太乱了,分开用两个process来写,一个是count,一个是Q,这样就清晰明白多了 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
169 浏览 0 评论
1397 浏览 1 评论
469 浏览 0 评论
求FPGA 驱动控制ltc2271 或者 ltc2180 或者 ltc2190或者 ltc2202 的代码
2090 浏览 0 评论
530 浏览 0 评论
4945 浏览 111 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-12 07:13 , Processed in 0.823073 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191