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
    +关注

    关注

    1626

    文章

    21673

    浏览量

    601925
收藏 人收藏

    评论

    相关推荐

    正点原子fpga开发指南

    定制硬件加速的应用。 1. 开发环境搭建 1.1 安装Xilinx Vivado Vivado是Xilinx提供的综合设计环境,用于设计、仿真和调试FPGA项目。从Xilinx官网下载并安装最新版
    的头像 发表于 11-13 09:35 213次阅读

    3568F-FPGA案例开发手册

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

    fpga开发需要掌握哪些编程语言

    FPGA(现场可编程门阵列)开发涉及多种编程语言和技术.
    的头像 发表于 03-27 14:34 1377次阅读

    fpga开发是什么意思

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

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

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

    fpga用的是什么编程语言 fpga用什么语言开发

    和VHDL都是用于逻辑设计的硬件描述语言,并且都已成为IEEE标准。它们能形式化地抽象表示电路的结构和行为,支持逻辑设计中层次与领域的描述,具有电路仿真与验证机制以保证设计的正确性,并便于文档管理和设计重用。 fpga用什么语言开发 F
    的头像 发表于 03-14 17:09 3326次阅读

    fpga与嵌入式的区别 嵌入式和fpga开发有什么关系

    的,无法进行大规模的硬件级别的修改。这意味着FPGA能更灵活地适应不同的应用场景和变化的需求。 开发周期:FPGA开发周期相对较短,因为它可以通过重新编程来实现新功能。相比之下,嵌入
    的头像 发表于 03-14 17:04 6782次阅读

    fpga开发板使用教程

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

    Lattice Insights 简化FPGA设计和开发

    通过莱迪思Insights简化FPGA设计和开发 人工智能和机器学习的持续发展正在重塑生活方式和工作场所,现在随着基础模型和生成式人工智能(AI)的出现,这种重塑更为明显。数字化转型的深入会带来
    的头像 发表于 02-20 17:22 2007次阅读
    Lattice Insights 简化<b class='flag-5'>FPGA</b>设计和<b class='flag-5'>开发</b>

    fpga开发板与linux开发板区别

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

    RK3568-ARM+FPGA通信案例开发手册 (一)

    RK3568-ARM+FPGA通信案例开发手册 (一)
    的头像 发表于 01-19 10:31 1047次阅读
    RK3568-ARM+<b class='flag-5'>FPGA</b>通信案例<b class='flag-5'>开发</b>手册 (一)

    关于FPGA的开源项目介绍

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

    FPGA项目承接|FPGA项目外包|FPGA项目研发

    fpga
    mycode2016
    发布于 :2024年01月03日 23:50:07

    开源FPGA项目有哪些

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

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

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