分享一个经验,楼主我也是学习了。
先描述下逻辑:FPGA实现一个逻辑,每按下一个按钮(逻辑做了消抖),出现10个200ns的脉冲,然后通过示波器抓输出波形,示波器出发条件,设置自动触发(上升沿)或者条件触发<1ms都试过。
问题出现:每次按下按钮,不是每次都能在示波器看到脉冲波形,大概按下10次会有1-2次示波器抓不到波形!
首先我怀疑是我做的逻辑问题,这个楼主一贯的风格,先怀疑自己,验证自己没有问题了再怀疑相关,而不是想当然说自己这个没问题那个没问题,我觉得这点很重要,就是怀疑精神,我发现设计工程师都想把自己推的一干二净,说自己的没有问题,我觉得出现问题任何地方都是值得怀疑的,先去检查自己,不是说自己没问题就没有问题的,如果后来证明是自己的问题,这不相当于自己打自己的脸吗!
总结一点:要有怀疑精神,所有相关的都是值得怀疑的。
好了,回归正题,然后我用chipesope抓到是输出逻辑有波形,但是示波器上看不到,出现这种情况大家会怎么做?
我输出逻辑没有问题后,我就想是不是IO的驱动能力,因为我外面直接用示波器测量的,是不是没有负载,所有输出不正常,基于这点,然后我把输出的逻辑再接入到FPGA某一输入管脚,然后又写着一段程序,检测输入是不是有信号过来,然后做了计数之类,结果发现,当示波器没有波形的时候,输入的信号也有,计数也正常。出现这种情况大家会怎么做?
是不是同一芯片的问题,然后我把这个输出的管脚飞线到另外一个芯片,当示波器没有波形的时候,另外一个芯片输入的信号也有!
基于以上测试,我大胆预测是示波器的问题,也不能说是示波器的问题吧,估计是没有这种的应用场景。
然后我有试了另外一家的芯片,写上同样的逻辑,测试结果一样。
做了这么多试验,也证明了,就是示波器没有这样的场景。用的示波器是泰克的2032等,试了他的两款表,都是如此,不是黑他的表,我估计所有的表也都是如此。
如果有熟悉示波器的可以给我解释,我也可以给现场演示。
|