FPGA:格雷码编码&能否用某计数器计数的值作为触发状态机的跳转条件

2019-07-15 21:36发布

大家好,我正在学习FPGA关于状态机的知识点。
      看到书中写到:格雷码最大优点在于编码依次变化,相邻两个编码之间只有一位发生变化,这样就不会产生“过渡噪声”。例如:二进制编码0111转换为下一状态1000时,如果最低位的变化较其他高位慢,则就会在极短的时间出现1001这个状态,该状态将成为转换过程中出现的噪声。

      疑问:1 — 若该噪声1001这个状态是状态机中1000的下一个状态,是有效状态;则该噪声是否可认为能造成状态机误跳转?
      2 — 在实际编程中,我有时会用某多位计数器计数的值作为触发状态机的跳转条件,那么我猜想:正如上文类似,如果计数器由0111因噪声直接计数到1001,正好满足触发条件,则是否也会造成状态机误跳转?但在实际中使用时,暂时没有发现该问题,是因为时钟周期及时钟沿的建立/保持时间远大于该噪声持续时间吗?从而自动忽略。
      希望大家不吝指教,非常感谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
caoheqichun11
2019-07-16 06:22
reallmy 发表于 2017-6-20 10:03
他说的这个噪声是指在跨时钟域的时候引起的,正常我们自己写状态机会保证所有信号都是在同一个时钟域,这样就不会出现这个问题了!!

@reallmy  您好,您说的“这个噪声是指在跨时钟域的时候引起的”,我仔细思考后还是不太理解,您如果方便,能否举个例子或者进一步阐述,谢谢啦!

一周热门 更多>