什么是IP核?
IP核(Intellectual Property core)是一段具有特定電路功能的硬件描述語言程序,該程序與集成電路工藝無關,可以移植到不同的半導體工藝中去生產集成電路芯片.
IP核概述
利用IP核設計電子系統,引用方便,修改基本元件的功能容易。具有復雜功能和商業價值的IP核一般具有知識產權,盡管IP核的市場活動還不規范,但是仍有許多集成電路設計公司從事IP核的設計、開發和營銷工作。IP核有兩種,與工藝無關的VHDL程序稱為軟核;具有特定電路功能的集成電路版圖稱為硬核。硬核一般不允許更改,利用硬核進行集成電路設計難度大,但是容易成功流片。
IP核分類
IP內核的三種類型
IP內核可以在不同的硬件描述級實現,由此產生了三類IP內核:軟核、固核和硬核。這種分類主要依據產品交付的方式,而這三種IP內核實現方法也各具特色。
軟核是用VHDL等硬件描述語言描述的功能塊,但是并不涉及用什么具體電路元件實現這些功能。軟IP通常是以硬件描述語言HDL源文件的形勢出現,應用開發過程與普通的HDL設計也十分相似,只是所需的開發硬軟件環境比較昂貴。軟IP的設計周期短,設計投入少。由于不涉及物理實現,為后續設計留有很大的發揮空間,增大了IP的靈活性和適應性。其主要缺點是在一定程度上使后續工序無法適應整體設計,從而需要一定程度的軟IP修正,在性能上也不可能獲得全面的優化。由于軟核是以源代碼的形式提供,盡管源代碼可以采用加密方法,但其知識產權保護問題不容忽視。
硬核提供設計階段最終階段產品:掩模。以經過完全的布局布線的網表形式提供,這種硬核既具有可預見性,同時還可以針對特定工藝或購買商進行功耗和尺寸上的優化。盡管硬核由于缺乏靈活性而可移植性差,但由于無須提供寄存器轉移級(RTL)文件,因而更易于實現IP保護。
固核則是軟核和硬核的折衷。大多數應用于FPGA的IP內核均為軟核,軟核有助于用戶調節參數并增強可復用性。軟核通常以加密形式提供,這樣實際的 RTL對用戶是不可見的,但布局和布線靈活。在這些加密的軟核中,如果對內核進行了參數化,那么用戶就可通過頭文件或圖形用戶接口(GUI)方便地對參數進行操作。對于那些對時序要求嚴格的內核(如PCI接口內核),可預布線特定信號或分配特定的布線資源,以滿足時序要求。這些內核可歸類為固核,由于內核是預先設計的代碼模塊,因此這有可能影響包含該內核的整體設計。由于內核的建立(setup)、保持時間和握手信號都可能是固定的,因此其它電路的設計時都必須考慮與該內核進行正確地接口。如果內核具有固定布局或部分固定的布局,那么這還將影響其它電路的布局。
IP核介紹
IP(知識產權)核將一些在數字電路中常用,但比較復雜的功能塊,如FIR濾波器、SDRAM控制器、PCI接口等設計成可修改參數的模塊。IP核的重用是設計人員贏得迅速上市時間的主要策略。隨著CPLD/FPGA的規模越來越大,設計越來越復雜(IC的復雜度以每年55%的速率遞增,而設計能力每年僅提高21%),設計者的主要任務是在規定的時間周期內完成復雜的設計。調用IP核能避免重復勞動,大大減輕工程師的負擔,因此使用IP核是一個發展趨勢。
IP核包括硬IP與軟IP。可配置IP是參數化后的可重定目標IP,其優點是可以對功能加以裁剪,以符合特定的應用。這些參數包括總線寬度、存儲器容量、使能或禁止功能塊。
硬IP最大的優點是確保性能,如速度、功耗等。然而,硬IP難以轉移到新工藝或集成到新結構中,是不可重配置的。
軟IP是以綜合形式交付的,因而必須在目標工藝中實現,并由系統設計者驗證。其優點是源代碼靈活,可重定目標于多種制作工藝,在新功能級中重新配置。
不過目前大多數庫是收費的,但也可以從網上下載一些免費的IP核。
用IP核實現的D/A轉換器的功能及特點
數字到模擬轉換器(DACs)將一個二進制數轉換為與之對應的電壓值,目前常用的D/A轉換器都是由電阻或電容加權網絡、受碼元控制的開關和基準電壓或電流源組成。當D/A轉換器需要轉換的信號每次取樣字長很長時,對這些電路的精度要求很高,并且還必須在整個溫度范圍和整個使用壽命期間內保持電路參數的穩定。例如,一個16位的D/A轉換器,其MSB的精度必須在1/2 16以內,這是很困難的。所以,需尋求一種中保持高分辨率又可降低對電路精度和穩定度要求的方法。
可綜合的Delta-Sigma DAC(術語Delta-Sigma分別指算術差與和,即Δ-∑DAC),是Xilinx公司提供的免費IP核,可從網上下載得到。
Delta-Sigma DAC使用數字技術,因而它不受溫度的影響,并且能在一片可編程邏輯器件中實現。避免在D/A轉換器中使用匹配電阻,不僅能更便宜,而且,其轉換是線性的。Delta-Sigma DAC實際上是高速單個位的DAC,用數字反饋技術,在輸出端產生一串脈沖。脈沖串中信號為高電平的時間部分與二進制輸入成比例,當這個脈沖串通過一個模擬低通濾波器后就得到一個模擬輸出信號。
圖1
是一個典型的可編程邏輯器件實現的DAC的頂層電路圖,輸入信號有復位信號、時鐘信號以及二進制數據總線。輸出DACoutDrvr驅動一個外部的低通濾波器Vout能從0V~Vcco。這里Vcco是FPGA I/O塊的供電電壓。輸入/輸出詳細說明如表1所列。
表1 輸入輸出描述表
信號 方向 描 述
DACOUT 輸出 驅動外部低通濾波器的脈沖串(通過一個輸出驅動器)
DACIN 輸入 數字輸入總線,值必須設置成鐘的正沿
clk 輸入 正沿有效
Reset 輸入 復位信號初始化SigmaLatch和輸出D觸發器
DAC的二進制輸入是一個無符號數。“0”代表最低電壓,輸出的模擬電壓也只有正的。“0”輸入產生0V輸出,輸入端全“1”,則輸出近似達到Vcco。
圖2
是Delta-Sigma DAC的原理框圖,二進制輸入的位寬是可變的。為簡單起見,電路原理圖描述了一個8位二進制輸入的DAC。
在這個器件中,二進制加法器用來產生和,也用來產生差。盡管Delta Adder的輸入是無符號數,兩個加法器的輸出卻都是有符號數。Delta Adder計算DAC輸入和當前DAC輸出的差,并用一個二進制數表示。因為DAC的輸出是一個單個的位,因此它不是1就是0。如圖2所示,當輸入加上由Sigma Latch的輸出的兩個拷貝與0構成的10位數,就產生差值,這也補償了DACIN是無符號數的事實。Sigma Adder將它原來的輸出(保存在Sigma Latch中)與當前的Delta Adder的輸出相加。
圖1中輸出電壓與輸入電壓的關系為
VOUT=(DACIN/(2MSBI+1))×VCCO
式中單位為V。
例如,對于一個8位DAC(MSBI=7),最后的輸出是這樣:DACIN輸入是0,則輸出也是0;DACIN輸入是十六進制數FF時,輸出值為最大(255/256)×Vcco。
阻容低通濾波器適合多數應用需要,一個簡單的阻容低通濾波器就能工作得很好。
Vs的定義是:DAC輸入增加或減少時,在Vout端產生變化的絕對值。對一個8位DAC,Vs等于(1/256)×Vcco。
Vout能夠產生在0V~Vcco之間可變的電壓,具體的值由DACIN的位寬和輸入的數值決定。
Delta-Sigma DAC適合需要相對高精度的低頻應用。在這種應用中,電壓不會很快地變化,因此,RC的時間常數可以很大,以減小噪聲。
這種DAC最廣泛的應用就是產生通常直流電壓。這包括電壓控制振蕩器、電壓控制運算放大器、I/O參數電壓、可編程電壓源、波形發生器(正弦、三角等)、A/D轉換中的參考電壓等。
Delta-Sigma DAC是一個例子,說明高速可編程邏輯器件能用于混合信號系統,以減少元件的數量。可編程邏輯器件的速度和密度使它們成為模擬信號產生和處理方面理想的元件。
用VHDL語言編寫的程序
library ieee;use ieeestd_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity dac_ds isport(reset :in std_logic;clk :in std_logic;din :in std_logic_vector(7 downto 0);--Signed integerdout :out std_logic;);end dac_ds;architecture arch_dac_ds of dac_ds issignal error :std_logic_vector(9 downto 0);--Error accumulator is 2 bits largerconstant zeros:std_logic_vector(7 downto 0):=(others=>'0');beginprocess(reset,clk,din)variable val :std_logic_vector(9 downto 0);beginif reset='1'thenerror<=(others=>'0');dout<='0';elsif clk'event and clk='1' then--val:=din+error;din is sign extended to nbits+2val:=(din(din'high)&din(din'high)&din)+error;if val(val'high)='0'thendout<='1';error<=val+("11"& zeros);elsedout<='0';error<=val+("01"&zeros);end if;end if;end process;end arch_dac_ds;
4 芯片的選擇和配置
選擇MAX7000S系列可編程邏輯器件,編譯后由MAX+PLUS II軟件自動配置進EMP7032SLC44芯片,將生成的目標文件通過編程電纜對器件進行編程。
將該IP核實現的D/A轉換器用于新型智能電阻爐溫度控制儀中,因為調節爐溫的信號不要求變化很快,因此DAC的輸入二進制信號為緩變信號。對于這種低頻應用,可以將RC時間常數取得較大,以減小噪聲。這樣,可綜合的VHDL語言Delta-Sigma DAC模塊配置進EMP7032芯片后,達到了預期的效果。
IP核再使用的十大注意事項
知識產權(IP)的再使用是設計組贏得迅速上市時間的主要策略,因為現在留給設計者完成諸如蜂窩電話和Internet路由器等熱門IC設計的周期只有3個月。設計者還需面對這樣一個嚴酷的現實,即IC的復雜度以每年55%的速率遞增,而設計能力每年僅提高21%。
為系統設計者專門制作的再使用IP彌補了這方面的不足。再使用既為IP建立者,也為系統設計者提供一種共享最佳IP核和主導模塊的方法。系統設計者的主要任務是在規定的周期時間內研發出復雜的設計。這只有采用新設計方法和完全不同的芯片設計理念才能完成。IP再使用已經成為系統設計方法的關鍵所在。
1. 再使用標準的選擇
標準是再使用的基礎。在設計一個系統時,可供工程人員考慮的工業標準很多,比如半導體再使用標準(SRS),它是對各種工業再使用創議標準的補充,提出這些創議標準的組織包括“虛插座接口聯盟VSIA”等。再使用標準為IP設計流程中的各階段提供規則、指南和接口方法。它是高效設計方法的一個里程碑,讓可再用IP快捷地、即插即用地集成到系統解決方案成為可能。
再使用標準通常涉及到許多方面,如系統級設計、結構、實現、驗證以及文件編制和可交付清單等與IP有關的事項。例如,結構分類目錄解決片上或片外的接口。實現分類目錄通過HDL代碼標準、物理表示、單元庫以及模擬子單元集中解決如何建立IP的問題。功能驗證及可測試設計(DFT)標準則包含在驗證分類目錄中。
2. IP核的選擇
根據IP使用的劃分,IP建立者可按下列三種形式設計IP:可再用、可重定目標以及可配置。可再用IP是著眼于按各種再使用標準定義的格式和快速集成的要求而建立的,便于移植,更重要的是有效集成。可重定目標IP是在充分高的抽象級上設計的,因而可以方便地在各種工藝與結構之間轉移。可配置IP是參數化后的可重定目標IP,其優點是可以對功能加以裁剪以符合特定的應用。這些參數包括總線寬度、存儲器容量、使能或禁止功能塊。硬IP與軟IP的意圖不同,因而對IP的開發和在這之后的IP的集成采用不同的方法。
3. 硬IP
硬IP對功率、體積和性能進行了優化,并映射至特定的工藝。具體實例包括已完成布局布線的網表,以特定工藝庫或全定制物理布圖,或兩者之組合。硬IP是特定工藝來實現的,通常用GDSII格式表示。硬IP可以再使用,且由于它已處于設計表示的最底層,因而最容易集成。硬IP已完全用目標工藝實現是按十分接近于標準單元庫元件的形式交付的,故而允許設計者將IP快速地集成在衍生產品中。硬IP最大的優點是確保性能,如速度、功耗等。然而,硬IP難以轉移到新工藝或集成到新結構中,是不可重配置的。
4. 軟IP
軟IP是以綜合形式交付的,因而必須在目標工藝中實現,并由系統設計者驗證。其優點是源代碼的靈活性,它可重定目標于多種制作工藝,在新功能級中重新配置。
由于設計以高層次表示,因而軟IP是可再用的,易于重定目標和重配置,然而預測軟IP的時序、面積與功率諸方面的性能較困難。為了實現最高效率的再使用并減少集成時間,IP應從軟件源代碼開始;而為了確保性能,復雜IP應以硬IP的形式共享。
5. 再使用的軟插接
軟插接是開發符合再使用標準IP的過程,它應成為建立新IP設計流程的組成部分。過程需要有關IP深層的知識,因此只有IP建立者最熟知IP塊,有能力建立這些些概念,在時序分析時去除假通路,并最終確定結果的正確性。與DFT一樣,軟插接會修改現有的設計流程來適應再使用設計和生成附加可交付項,因此在設計流程中應及早考慮再使用事項。
6. 再使用的提供與獲取
IP資源庫為IP建立者和系統設計者提供共享和使用IP的基礎設施。這個系統應讓IP建立者和系統設計者共享硬和軟兩方面的可再用IP。資源庫提供多場所的全方位訪問,系統集成的全方位開發。它也是設計師搜索、選擇、將再使用塊集成到自己系統中的快捷而又簡便的途徑。
資源庫基礎設施還應開辟一個區域,讓系統開發者提供反饋、出錯報告、錯誤改正及資源庫中任何有關IP塊的注解。反饋信息塊建立者對錯誤的修復與改進說明一起是塊數據庫列表的一部分。
7. IP塊的認證
認證能確定IP塊是否符合相關的再使用標準。它提供一把表征塊再使用質量的尺度,應在IP進入資源庫前完成。由于IP建立者熟知IP,他應測試塊概念間的一致性以及與工具、庫以及硬件平臺的兼容性。一個獨立的認證小組通過對可交付性、再使用性以及出錯歷史記錄的隨機抽樣,預測IP核的質量和可靠性,定出IP的分類等級。這個等級讓設計者有一個總體概念,如IP符合標準的準確性有多好,再使用需多大的軟插接工作量。
8.IP集成的優化
對IP核的再使用,建立者需軟插接IP、進行認證、將它存放在系統設計者能訪問的資源庫中。自動化工具提供多種手段,加速軟插接和資源庫的操作,認證和集成過程的部分自動化。工具制造商力爭實現更多的自動化。在理想情況下,全部IP塊可從資源庫中按需供給。
9.設計周期的加速
目前,設計者幾乎沒有能力在三個月設計周期內開發出合乎規格的新產品。如果對每個產品族建立一個設計平臺,設計組就能充分發揮平臺的作用,開發出產品的衍生品種。一種有效的再使用方法應讓可再使用IP的開發作為平臺的一部分,并將IP塊快速地集成到衍生品種。
10.支持基礎設施
一旦IP開始普遍使用,提供該IP的支持是必要的。建立者繼續擁有IP,因為支持它需要深層的知識。建立者負責IP的更新,將最新版本放置在資源庫中。IP由為系統設計者服務的認證組重新認證。此外,建立者還應在系統設計者集成IP遇到困難時提供必需的支持。
總結
- 上一篇: Web微信小程序开发(一)
- 下一篇: movie计算机英语作文,关于电影的英语