聊一聊FPGA中的IP都是怎么区分的呢?

可编程逻辑

1360人已加入

描述

现今的FPGA设计规模越来越庞大,功能越来越复杂,因此FPGA设计的每个部分都从头开始着手是不切实际的。

为了解决这一问题,可以采用复用现有通用模块的方法,将主要的时间和资源用在设计中那些全新、独特的部分,从而提升设计效率和减少开发成本。

这就像在软件开发应用程序时,开发者不必编写直接控制物理硬件的代码,而是调用Windows提供的API来进行开发。在FPGA中这样的通用模块被称作IP核(Intellectual Property Core)。

一、IP是什么?

IP核是具有知识产权的集成电路核的总称,是经过反复验证、具有特定功能的电路模块,与芯片制造工艺无关,可以在不同的半导体工艺中进行移植。

IP核在FPGA设计中扮演着至关重要的角色。它们是以前设计的成功经验和智慧的结晶,并且经过测试和验证,因此在设计中能够实现高度的可靠性和稳定性。

使用IP核还可以极大地加速整个设计流程,提高设计的效率和质量。

设计人员只需将自己的特定功能与通用模块进行集成,即可快速完成设计,而无需从头开始进行设计和实现。

现在IP 核已经变成系统设计的基本单元,可以作为独立设计的成果,用于交换、转让和销售。

IP核通常分为软核、固核和硬核这3类。 成本方面,硬核代价最大;灵活性方面,软核的可复用最高。但与软核实现方式相比,硬核的功耗可以降低5~10 倍, 也可以节约将近90%的逻辑资源。

FPGA设计

二、硬核

硬核(Hard IP Core)指已经经过验证的设计版图,在EDA设计领域中具有特殊的含义。在FPGA设计中则指的是经过前端和后端验证、布局和工艺固定的设计,不能被设计人员进行修改。这是由于系统设计对各个模块的时序要求十分严格,不允许对现有版图进行打乱;同时也需要保护知识产权,不允许设计人员对其进行任何更改。

硬核IP具有不允许修改的特点,这使得它的复用相应地比较困难,并且只能用于某些特定的应用。因此,被限定在一定程度的使用范围内。与软核相比,硬核的优势在于其更高的性能和更严格的时序控制,更适用于一些对性能要求较高的场景,如通信、图像及视觉处理等。

尽管硬核的复用受到一定的限制,但是它在芯片设计领域仍然扮演着重要的角色。硬核IP的使用可以降低设计风险和提高产品质量,同时也可以实现记录、共享和交换等功能。在实际设计中,硬核和软核可以组合使用,发挥各自的长处,从而实现更加复杂和高效的芯片设计。

三、软核

软核(Soft IP Core)指的是在EDA设计领域中的综合之前的寄存器传输级(RTL)模型,在FPGA设计中则是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。

与硬核不同,软核只经过功能仿真,在使用前还需要进行综合和布局布线等工作。软核的优点在于灵活性高、可移植性强,允许用户自主配置;缺点在于对模块的预测性较低,在后续的设计过程中会存在一定设计风险。

相比于硬核,软核的应用范围更广泛。它可以在FPGA设计中使用,并且可以根据需求进行自定义配置,以实现特定的功能。软核的主要优势在于其灵活性和可移植性,这使得它更适合于快速原型开发和测试等应用场景。同时,软核还具有易于更新迭代等优点,能够快速满足客户的需求。

总之,软核是IP核最广泛应用的形式之一。虽然它存在一定的设计风险,但是其可移植性和灵活性等优点使其深受市场欢迎。软核和硬核可以组合使用,以利用各自的长处,实现更加复杂和高效的芯片设计。

四、固核

固核(Firm IP Core)指的是在EDA设计领域中带有平面规划信息的网表,在FPGA设计中可以看作是带有布局规划的软核。通常以RTL代码和对应具体工艺网表的混合形式提供。将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。与软核相比,固核的设计灵活性稍差,但在可靠性上有较大提高。

固核在芯片设计中也是主流形式之一。相比于软核,固核在设计时已经考虑了布局和规划等因素,因此其可靠性更高。同时,固核具有与硬核相似的特点,即设计版图不能被设计人员随意修改,这保证了知识产权的保护。

尽管固核的设计灵活性相对较低,但其可靠性和稳定性使得它被广泛应用于各种场景,如通信、存储、嵌入式系统等。通过固核的使用,设计人员可以快速实现复杂的功能,同时也能够降低设计风险,提高产品质量。

总之,固核是IP核的主流形式之一。它具有与硬核类似的特点,保障着知识产权的安全。虽然相比软核在设计灵活性上略有不足,但其可靠性和稳定性使其得到了广泛应用。

五、总结

固核、软核、硬核在FPGA和芯片行业中应用非常广泛,我们在FPGA开发过程中,经常从IP仓库中调用的都是软核。

在FPGA设计过程中,这三种IP核都有各自的优势,可以根据实际需求进行选择。

虽然固核和硬核在性能和可靠性方面有优势,但是它们的设计成本和时间成本较高。因此,许多FPGA设计人员更喜欢使用软核。软核具有灵活性高、可移植性强等特点,并且可以根据需求进行自定义配置,以实现特定的功能。同时,软核在综合和布局布线等方面的工作量相对较小,可以节省大量的设计时间和成本。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分