FPGA Debug经验之谈

     这段时间由于在FPGA调试上蛮心累,编译一把要3个小时左右,工程逻辑资源多且复杂,不得不通过调整思路来提高Debug效率:

    本人基本要求按文档、仿真、调试来贯穿整个项目,最终上板调试基本几把就能搞定,前期设计全局考虑占比80%,后面上板调试占比20%。

1.    文档记录

    文档记录分设计文档、工程文件夹和版本管理:

  • 设计文档以图文为主,记录构思整个设计的框图;

  • 工程文件夹要求从始至终按要求放置相关内容(这个一般由公司管理者制定);

  • 版本管理要求文档代码所有相关改动都有时间、项目、修改内容详细记录。

2.    仿真平台

    仿真平台,初级的用EDA软件自带的仿真,中级的用Modesim等第三方软件仿真,高级的用脚本搭建自动化测试平台。不管怎样,这里面比较重要的是激励模块的复用,每次仿真时拖过来用,大大节省时间和效率。

    一般使用仿真平台,可以解决代码中90%以上的Bug,而不用在线逻辑分析仪浪费太多时间和精力。本人一般用在线逻辑分析仪去定位硬件问题,用仿真平台去解决逻辑问题、异常问题、bug复现。

  • 逻辑问题:就是逻辑没有考虑前面导致的bug;

  • 异常问题:指未正确初始化,溢位等bug;

  • bug复现:就是将实际的输入加入后的输出与硬件对比。

3.    调试思路

    本人调试思路,遵循功能验证、时序验证到关联验证的顺序,可以很好的防止调试的时候进入死区:

  • 功能验证:验证基本的功能是否存在问题;

  • 时序验证:加入时序扰动等,验证异常情况,可将bug放大后定位解决;

  • 关联验证:各个模块之间的逻辑关联导致特定bug出现,这个是最常见的bug,比如:图像算法中每20帧出现1行数据出错。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值