現(xiàn)今的FPGA設(shè)計(jì)規(guī)模越來越龐大,功能越來越復(fù)雜,因此FPGA設(shè)計(jì)的每個(gè)部分都從頭開始著手是不切實(shí)際的。
為了解決這一問題,可以采用復(fù)用現(xiàn)有通用模塊的方法,將主要的時(shí)間和資源用在設(shè)計(jì)中那些全新、獨(dú)特的部分,從而提升設(shè)計(jì)效率和減少開發(fā)成本。
這就像在軟件開發(fā)應(yīng)用程序時(shí),開發(fā)者不必編寫直接控制物理硬件的代碼,而是調(diào)用Windows提供的API來進(jìn)行開發(fā)。在FPGA中這樣的通用模塊被稱作IP核(Intellectual Property Core)。
今天我們就來聊一聊FPGA中的IP,主要分為軟核、硬核、固核,那這些都是怎么區(qū)分的呢?
一、IP是什么?
IP核是具有知識產(chǎn)權(quán)的集成電路核的總稱,是經(jīng)過反復(fù)驗(yàn)證、具有特定功能的電路模塊,與芯片制造工藝無關(guān),可以在不同的半導(dǎo)體工藝中進(jìn)行移植。
IP核在FPGA設(shè)計(jì)中扮演著至關(guān)重要的角色。它們是以前設(shè)計(jì)的成功經(jīng)驗(yàn)和智慧的結(jié)晶,并且經(jīng)過測試和驗(yàn)證,因此在設(shè)計(jì)中能夠?qū)崿F(xiàn)高度的可靠性和穩(wěn)定性。
使用IP核還可以極大地加速整個(gè)設(shè)計(jì)流程,提高設(shè)計(jì)的效率和質(zhì)量。
設(shè)計(jì)人員只需將自己的特定功能與通用模塊進(jìn)行集成,即可快速完成設(shè)計(jì),而無需從頭開始進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。
現(xiàn)在IP 核已經(jīng)變成系統(tǒng)設(shè)計(jì)的基本單元,可以作為獨(dú)立設(shè)計(jì)的成果,用于交換、轉(zhuǎn)讓和銷售。
IP核通常分為軟核、固核和硬核這3類。成本方面,硬核代價(jià)最大;靈活性方面,軟核的可復(fù)用最高。但與軟核實(shí)現(xiàn)方式相比,硬核的功耗可以降低5~10 倍, 也可以節(jié)約將近90%的邏輯資源。

二、硬核
硬核(Hard IP Core)指已經(jīng)經(jīng)過驗(yàn)證的設(shè)計(jì)版圖,在EDA設(shè)計(jì)領(lǐng)域中具有特殊的含義。在FPGA設(shè)計(jì)中則指的是經(jīng)過前端和后端驗(yàn)證、布局和工藝固定的設(shè)計(jì),不能被設(shè)計(jì)人員進(jìn)行修改。這是由于系統(tǒng)設(shè)計(jì)對各個(gè)模塊的時(shí)序要求十分嚴(yán)格,不允許對現(xiàn)有版圖進(jìn)行打亂;同時(shí)也需要保護(hù)知識產(chǎn)權(quán),不允許設(shè)計(jì)人員對其進(jìn)行任何更改。
硬核IP具有不允許修改的特點(diǎn),這使得它的復(fù)用相應(yīng)地比較困難,并且只能用于某些特定的應(yīng)用。因此,被限定在一定程度的使用范圍內(nèi)。與軟核相比,硬核的優(yōu)勢在于其更高的性能和更嚴(yán)格的時(shí)序控制,更適用于一些對性能要求較高的場景,如通信、圖像及視覺處理等。
盡管硬核的復(fù)用受到一定的限制,但是它在芯片設(shè)計(jì)領(lǐng)域仍然扮演著重要的角色。硬核IP的使用可以降低設(shè)計(jì)風(fēng)險(xiǎn)和提高產(chǎn)品質(zhì)量,同時(shí)也可以實(shí)現(xiàn)記錄、共享和交換等功能。在實(shí)際設(shè)計(jì)中,硬核和軟核可以組合使用,發(fā)揮各自的長處,從而實(shí)現(xiàn)更加復(fù)雜和高效的芯片設(shè)計(jì)。
三、軟核
軟核(Soft IP Core)指的是在EDA設(shè)計(jì)領(lǐng)域中的綜合之前的寄存器傳輸級(RTL)模型,在FPGA設(shè)計(jì)中則是對電路的硬件語言描述,包括邏輯描述、網(wǎng)表和幫助文檔等。
與硬核不同,軟核只經(jīng)過功能仿真,在使用前還需要進(jìn)行綜合和布局布線等工作。軟核的優(yōu)點(diǎn)在于靈活性高、可移植性強(qiáng),允許用戶自主配置;缺點(diǎn)在于對模塊的預(yù)測性較低,在后續(xù)的設(shè)計(jì)過程中會(huì)存在一定設(shè)計(jì)風(fēng)險(xiǎn)。
相比于硬核,軟核的應(yīng)用范圍更廣泛。它可以在FPGA設(shè)計(jì)中使用,并且可以根據(jù)需求進(jìn)行自定義配置,以實(shí)現(xiàn)特定的功能。軟核的主要優(yōu)勢在于其靈活性和可移植性,這使得它更適合于快速原型開發(fā)和測試等應(yīng)用場景。同時(shí),軟核還具有易于更新迭代等優(yōu)點(diǎn),能夠快速滿足客戶的需求。
總之,軟核是IP核最廣泛應(yīng)用的形式之一。雖然它存在一定的設(shè)計(jì)風(fēng)險(xiǎn),但是其可移植性和靈活性等優(yōu)點(diǎn)使其深受市場歡迎。軟核和硬核可以組合使用,以利用各自的長處,實(shí)現(xiàn)更加復(fù)雜和高效的芯片設(shè)計(jì)。
四、固核
固核(Firm IP Core)指的是在EDA設(shè)計(jì)領(lǐng)域中帶有平面規(guī)劃信息的網(wǎng)表,在FPGA設(shè)計(jì)中可以看作是帶有布局規(guī)劃的軟核。通常以RTL代碼和對應(yīng)具體工藝網(wǎng)表的混合形式提供。將RTL描述結(jié)合具體標(biāo)準(zhǔn)單元庫進(jìn)行綜合優(yōu)化設(shè)計(jì),形成門級網(wǎng)表,再通過布局布線工具即可使用。與軟核相比,固核的設(shè)計(jì)靈活性稍差,但在可靠性上有較大提高。
固核在芯片設(shè)計(jì)中也是主流形式之一。相比于軟核,固核在設(shè)計(jì)時(shí)已經(jīng)考慮了布局和規(guī)劃等因素,因此其可靠性更高。同時(shí),固核具有與硬核相似的特點(diǎn),即設(shè)計(jì)版圖不能被設(shè)計(jì)人員隨意修改,這保證了知識產(chǎn)權(quán)的保護(hù)。
盡管固核的設(shè)計(jì)靈活性相對較低,但其可靠性和穩(wěn)定性使得它被廣泛應(yīng)用于各種場景,如通信、存儲、嵌入式系統(tǒng)等。通過固核的使用,設(shè)計(jì)人員可以快速實(shí)現(xiàn)復(fù)雜的功能,同時(shí)也能夠降低設(shè)計(jì)風(fēng)險(xiǎn),提高產(chǎn)品質(zhì)量。
總之,固核是IP核的主流形式之一。它具有與硬核類似的特點(diǎn),保障著知識產(chǎn)權(quán)的安全。雖然相比軟核在設(shè)計(jì)靈活性上略有不足,但其可靠性和穩(wěn)定性使其得到了廣泛應(yīng)用。
五、總結(jié)
固核、軟核、硬核在FPGA和芯片行業(yè)中應(yīng)用非常廣泛,我們在FPGA開發(fā)過程中,經(jīng)常從IP倉庫中調(diào)用的都是軟核。
在FPGA設(shè)計(jì)過程中,這三種IP核都有各自的優(yōu)勢,可以根據(jù)實(shí)際需求進(jìn)行選擇。
雖然固核和硬核在性能和可靠性方面有優(yōu)勢,但是它們的設(shè)計(jì)成本和時(shí)間成本較高。因此,許多FPGA設(shè)計(jì)人員更喜歡使用軟核。軟核具有靈活性高、可移植性強(qiáng)等特點(diǎn),并且可以根據(jù)需求進(jìn)行自定義配置,以實(shí)現(xiàn)特定的功能。同時(shí),軟核在綜合和布局布線等方面的工作量相對較小,可以節(jié)省大量的設(shè)計(jì)時(shí)間和成本。
電子發(fā)燒友App





評論