FPGA调试技巧01_错误类型及定位思路

本文是FPGA调试系列的第一篇,主要介绍了FPGA错误的三种类型:软件工具错误、语法编译错误和功能错误。针对每种错误,提供了相应的解决思路,包括错误类型分辨、搜索引擎辅助和代替法定位等方法。强调了FPGA调试的挑战性和重要性,特别是功能错误的定位,需要工程师具备深厚的信号理解能力。
摘要由CSDN通过智能技术生成

众所周知,软件如ARM、DSP、单片机等是按照代码的顺序,一步一步串行执行的,通过使用断点、打印LOG等方法,顺序地检查每步的执行结果,就能找到问题,因此定位起来非常简单。

而FPGA代码是并行的,意味着在同一时刻,多个ALWAYS同时执行,需要检查每时每刻所有的信号的正确性。如何从众多的信号(几千几万几十万个信号)、以及众多的时钟周期中,找到出现错误的时刻以及信号,非常有挑战性。这就像检查跳舞的姿势,您不仅要检查脚步的正确性,还要检查此时此刻手势等部位的正确性,这是面的检查,而不是线的检查。

正是串行和并行的差异,导致FPGA的调试难度,远远大于软件。

同时,更具挑战性的是,并行检查就意味着设计师要对所有的信号有深刻的理解,知道每个信号的作用,以及此时此刻每个信号的值是多少,容不得有任何模糊的空间。

综上,FPGA相对软件,调试难度巨大,是一项艰苦的工作。调试、查找定位问题,是FPGA工程师的一项基本技术,而且是必备的技能,掌握好FPGA调试技巧,意义重大。

明德扬MDY计划推出一系列文章,探讨FPGA的调试技巧,以及如何定位问题和解决问题。本文是第一篇文章,概述性地讲解错误类型及定位思路。

第1节错误类型概述

明德扬可以将FPGA的错误类型分成三种:软件工具错误、语法编译错误以及功能错误。

软件工具错误,是指错误使用如VIVADO、QUARTUS等软件,,或者软件检查出的非代码性的错误。例如软件的license问题、管脚配置问题、缺少文件问题、缺少库文件问题等。

语法编译错误,是指不符合VERILOG语法规则而引出的错误,例如忘了加分号,信号未定义等。

功能错误,是指不符合设计目标,与预期不一致的逻辑性、逻辑性错误。

对于初学者,大部分时间花在解决软件工具错误以及语法编译错误上,这是由于不熟悉而导致的;而专业的FPGA工程师,大部分时间都花在定位功能错误上了,可以说FPGA工程师,一半的时间都花在功能错误的定位及修正上。

下面,笔者将逐个讨论每种错误的解决思路。

第2节软件工具错误

2.1分辨问题类型

软件工具错误,是指错误使用软件,如VIVADO、QUARTUS,或者由软件检查出的非代码性的错误。例如软件的license问题、管脚配置问题、缺少文件问题、缺少库文件问题等。

如上图是QUARTUS软件发出的错误提示。对于错误提示,我们必须认真阅读,抓关键字,不要依赖翻译软件,因为这些错误提示通常来说不会很难的,看多几遍就熟悉了。

其次,学会分辨是软件工具问题,还是语法问题。通常来说,语法问题一般会提示您的哪一份代码以及哪一行出错。如果错误提示里,没有跟哪一份代码关联起来,一般就是软件工具错误了。

遇到软件错误的问题,可以通过搜索问题或者咨询老师来解决。

2.2方法1:搜索

对于软件问题,要相信您肯定不是第一个吃螃蟹,大概率网上会有人咨询过该问题,热心的网友会留有详细的答案,所以最好的方式就是去搜索了。

把错误提示复制后去百度搜索(软件都会提供有复制功能,多试试右键),一般都能找到答案。<

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值