明德扬论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫一扫,快捷登录!

查看: 67647|回复: 0

08 定位问题能力

[复制链接]
发表于 2019-9-26 18:28:55 | 显示全部楼层 |阅读模式

马上注册,看完整文章,学更多FPGA知识。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
      设计能力和定位问题能力,是FPGA里非常重要的技能,理论上掌握了这两个能力,什么东西都可以开发出来。FPGA不像软件那样,靠单步执行来检查结果,FPGA定位问题太难了,同一个错误现象,其原因真是千奇百怪,出现的地方也是不可预测的。

      明德扬会教授大家通用的定位方法,掌握一个技巧,无论什么错误都能定位出来。
---------------------------------------------------------------------------------------------------------------------------------------------------------
定位问题的重要性
       作为初学者,仿真和调试时经常遇到如下问题:时钟一直为低、信号为X态或高阻态、波形与想象中的不一致、功能实现不出来等。 这种情况下,大部分学员都是从网上求助的。由于其他人不知道你写的具体代码,所以根本无法得到有效的帮助和解决。

       定位和解决问题,是工程师的基本能力,因此遇到问题不必急于求助,而应静下心来,自己解决。

       明德扬的系列视频,教授您一个“任何问题都能找到”的定位问题方法和思路,并通过多个案例,让您一步步掌握定位问题和解决问题的最佳方法。
----------------------------------------------------------------------------------------------------------------------------------------------------------
定位最朴素思维:波形不正确,就找产生这个波形的“代码”,对着代码检查“此时此刻”为什么出错。      

-----------------------------------------------------------------------------------------------------------------------------------------------
定位举例
下面举一个简单的例子,例如发现下面波形中,希望cnt值128,但结果为0(注:或者是红色、蓝色、其他值,总之就不是你想要的那个值),不正确,如下图。
微信图片_20200811181714.png
1. 不用怀疑,就去找产生cnt的这份代码,如下图(注:不管这代码是测试文件、设计文件、其他模块给的,不管在哪里,总之就找出产生这个波形的代码出来!)
微信图片_20200811182431.png
2. 对着错误的时刻,把代码和波形对照着看,看这个时候为什么出错。(一定要对着错误时刻找!一定是看此时此刻!!!)
003004osqejm6lrlala351.png
3. 对着错误时刻分析代码。例如上图,此时rst_n等于1,所以第21行肯定没执行;此时cnt等于127,第23行条件不满足,所以第24行肯定没执行。所以一定是执行了第27行代码。一定是第27行代码,使得cnt变成0。(注:我们是要看此时此此刻条件是多少,看是哪一行代码执行了,就要这么仔细检查的)

4. 分析:希望是128,结果它是0,很容易就想到是溢出问题,所以可以推导出是cnt的位宽不够!


----------------------------------------------------------------------------------------------------------------------------------------------------------

FPGA如何查找定位问题1

      本视频是明德扬查找定位问题的总纲视频。明德扬将错误类型归结为三类:软件工具错误、语法编译错误和功能错误。

      本视频介绍了三种错误类型的解决方法和一般原则。其中语法错误中,我们创新性地提出了“代入法”,可以定位大部分的语法错误问题。

----------------------------------------------------------------------------------------------------------------------------------------------------------

定位问题案例1     (

      一气呵成把代码写出来了,开开心心来仿真,本来想着马上就要看到结果了。但想得太天真了,最有可能出现的就是波形跟你想的不一样。即使潘老师这么有经验,也经常出现这样的情形。

      这个时候怎么办?当然是硬着头皮去找问题啊,指望别人来告诉你是不现实的,没有多少人愿意花自己的时间给你解决定位问题。

      但定位问题,你的思路对了吗?很多人第一反应就是去检查代码,从头浏览一遍,这是正确的定位思维吗?

      本视频将告诉你正确的答案。

--------------------------------------------------------------------------------------------------------------------------------------------------------

定位问题案例2   (

      有同学会怀疑,用明德扬的定位方法,真能什么问题都找到吗?万一我不是设计代码问题,而是测试文件问题,也能找到?

      明德扬很有自信,没错!所有问题都能找到。本视频就告诉你,即使是测试文件问题,你也能通过我们的方法,顺藤摸瓜,把问题找到。

---------------------------------------------------------------------------------------------------------------------------------------------------------

定位问题案例3     

      我们是否曾经遇到这样的情况:已经找到具体的某一行代码有问题,通过波形和代码一一对照,波形就是与代码不一致,这个时候甚至你都怀疑仿真软件是否出现了BUG。

      但是,首先相信一点,仿真软件出BUG的可能性微乎其微,本视频就通过一个具体的案例,教你如何定位这种错误。

      相信一个真理,FPGA是很简单的,是0就是0,是1就是1,不会有奇怪的现象的。当你发现很奇怪的时候,一般就是自己粗心了。

-------------------------------------------------------------------------------------------------------------------------------------------------------

定位问题案例4       

         
      仿真出现高阻态(下图),是不是很常见?你是怎么定位的呢?是不是急急忙忙去求助?本视频告诉你,别急,高阻态也能用我们方法定位。

--------------------------------------------------------------------------------------------------------------------------------------------------------

定位问题案例5        

      又一个常见的错误类似,输出的值也是高阻类,再次看看用明德扬方法是如何定位的,提高一下能力,以后再遇到问题就不慌了。

---------------------------------------------------------------------------------------------------------------------------------------------------------

定位问题案例6         

      我明明在测试文件产生了时钟,但仿真时却发现时钟信号一直为0。你的第一反应是不是去检查代码?别忘了,我们一直强调的定位思维。任何错误都不要去检查代码来发现,而是要通过定位的思维。前者找到问题靠运气,后者找到问题那是一定的。

      本视频用一个案例告诉你,通过我们方法去定位到某一行,认定就是这一行出错,盯着去思考,就能发现问题。

---------------------------------------------------------------------------------------------------------------------------------------------------------
以下是定位问题的相关文档,欢迎下载
定位问题 简介.docx (35.5 KB, 下载次数: 9)




上一篇:05 时序约束
下一篇:07 generate语法
FPGA视频课程  培训班 FPGA学习资料
吴老师 18022857217(微信同号) Q1241003385
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


QQ|手机版|小黑屋|MDYBBS ( 粤ICP备16061416号-1

GMT+8, 2020-10-24 08:03 , Processed in 0.528404 second(s), 17 queries , File On.

Powered by Discuz! X3.4

本论坛由广州健飞通信有限公司所有

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表