近年来,电子设备的更新迭代速度加快,集成电路迎来了高速发展期,这也促使了FPGA及ASIC电路行业大火,越来越多的人选择FPGA行业,但有很多人都不知道FPGA开发中的软核、硬核、固核是什么?,今天我们来回答这个问题。
IP核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可移植到不同的半导体工艺中,到了SOC阶段,IP核设计已成为ASIC电路设计公司和FPGA提供商的主要任务,也是其实力体现。对于FPGA开发软件,其提供的IP核越丰富,用户的设计越方便,其市场占用率越高,目前IP核已成为系统设计的基本单元,并作为独立设计成果被交换、转让和销售。
1、软核
软核在EDA设计领域指的是综合之前的寄存器传输级(RTL)模型﹔具体在FPGA设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置﹔缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP核应用最广泛的形式。
2、硬核
硬核在EDA设计领域指经过验证的设计版图﹔具体在FPGA设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。不能修改的原因有两个:首先是系统设计对各个模块的时序要求很严格,不允许打乱已有的物理版图﹔其次是保护知识产权的要求,不允许设计人员对其有任何改动。IP硬核的不许修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。
3、固核
固核在EDA设计领域指的是带有平面规划信息的网表;具体在FPGA设计中可以看做带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。和软核相比,固核的设计灵活性稍差,但在可靠性上有较大提高。目前,固核也是IP核的主流形式之一。