概述
IP(智慧財產權)核將一些在數字電路中常用,但比較複雜的功能塊,如
FIR濾波器、SDRAM控制器、
PCI接口等設計成可修改參數的模組。隨著CPLD/FPGA的規模越來越大,設計越來越複雜(IC的複雜度以每年55%的速率遞增,而設計能力每年僅提高21%),設計者的主要任務是在規定的時間周期內完成複雜的設計。調用IP核能避免重複勞動,大大減輕工程師的負擔,因此使用IP核是一個發展趨勢,IP核的重用大大縮短了產品上市時間。
利用IP核設計
電子系統,引用方便,修改基本元件的功能容易。具有複雜功能和商業價值的IP核一般具有智慧財產權,儘管IP核的市場活動還不規範,但是仍有許多
積體電路設計公司從事IP核的設計、開發和行銷工作。
基本分類
IP核有三種不同的存在形式:HDL語言形式,網表形式、版圖形式。分別對應我們常說的三類IP核心:
軟核、
固核和
硬核。這種分類主要依據產品交付的方式,而這三種IP核心實現方法也各具特色。
軟核
軟核是用VHDL等硬體描述語言描述的功能塊,但是並不涉及用什麼具體電路元件實現這些功能。軟IP通常是以硬體描述語言HDL源檔案的形式出現,套用開發過程與普通的HDL設計也十分相似,只是所需的開發硬
軟體環境比較昂貴。軟IP的設計周期短,設計投入少。由於不涉及物理實現,為後續設計留有很大的發揮空間,增大了IP的靈活性和適應性。其主要缺點是在一定程度上使後續工序無法適應整體設計,從而需要一定程度的軟IP修正,在性能上也不可能獲得全面的最佳化。由於軟核是以
原始碼的形式提供,儘管原始碼可以採用加密方法,但其智慧財產權保護問題不容忽視。
硬核
硬核提供設計階段最終階段產品:掩膜。以經過完全的布局布線的網表形式提供,這種硬核既具有可預見性,同時還可以針對特定工藝或購買商進行功耗和尺寸上的最佳化。儘管硬核由於缺乏靈活性而可移植性差,但由於無須提供暫存器轉移級(RTL)檔案,因而更易於實現IP保護。
固核
固核則是
軟核和硬核的折衷。大多數套用於FPGA的IP核心均為軟核,軟核有助於用戶調節參數並增強可復用性。軟核通常以加密形式提供,這樣實際的 RTL對用戶是不可見的,但布局和布線靈活。在這些加密的軟核中,如果對
核心進行了參數化,那么用戶就可通過頭檔案或圖形
用戶接口(GUI)方便地對參數進行操作。對於那些對時序要求嚴格的核心(如
PCI接口核心),可預布線特定信號或分配特定的布線資源,以滿足時序要求。這些核心可歸類為固核,由於核心是預先設計的代碼模組,因此這有可能影響包含該核心的整體設計。由於核心的建立(setup)、保持時間和握手信號都可能是固定的,因此其它電路的設計時都必須考慮與該核心進行正確地接口。如果核心具有固定布局或部分固定的布局,那么這還將影響其它電路的布局。
技術套用
數字到模擬轉換器(DACS)將一個二進制數轉換為與之對應的電壓值,常用的
D/A轉換器都是由
電阻或電容加權網路、受碼元控制的開關和基準電壓或電流源組成。當D/A轉換器需要轉換的信號每次取樣
字長很長時,對這些電路的精度要求很高,並且還必須在整個溫度範圍和整個使用壽命期間內保持電路參數的穩定。例如,一個16位的D/A轉換器,其MSB的精度必須在1/2 16以內,這是很困難的。所以,需尋求一種中保持高解析度又可降低對電路精度和穩定度要求的方法。
可綜合的Delta-Sigma DAC(術語Delta-Sigma分別指算術差與和,即Δ-∑DAC),是Xilinx公司提供的免費IP核,可從網上下載得到。
語言程式
用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;
注意事項
智慧財產權(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遇到困難時提供必需的支持。