1. 程式人生 > >IP核之軟核、硬核、固核 簡記

IP核之軟核、硬核、固核 簡記

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核就相當於一個固核。