到了SOC階段,IP核設(shè)計(jì)已成為ASIC電路設(shè)計(jì)公司和FPGA提供商的重要任務(wù),也是其實(shí)力體現(xiàn)。對(duì)于FPGA開發(fā)軟件,其提供的IP核越豐富,用戶的設(shè)計(jì)就越方便,其市場(chǎng)占用率就越高。
IP(Intellectual Property)就是常說(shuō)的知識(shí)產(chǎn)權(quán)。美國(guó)Dataquest咨詢公司將半導(dǎo)體產(chǎn)業(yè)的IP定義為用于ASIC、ASSP和PLD等當(dāng)中,并且是預(yù)先設(shè)計(jì)好的電路模塊。IP核模塊有行為(Behavior)、結(jié)構(gòu)(Structure)和物理(Physical)三級(jí)不同程度的設(shè)計(jì),對(duì)應(yīng)描述功能行為的不同分為三類,即軟核(Soft IP Core)、完成結(jié)構(gòu)描述的固核(Firm IP Core)和基于物理描述并經(jīng)過(guò)工藝驗(yàn)證的硬核(Hard IP Core)。
從IP 核的提供方式上,通常將其分為軟核、硬核和固核這3 類。從完成IP 核所花費(fèi)的成本來(lái)講,硬核代價(jià)最大;從使用靈活性來(lái)講,軟核的可復(fù)用使用性最高。
軟核 (Soft IP Core)
軟核在 EDA 設(shè)計(jì)領(lǐng)域指的是綜合之前的寄存器傳輸級(jí) (RTL) 模型 ;具體在 FPGA 設(shè)計(jì)中指的是對(duì)電路的硬件語(yǔ)言描述,包括邏輯描述、網(wǎng)表和幫助文檔等。軟核只經(jīng)過(guò)功能仿真,需要經(jīng)過(guò)綜合以及布局布線才能使用。其優(yōu)點(diǎn)是靈活性高、可移植性強(qiáng),允許用戶自配置 ;缺點(diǎn)是對(duì)模塊的預(yù)測(cè)性較低,在后續(xù)設(shè)計(jì)中存在發(fā)生錯(cuò)誤的可能性,有一定的設(shè)計(jì)風(fēng)險(xiǎn)。軟核是 IP 核應(yīng)用最廣泛的形式。
固核 (Firm IP Core)
固核在 EDA 設(shè)計(jì)領(lǐng)域指的是帶有平面規(guī)劃信息的網(wǎng)表;具體在 FPGA 設(shè)計(jì)中可以看做帶有布局規(guī)劃的軟核,通常以 RTL 代碼和對(duì)應(yīng)具體工藝網(wǎng)表的混合形式提供。將 RTL 描述結(jié)合具體標(biāo)準(zhǔn)單元庫(kù)進(jìn)行綜合優(yōu)化設(shè)計(jì),形成門級(jí)網(wǎng)表,再通過(guò)布局布線工具即可使用。和軟核相比,固核的設(shè)計(jì)靈活性稍差,但在可靠性上有較大提高。
硬核 (Hard IP Core)
硬核在EDA設(shè)計(jì)領(lǐng)域指經(jīng)過(guò)驗(yàn)證的設(shè)計(jì)版圖 ;具體在 FPGA 設(shè)計(jì)中指布局和工藝固定、經(jīng)過(guò)前端和后端驗(yàn)證的設(shè)計(jì),設(shè)計(jì)人員不能對(duì)其修改。不能修改的原因有兩個(gè) :首先是系統(tǒng)設(shè)計(jì)對(duì)各個(gè)模塊的時(shí)序要求很嚴(yán)格,不允許打亂已有的物理版圖 ;其次是保護(hù)知識(shí)產(chǎn)權(quán)的要求,不允許設(shè)計(jì)人員對(duì)其有任何改動(dòng)。IP 硬核的不許修改特點(diǎn)使其復(fù)用有一定的困難,因此只能用于某些特定應(yīng)用,使用范圍較窄。
相關(guān)閱讀:
對(duì)比分析“一母同胞”的CPLD與FPGA不同之處
精簡(jiǎn)控制結(jié)構(gòu)的FPGA多重配置硬件電路設(shè)計(jì)
詳解FPGA在多軸步進(jìn)電機(jī)控制器中的應(yīng)用