原贴出处:这里
设计能力和定位问题能力,是FPGA里非常重要的技能,理论上掌握了这两个能力,什么东西都可以开发出来。FPGA不像软件那样,靠单步执行来检查结果,FPGA定位问题太难了,同一个错误现象,其原因真是千奇百怪,出现的地方也是不可预测的。
明德扬会传授大家通用的定位方法,掌握一个技巧,无论什么错误都能定位出来。
---------------------------------------------------------------------------------------------------------------------------------------------------------
定位问题 作为初学者,仿真和调试时经常遇到如下问题:时钟一直为低、信号为X态或高阻态、波形与想象中的不一致、功能实现不出来等。 这种情况下,大部分学员都是从网上求助的。由于其他人不知道你写的具体代码,所以根本无法得到有效的帮助和解决。
定位和解决问题,是工程师的基本能力,因此遇到问题不必急于求助,而应静下心来,自己解决。
明德扬的系列视频,教授您一个“任何问题都能找到”的定位问题方法和思路,并通过多个案例,让您一步步掌握定位问题和解决问题的最佳方法。
----------------------------------------------------------------------------------------------------------------------------------------------------------
FPGA如何查找定位问题1 (
)
本视频是明德扬查找定位问题的总纲视频。明德扬将错误类型归结为三类:软件工具错误、语法编译错误和功能错误。
本视频介绍了三种错误类型的解决方法和一般原则。其中语法错误中,我们创新性地提出了“代入法”,可以定位大部分的语法错误问题。
----------------------------------------------------------------------------------------------------------------------------------------------------------
定位问题案例1 (
)
一气呵成把代码写出来了,开开心心来仿真,本来想着马上就要看到结果了。但想得太天真了,最有可能出现的就是波形跟你想的不一样。即使潘老师这么有经验,也经常出现这样的情形。
这个时候怎么办?当然是硬着头皮去找问题啊,指望别人来告诉你是不现实的,没有多少人愿意花自己的时间给你解决定位问题。
但定位问题,你的思路对了吗?很多人第一反应就是去检查代码,从头浏览一遍,这是正确的定位思维吗?
本视频将告诉你正确的答案。
--------------------------------------------------------------------------------------------------------------------------------------------------------
定位问题案例2 (
)
有同学会怀疑,用明德扬的定位方法,真能什么问题都找到吗?万一我不是设计代码问题,而是测试文件问题,也能找到?
明德扬很有自信,没错!所有问题都能找到。本视频就告诉你,即使是测试文件问题,你也能通过我们的方法,顺藤摸瓜,把问题找到。
---------------------------------------------------------------------------------------------------------------------------------------------------------
定位问题案例3 (
)
我们是否曾经遇到这样的情况:已经找到具体的某一行代码有问题,通过波形和代码一一对照,波形就是与代码不一致,这个时候甚至你都怀疑仿真软件是否出现了BUG。
但是,首先相信一点,仿真软件出BUG的可能性微乎其微,本视频就通过一个具体的案例,教你如何定位这种错误。
相信一个真理,FPGA是很简单的,是0就是0,是1就是1,不会有奇怪的现象的。当你发现很奇怪的时候,一般就是自己粗心了。
-------------------------------------------------------------------------------------------------------------------------------------------------------
定位问题案例4 (
)
仿真出现高阻态(下图),是不是很常见?你是怎么定位的呢?是不是急急忙忙去求助?本视频告诉你,别急,高阻态也能用我们方法定位。
--------------------------------------------------------------------------------------------------------------------------------------------------------
定位问题案例5 (
)
又一个常见的错误类似,输出的值也是高阻类,再次看看用明德扬方法是如何定位的,提高一下能力,以后再遇到问题就不慌了。
---------------------------------------------------------------------------------------------------------------------------------------------------------
定位问题案例6 (
)
我明明在测试文件产生了时钟,但仿真时却发现时钟信号一直为0。你的第一反应是不是去检查代码?别忘了,我们一直强调的定位思维。任何错误都不要去检查代码来发现,而是要通过定位的思维。前者找到问题靠运气,后者找到问题那是一定的。
本视频用一个案例告诉你,通过我们方法去定位到某一行,认定就是这一行出错,盯着去思考,就能发现问题。 以下是定位问题的相关文档,欢迎下载
|