發布日期:2022-07-15 點擊率:68
如何讓設計師在購買IP之前對其進行充分評測,同時又保護內核及其源代碼的知識產權,以防盜用,是PLD銷售商、IP供應商和設計師共同面臨的重要問題。本文中描述的技術就可以實現這些功能。它控制可用PLD編程文件的生成,同時允許IP評測者用特定PLD模擬和測試IP的所有其它性能,因而使評測者確定IP是否可以達到令人滿意的效果,大大減小了設計師的風險,并縮短了設計周期,提高生產量。有一種稱為“OpenCore”的技術,將IP集成在設計中,允許工程師試用第三方IP進行評測,而不必購買源代碼。它采用了加密算法,可以保證評測者只有在獲得IP銷售商許可后,才能將IP集成在硬件中。使用這一技術,設計師可以在購買許可之前評測IP內核是否適合其系統,而不必承擔任何風險。
因為IP許可的成本很高,IP評測者必須對IP內核進行無風險的試用編譯,以驗證開發者所宣稱的功能性、密度和性能。開放式內核試用必須使用戶得到足夠的信息,以決定是否購買許可,同時又不可能在未付許可費的情況下將內核用于商業用途。
開放式內核假設整個IP評測中最重要的方面是順利地將其集成在客戶的設計流程中。這就需要在整個設計流程中處理IP,例如設計入口、邏輯合成和功能及時序模擬。該過程可能包含許多不同的設計工具。在整個評測過程中,既要保護IP銷售商的專利權,又要保證評測者可以定制功能以滿足特定設計的需要。
圖1表示開放式內核的設計流程。
這一流程包括三個步驟:第一,合成器將HDL功能描述轉換成邏輯原語網表。功能代碼通常是RTL(寄存器轉換級),大多用VHDL、Verilog或AHDL等標準語言編寫。也支持基于純示意圖或混合示意圖/HDL的設計入口。
第二步是將網表映射成可編程器件的物理原語,并生成完全布局布線后的設計,其中將包含實際半導體器件中的延遲信息。門級網表和布局布線后的網表均可以模擬,為設計師提高充分的功能和時序信息。
最后一步包括將布局布線網表集合在編程文件中。該文件包括各可編程邏輯元素的值以及編程信息位,例如校驗和以及器件信息。編程文件包含設計的物理實現方法的二進制表示法。
參數化技術
為了避免定制,并盡量將可復用性最大化,內核應以高度參數化的形式提供。IP供應商有責任對每一內核進行參數化。大多數HDL支持參數化。例如,VHDL加法器的整個部分可以描述成:
ENTITY adderf
PORT (
dataa:IN STD_LOGIC_VECTOR (5 DOWNTO 0);
datab:IN STD_LOGIC_VECTOR (5 DOWNTO 0);
result:OUT STD_LOGIC_VECTOR (5 DOWNTO 0)
);
END adderf;
或者用通配代碼參數化:
ENTITY adderp
GENERIC (
WIDTH : POSITIVE :=6; );
PORT (
Dataa IN STD_LOGIC_VECTOR (width-1 DOWNTO 0);
datab:IN STD_LOGIC_VECTOR (width-1 DOWNTO 0);
result:OUT STD_LOGIC_VECTOR (width-1 DOWNTO 0));
END adderp;
Entity Adderf的數據總線大小是固定的,而Adderp的數據總線大小可以任意配置。加密軟件仍然可以保證對端口區以及通配區的訪問。
為了方便地實現內核的參數化,很多EDA或PLD公司開發出了MegaWizard插件技術。Megafunction向導作為一種智能接口,可以引導用戶高效、直觀且錯誤較少的地對其相應的Megafunction進行規定和配置。理想情況下,它應根據用戶在每一步所做的選擇,引導用戶進行所有的配置Megafunction的步驟。在大多數情況下,向導應由單個界面對象(對話框、多個控制或一個文本輸入框)組成。但是建立向導的更加有用和直觀的方法,是在一個向導頁中集合一組相關的用戶界面項目,允許用戶在指引下從一頁轉至另一頁。
可編程邏輯中用于試用IP的硬件功能
在很多情況下,IP用戶要求進行硬件評測。當軟件模擬難以實現,例如當軟件模擬不能提供足夠的故障范圍,或者當軟件模擬速度不足以進行整個測試,就需要進行硬件原理驗證。
提供總線和接口設備(如PCI、USB或IEEE 1394)的IP供應商通常會建立一個基于PLD的演示模型和評測板,以補充其IP內核。對于PCI設備,硬件驗證包含的增值服務包括:符合PCI電氣要求,以及測試與系統中其它PCI商(如橋和主機)有關的功能交疊情況。使用可編程邏輯器件提高了原型板的靈活性。對同一塊板,多個編程文件可以用于不同版本的內核。這些板可以用作演示硬件驗證原理的工具。