FPGA需求定义与规划了解吗?软件或将成为有效利用FPGA的关键!
扫描二维码
随时随地手机看文章
今天,小编将在这篇文章中为大家带来FPGA的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。
一、FPGA需求定义与划分
FPGA需求定义和划分阶段与系统和FPGA架构定义紧密关联并受这两个阶段的决策左右。FPGA需求定义指定义准备在FPGA中实现的详细需求,并用作明确的特性清单以供设计和测试工程团队设计、测试和实现。FPGA需求定义与系统和FPGA架构需求定义的不同之处在于FPGA需求是精确的。该清单定义了FPGA的细致要求,而不仅仅是系统的不同组件之间的功能划分,或是穿越FPGA的数据流之间的功能划分。
这个阶段的目的是清楚地定义FPGA工程团队确切能实现和测试的内容。在这个阶段,用户将把高级系统和FPGA架构需求转换成用于实现的具体需求。这样做能够带来双重好处。首先,单独定义FPGA需求能突出强调系统和FPGA架构的任何局限以及之前未曾考虑到或未曾预见到的状况。其次,该步骤将为FPGA设计的开发和测试的顺利执行铺平道路。
为适当地描述FPGA需求,您必须建立清晰且简明扼要的定义,以便提炼成单独的需求。我们建议为各项需求添加标签或序号,使用易于判断其能否实现的简短描述来定义各项需求,避免用高级含糊的需求用语。只要足够清晰扼要,您可以使用任何行业标准格式或专有格式。
避免使用含混或界定不清的用语,例如“快速”或“小型”。应坚持使用有明确目标的用语,如“400MHz”或“4.2K触发器”。这样定义的目的旨在确保将文档分配给之前不了解系统或FPGA架构的开发工程团队进行实施时不再需要反复澄清。您需要检查每个需求是否表述清楚、简洁、明确且是否包含了所有必需的信息以避免反复澄清的必要。此外,还应该注意需求中是否包括管脚和I/O定义?是否所有的高级需求都已经分解为基本设计要素?未参与早期系统架构定义的设计团队是否能够使用这些需求开发FPGA?以及最后测试与验证团队是否能使用该文档开发测试平台和制定测试方案,明确验证每一项需求是否通过。
二、软件将成为有效利用FPGA的关键
除了硬件之外,如何在实际任务中最大效率地利用 FPGA 也是一个极其关键地问题。随着 FPGA 和其他芯片(例如 CPU)紧密集成在一起形成一个异质芯片系统,如何确保软件能够充分利用 FPGA 并且避免调度等方面的瓶颈就是一个非常复杂但是重要的问题。这是一个有很高挑战性的问题,因为 FPGA 和系统中其他部分(如 CPU)的编程模型可能非常不同,因此如何确保软件可以正确分割任务(即把合适 FPGA 的任务分配给 FPGA,而适合其他处理器的任务分配给相应处理器),合理处理调度和内存管理,并且以一种较为用户友好的形式供软件工程师使用,是一个很大的工程。这些是与传统 FPGA 软件(即主要针对前端和后端逻辑综合任务)有较大区别的任务。
在这个领域,Intel 和 AMD 都在积极投资。例如,在 Intel 发布的 IPU 路线图上,开放且灵活的软件生态是 Intel 一个重要的投入领域,而且与之相应的是 Intel 在日前刚刚宣布要收购跨平台异构芯片软件编译器公司 Codeplay,这一举动也被业界认为是在下一代 FPGA 软件方面的投资。与此同时,AMD 也在五月的财报发布会上表示要大力投入软件领域,显然这里也包括了 FPGA 相关的软件研发。我们认为,随着 FPGA 成为新的芯片系统中的重要一环,相应的软件生态也必须要跟上,从而使得这样的 FPGA 系统新范式真正进入主流。
以上便是小编此次带来的全部内容,十分感谢大家的耐心阅读,想要了解更多相关内容,或者更多精彩内容,请一定关注我们网站哦。