當前位置:編程學習大全網 - 源碼下載 - IP核是什麽

IP核是什麽

IP核(Intellectual Property core)是壹段具有特定電路功能的硬件描述語言程序,該程序與集成電路工藝無關,可以移植到不同的半導體工藝中去生產集成電路芯片。

概述編輯

利用IP核設計電子系統,引用方便,修改基本元件的功能容易。具有復雜功能和商業價值的IP核壹般具有知識產權,盡管IP核的市場活動還不規範,但是仍有許多集成電路設計公司從事IP核的設計、開發和營銷工作。IP核有兩種,與工藝無關的VHDL程序稱為軟核;具有特定電路功能的集成電路版圖稱為硬核。硬核壹般不允許更改,利用硬核進行集成電路設計難度大,但是容易成功流片。

2基本分類編輯

IP內核的三種類型

IP內核可以在不同的硬件描述級實現,由此產生了三類IP內核:軟核、固核和硬核。這種分類主要依據產品交付的方式,而這三種IP內核實現方法也各具特色。

軟核功能

軟核是用VHDL等硬件描述語言描述的功能塊,但是並不涉及用什麽具體電路元件實現這些功能。軟IP通常是以硬件描述語言HDL源文件的形式出現,應用開發過程與普通的HDL設計也十分相似,只是所需的開發硬軟件環境比較昂貴。軟IP的設計周期短,設計投入少。由於不涉及物理實現,為後續設計留有很大的發揮空間,增大了IP的靈活性和適應性。其主要缺點是在壹定程度上使後續工序無法適應整體設計,從而需要壹定程度的軟IP修正,在性能上也不可能獲得全面的優化。由於軟核是以源代碼的形式提供,盡管源代碼可以采用加密方法,但其知識產權保護問題不容忽視。

硬核功能

硬核提供設計階段最終階段產品:掩模。以經過完全的布局布線的網表形式提供,這種硬核既具有可預見性,同時還可以針對特定工藝或購買商進行功耗和尺寸上的優化。盡管硬核由於缺乏靈活性而可移植性差,但由於無須提供寄存器轉移級(RTL)文件,因而更易於實現IP保護。

固核功能

固核則是軟核和硬核的折衷。大多數應用於FPGA的IP內核均為軟核,軟核有助於用戶調節參數並增強可復用性。軟核通常以加密形式提供,這樣實際的 RTL對用戶是不可見的,但布局和布線靈活。在這些加密的軟核中,如果對內核進行了參數化,那麽用戶就可通過頭文件或圖形用戶接口(GUI)方便地對參數進行操作。對於那些對時序要求嚴格的內核(如PCI接口內核),可預布線特定信號或分配特定的布線資源,以滿足時序要求。這些內核可歸類為固核,由於內核是預先設計的代碼模塊,因此這有可能影響包含該內核的整體設計。由於內核的建立(setup)、保持時間和握手信號都可能是固定的,因此其它電路的設計時都必須考慮與該內核進行正確地接口。如果內核具有固定布局或部分固定的布局,那麽這還將影響其它電路的布局。

介紹

IP(知識產權)核將壹些在數字電路中常用,但比較復雜的功能塊,如FIR濾波器、SDRAM控制器、PCI接口等設計成可修改參數的模塊。IP核的重用是設計人員贏得迅速上市時間的主要策略。隨著CPLD/FPGA的規模越來越大,設計越來越復雜(IC的復雜度以每年55%的速率遞增,而設計能力每年僅提高21%),設計者的主要任務是在規定的時間周期內完成復雜的設計。調用IP核能避免重復勞動,大大減輕工程師的負擔,因此使用IP核是壹個發展趨勢。

分類

IP核包括硬IP與軟IP。可配置IP是參數化後的可重定目標IP,其優點是可以對功能加以裁剪,以符合特定的應用。這些參數包括總線寬度、存儲器容量、使能或禁止功能塊。

軟IP是以綜合形式交付的,因而必須在目標工藝中實現,並由系統設計者驗證。其優點是源代碼靈活,可重定目標於多種制作工藝,在新功能級中重新配置。

不過大多數庫是收費的,但也可以從網上下載壹些免費的IP核。

3技術應用編輯

數字到模擬轉換器(DACs)將壹個二進制數轉換為與之對應的電壓值,常用的D/A轉換器都是由電阻或電容加權網絡、受碼元控制的開關和基準電壓或電流源組成。當D/A轉換器需要轉換的信號每次取樣字長很長時,對這些電路的精度要求很高,並且還必須在整個溫度範圍和整個使用壽命期間內保持電路參數的穩定。例如,壹個16位的D/A轉換器,其MSB的精度必須在1/2 16以內,這是很困難的。所以,需尋求壹種中保持高分辨率又可降低對電路精度和穩定度要求的方法。

可綜合的Delta-Sigma DAC(術語Delta-Sigma分別指算術差與和,即Δ-∑DAC),是Xilinx公司提供的免費IP核,可從網上下載得到。

4數字技術編輯

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是壹個例子,說明高速可編程邏輯器件能用於混合信號系統,以減少元件的數量。可編程邏輯器件的速度和密度使它們成為模擬信號產生和處理方面理想的元件。

5語言程序編輯

用VHDL語言編寫的程序

library ieee;

use ieeestd_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity dac_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;

);

end dac_ds;

architecture arch_dac_ds of dac_ds is

signal error :std_logic_vector(9 downto 0);--Error accumulator is 2 bits larger

constant zeros:std_logic_vector(7 downto 0):=(others=>'0');

begin

process(reset,clk,din)

variable val :std_logic_vector(9 downto 0);

begin

if reset='1'then

error<=(others=>'0');

dout<='0';

elsif clk'event and clk='1' then

--val:=din+error;din is sign extended to nbits+2

val:=(din(din'high)&din(din'high)&din)+error;

if val(val'high)='0'then

dout<='1';

error<=val+("11"& zeros);

else

dout<='0';

error<=val+("01"&zeros);

end if;

end if;

end process;

end arch_dac_ds;

6選擇和配置編輯

選擇MAX7000S系列可編程邏輯器件,編譯後由MAX+PLUS II軟件自動配置進EMP7032SLC44芯片,將生成的目標文件通過編程電纜對器件進行編程。

將該IP核實現的D/A轉換器用於新型智能電阻爐溫度控制儀中,因為調節爐溫的信號不要求變化很快,因此DAC的輸入二進制信號為緩變信號。對於這種低頻應用,可以將RC時間常數取得較大,以減小噪聲。這樣,可綜合的VHDL語言Delta-Sigma DAC模塊配置進EMP7032芯片後,達到了預期的效果。

7註意事項編輯

知識產權(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塊的註解。反饋信息塊建立者對錯誤的修復與改進說明壹起是塊數據庫列表的壹部分。

8技術認證編輯

認證

認證能確定IP塊是否符合相關的再使用標準。它提供壹把表征塊再使用質量的尺度,應在IP進入資源庫前完成。由於IP建立者熟知IP,他應測試塊概念間的壹致性以及與工具、庫以及硬件平臺的兼容性。壹個獨立的認證小組通過對可交付性、再使用性以及出錯歷史記錄的隨機抽樣,預測IP核的質量和可靠性,定出IP的分類等級。這個等級讓設計者有壹個總體概念,如IP符合標準的準確性有多好,再使用需多大的軟插接工作量。

集成優化

對IP核的再使用,建立者需軟插接IP、進行認證、將它存放在系統設計者能訪問的資源庫中。自動化工具提供多種手段,加速軟插接和資源庫的操作,認證和集成過程的部分自動化。工具制造商力爭實現更多的自動化。在理想情況下,全部IP塊可從資源庫中按需供給。

周期加速

設計者幾乎沒有能力在三個月設計周期內開發出合乎規格的新產品。如果對每個產品族建立壹個設計平臺,設計組就能充分發揮平臺的作用,開發出產品的衍生品種。壹種有效的再使用方法應讓可再使用IP的開發作為平臺的壹部分,並將IP塊快速地集成到衍生品種。

基礎設施

壹旦IP開始普遍使用,提供該IP的支持是必要的。建立者繼續擁有IP,因為支持它需要深層的知識。建立者負責IP的更新,將最新版本放置在資源庫中。IP由為系統設計者服務的認證組重新認證。此外,建立者還應在系統設計者集成IP遇到困難時提供必需的支持。

這樣可以麽?

  • 上一篇:求C語言寫程序,求源代碼
  • 下一篇:Android APP開發需求文檔範本是什麽樣的?
  • copyright 2024編程學習大全網