從IP核的提供方式上,通常將其分為軟核、固核和硬核這3類。從完成IP核所花費的成本來講,硬核代價最大;從使用靈活性來講,軟核的可復用使用性最高。
1. 軟核(Soft IP Core)
軟核在EDA 設計領域指的是綜合之前的寄存器傳輸級(RTL) 模型;具體在FPGA 設計中指的是對電路的硬件語言描述,包括邏輯描述、網(wǎng)表和幫助文檔等。軟核只經(jīng)過功能仿真,需要經(jīng)過綜合以及布局布線才能使用。其優(yōu)點是靈活性高、可移植性強,允許用戶自配置;缺點是對模塊的預測性較低,在后續(xù)設計中存在發(fā)生錯誤的可能性,有一定的設計風險。軟核是IP 核應用最廣泛的形式。
2. 固核(Firm IP Core)
固核在EDA 設計領域指的是帶有平面規(guī)劃信息的網(wǎng)表;具體在FPGA 設計中可以看做帶有布局規(guī)劃的軟核,通常以RTL 代碼和對應具體工藝網(wǎng)表的混合形式提供。將RTL 描述結合具體標準單元庫進行綜合優(yōu)化設計,形成門級網(wǎng)表,再通過布局布線工具即可使用。和軟核相比,固核的設計靈活性稍差,但在可靠性上有較大提高。目前,固核也是IP 核的主流形式之一。
3. 硬核 (Hard IP Core)
硬核在EDA 設計領域指經(jīng)過驗證的設計版圖;具體在FPGA 設計中指布局和工藝固定、經(jīng)過前端和后端驗證的設計,設計人員不能對其修改。不能修改的原因有兩個:首先是系統(tǒng)設計對各個模塊的時序要求很嚴格,不允許打亂已有的物理版圖;其次是保護知識產(chǎn)權的要求,不允許設計人員對其有任何改動。IP 硬核的不許修改特點使其復用有一定的困難,因此只能用于某些特定應用,使用范圍較窄。