概念
我們常說的IP核,也就是知識産權IP(IntellectualProperty),是那些己驗證的、可重利用的、具有某種确定功能的IC模塊。分為軟IP(softIPcore)、固IP(firmIPcore)和硬IP(hardIPcore)。軟IP是用某種高級語言來描述功能塊的行為,但是并不涉及用什麼電路和電路元件實現這些行為。固IP除了完成軟IP所有的設計外,還完成了門電路級綜合和時序仿真等設計環節,一般以門電路級網表形式提交用戶使用。硬IP則是完成了綜合的功能塊,已有固定的拓撲布局和具體工藝,并己經經過工藝驗證,具有可保證的性能。設計深度愈深,後續工序所需要做的事情就越少,但是靈活性也就越小。
芯片設計中的IP核(Intellectual Property Core)是指在半導體集成電路設計中那些具有特定功能的,可以重複使用的電路模塊。形象些的比喻,IP核如同元器件,芯片如同電路闆,通過在電路闆上集成各類功能的元器件,就可以設計出針對不同應用場景的電路系統闆,而集成電路(Integrated Circuit)顧名思義,就是在片内集成了多個IP核,能完成多種功能的縮微電路。
發展現狀
從20世紀90年代至今,IC設計能力正在發生一次質的飛躍,即由ASIC設計方法向SoC設計方法轉變。SoC設計方法使IC設計開始進一步分工細化,出現了IP設計和SoC系統設計。在近些年全球IC市場低迷的情況下,IP是不多的亮點之一。其實可以把IP理解為一顆ASIC,以前是ASIC做好以後供人家在PCB上使用,現在是IP做好以後讓人家集成在更大的芯片裡。
集成電路發展到超大規模階段後,芯片中凝聚的知識已經高度濃縮。以奔騰微處理器為例,其所承載的晶體管已多達960萬個,如果芯片設計依舊基于單個的晶體管而不是基于IP的物理級設計,永遠也不會有奔騰問世。
常用的IP内核模塊有各種不同的CPU(32/64位CISC/RISC結構的CPU或8/16位微控制器/單片機,如8051等)、32/64位DSP(如320C30)、DRAM、SRAM、EEPROM、Flashmemory、A/D、D/A、MPEG/JPEG、USB、PCI、标準接口、網絡單元、編譯器、編碼/解碼器和模拟器件模塊等。豐富的IP内核模塊庫為快速地設計專用集成電路和單片系統以及盡快占領市場提供了基本保證。
生産機構
來源一:芯片設計公司的自身積累
傳統IDM公司或Fabless設計公司在多年的芯片設計中往往有自身的技術專長,如Intel的處理器技術、TI的DSP技術、Motorola的嵌入式MCU技術、Trident的Graphics技術等。這些技術成功地開發了系列芯片,并在産品系列發展過程中确立了設計重用的原則,一些成功設計成果的可重用部分經多次驗證和完善形成了IP。這些IP往往是硬核,如果這類硬核作為可提供給其他芯片設計公司使用的IP,就成了商品化的IP。
來源二:Foundry的積累
Foundry廠商是沒有自身芯片産品的芯片代加工廠,但Foundry廠商為了吸引更多的芯片設計公司投片,往往設立後端設計隊伍,來配合後端設計能力較弱的芯片設計公司開展布局布線工作。這支設計隊伍也積累了一定的芯片設計經驗,并積累了少量的IP(主要是Memory、EEPROM和FlashMemory等),這些IP可以被需要集成或願意在該Foundry流片的公司采用。
此外,IP專職供應商與主要的Foundry廠商有長期的合作關系,經過投片驗證的IP可由Foundry廠向用戶提供,IP專職供應商從中提取一定利潤。但對國内用戶而言,因為這類Foundry多在我國台灣省,缺乏在本地的支持,可能有遠水不解近渴之憂。
來源三:專業IP公司
這是20世紀90年代中期興起的,迎接SoC時代到來的設計公司。這類公司的特點是已經認識到将自身多年積累的IP資源轉化成商品的商業價值,因此,它們不僅提供已經成熟的IP,同時針對當前的技術熱點、難點開發芯片設計市場急需的IP核。它們提供的IP同樣有硬核、固核、軟核之分,但通過與Foundry廠合作,及時對所開發的IP核進行流片驗證是IP硬核供應商的通行做法,這也是IP核及早面市的必要措施。
ARM、Motorola、MIPS是提供嵌入式MCUIP核的主要專業公司;LEDA是模拟、混合信号IP硬核的最主要供應商,它同時還針對當前通信市場的需求開發并提供寬帶應用、藍牙和光通信(SONET/SDH)的IP核。上述這些公司都是當今芯片設計行業中專業 IP供應商的代表。這些專業IP供應商的業務重點是開發IP核,對于進入自身所不熟悉的地區,則往往通過與當地的芯片設計服務公司結成合作夥伴或戰略聯盟來實現。
來源四:EDA廠商
在美國,EDA廠家也是提供IP資源的一個主要渠道,占到IP交易量的10%左右。主要的EDA廠商為了提供更适合SoC設計的平台,在其工具中集成了各類 IP核以方便用戶的IP嵌入設計,這些IP核基本是以軟核形式出現。EDA廠商也并不直接設計開發IP核,而是與一些提供IP軟核的設計公司合作,提供一種集成IP核的設計環境。由于集成的IP核多為軟核,用戶還要對這些軟核做綜合、時序分析、驗證等工作,對用戶的"及時上市"要求沒有本質性改善,在IP核的支持、服務方面也存在諸多不便。因此,在國内的EDA廠家目前仍以經營EDA工具為主,從人員配備上講,幾乎沒有提供IP資源的服務力量。
來源五:設計服務公司
芯片設計服務公司是目前能立即向國内IC設計公司提供IP硬核的最主要途徑,除了自身積累的IP外,通過與IP專業供應商的戰略合作關系向國内用戶提供各類IP。
芯片設計服務公司是與用戶直接打交道的,它們了解市場需求的IP類型,其IP資源庫中積累的往往是最實用的IP。我國台灣省較有名的芯片設計服務公司有創意電子、智原科技等,它們除了積累了一定自己的IP硬核外,還與專業IP供應商,如ARM結成合作夥伴向用戶提供更豐富的IP資源。祖國大陸的芯片設計服務公司有泰鼎(上海),目前可為用戶提供300多種IP硬核,涉及高速數字邏輯、I/O模塊、模拟、混合信号、RF等領域。
目前,國内還沒有像國外那種專門設計IP硬核的公司,芯片設計公司的成功設計還不能被稱為IP。但國内已經有專門提供軟核的公司,以RTL形式提供給用戶。
語言程序
用VHDL語言編寫的程序
libraryieee;
useieeestd_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entitydac_ds is
port(reset :in std_logic;
clk:in std_logic;
din:in std_logic_vector(7 downto 0);--Signed integer
dout:out std_logic;
);
enddac_ds;
architecturearch_dac_ds of dac_ds is
signalerror :std_logic_vector(9 downto 0);--Error accumulator is 2 bits larger
constantzeros:std_logic_vector(7 downto 0):=(others=>'0');
begin
process(reset,clk,din)
variableval :std_logic_vector(9 downto 0);
begin
ifreset='1'then
error<=(others=>'0');
dout<='0';
elsifclk'event and clk='1' then
--val:=din+error;din is sign extended to nbits+2
val:=(din(din'high)&din(din'high)&din)+error;
ifval(val'high)='0'then
dout<='1';
error<=val+("11"& zeros);
else
dout<='0';
error<=val+("01"&zeros);
endif;
endif;
endprocess;
endarch_dac_ds;
選擇和配置
選擇MAX7000S系列可編程邏輯器件,編譯後由MAX+PLUS II軟件自動配置進EMP7032SLC44芯片,将生成的目标文件通過編程電纜對器件進行編程。
将該IP核實現的D/A轉換器用于新型智能電阻爐溫度控制儀中,因為調節爐溫的信号不要求變化很快,因此DAC的輸入二進制信号為緩變信号。對于這種低頻應用,可以将RC時間常數取得較大,以減小噪聲。這樣,可綜合的VHDL語言Delta-Sigma DAC模塊配置進EMP7032芯片後,達到了預期的效果。
注意事項
知識産權(IP)的再使用是設計組赢得迅速上市時間的主要策略,因為留給設計者完成諸如蜂窩電話和Internet路由器等熱門IC設計的周期隻有3個月。設計者還需面對這樣一個嚴酷的現實,即IC的複雜度以每年55%的速率遞增,而設計能力每年僅提高21%。
為系統設計者專門制作的再使用IP彌補了這方面的不足。再使用既為IP建立者,也為系統設計者提供一種共享最佳IP核和主導模塊的方法。系統設計者的主要任務是在規定的周期時間内研發出複雜的設計。這隻有采用新設計方法和完全不同的芯片設計理念才能完成。IP再使用已經成為系統設計方法的關鍵所在。
标準選擇
标準是再使用的基礎。在設計一個系統時,可供工程人員考慮的工業标準很多,比如半導體再使用标準(SRS),它是對各種工業再使用創議标準的補充,提出這些創議标準的組織包括“虛插座接口聯盟VSIA”等。再使用标準為IP設計流程中的各階段提供規則、指南和接口方法。它是高效設計方法的一個裡程碑,讓可再用IP快捷地、即插即用地集成到系統解決方案成為可能。
再使用标準通常涉及到許多方面,如系統級設計、結構、實現、驗證以及文件編制和可交付清單等與IP有關的事項。例如,結構分類目錄解決片上或片外的接口。實現分類目錄通過HDL代碼标準、物理表示、單元庫以及模拟子單元集中解決如何建立IP的問題。功能驗證及可測試設計(DFT)标準則包含在驗證分類目錄中。
選擇
根據IP使用的劃分,IP建立者可按下列三種形式設計IP:可再用、可重定目标以及可配置。可再用IP是着眼于按各種再使用标準定義的格式和快速集成的要求而建立的,便于移植,更重要的是有效集成。可重定目标IP是在充分高的抽象級上設計的,因而可以方便地在各種工藝與結構之間轉移。可配置IP是參數化後的可重定目标IP,其優點是可以對功能加以裁剪以符合特定的應用。這些參數包括總線寬度、存儲器容量、使能或禁止功能塊。硬IP與軟IP的意圖不同,因而對IP的開發和在這之後的IP的集成采用不同的方法。
硬IP
硬IP對功率、體積和性能進行了優化,并映射至特定的工藝。具體實例包括已完成布局布線的網表,以特定工藝庫或全定制物理布圖,或兩者之組合。硬IP是特定工藝來實現的,通常用GDSII格式表示。硬IP可以再使用,且由于它已處于設計表示的最底層,因而最容易集成。硬IP已完全用目标工藝實現是按十分接近于标準單元庫元件的形式交付的,故而允許設計者将IP快速地集成在衍生産品中。硬IP最大的優點是确保性能,如速度、功耗等。然而難以轉移到新工藝或集成到新結構中,是不可重配置的。
軟IP
軟IP是以綜合形式交付的,因而必須在目标工藝中實現,并由系統設計者驗證。其優點是源代碼的靈活性,它可重定目标于多種制作工藝,在新功能級中重新配置。
由于設計以高層次表示,因而軟IP是可再用的,易于重定目标和重配置,然而預測軟IP的時序、面積與功率諸方面的性能較困難。為了實現最高效率的再使用并減少集成時間,IP應從軟件源代碼開始;而為了确保性能,複雜IP應以硬IP的形式共享。
軟插接
軟插接是開發符合再使用标準IP的過程,它應成為建立新IP設計流程的組成部分。過程需要有關IP深層的知識,因此隻有IP建立者最熟知IP塊,有能力建立這些些概念,在時序分析時去除假通路,并最終确定結果的正确性。與DFT一樣,軟插接會修改現有的設計流程來适應再使用設計和生成附加可交付項,因此在設計流程中應及早考慮再使用事項。
提供獲取
IP資源庫為IP建立者和系統設計者提供共享和使用IP的基礎設施。這個系統應讓IP建立者和系統設計者共享硬和軟兩方面的可再用IP。資源庫提供多場所的全方位訪問,系統集成的全方位開發。它也是設計師搜索、選擇、将再使用塊集成到自己系統中的快捷而又簡便的途徑。
資源庫基礎設施還應開辟一個區域,讓系統開發者提供反饋、出錯報告、錯誤改正及資源庫中任何有關IP塊的注解。反饋信息塊建立者對錯誤的修複與改進說明一起是塊數據庫列表的一部分。
技術認證
認證
認證能确定IP塊是否符合相關的再使用标準。它提供一把表征塊再使用質量的尺度,應在IP進入資源庫前完成。由于IP建立者熟知IP,他應測試塊概念間的一緻性以及與工具、庫以及硬件平台的兼容性。一個獨立的認證小組通過對可交付性、再使用性以及出錯曆史記錄的随機抽樣,預測IP核的質量和可靠性,定出IP的分類等級。這個等級讓設計者有一個總體概念,如IP符合标準的準确性有多好,再使用需多大的軟插接工作量。
集成優化
對IP核的再使用,建立者需軟插接IP、進行認證、将它存放在系統設計者能訪問的資源庫中。自動化工具提供多種手段,加速軟插接和資源庫的操作,認證和集成過程的部分自動化。工具制造商力争實現更多的自動化。在理想情況下,全部IP塊可從資源庫中按需供給。
周期加速
設計者幾乎沒有能力在三個月設計周期内開發出合乎規格的新産品。如果對每個産品族建立一個設計平台,設計組就能充分發揮平台的作用,開發出産品的衍生品種。一種有效的再使用方法應讓可再使用IP的開發作為平台的一部分,并将IP塊快速地集成到衍生品種。
基礎設施
一旦IP開始普遍使用,提供該IP的支持是必要的。建立者繼續擁有IP,因為支持它需要深層的知識。建立者負責IP的更新,将最新版本放置在資源庫中。IP由為系統設計者服務的認證組重新認證。此外,建立者還應在系統設計者集成IP遇到困難時提供必需的支持。



















