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