广告

如何防止基于FPGA的项目误入歧途

2017-04-21 Adam-Taylor 阅读:
在FPGA设计中,虽然目标应用和开发团队的成员不同,但都有一些通病,使设计从工程师坐下来写第一行HDL代码就注定了失败。本文介绍了在FPGA项目开发中发现的5个共同问题。

在我的职业生涯中,我曾经为一些很有趣的项目做过FPGA设计,也曾挽救过许多误入歧途的FPGA设计。我在处理这些问题设计时发现,虽然目标应用和开发团队的成员不同,但这些设计显然有一些通病,使设计从工程师坐下来写第一行HDL代码就注定了失败。6nlednc

DI2_F1_2017056nlednc

鉴于此,我想有必要介绍一下我在挽救这些项目时发现的5个共同问题。这些问题是:6nlednc

1.第一个问题是在项目开始之时没有明确需求基线。这个问题不只与基于FPGA的开发有关,它与工程是普遍相关的。人们经常会在需求仍未成熟、还需不断修改之时就急忙上马项目。但是如果我们没有完全理解需求就匆匆开始开发,就可能出现初始步骤错误的情况,接下来的纠正则会带来延时和额外的成本。太早开始项目会带来开发风险,而这个风险需要降低。幸运的是,需求的深度和细节可以根据具体的应用进行修改。我期望为SIL4系统而不是商用系统提出许多更详细的需求。总之,如果一开始对需求没有达成一致意见,或没有形成正确的需求基线,就会出现范围蔓延问题。虽然一开始设计的架构非常合理,符合需求,但随着需求基线的成熟,开发人员会尝试加入新的功能,从而使架构越来越复杂。这样用不了多久就会发生问题。6nlednc

2.在理解了需求细节之后,每个开发人员还应了解开发FPGA 的计划,因此需要制定一个计划,定义从项目启动到交货要遵循的程序,确定主要开发步骤和工程审查点。除了制订计划外,我们还需要以文档的形式记录架构和设计,确定每个主要功能,看哪些功能是需要新开发的,哪些可以利用第三方IP或再利用现有IP(以后会越来越多)。计划、架构和设计描述文档可以帮助工程技术团队理清手头的任务。我们还可以按照具体需求检查所有的功能,确保提议的方案能够满足所有高层需求。6nlednc

3. 设计模块和整个FPGA需要花费时间;但耗时更长的任务是设计验证,以确保设计满足需求。这种验证不仅需要包含逻辑功能,还需要在器件所有可能的工作条件下进行。反过来说,这意味着有必要针对设计开发一个清晰的验证策略, 这不再只是写写代码、执行一些仿真然后将设计扔给硬件这么简单了。6nlednc

4. 很多时候我们会因为过于投入某件事情而难以发现其中的问题, 这正是引入工程设计审查的目的。通过审查, 我们可以确保遵循良好的工程操作方法, 并符合内部的开发标准。另外, 它们还能帮助独立工程师检查设计的架构和实现以确保提供所需的功能。如果在开发过程中不审查设计, 可能就无法实现高质量的设计, 并且可能增加下游的集成问题。6nlednc

5. 到这里你可能注意到, 我提出的大多数观点和过程是与更广泛的工程而不是与设计编码本身有关。开发代码固然重要,但是确保我们利用第三方IP和再利用内部IP也同样重要。理想情况下,我们应该尽可能再利用库中的许多现有IP块。当不可能利用时,当然需要开发新的模块。在创建新模块时必须时刻牢记,这些模块在未来的项目中应能再使用。我们应该考虑使用高层综合(HLS) 工具来帮助创建这些新模块。因为允许我们工作在较高的抽象层,这些工具可以帮助我们更容易地拓展解决方案空间,缩短开发时间,并降低风险和成本。6nlednc

上述问题是我在挽救FPGA设计时注意到的,您对误入歧途的项目有何看法?6nlednc

作者:Adam-Taylor,E2V公司6nlednc

《电子技术设计》2017年5月刊版权所有,谢绝转载。6nlednc

201606300001236nlednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
您可能感兴趣的文章
  • 一种用于电路板回收的新基材:遇水能溶 英国的Jiva Materials公司开发了一种新型的PCB基材Soluboard,这种基材是由天然纤维包裹在一种无卤的聚合物中制成的,与行业内经常使用的FR-4基材不同,这种材料只要在90摄氏度左右的热水中浸泡30分钟,就可以分层溶解···
  • 机器人版的ChatGPT,谷歌新模型泛化能力大幅提高 7月28日,Google DeepMind宣布以训练AI聊天机器人的方式训练了一款全新的机器人模型Robotic Transformer 2(RT-2),这是一种新颖的视觉-语言-动作(VLA)模型,可以从网络和机器人数据中学习,并将这些知识转化为机器人控制的通用指令。
  • 英伟达惨遭背刺,这个SDK让AMD平台也能运行CUDA 近日,AMD正式推出了HIP SDK,这是ROCm生态系统的一部分,基于开源ROCm解决方案,HIP SDK使消费者可以在各类GPU上运行CUDA应用,为专业和消费级GPU提供CUDA支持。
  • 头部跟踪功能如何提升您的空间音频体验 音频已成为我们使用媒体时沉浸感和逼真度的重要组成部分。当前的技术正在加强各种体验本身的沉浸式体验,让它们更加栩栩如生,但如果没有头部跟踪,由于大脑无法解决这种关键的含糊不清问题,这种沉浸感可能会被破坏。
  • 如何用软件定义无线电实现更有效的核磁共振成像仪设计 在本文中,我们讨论了MRI的基本概念,以及如何将SDR集成到这些系统中以提高性能和功能。我们介绍了一些适用于MRI应用的SDR规范,以及对MIMO射频通道的支持。还讨论了让SDR成为高性能射频单元的原因,以及高信噪比和MIMO通道之间的高相位相干性。
  • 电池能用三十年?美国Ener Venue称推出革命性电池技术 三元锂离子电池的理论寿命约为800次循环,磷酸铁锂约为2000次,而钛酸锂据说可以达到1万次循环,也就是说常规普通人使用的锂离子电池每天完全充放电三次,最多也就能用上几年的时间。虽然相较于铅酸电池200-300次的循环寿命来说,这已经是很大幅度的提升了,但现在有一家公司宣称他们的电池可以充放电30000次,每天充放电三次,能用30年。
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告
    向右滑动:上一篇 向左滑动:下一篇 我知道了