IP核之软核、硬核、固核 简记

版权声明:本博客内容来自于个人学习过程中的总结,参考了互联网以及书本、论文等上的内容,仅供学习交流使用,如有侵权,请联系我会重写!转载请注明地址! https://blog.csdn.net/Reborn_Lee/article/details/82756284

IP核(Intellectual Property core),即知识产权核。

IP核是一段具有特定电路功能的硬件描述语言程序,该程序通常与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。由于IP核将一些在数字电路中常用,但比较复杂的功能块设计成可修改参数的模块,因此FPGA的设计人员可以通过调用相关IP核来完成所需逻辑功能,从而节省了大量的开发时间。调用IP核能避免重复劳动,大大减轻设计人员的负担,因此使用IP核必然成为将来FPGA设计的一个发展趋势。

IP代表知识产权,从它的名字我们就能猜到IP核应该不是可以随便使用的。事实上,大部分IP核都是需要付费的,例如RS编码器、FIR滤波器、SDRAM控制器、PCI接口等。不过也有很多免费的IP核资源,如FIFO模块,PLL模块等。对于我们平常的设计来说,利用好这些免费的IP核就能达到事半功倍的效果。

按IP核的硬件描述级实现程序,可将它分为三类:软核、硬核和固核。

IP软核一般指的是用硬件描述语言描述的功能块,它并不涉及什么具体电路元件实现这些功能,软核的代码直接参与设计的编译流程,就像我们自己编写的HDL代码一样,虽然会对软核的RTL代码进行加密,但是其保密性还是比较差。

IP硬核是以经过完全的布局布线的网表形式提供的,由于不在参与设计的编译流程,因此它的性能具有很强的可预见性,并且保密性好,不过移植性差。

IP固核是软核和硬核的一个折中,它只对描述功能中一些比较关键的路径进行预先的布局布线,而其他部分仍然可以任由编译器进行相关优化处理。

例如当你使用一个IP核生成一个8*8的乘法器时,如果选择使用逻辑资源块来实现,那么此时的乘法器IP核就相当于一个软核;如果你选择使用DSP资源来实现,那么此时的乘法器IP核就相当于一个硬核;如果你要用DSP资源生成一个36*36的乘法器时,那么FPGA恐怕需要若干个DSP资源来实现,这时候,每个DSP核的布局布线都是固定的,但是到底选择哪几个DSP资源来实现是可以由编译器决定的,因此此时的乘法器IP核就相当于一个固核。

猜你喜欢

转载自blog.csdn.net/Reborn_Lee/article/details/82756284