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

    关注

    1646

    文章

    22072

    浏览量

    619841
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    火爆开发中 | 开源FPGA硬件板卡,硬件第一期发布

    开源FPGA项目自发布以来,得到了众多开发者的关注,涉及工业、通信、车载等多个行业的100+位工程师报名参与设计,并分为:硬件组、FPGA组、linux组。其中硬件组率先开始启动
    发表于 07-09 13:54

    火爆开发中|开源FPGA硬件板卡,硬件第一期发布

    开源FPGA项目自发布以来,得到了众多开发者的关注,涉及工业、通信、车载等多个行业的100+位工程师报名参与设计,并分为:硬件组、FPGA组、linux组。其中硬件组率先开始启动
    的头像 发表于 07-09 11:43 ?516次阅读
    火爆<b class='flag-5'>开发</b>中|开源<b class='flag-5'>FPGA</b>硬件板卡,硬件第一期发布

    突破交付瓶颈:FPGA项目加速交付的“致胜密码”

    引言在当今快节奏的数字化时代,软件开发、工程项目等各类开发进程犹如一场与时间赛跑的竞技赛。然而,项目延迟、瓶颈或设计挑战如同赛道上的重重障碍,不断拖慢
    的头像 发表于 06-27 10:13 ?393次阅读
    突破交付瓶颈:<b class='flag-5'>FPGA</b><b class='flag-5'>项目</b>加速交付的“致胜密码”

    开源FPGA硬件,核心开发者招募中......

    01背景简介近期,小眼睛科技联合紫光同创及电子发烧友发起了#拥抱开源!一起来做FPGA开发板活动,活动一经发布,得到了很多开源爱好者的热烈响应,再次感谢大家的支持!为便于活动顺利开展,我们将根据大家
    的头像 发表于 06-20 08:03 ?684次阅读
    开源<b class='flag-5'>FPGA</b>硬件,核心<b class='flag-5'>开发</b>者招募中......

    【开源分享】:开源小巧的FPGA开发板——Icepi Zero

    活动推荐:拥抱开源!一起来做FPGA开发板啦!https://bbs.elecfans.com/jishu_2491185_1_1.html 项目计划以紫光同创PG2L25H-6IMBG325为
    发表于 06-09 14:01

    拥抱开源!一起来做FPGA开发板啦!

    开发,包括编写Verilog或VHDL代码、进行逻辑功能仿真、调试以及与硬件接口的适配等工作,适合熟悉FPGA开发流程、具备逻辑设计能力的伙伴。 主要任务: 基于开源项目功能需求反馈
    发表于 06-06 14:05

    FPGA开发任务

    我想请人帮我开发一款基于FPGA的产品,把我写好MATLAB代码固化在FPGA中,实现算法加速和加密功能。有兴趣的联系我
    发表于 03-15 10:19

    用MATLAB或者C语言开发FPGA有什么问题吗

    最近有个项目领导要求用MATLAB开发FPGA,有大佬用MATLAB或者C语言开发FPGA的吗,有没有什么问题,需要注意什么问题吗
    发表于 01-26 09:57

    使用IP核和开源库减少FPGA设计周期

    FPGA 开发的目标是按时、按质交付项目。 然而,这一目标说起来简单,实现起来老费劲了。根据业内最广泛的调查之一,西门子威尔逊集团 2022 年的调查(https
    的头像 发表于 01-15 10:47 ?758次阅读
    使用IP核和开源库减少<b class='flag-5'>FPGA</b>设计周期

    正点原子fpga开发指南

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

    正点原子fpga开发板不同型号

    正点原子作为国内领先的FPGA开发板供应商,其产品线覆盖了从入门级到高端应用的各个领域。这些开发板不仅适用于学术研究,还广泛应用于工业控制、通信、图像处理等多个领域。 1. 入门级开发
    的头像 发表于 11-13 09:30 ?3884次阅读

    ARM开发板与FPGA的结合应用

    一、引言 ARM开发板是一种基于ARM架构的嵌入式开发平台,具有高性能、低功耗的特点。FPGA是一种可编程的数字电路,可以根据需要配置不同的逻辑功能。将ARM开发板与
    的头像 发表于 11-05 11:42 ?1590次阅读

    什么~FPGA可以自行二次开发了?

    什么!FPGA可以自行二次开发了? 目前市场上的标准采集卡通常不支持用户自行开发FPGA。但因为应用环境的需要,不仅仅只需要单一的数据采集流程,往往还需要在其中嵌入更复杂的运行和分析逻
    的头像 发表于 10-14 15:47 ?648次阅读
    什么~<b class='flag-5'>FPGA</b>可以自行二次<b class='flag-5'>开发</b>了?

    莱迪思Propel工具套件加速FPGA应用开发

    许多嵌入式系统的开发者都对使用基于FPGA的SoC系统感兴趣,但是基于传统HDL硬件描述语言的FPGA开发工具和复杂流程往往会令他们望而却步。为了解决这一问题,莱迪思的Propel工具
    的头像 发表于 08-30 17:23 ?1432次阅读

    数量有限:6款“入门+项目进阶”开发板限时特惠!30余套项目案例免费领!

    ?华清远见研发中心,面向个人学习、学生毕设、高校教学,精心打造六款“入门+项目进阶”开发板。这六款开发板,面向嵌入式、物联网方向的学习,均配套了丰富的学习资料及综合项目实战案例。后台私
    的头像 发表于 08-20 14:17 ?721次阅读
    数量有限:6款“入门+<b class='flag-5'>项目</b>进阶”<b class='flag-5'>开发</b>板限时特惠!30余套<b class='flag-5'>项目</b>案例免费领!