基于EDA軟件和FPGA的IP核保護技術(shù)
隨著(zhù)電路規模不斷擴大,以及競爭帶來(lái)的上市時(shí)間的壓力,越來(lái)越多的電路設計者開(kāi)始利用設計良好的、經(jīng)反復驗證的電路功能模塊來(lái)加快設計進(jìn)程。這些電路功能模塊被稱(chēng)為IP(Intellectual Property)核。IP核由相應領(lǐng)域的專(zhuān)業(yè)人員設計,并經(jīng)反復驗證。IP核的擁有者可通過(guò)出售IP獲取利潤。利用IP核,設計者只需做很少設計就可實(shí)現所需系統?;贗P核的模塊化設計可縮短設計周期,提高設計質(zhì)量?,F場(chǎng)可編程門(mén)陣列FPGA具有可編程特性,用戶(hù)根據特定的應用定制電路結構,因此其處理速度大大超過(guò)通用處理器。與ASIC相比,FPGA的缺點(diǎn)是在提供靈活的可編程同時(shí),則以芯片的面積、功耗和速度做為代價(jià)。
近年來(lái),單個(gè)FPGA實(shí)現電路規模不斷擴大,設計者可以在單個(gè)FPGA上實(shí)現一個(gè)完整的系統(System on Pro―grammablb Chip,簡(jiǎn)稱(chēng)SoPC)。IP核的出現為SoPC的設計提供極大便利,利用IP核,設計者通過(guò)模塊化設計。輕松快速地實(shí)現系統復雜的功能。
當設計者從第三方購買(mǎi)IP,需要一定的保護機制防止設計者在非授權IP核使用,以保護IP核所有者的利益。同時(shí),對于設計者完成的設計,也需要相應的保護機制防止設計被非法復制、竊取或篡改。為此,提出一種結合電子設計自動(dòng)化(Electronic Design Automation,簡(jiǎn)稱(chēng)EDA)軟件和FPGA的IP核保護機制。通過(guò)在EDA工具中加入保護機制防止設計者非授權使用IP核,在FPGA中加入保護機制防止設計被非法復制、竊取或篡改。
2 EDA軟件中實(shí)現IP保護
FPGA的設計開(kāi)發(fā)流程主要包括行為綜合、邏輯綜合、技術(shù)映射和布局布線(xiàn)。一般情況,設計者使用硬件描述語(yǔ)言(如VHDL,Velilog)描述電路,然后由EDA軟件對其處理。
在EDA軟件處理流程中,行為綜合把算法級或寄存器傳輸級(Register Transfer Level,簡(jiǎn)稱(chēng)RTL)的電路描述轉換為門(mén)級的網(wǎng)表,邏輯綜合優(yōu)化門(mén)級網(wǎng)表,技術(shù)映射是將優(yōu)化后的網(wǎng)表映射為FPGA中的具體實(shí)現(查找表),布局布線(xiàn)工具則按照一定的評價(jià)標準來(lái)確定最終的電路單元在FPGA中的位置,并利用連線(xiàn)資源實(shí)現電路單元間的連接。
如果設計者利用第三方提供的IP核實(shí)現所需的設計,為了避免設計者竊取IP核后,對其修改,并將其據為已有,需要有相應的安全機制來(lái)保護第三方設計的IP核。
在EDA軟件的處理流程中,EDA軟件必須能夠正確解析設計,才能完成處理,因此設計本身對于EDA軟件是公開(kāi)的。這里假定EDA軟件是可信的。具有IP核保護機制的EDA流程如圖l所示。第三方設計的IP核要先向EDA軟件的開(kāi)發(fā)用戶(hù)購買(mǎi)RTL級的IP核后,第三方將該IP核先用EDA開(kāi)發(fā)商的公開(kāi)密鑰對該IP核加密,再用設計者提供的公開(kāi)密鑰加密。這樣,設計者雖然得到了第三方的IP核,但是并不知道EDA軟件開(kāi)發(fā)商的私鑰,因此設計者無(wú)法知道該IP核中RTL級的描述。
設計者可將購買(mǎi)的IP核看作功能已知的黑盒子,在利用黑盒子和其他的電路模塊完成電路描述之后,設計者將設計導入EDA工具。EDA工具分別利用設計者輸入的密鑰和EDA開(kāi)發(fā)商的密鑰對加密的IP核進(jìn)行兩次解密,從而得到整個(gè)設計完整的RTL表示。然后,EDA工具可以對設計進(jìn)行行為綜合、邏輯綜合和技術(shù)映射,最后生成技術(shù)映射后的網(wǎng)表。假定用于綜合和技術(shù)映射的工具是由某個(gè)EDA開(kāi)發(fā)商提供,而FPGA布局布線(xiàn)工具是另外的EDA開(kāi)發(fā)商,例如由FPGA的生產(chǎn)商提供。
評論