完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我正在学习FPGA关于状态机的知识点。
看到书中写到:格雷码最大优点在于编码依次变化,相邻两个编码之间只有一位发生变化,这样就不会产生“过渡噪声”。例如:二进制编码0111转换为下一状态1000时,如果最低位的变化较其他高位慢,则就会在极短的时间出现1001这个状态,该状态将成为转换过程中出现的噪声。 疑问:1 — 若该噪声1001这个状态是状态机中1000的下一个状态,是有效状态;则该噪声是否可认为能造成状态机误跳转? 2 — 在实际编程中,我有时会用某多位计数器计数的值作为触发状态机的跳转条件,那么我猜想:正如上文类似,如果计数器由0111因噪声直接计数到1001,正好满足触发条件,则是否也会造成状态机误跳转?但在实际中使用时,暂时没有发现该问题,是因为时钟周期及时钟沿的建立/保持时间远大于该噪声持续时间吗?从而自动忽略。 希望大家不吝指教,非常感谢! |
|
相关推荐
8个回答
|
|
他说的这个噪声是指在跨时钟域的时候引起的,正常我们自己写状态机会保证所有信号都是在同一个时钟域,这样就不会出现这个问题了!!
|
|
|
|
|
|
|
|
比方说你的状态机时钟是50M,但是你的跳变信号是80M下的,那么你要用50M的时钟去采80M的信号可能采不到或者采不准,最简单的就是沿采沿,你采出来的可能是0也可能是1,这样状态机跳转就会混乱,fpga里面这叫亚稳态,这时你就要做跨时钟域处理了,具体怎么处理你去网上搜,有讲的!跨时钟域是逻辑处理里面很重要的一个环节。。。好好学习。加油!
|
|
|
|
用计数器也可能自己编译程序转成格雷码 了,可能编译器里有选项
|
|
|
|
用计数器也可能自己编译程序转成格雷码 了,可能编译器里有选项
|
|
|
|
好的,谢谢你的指导,我去查查编译器里是否有该选项! |
|
|
|
好的,谢谢你的指导,我去查查编译器里是否有该选项! |
|
|
|
reallmy 发表于 2017-6-22 15:12 @reallmy 谢谢您的详细指导,我下去好好学习研究一下! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
86 浏览 0 评论
求FPGA 驱动控制ltc2271 或者 ltc2180 或者 ltc2190或者 ltc2202 的代码
1358 浏览 0 评论
425 浏览 0 评论
求助:遇见诡异问题,FPGA模块A输出端口连接模块B输入后,模块A不能正常工作的
1510 浏览 1 评论
480 浏览 0 评论
4307 浏览 95 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-18 08:19 , Processed in 0.763372 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号