FPGA的IP软核、硬核以及固核
来源:互联网 发布:黎明杀机淘宝刷血点 编辑:程序博客网 时间:2024/05/17 23:47
PART1
IP(Intellectual Property)就是常说的知识产权。美国Dataquest咨询公司将半导体产业的IP定义为用于ASIC、ASSP和PLD等当中,并且是预先设计好的电路模块。IP核模块有行为(Behavior)、结构(Structure)和物理(Physical)三级不同程度的设计,对应描述功能行为的不同分为三类,即软核(Soft IP Core)、完成结构描述的固核(Firm IP Core)和基于物理描述并经过工艺验证的硬核(Hard IP Core)。
什么是软核?
IP软核通常是用HDL文本形式提交给用户,它经过RTL级设计优化和功能验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路级设计网表,并可以进行后续的结构设计,具有很大的灵活性,借助于EDA综合工具可以很容易地与其他外部逻辑电路合成一体,根据各种不同半导体工艺,设计成具有不同性能的器件。软IP内核也称为虚拟组件(VC-Virtual Component)。
什么是固核?
IP固核的设计程度则是介于软核和硬核之间,除了完成软核所有的设计外,还完成了门级电路综合和时序仿真等设计环节。一般以门级电路网表的形式提供给用户。
什么是硬核?
IP硬核是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已经过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来就用的全套技术。
硬核是固化在FPGA内部的特殊硬件电路,简单理解的话,可以把硬核看成是嵌入在FPGA内部的ASIC。如嵌入式RAM,嵌入式乘法器,PLL等。软核是用FPGA的通用逻辑资源(LUT+FF)搭建而成的。从用户使用角度来看,二者没有什么开发难度上的区别,因为现在的主流厂商都把二者的开发集成在其IPcore开发工具里,Altera叫MegaWizzard Plug In Wizzard,Xilinx叫Core Generator。性能上,一般硬核速度比软核高,整体功耗也要低一些
PART2
硬核是固化在FPGA内部的特殊硬件电路,简单理解的话,可以把硬核看成是嵌入在FPGA内部的ASIC。如嵌入式RAM,嵌入式乘法器,PLL等。软核是用FPGA的通用逻辑资源(LUT+FF)搭建而成的。从用户使用角度来看,二者没有什么开发难度上的区别,因为现在的主流厂商都把二者的开发集成在其IPcore开发工具里,Altera叫MegaWizzard Plug In Wizzard,Xilinx叫Core Generator。性能上,一般硬核速度比软核高,整体功耗也要低一些
现在的FPGA设计,规模巨大而且功能复杂,因此设计的每一个部分都从头开始是不切实际的。一种解决的办法是:对于较为通用的部分可以重用现有的功能模块,而把主要的时间和资源用在设计中的那些全新的、独特的部分。这就像是你在开发应用程序的时候就不用直接去写驱动物理硬件的代码,而是直接调用Windows提供的API就行了。 这种功能模块我们称作IP核(Intelligent Property) ,IP核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。到了SOC 阶段,IP 核设计已成为ASIC 电路设计公司和FPGA 提供商的重要任务,也是其实力体现。对于FPGA 开发软件,其提供的IP 核越丰富,用户的设计就越方便,其市场占用率就越高。目前,IP 核已经变成系统设计的基本单元,并作为独立设计成果被交换、转让和销售。
从IP核的提供方式上,通常将其分为软核、固核和硬核这3类。从完成IP核所花费的成本来讲,硬核代价最大; 从使用灵活性来讲,软核的可复用使用性最高。与软核实现方式相比,硬核可以把功耗降低5~10 倍, 节约将近90% 的逻辑资源。
软核(Soft IP Core) : 软核在EDA 设计领域指的是综合之前的寄存器传输级(RTL) 模型;具体在FPGA 设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置;缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP 核应用最广泛的形式。
固核(Firm IP Core) :固核在EDA 设计领域指的是带有平面规划信息的网表;具体在FPGA 设计中可以看做带有布局规划的软核,通常以RTL 代码和对应具体工艺网表的混合形式提供。将RTL 描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。和软核相比,固核的设计灵活性稍差,但在可靠性上有较大提高。 目前,固核也是IP 核的主流形式之一。
硬核 (Hard IP Core) :硬核在EDA 设计领域指经过验证的设计版图;具体在FPGA 设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。不能修改的原因有两个:首先是系统设计对各个模块的时序要求很严格,不允许打乱已有的物理版图;其次是保护知识产权的要求,不允许设计人员对其有任何改动。IP 硬核的不许修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。
- FPGA的IP软核、硬核以及固核
- FPGA的软核、硬核以及固核的概念
- FPGA硬核、固核、软核
- IP软核、硬核以及固核的概念与比较
- FPGA的IP核
- 软核、硬核以及固核的概念
- 软核、硬核以及固核的概念
- 软核、硬核以及固核的概念
- 软核、硬核以及固核的概念
- IP核 软核 固核 硬核
- 【奔跑的FPGA】part two ip核仿真遇到的问题以及解决办法
- 基于IP核的fpga调试经验
- FPGA的IP核之FIFO
- 软核,硬核、固核的区别!
- [学习] FPGA之ip核
- FPGA开发之IP核
- IP软核及硬核的优劣势比较
- FPGA的ip核之概念和分类
- 【Android】Android6.0及以上不能读取外部存储问题
- 51单片机bit数据类型
- c语言实现输出二维蛇形矩阵
- Session 5: Managing OpenStack from the Command Line
- 【miscellaneous】MPEG2、MPEG4、H264的差异
- FPGA的IP软核、硬核以及固核
- Hadoop 解除 "Name node is in safe mode"
- 矩阵的理解
- 微信登录、分享到微信
- Session 6: Scaling Out Your OpenStack
- 编解码学习笔记(一):基本概念
- KVM概念相关
- 利用EGL在android上使用C/C++写OpenGL ES程序
- Google Guava介绍