caoheqichun_366191013

  • 1 主题
  • 2 帖子
  • 100 积分
  • 身份:LV1 技术小白
  • E币:100

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

大家好,我正在学习FPGA关于状态机的知识点。
      看到书中写到:格雷码最大优点在于编码依次变化,相邻两个编码之间只有一位发生变化,这样就不会产生“过渡噪声”。例如:二进制编码0111转换为下一状态1000时,如果最低位的变化较其他高位慢,则就会在极短的时间出现1001这个状态,该状态将成为转换过程中出现的噪声。
  疑问:
1 — 若该噪声1001这个状态是状态机中1000的下一个状态,是有效状态;则该噪声是否可认为能造成状态机误跳转?
2 — 在实际编程中,我有时会用某多位计数器计数的值作为触发状态机的跳转条件,那么我猜想:正如上文类似,如果计数器由0111因噪声直接计数到1001,正好满足触发条件,则是否也会造成状态机误跳转?但在实际中使用时,暂时没有发现该问题,是因为时钟周期及时钟沿的建立/保持时间远大于该噪声持续时间吗?从而自动忽略该噪声的影响。
希望大家不吝指教,非常感谢!

最新评论

楼层直达:

allen

  • 2655 主题
  • 2810 帖子
  • 9654 积分
  • 身份:LV6 初级工程师
  • E币:3908
allen 2017-6-21 06:32:28 显示全部楼层
这种情况,当概率足够低的时候可认为不会发生。
  下面的理解仅供参考。
  屋里有N个灯泡,一个灯泡代表一比特,每个灯泡亮灭时都可能挂掉,但是格雷码转换后每次只操作一个灯泡,大大降低了每次操作失败的概率。

caoheqichun_366

  • 1 主题
  • 2 帖子
  • 100 积分
  • 身份:LV1 技术小白
  • E币:100
caoheqichun_366 2017-6-21 12:40:43 显示全部楼层
@allen 您好,谢谢您的回答,解决了我的疑问1。
我想进一步请教,对于疑问2中,计数器自己累加1,等效于不采用格雷码的机制。如果我的状态及跳转触发条件为if(counter==4'h9),当计数器由0111因噪声直接跳到1001,造成我的状态机提前误触发,这个但是在实际使用中,貌似没有出现这个现象,所以比较困惑,求指导,谢谢啦!
我要评论
2
0
广告
快速回复 返回列表