<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于路徑延時匹配的硬件IP核知識產(chǎn)權(quán)保護方法

          基于路徑延時匹配的硬件IP核知識產(chǎn)權(quán)保護方法

          作者:李海娥 劉強 時間:2014-11-27 來源:電子產(chǎn)品世界 收藏
          編者按:  摘要:隨著集成電路產(chǎn)業(yè)的迅速發(fā)展,集成電路設(shè)計的安全性越來越受重視,電路設(shè)計盜用等知識產(chǎn)權(quán)(IP)侵權(quán)行為嚴重損害了設(shè)計者和消費者的權(quán)益,阻礙了集成電路產(chǎn)業(yè)的發(fā)展。本文提出了一種有效保護IP核的方法,通過設(shè)計一個保護電路,控制功能電路運行結(jié)果的輸出,在消費者未取得合法授權(quán)時,功能電路無法正常工作,從而達到了保護電路的目的。本文將該保護方法運用在實際的電路上,進行仿真并驗證了該方法的有效性。   引言   隨著片上系統(tǒng)SoC的迅速發(fā)展,IP復(fù)用的知識產(chǎn)權(quán)保護問題日益嚴重,危害了設(shè)計者和消費者的權(quán)益[

            3 實驗結(jié)果

          本文引用地址:http://www.ex-cimer.com/article/266049.htm

            為了驗證該保護方法的有效性和可靠性,本文將引入圖2所示三個電路進行驗證,不同電路具有不同的輸入-輸出延遲周期。實驗過程如下:

            首先,三個電路都執(zhí)行32位的浮點運算,包括浮點乘法器和浮點加法器。實驗選用的器件是xc5vlx220,設(shè)計的工具包括Xilinx ISE, Modelsim 以及功耗分析器[9]。選用中的LUT來實現(xiàn)移位,原因在于,電路的保護應(yīng)盡量節(jié)約成本,且保護電路的加入應(yīng)不影響原始電路的速度,相比于其他移位電路實現(xiàn)方式來說,用LUT實現(xiàn)移位能有效地節(jié)省資源,且增加的額外功耗較小。在Xinlix 內(nèi)部,有兩種類型的LUT,分別為4-input LUT和6-input LUT,可以分別用來作為16位和32位的移位寄存器。還可以對LUT級聯(lián)來實現(xiàn)更多位移位寄存器。

            (1)設(shè)置浮點乘法器的延遲為5,浮點加法器的延遲為10,則上面三個電路的輸入-輸出延遲分別為15, 25和35。 此時未添加保護電路,對設(shè)計進行綜合、布局布線,并記錄其面積、頻率以及功耗等設(shè)計性能參數(shù)。

            (2)為三個電路添加保護電路,并在綜合和布局布線后利用Modelsim進行時序仿真,記錄設(shè)計的面積、運行速度和功耗。

            圖3為圖2中電路(a)Design1的仿真結(jié)果,密鑰為16’b1010010001000001,out1輸出正好為密鑰值,說明密鑰輸入正確,從圖中可以看出有效以后功能電路的輸出結(jié)果out2傳遞到電路的輸出端口out。說明電路成功被解鎖。

            但若在移位寄存器SRL初始化時輸入16’b10101xxxxxxxxxxx,其仿真結(jié)果如圖4所示,狀態(tài)機檢測到第五位密碼輸入錯誤,輸出fsm_out為0,并終止移位寄存器的移位操作。最終導(dǎo)致功能電路的輸出結(jié)果不會傳遞out端口,從而達到了保護目的。

            接下來討論加入保護電路對功能電路帶來的影響,表格1中 Design1_p,Design2_p,Design3_p依次對應(yīng)于圖2中的三個電路加保護電路后所得到的設(shè)計,表中對比了加入保護電路后的設(shè)計,相比于未加保護電路時在資源消耗、電路的運行速度以及功耗方面的差異。由數(shù)據(jù)可知,由保護電路引起的額外資源消耗和功耗很少,且隨著功能電路路徑延時的增大,由保護電路引起的額外資源消耗所占的比例更小。實驗結(jié)果還表明電路的運行速度在有些情況下有所加快,是由于保護電路的加入,使得原本分散的LUT有向Slice中聚集的趨勢,從而提高了電路的運行速度。

            表中的最后列為1/latency(latency為功能電路的路徑延時)的值,其值的大小表示盜用者猜中密鑰的概率,該值越小,說明密鑰的安全性越高,再次證明了功能電路的延遲越大越適合采用該保護方法。但是在實際的功能電路設(shè)計時,并非延遲越大越好,還應(yīng)當(dāng)考慮路徑延遲對功能電路面積、速度以及功耗等因素的影響,所以應(yīng)該在一定范圍內(nèi)選擇適當(dāng)?shù)难舆t來完成功能電路的設(shè)計。

            4 總結(jié)

            本文提出了一種基于路徑延時匹配的的保護方法,即設(shè)計旁路保護電路,通過輸入密鑰以及密鑰檢測機制來達到與被保護電路的數(shù)據(jù)路徑相匹配,實現(xiàn)硬件電路的保護,只有消費者取得合法授權(quán)時,功能電路才能正常工作。該保護方法需要的額外開支少,不影響電路的速度,而且可靠性高。與現(xiàn)有的IP保護方法能很好地融合在一起,共同為集成電路產(chǎn)業(yè)的發(fā)展做貢獻。

            參考文獻:
            [1] D. Saha and S. Sur-Kolay, “SoC: a real platform for IP reuse, IP infringement, and IP protection,” VLSI Des., vol. 2011, pp. 5:1–5:10, Jan. 2011.
            [2] 邢強, 駱麗. 集成電路設(shè)計中 IP 核的保護措施[J]. 中國集成電路, 2006, 6: 022.
            [3] Biggs J, Gibbons A. 實現(xiàn)基于 IP 核技術(shù)的 SoC 設(shè)計[J]. 電子產(chǎn)品世界, 2002, 17: 012.
            [4] 張修麗. AES 加密 IP 的優(yōu)化設(shè)計及旁路攻擊研究[D]. 上海交通大學(xué), 2010.
            [5] A. Abdel-Hamid, S. Tahar, and E. Aboulhamid, “A survey on IP watermarking techniques,” Design Automation for Embedded Systems, vol. 9, no. 3, 2004.
            [6] F. Koushanfar, “Hardware metering: A survey,” in Introduction to Hardware Security and Trust. Springer, 2012, pp. 103–122.
            [7] 苗勝, 戴冠中, 慕德俊, 等. 基于 FPGA 的 IP 核水印保護方法[J]. 微電子學(xué)與計算機, 2007, 24(3): 30-33.
            [8] 潘中平. 我國商用 IP 核的現(xiàn)狀和發(fā)展對策[J]. 中國集成電路, 2002, 4: 016.
            [9] http://www.xilinx.com, “Xilinx power estimator user guide,” accessed 2009.

          電路相關(guān)文章:電路分析基礎(chǔ)


          pic相關(guān)文章:pic是什么



          上一頁 1 2 下一頁

          關(guān)鍵詞: IP核 FPGA 寄存器 IP固核 RDY 201412

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();