PART1
IP(Intellectual Property)就是常說的知識産權。美國Dataquest咨詢公司将半導體産業的IP定義為用于ASIC、ASSP和PLD等當中,并且是預先設計好的電路子產品。IP核子產品有行為(Behavior)、結構(Structure)和實體(Physical)三級不同程度的設計,對應描述功能行為的不同分為三類,即軟核(Soft IP Core)、完成結構描述的固核(Firm IP Core)和基于實體描述并經過工藝驗證的硬核(Hard IP Core)。
什麼是軟核?
IP軟核通常是用HDL文本形式送出給使用者,它經過RTL級設計優化和功能驗證,但其中不含有任何具體的實體資訊。據此,使用者可以綜合出正确的門電路級設計網表,并可以進行後續的結構設計,具有很大的靈活性,借助于EDA綜合工具可以很容易地與其他外部邏輯電路合成一體,根據各種不同半導體工藝,設計成具有不同性能的器件。軟IP核心也稱為虛拟元件(VC-Virtual Component)。
什麼是固核?
IP固核的設計程度則是介于軟核和硬核之間,除了完成軟核所有的設計外,還完成了門級電路綜合和時序仿真等設計環節。一般以門級電路網表的形式提供給使用者。
什麼是硬核?
IP硬核是基于半導體工藝的實體設計,已有固定的拓撲布局和具體工藝,并已經過工藝驗證,具有可保證的性能。其提供給使用者的形式是電路實體結構掩模版圖和全套工藝檔案,是可以拿來就用的全套技術。
硬核是固化在FPGA内部的特殊硬體電路,簡單了解的話,可以把硬核看成是嵌入在FPGA内部的ASIC。如嵌入式RAM,嵌入式乘法器,PLL等。
軟核是用FPGA的通用邏輯資源(LUT+FF)搭建而成的。
從使用者使用角度來看,二者沒有什麼開發難度上的差別,因為現在的主流廠商都把二者的開發內建在其IPcore開發工具裡,Altera叫MegaWizzard Plug In Wizzard,Xilinx叫Core Generator。
性能上,一般硬核速度比軟核高,整體功耗也要低一些
PART2
硬核是固化在FPGA内部的特殊硬體電路,簡單了解的話,可以把硬核看成是嵌入在FPGA内部的ASIC。如嵌入式RAM,嵌入式乘法器,PLL等。
軟核是用FPGA的通用邏輯資源(LUT+FF)搭建而成的。
從使用者使用角度來看,二者沒有什麼開發難度上的差別,因為現在的主流廠商都把二者的開發內建在其IPcore開發工具裡,Altera叫MegaWizzard Plug In Wizzard,Xilinx叫Core Generator。
性能上,一般硬核速度比軟核高,整體功耗也要低一些
PART3
現在的FPGA設計,規模巨大而且功能複雜,是以設計的每一個部分都從頭開始是不切實際的。一種解決的辦法是:對于較為通用的部分可以重用現有的功能子產品,而把主要的時間和資源用在設計中的那些全新的、獨特的部分。這就像是你在開發應用程式的時候就不用直接去寫驅動實體硬體的代碼,而是直接調用Windows提供的API就行了。 這種功能子產品我們稱作IP核(Intelligent Property) ,IP核是具有知識産權核的內建電路芯核總稱,是經過反複驗證過的、具有特定功能的宏子產品,與晶片制造技術無關,可以移植到不同的半導體工藝中。到了SOC 階段,IP 核設計已成為ASIC 電路設計公司和FPGA 提供商的重要任務,也是其實力展現。對于FPGA 開發軟體,其提供的IP 核越豐富,使用者的設計就越友善,其市場占用率就越高。目前,IP 核已經變成系統設計的基本單元,并作為獨立設計成果被交換、轉讓和銷售。
從IP核的提供方式上,通常将其分為軟核、固核和硬核這3類。從完成IP核所花費的成本來講,硬核代價最大; 從使用靈活性來講,軟核的可複用使用性最高。與軟核實作方式相比,硬核可以把功耗降低5~10 倍, 節約将近90% 的邏輯資源。
軟核(Soft IP Core) : 軟核在EDA 設計領域指的是綜合之前的寄存器傳輸級(RTL) 模型;具體在FPGA 設計中指的是對電路的硬體語言描述,包括邏輯描述、網表和幫助文檔等。軟核隻經過功能仿真,需要經過綜合以及布局布線才能使用。其優點是靈活性高、可移植性強,允許使用者自配置;缺點是對子產品的預測性較低,在後續設計中存在發生錯誤的可能性,有一定的設計風險。軟核是IP 核應用最廣泛的形式。
固核(Firm IP Core) :固核在EDA 設計領域指的是帶有平面規劃資訊的網表;具體在FPGA 設計中可以看做帶有布局規劃的軟核,通常以RTL 代碼和對應具體工藝網表的混合形式提供。将RTL 描述結合具體标準單元庫進行綜合優化設計,形成門級網表,再通過布局布線工具即可使用。和軟核相比,固核的設計靈活性稍差,但在可靠性上有較大提高。 目前,固核也是IP 核的主流形式之一。
硬核 (Hard IP Core) :硬核在EDA 設計領域指經過驗證的設計版圖;具體在FPGA 設計中指布局和工藝固定、經過前端和後端驗證的設計,設計人員不能對其修改。不能修改的原因有兩個:首先是系統設計對各個子產品的時序要求很嚴格,不允許打亂已有的實體版圖;其次是保護知識産權的要求,不允許設計人員對其有任何改動。IP 硬核的不許修改特點使其複用有一定的困難,是以隻能用于某些特定應用,使用範圍較窄。