0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

fpga项目开发感言

潘文明 来源:明德扬吴老师 作者:明德扬吴老师 2022-11-08 17:59 次阅读

fpga项目开发除了技术过硬之外,还需要一些合作的心态去看待项目,下面是我操刀过这么多的fpga项目外包服务的体会:

1.要和人配合。

以我们做硬件工程师为例,测试的时候一般都需要软件的配合,一个对硬件来说无比复杂的工作,可能在软件工程师看来就是几行简单的代码。所以要和人配合,多听听别人的意见,这样必然可以产生新的know-how从而加快测试和开发的速度,退一步讲,至少没有坏处。

2.测试还是要别人来做。

开发者看待自己的产品有如看待自己,大多是没有勇气去发现缺点的。一是源自自尊心,二是为了避免额外的工作。所以就算有问题,如果不严重就藏着掖着。但是这对项目来说是不行的,所以测试,verification,一定要旁人来做。

3.多点时间思考。

出现问题后,不要急着修改。要思考推测可能的原因,想清楚后把这些可能的原因都用debug pin或者chipscope引出来。


4.注意复用已有的debug pin。

很多时候,在测试过程中产生了一大堆测试信号,但是时间一长就忘了复用。实际上,当一个问题产生的时候,通过反复观察已有的debug-pin或许足以发现问题根源,而无需再引出新的pin,并浪费时间去综合和PAR。


5.仿真加时序足矣。

数字电路时钟同步的设计原则下,其功能通过simulation就可以验证。simulation的结果和PAR后产生的FPGA-image完全等价。当然FPGA也要遵循同样的设计原则:即时钟同步。所以对于PAR的结果首先就要确保其时钟同步的特性。体现为寄存器之间的path必须在一个时钟周期内完成。(当然有其他约束的例外。)同时要满足FPGA器件的setup和hold要求。一旦出现timing-error必须通过各种途径消除error,因为error的存在,意味着时钟同步的大前提已经被破坏,这时,simulation取得的结果和FPGA是不等价的,继续测试也毫无意义了。

6.注意不可控的接口部分。

FPGA内部的寄存器之间的timing完全可以通过PAR报告来确认是否有问题。但是和外界的接口部分却充满了疑问。我们一般通过假定的input-delay和output-delay来对接口部分进行约束。由于从一开始就施加的是假定的delay,所以即使没有timing-error,其结果也存在诸多疑问。以我正在进行的测试为例,模块内部loopback测试完全正常,但是一过cable,传到对方FPGA,则马上产生很多误码。由于simulation没有问题,所以必然是我们的某个假定出现了问题,尤其是时钟同步的假定会得不到满足。这时候,就要想尽一切办法,使接口也满足假定的条件,或者调整设计,将不理想的接口adapting成理想的接口。


7.向直接上司汇报情况,寻求各种可能的许可。

懒得向直接上司汇报情况时,万一出现进度或者结果不符,所有责任都需要本人承担。如果提前向上司汇报情况并取得许可,则一切后果都在可控范围内。比如,工作繁忙时又被派给新的任务,则不能一味逆来顺受。应该向上司说明困难,并提前想好一个可行的解决方案供上司参考。


8.外部接口是最大障碍。

如前所述,FPGA内部如果timing没有问题的话,一般和仿真结果是一致的,问题是外部的接口,包括cable连线等,不在我们确切控制的范围内,比如其延时特性在40Mhz下仍然正常,但是在80Mhz时可能出现不可预料的情况。所以应该尽量使用经过验证的"cable--frequency"组合。或者通过设备测量并确认外部接口的延时特性。这样可以进行有针对性的调整。我最近的教训就是花了整整一个月调整并测试内部的结构,但是仍然失败。结果发现由于cable的问题,80Mhz的信号(数据+使能+others)无法正常并行传输。如果换成40Mhz的信号就通过了。

9.综合PR后的结果要和代码等价。

前面提到仿真加时序足矣,这里面的前提是PR的结果和原始代码要等价。为了确认这一点,就要把握syn和pr过程中的所有warning以及error,warning的内容不是完全可以忽略的。要特别关注综合报表中的以下内容:unused ports, removal of redundant logic, latch inference,simulation mismatch等等。在报表中输入关键字查找即可。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21331

    浏览量

    593302
收藏 人收藏

    评论

    相关推荐

    3568F-FPGA案例开发手册

    3568F-FPGA案例开发手册
    的头像 发表于 04-16 11:30 736次阅读
    3568F-<b class='flag-5'>FPGA</b>案例<b class='flag-5'>开发</b>手册

    fpga开发是什么意思

    FPGA开发是指利用现场可编程逻辑门阵列(Field Programmable Gate Array,简称FPGA)进行硬件设计和实现的过程。FPGA是一种可编程的逻辑器件,它允许用户
    的头像 发表于 03-15 14:28 248次阅读

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)技术的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑电路,以实现各种数字
    的头像 发表于 03-14 18:20 785次阅读

    fpga开发板使用教程

    FPGA开发板的使用教程主要包括以下几个关键步骤。
    的头像 发表于 03-14 15:50 269次阅读

    fpga开发板与linux开发板区别

    FPGA开发板与Linux开发板是两种不同的硬件开发平台,各自具有不同的特点和应用场景。在以下的文章中,我将详细介绍FPGA
    的头像 发表于 02-01 17:09 597次阅读

    关于FPGA的开源项目介绍

    Hello,大家好,之前给大家分享了大约一百多个关于FPGA的开源项目,涉及PCIe、网络、RISC-V、视频编码等等,这次给大家带来的是不枯燥的娱乐项目,主要偏向老的游戏内核使用FPGA
    的头像 发表于 01-10 10:54 559次阅读
    关于<b class='flag-5'>FPGA</b>的开源<b class='flag-5'>项目</b>介绍

    开源FPGA项目有哪些

    请问开源FPGA项目有哪些?
    发表于 12-26 12:09

    国外大学的FPGA开发项目盘点

    据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校Cornell University 康奈尔大学开设的FPGA
    发表于 12-22 10:27 417次阅读
    国外大学的<b class='flag-5'>FPGA</b><b class='flag-5'>开发</b><b class='flag-5'>项目</b>盘点

    FPGA项目开发之同步信号和亚稳态

    FPGA项目开发之同步信号和亚稳态 让我们从触发器开始,所有触发器都有一个围绕活动时钟沿的建立(setup time)和保持窗口(hold time),在此期间数据不得更改。如果该窗口中的数据
    发表于 11-03 10:36

    #电子爱好者 #FPGA 项目开发

    fpga开发
    明德扬助教小易老师
    发布于 :2023年09月07日 12:21:11

    Intel FPGA开发流程指南

    开发FPGA设计,最终的产品是要落在使用FPGA芯片完成某种功能。所以我们首先需要一个带有Intel FPGA芯片的开发板。
    的头像 发表于 07-14 09:42 2333次阅读
    Intel <b class='flag-5'>FPGA</b><b class='flag-5'>开发</b>流程指南

    FPGA的详细开发流程

      FPGA 的详细开发流程就是利用 EDA 开发工具对 FPGA 芯片进行开发的过程,所以 FPGA
    的头像 发表于 07-04 14:37 2782次阅读
    <b class='flag-5'>FPGA</b>的详细<b class='flag-5'>开发</b>流程

    优秀的IC/FPGA开源项目:伪红外图像处理

    《优秀的IC/FPGA开源项目》是新开的系列,旨在介绍单一项目,会比《优秀的 Verilog/FPGA开源项目》内容介绍更加详细,包括但不限
    的头像 发表于 06-09 09:42 1454次阅读
    优秀的IC/<b class='flag-5'>FPGA</b>开源<b class='flag-5'>项目</b>:伪红外图像处理

    Lattice Insights:赋能FPGA应用设计和开发

    和设计体验。莱迪思半导体官方培训平台Lattice Insights旨在实现这种体验,帮助FPGA开发人员充分利用莱迪思FPGA开发他们的解决方案。
    的头像 发表于 06-01 10:08 638次阅读

    如何使用esp13 shield和max 10 FPGA开发一个新项目

    我正在使用 esp 13 shield 和 max 10 FPGA 开发一个新项目,这是我第一次使用 esp 8266,所以我不知道如何开始。
    发表于 05-24 08:04