目前,基于IP的EDA設計流程面臨著兩大挑戰。首先,必須提供方法技術,用于測試包含IP組件設計的可靠性和質量;另一方面,必須保護IP供應商和設計者的知識產權。第三方IP核的使用確實可以提高芯片設計效率,但是供應商將IP核交付到客戶的過程卻并非直截了當。對于客戶來說,為了測試驗證IP核,它必須具備一定的可見性。可見性包括IP的仿真、結構性理解以及特性的詳細描述。客戶獲得的可見度越高,就越容易將IP核集成到自己的FPGA設計中。而對于供應商來說,IP核具有一定的保護性,必須防止未經授權使用或復制IP核,而客戶需求恰恰與之相矛盾。因此交付IP核的程序必須權衡這兩種相互矛盾的需求。如果客戶獲取關于IP設計的信息過多,就可能出現未經授權而使用或復制該IP核,從而降低其價值,影響到設計者和供應商的利益。
目前有一些方法著重保護供應商的利益,如水印技術,就是將數字簽名嵌入至IP組件中,沒有供應商的許可,客戶就無法去除數字簽名,實例化IP元件就具有一定風險。水印技術的主要限制在于只能維護供應商組件實例化的合法性,卻無法真正隱藏IP,因為通過元件體系的反向工程仍可以獲取IP核的內部信息。
JavaCAD架構中采用了另一種有效安全的IP評估測試方法。設計者能實例化第三方的IP元件,同時可以結合自己設計的模塊一起仿真。不同IP供應商提供的多個IP核也能夠一同進行仿真,同時保證各個供應商及用戶的知識產權不受侵害。IP用戶與供應商可以協商仿真期間可以獲取的信息量。JavaCAD是相當靈活的、以事件驅動的仿真工具,設計者可以在java程序中直接采用結構與行為級混合的編寫方式。
JavaCAD 架構
設計者可以針對不同抽象層次指定模塊行為。目前JavaCAD支持門級、寄存器傳輸級,同時在行為級上也有一個實現工具。JavaCAD環境完全支持混合模式的系統描述,例如某些設計元件是RTL級語言描述的,而其余的是門級描述。設計模塊可以是本地模塊也可以是遠程模塊。本地模塊在IP用戶端的java虛擬機(JVM)上運行,而遠程模塊可以通過Internet訪問。一般說來,遠程模塊均是在IP供應商的JavaCAD服務器上運行的。
圖1中描述了JavaCAD的概念性體系結構。用戶在JavaCAD客戶端上完成所有的電路設計,包含供應者提供的IP元件。供應商可以通過JavaCAD服務器與客戶端進行通信。設置仿真參數時,用戶和供應商協商每個元件可以訪問的功能與成本模塊類型。有一些模塊需要供應商提供在線幫助,當然這得花費額外費用。例如,不必得知封閉式IP元件的內部信息,用戶就可以通過整個設計的故障模擬準確地評估易測性。
如果JavaCAD客戶端的仿真工具需要了解IP核的實現過程時,JavaCAD客戶端就可能要求供應者運行仿真子程序。JavaCAD底板借助客戶端與服務器之間復雜的網絡通信完全隱蔽起來。JavaCAD吸收了Java面向對象的特色,這樣可以將程序高效地映射到現代數字系統中基于元件的設計原語。JavaCAD的關鍵特性是能夠處理包含本地組件(用戶所有的)與遠程組件(IP供應者所有的)的系統設計。任何設計或仿真工具都能采用JavaCAD協議處理遠程組件。在JavaCAD中系統級硬件描述語言(HDL)則用Java語言編寫。
JavaCAD架構實際上就是java程序包的集合,必須由用戶與供應商同時使用,缺一不可。JavaCAD 底板是用java語言編寫的程序包,通常稱為JavaCAD基本包(JFP),可以整合到任何設計環境中。IP提供者、用戶都必須使用JFP。元件和設計都是基本包的子集。設計規范要求實例化設計組件的JavaCAD類。連接器將本地模塊與遠程模塊連接在一起,確保模塊之間的事件正常運轉。定制的連接器能執行模塊之間的通信原語。
執行遠程模塊是以Java 遠程方法(RMI)為基礎,RMI是類似于CORBO的協議,RMI保留了Java對象模塊的原語,從而使分布的對象更加方便執行并應用。JavaCAD中采用RMI的主要特性是:1)不用借助二進制代碼就能在本地創建遠程類的實例;2)調用遠程類的方法,并適當處理參數和返回值;3)保證客戶端-服務器端通信的安全性。
并非所有的遠程模塊都是設計者需要運行的,通常執行的都是包含IP相關信息的方法。IP核的提供者需要設計一個專門的模塊,用于明確說明哪些方法是可以讓客戶下載的,哪些方法可以通過Internet 網絡訪問。
JavaCAD是事件驅動的仿真工具,支持多種事件類型,由調度程序進行調度執行。多個調度程序可以同時運行,從而JavaCAD也支持同一設計的協同仿真。
安全性與IP保護
安全性是JavaCAD最重要的議題。客戶端與服務器端相互作用的緊密性引發了一些問題,有別于傳統的基于Internet的客戶端—服務器端方式的問題。當前情況下,客戶與提供商還沒有達到完全信任對方的程度,同時客戶端與服務器端的通信必須防止第三方的侵入,這就是保護IP核的目的。JavaCAD采取RMI功能及增強安全性的java模塊解決這些問題。
針對第三方的侵入,RMI協議能保證IP用戶與提供商之間的安全通信。協議中應用一個自定義的通信端口,規定了IP客戶端與服務器端都認可的安全級別。
從提供商的角度來考慮,JaveCAD將遠程模塊設計分成三部分:公共部分、RMI 殘余部分、私有部分。IP用戶可以下載公共部分并集成到自己的設計中。公共部分中包含某些組件中不受保護的方法的可下載代碼。用戶必須下載RMI殘余部分,并通過殘余部分調用遠程方法。IP用戶需要通過RMI殘余部分才能調用私有部分的方法,私有部分一直位于提供者的服務器上,其代碼不會轉移到客戶端。
從用戶的角度來考慮,JavaCAD中為了實現對客戶端的保護措施,在RMI中采用了一系列有效可行的參數配置。將每個模塊都和連接器綁定在一起,這種方式可以使得JavaCAD仿真工具能完全防止傳播設計中實例化的其他模塊的敏感信息,包括屬性及其相互聯系。執行某些仿真時,遠程IP模塊可能需要其端口的一些信息,此時JavaCAD通過RMI將這些信息傳送到客戶端。
使用者從提供商處下載得到的公共部分和RMI殘余部分的類時,JavaCAD將這些類標上“非可信賴”的標記,因此用戶端無法執行這些類。例如,由這些類運行的方法不能讀取或刪除用戶的文件系統。標準的RMI安全管理器使得各種方法只能通過供應商的服務器進行通信。
評估測試
JavaCAD中有個JFP評估程序包,可以對IP元件的成本及性能進行靜態、動態評估,包括面積、傳輸延遲、平均功耗、最大功耗、I/O性能等。評估程序可以計算出這些參量的實際值。一個設計元件可以利用多個評估器對同一參量進行評估。用戶選擇IP核時可以根據正確性、成本、面積、速度等之間權衡。評估器可以在本地,也可以位于服務器上。
使用JavaCAD
服務器端
為了使用戶能獲取并測試供應商的IP元件,提供者首先應安裝一個WEB服務器,包含一些描述IP元件主要功能的文件及JAR文件的鏈接,用于下載IP核公共部分及RMI殘余部分的類。同時還需要設置RMI注冊服務器及RMI后臺程序。元件中受保護的IP部分在該服務器上處于活動狀態,當客戶端提出仿真、評估、驗證等請求時,此服務器需做出響應。
客戶端
設計者的電路結構是相互連接的模塊,這些模塊可以是本地模塊,也可以是遠程IP提供商處的元件。仿真驗證階段,通過JavaCAD架構訪問遠程IP元件。
通常,設計者首先訪問各個IP提供商的Web服務器,獲取不同IP元件的信息,以選擇符合自己設計目標的元件。然后下載JAR格式的公共部分及RMI殘余部分文件,并根據設計要求對這些元件進行實例化。客戶端啟動仿真設置后,JavaCAD架構在客戶端與服務器之間建立網絡通信鏈接,保證維護IP提供商及用戶各自的知識產權。
責任編輯:gt
?
評論
查看更多