0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于IP橋接技術(shù)實現(xiàn)密碼算法多IP核集成的應(yīng)用方案設(shè)計

電子設(shè)計 ? 來源:單片機與嵌入式系統(tǒng)應(yīng)用 ? 作者:溫圣軍,張魯國,張 ? 2020-09-08 17:58 ? 次閱讀

來源:單片機嵌入式系統(tǒng)應(yīng)用,作者:溫圣軍,張魯國,張國芳

信息社會中,基于密碼算法設(shè)計的安全芯片,能夠為用戶的敏感信息提供有效的機密性與完整性保護。信息化的不斷深入使得人們對信息安全服務(wù)的需求呈現(xiàn)使用簡單化、功能多樣化、高度集成化等趨勢。這要求安全芯片在單一的硬件平臺上,最大限度地提供多樣的密碼服務(wù),并且具備標(biāo)準(zhǔn)統(tǒng)一的對外服務(wù)接口。功能多樣化與高度集成化,已經(jīng)成為當(dāng)前以及今后安全芯片設(shè)計的必然要求。

安全芯片的功能多樣化設(shè)計要求可以由軟件方式實現(xiàn),也可通過集成多個硬件密碼算法IP核完成。由于密碼算法IP核集成安全性較高,在向外提供密碼服務(wù)時,數(shù)據(jù)處理速度較快,且不占用主控制器運算資源,相對于軟件實現(xiàn)方法,更適合于安全芯片的實際應(yīng)用需要。因此,在已有的多功能安全芯片設(shè)計中,一般采取多密碼算法IP核集成,實現(xiàn)安全芯片功能多樣化。

1 密碼算法多IP核集成要求及方法

在單一硬件平臺上集成多個密碼算法IP核,需要滿足三條基本設(shè)計要求:

第一,硬件平臺運行頻率與IP核運算頻率的不一致要求。通常情況下,設(shè)計者在進行IP核實現(xiàn)時,出于數(shù)據(jù)處理速度的需要,一般都會盡量提高IP 核運算頻率,以實現(xiàn)對數(shù)據(jù)的高速處理。要求硬件平臺與IP核具備同樣的時鐘頻率是不現(xiàn)實的,因為硬件平臺的運行頻率往往依賴于這一平臺所采用的主控制器運行頻率,而要提高主控制器的運行頻率,以達到與不同IP核運算頻率一致,不具有實際可行性。在具體實現(xiàn)多IP核集成時,密碼算法IP核運算頻率會遠(yuǎn)高于硬件平臺的運行頻率,各IP核的運算頻率也不盡相同。因此,要實現(xiàn)IP核與硬件平臺掛接集成,需首先解決硬件平臺與IP核的時鐘不一致問題。

第二,硬件平臺與IP核、不同IP核之間處理數(shù)據(jù)位寬的不一致要求。同樣是出于提高數(shù)據(jù)處理速度考慮,設(shè)計者在設(shè)計IP核時,一般采用較大的數(shù)據(jù)位寬。實現(xiàn)不同數(shù)據(jù)位寬的轉(zhuǎn)換,是IP核能否正確處理數(shù)據(jù)的基本條件。

第三,能夠靈活調(diào)用不同IP核的功能,對目標(biāo)數(shù)據(jù)進行相應(yīng)處理。單一硬件平臺與多IP核的掛接集成,需要相應(yīng)機制來最終實現(xiàn)對不同IP核功能的靈活調(diào)用。通過IP功能調(diào)用機制,硬件平臺可以完成多個IP核對不同數(shù)據(jù)的同步運算處理,也可以單獨調(diào)用某一IP核進行數(shù)據(jù)處理。

基于上述多IP核集成設(shè)計要求,當(dāng)前文獻中已有的實現(xiàn)方法主要有:

方法一,使用第三方專用系統(tǒng)總線,實現(xiàn)多IP核集成。采用第三方專用系統(tǒng)總線,將不同IP核與總線掛接,實現(xiàn)多IP核集成。其優(yōu)點在于:專用系統(tǒng)總線功能強大,支持不同頻率、不同端口的IP核集成,能夠進行多個IP核對不同數(shù)據(jù)的同步運算處理,便于系統(tǒng)設(shè)計與實現(xiàn)。但由于需要采用第三方總線,因而芯片的研發(fā)成本會相應(yīng)增加。

方法二,為每個IP核配備專用雙端口數(shù)據(jù)存儲器,實現(xiàn)多IP核集成。采用配備雙端口存儲器可以滿足硬件平臺與IP核異頻處理要求,能夠?qū)崿F(xiàn)不同數(shù)據(jù)位寬之間的轉(zhuǎn)換,能夠進行多個IP核對不同數(shù)據(jù)的同步運算處理。在進行系統(tǒng)前端設(shè)計時,設(shè)計簡單且實現(xiàn)方便。但由于密碼服務(wù)是一個有序的過程,為每個 IP核均配備專用存儲區(qū),會造成系統(tǒng)資源浪費,且極大地增加了芯片后端設(shè)計中的布局布線難度。

在分析上述兩種集成方法基礎(chǔ)上,本文基于方法二,給出了一種改進的多IP核集成設(shè)計方法。方法采用IP橋接技術(shù),將同一雙端口存儲器與不同IP 核進行動態(tài)重構(gòu),實現(xiàn)多IP核集成。與方法一相比,采用IP橋接技術(shù)實現(xiàn)多IP核集成可以顯著減少芯片的研發(fā)成本;與方法二相比,改進方法不僅能夠有效整合芯片內(nèi)部資源,還可以降低系統(tǒng)功耗,提高芯片的整體性能。

2 IP橋接技術(shù)設(shè)計原理與具體實現(xiàn)

IP橋接技術(shù)的核心是IP橋(IP_bridge)的設(shè)計與實現(xiàn)。IP_bridge是主控制器與各IP核協(xié)處理器的連接橋梁,同時也是各IP核協(xié)處理器與專用雙端口存儲器的連接橋梁。

2.1 IP橋接技術(shù)設(shè)計原理

IP_bridge是IP橋接技術(shù)設(shè)計與實現(xiàn)的核心,是主控制器與各IP核協(xié)處理器,以及各IP核協(xié)處理器與專用雙端口存儲器之間的連接橋梁。為實現(xiàn)這一目的,IP_bridge需完成以下功能:IP核選擇參數(shù)譯碼;不同IP核與同一數(shù)據(jù)處理區(qū)的動態(tài)可重構(gòu);根據(jù)IP選擇參數(shù),配置選定IP核控制指令與運行時鐘。

在IP_bridge滿足上述設(shè)計要求的前提下,IP橋接技術(shù)具體設(shè)計原理可作如下表述:將各IP核與IP_bridge、 dual_ramx(雙端口存儲區(qū))整合為系統(tǒng)的一個密碼算法IP核重構(gòu)模塊,模塊輸入為系統(tǒng)輸出數(shù)據(jù)、地址、讀/寫使能、系統(tǒng)時鐘與IP時鐘、IP控制指令與IP選擇參數(shù),輸出為 IP核處理完成數(shù)據(jù)與協(xié)處理器運行狀態(tài)標(biāo)識。

在系統(tǒng)對某一IP核功能進行調(diào)用時,密碼算法IP 核重構(gòu)模塊按如下步驟進行操作:a.根據(jù)系統(tǒng)的輸入地址與讀/寫使能,將輸入的待處理數(shù)據(jù)存儲于 dual_ramx中;b.IP橋譯碼IP選擇參數(shù),重構(gòu)選定IP核控制指令為輸入的IP控制指令,dual_ramx為選定IP核數(shù)據(jù)處理區(qū).c.選定 IP核將duaLramx中數(shù)據(jù)讀入IP核內(nèi)部,根據(jù)IP控制指令,完成數(shù)據(jù)處理;d.選定IP核將已處理數(shù)據(jù)輸出到dual_ramx中,置相應(yīng)狀態(tài)完成信號為有效.e.系統(tǒng)判斷狀態(tài)信號有效,通過dual_ramx將處理完成數(shù)據(jù)讀出,完成IP功能調(diào)用。

與本文第一部分中方法二相比較,IP橋接技術(shù)增加了IP_bridge對選定IP核重構(gòu)數(shù)據(jù)處理區(qū)與控制指令這一過程。該設(shè)計可以實現(xiàn)不同IP 核與 dual_ramx的動態(tài)重構(gòu),通過引入IP橋,對IP核調(diào)用指令進行解釋,進而配置被調(diào)用IP核的地址、數(shù)據(jù)、指令與時鐘等各種接口信號,完成系統(tǒng)對 IP核的功能調(diào)用。不同IP核與同一數(shù)據(jù)處理區(qū)的動態(tài)可重構(gòu)可以有效節(jié)省片內(nèi)存儲資源,提高存儲區(qū)利用效率。

采用IP橋接技術(shù)實現(xiàn)密碼算法多IP核集成,不僅可能節(jié)省系統(tǒng)資源消耗,在密碼服務(wù)提供方面也具有一定優(yōu)勢。密碼服務(wù)通常是一個有序的過程,在提供密碼服務(wù)時,由于減少了在不同IP專用數(shù)據(jù)處理區(qū)之間的數(shù)據(jù)轉(zhuǎn)移操作,因而可以有效提高系統(tǒng)對數(shù)據(jù)的處理效率。例如,在完成一次簽名服務(wù)時,一般先對簽名數(shù)據(jù)進行雜湊值運算,再調(diào)用公鑰密碼算法對雜湊結(jié)果進行簽名,完成對簽名數(shù)據(jù)的簽名服務(wù)。在這一過程中,將簽名服務(wù)作為一個完整的基本服務(wù)功能進行調(diào)用,系統(tǒng)將簽名數(shù)據(jù)寫入dual_ramx后,僅需完成對IP選擇參數(shù)的配置與完成信號的判斷操作,便可實現(xiàn)數(shù)據(jù)簽名,極大地簡化了系統(tǒng)在向外提供密碼服務(wù)時的軟件控制過程,提高了服務(wù)的完成效率。相比較于方法二,所要完成的密碼服務(wù)越復(fù)雜,這一優(yōu)勢越明顯。

2.2 IP橋接技術(shù)具體實現(xiàn)

以2.1中IP橋接技術(shù)設(shè)計原理為指導(dǎo),本文在一個8位SoC系統(tǒng)上實現(xiàn)了TDES、SHA1、RSA三個IP核的系統(tǒng)集成設(shè)計。為簡化 IP_bridge設(shè)計,三個IP核的數(shù)據(jù)位寬均統(tǒng)一為32位,執(zhí)行頻率統(tǒng)一為50 MHz。圖1為密碼算法IP核重構(gòu)區(qū)RTL圖。

基于IP橋接技術(shù)實現(xiàn)密碼算法多IP核集成的應(yīng)用方案設(shè)計

如圖1所示,密碼算法IP核重構(gòu)區(qū)由TDES、SHA1、RSA三個IP核與IP_bridge、asis_ramx共同構(gòu)成,根據(jù)輸入的控制參數(shù),完成同一雙端口存儲區(qū)與不同IP核之間的動態(tài)重構(gòu)。其輸入輸出如表1所列。

以調(diào)用SHA1為例,系統(tǒng)完成對數(shù)據(jù)塊雜湊值計算的操作步驟為:

MCU執(zhí)行指令

MOV FUNCCHOOSE,#05H

選擇當(dāng)前調(diào)用IP核為SHA1。

②將一個16字節(jié)待處理數(shù)據(jù)塊輸入雙端口存儲區(qū)asis_ramx中,此時輸入數(shù)據(jù)長度必須為16字節(jié)。

③執(zhí)行指令

MOV INSTUCT,#80H

MOV INSTRUCT,#01H

前一條指令將SHA1進行復(fù)位,后一條指令使能SHA1,將待處理數(shù)據(jù)讀入IP核內(nèi)部寄存器,進而對其進行SHA1運算處理。

④對FUNCSTATE最低位進行判斷,為1時輸入下一個16字節(jié)數(shù)據(jù)塊,執(zhí)行指令

MOV INSTRUCT,#01H

復(fù)位SHA1完成信號,繼續(xù)進行SHA1運算處理。

⑤最后一個16字節(jié)數(shù)據(jù)塊輸入,執(zhí)行指令

MOV INSTRUCT,#01H

判斷FUNCSTATE最低位,為1時讀出雙端口存儲區(qū)中處理完成數(shù)據(jù)。

⑥執(zhí)行指令

MOV INSTRUCT,#00H

關(guān)閉SHA1協(xié)處理器,完成SHA1調(diào)用。

對TDES及RSA的功能調(diào)用類似于SHA1,僅在指令配置時稍有不同。TDES增加了密鑰生成過程的指令配置與完成信號判斷,RSA增加了對模長與模冪的參數(shù)配置。由上可知,與方法二相比較,IP橋接技術(shù)在調(diào)用實現(xiàn)IP核功能時,需要增加的僅為一條IP選擇參數(shù)配置指令。

3 測試與仿真

本文采用軟件仿真與FPGA下載測試兩種手段,對2.2中的設(shè)計進行了功能正確性驗證。圖2給出了該設(shè)計中IP_bridge在quartus II 5.0下的仿真波形圖。

在圖2中,F(xiàn)UNCCHOOSE為系統(tǒng)功能區(qū)的IP選擇參數(shù)輸入,INSTRUCT為IP控制指令。當(dāng)IP選擇參數(shù)值為07H、06H、05H 時,對應(yīng)的選定IP為RSA、TDES、SHA1。以選定SHA1為例,當(dāng)IP選擇參數(shù)為05H時,IP_bridge模塊重構(gòu)asis_ramx為 SHA1專用數(shù)據(jù)處理區(qū),且此時SHA1控制指令shal_instruct_o被配置為當(dāng)前IN-STRUCT值,完成對SHA1的接口配置;當(dāng)IP選擇參數(shù)為 06H、07H時,IP_bridge置SHA1控制指令shal_in-struct_o為00H,使SHA1協(xié)處理器處于休眠狀態(tài)。對 IP_bridge仿真波形圖的分析表明,其邏輯功能正確。由于在初次FPGA下載測試時發(fā)現(xiàn),允許IP_bridge對IP核進行時鐘配置會導(dǎo)致協(xié)處理器功能不穩(wěn)定,因而取消了IP_bridge的IP核時鐘配置功能。除此以外,其余部分均滿足本文2.1中的功能要求。

為進一步驗證設(shè)計的正確性,本文選用Altera公司Cyclone II系列EP2C35F672C6器件,對其進行了FPGA下載測試。在初次測試時發(fā)現(xiàn),各IP核雖然可以完成功能調(diào)用,但執(zhí)行結(jié)果不穩(wěn)定,測試結(jié)果的最后5~10字節(jié)與標(biāo)準(zhǔn)測試對的結(jié)果不符。經(jīng)分析發(fā)現(xiàn),導(dǎo)致IP核功能錯誤的原因為IP_bridge在對時鐘進行配置時,會產(chǎn)生時鐘延遲。因此,取消了 IP_bridge的時鐘配置功能,在Qu-artus II 5.0下進行編譯仿真與綜合下載,再次進行FPGA下載測試。測試結(jié)果顯示,各IP核功能均正確無誤。采用選定器件,IP_bridge邏輯資源消耗為 200 LE,最大路徑延遲為16.838 ns。

結(jié)語

本文在總結(jié)多IP核集成設(shè)計方法的基礎(chǔ)上,提出了一種IP橋接技術(shù),用于實現(xiàn)多IP核集成;并以其為指導(dǎo),基于一個8位SoC系統(tǒng),具體實現(xiàn)了三個IP核集成。功能仿真與FPGA 測試表明該技術(shù)具備實際可行性,且相比較于現(xiàn)有多IP核集成方法,IP橋接技術(shù)具備可有效提高片內(nèi)資源利用率,降低系統(tǒng)功耗與開發(fā)成本等優(yōu)勢;其缺點在于,當(dāng)不同IP核的數(shù)據(jù)接口不一致時,IP_bridge的邏輯設(shè)計會比較復(fù)雜,且不能實現(xiàn)對IP核的變頻時鐘配置。初步分析表明,通過修改IP核的雙端口存儲區(qū)數(shù)據(jù)寫入環(huán)節(jié),延長數(shù)據(jù)寫入完成至done信號有效這一時間段,可解決這一問題。方法的有效性檢測與具體實現(xiàn),是筆者下一步工作的重點研究內(nèi)容。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16028

    瀏覽量

    176637
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1579

    瀏覽量

    149138
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA的IP使用技巧

    夠與所使用的FPGA平臺和開發(fā)工具無縫集成。 閱讀和理解IP的文檔 : 在使用IP之前,務(wù)必仔細(xì)閱讀和理解其提供的文檔,包括用戶手
    發(fā)表于 05-27 16:13

    基于IP的Viterbi譯碼器實現(xiàn)

    Viterbi譯碼的基本過程,接著根據(jù)Viterbi譯碼器IP的特點,分別詳細(xì)介紹了并行結(jié)構(gòu)、混合結(jié)構(gòu)和基于混合結(jié)構(gòu)的增信刪余3種Viterbi譯碼器IP的主要性能和使用方法,并通
    發(fā)表于 04-26 16:08

    ATM流量控制器IP的設(shè)計和實現(xiàn)

    控制機制對當(dāng)前變長分組骨干網(wǎng)的流量控制還是具有重要的參考價值,所以有必要對ATM的流量控制及其實現(xiàn)方式進行深入的研究。  IP是一段具有特定電路功能的硬件描述語言代碼,該程序與集成
    發(fā)表于 09-27 11:54

    基于IP的SoC接口技術(shù)

    引言隨著半導(dǎo)體技術(shù)的發(fā)展,深亞微米工藝加工技術(shù)允許開發(fā)上百萬門級的單芯片,已能夠?qū)⑾到y(tǒng)級設(shè)計集成到單個芯片中即實現(xiàn)片上系統(tǒng)SoC。IP
    發(fā)表于 06-11 05:00

    基于FPGA的數(shù)據(jù)采集控制器IP的設(shè)計方案實現(xiàn)方法研究

    此提供了新的解決方案。IP(IP Core)是具有特定電路功能的硬件描述語言程序,可較方便地進行修改和定制,以提高設(shè)計效率[3]。本文研究了基于FPGA的數(shù)據(jù)采集控制器
    發(fā)表于 07-09 07:23

    安全芯片中密碼算法IP集成方法有哪些?

    密碼算法IP集成要求及方法是什么IP
    發(fā)表于 04-28 06:43

    無線充方案IP6806 5W過QI認(rèn)證 全集成

    改變振蕩頻率從而調(diào)整線圈上的輸出功率。一旦 接收器上的電池充滿電時,IP6806 終止電力傳輸。IP6806 片內(nèi)集成驅(qū)動電路和全功率
    發(fā)表于 09-11 10:03

    基于NiosII處理器的通用AD IP的設(shè)計與實現(xiàn)

    提出了一種采用基于NiosII處理器的通用AD IP實現(xiàn)嵌入式數(shù)據(jù)采集系統(tǒng)的新方案。它能將市面上任意一款A(yù)D芯片制作成IP
    發(fā)表于 07-30 11:39 ?50次下載

    基于SOPC技術(shù)的異步串行通信IP的設(shè)計

    介紹了SoPC(System on a Programmable Chip)系統(tǒng)的概念和特點,給出了基于PLB總線的異步串行通信(UART)IP的硬件設(shè)計和實現(xiàn)。通過將設(shè)計好的UART IP
    發(fā)表于 03-05 17:53 ?63次下載
    基于SOPC<b class='flag-5'>技術(shù)</b>的異步串行通信<b class='flag-5'>IP</b><b class='flag-5'>核</b>的設(shè)計

    基于Xilinx_FPGA_IP的FFT算法的設(shè)計與實現(xiàn)

    利用FPGA的IP設(shè)計和實現(xiàn)FFT算法
    發(fā)表于 05-24 14:14 ?37次下載

    基于PCIIP Core的VeriIog HDL實現(xiàn)

    基于PCIIP Core的VeriIog HDL實現(xiàn)
    發(fā)表于 10-31 09:28 ?22次下載
    基于PCI<b class='flag-5'>橋</b><b class='flag-5'>接</b><b class='flag-5'>IP</b> Core的VeriIog HDL<b class='flag-5'>實現(xiàn)</b>

    萊迪思半導(dǎo)體推出全新的模塊化IP,能為客戶提供創(chuàng)建自定義視頻解決方案所需模塊

    萊迪思半導(dǎo)體公司推出7款全新的模塊化IP,支持屢獲殊榮的CrossLink FPGA產(chǎn)品系列,可為消費電子、工業(yè)和汽車應(yīng)用提供更高的設(shè)計靈活性。這些模塊化IP為客戶提供創(chuàng)建自定義
    發(fā)表于 07-22 12:09 ?776次閱讀

    萊迪思全新CrossLink可編程ASPP(pASSP)IP解決方案,可實現(xiàn)全新的視頻功能

    CSI-2的CrossLink演示平臺,設(shè)計工程師可實現(xiàn)全新的視頻功能。萊迪思致力于為消費電子、工業(yè)和汽車應(yīng)用提供
    發(fā)表于 07-22 12:48 ?1395次閱讀

    ip設(shè)計電路特點

    IP目前的IP設(shè)計已成為目前FPGA設(shè)計的主流方法之一,應(yīng)用專用集成電路(ASIC)或者可編輯邏輯器件(FPGA)的邏輯塊或數(shù)據(jù)塊。IP
    發(fā)表于 10-01 09:08 ?2411次閱讀

    HDLC協(xié)議IP的設(shè)計與實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《HDLC協(xié)議IP的設(shè)計與實現(xiàn).pdf》資料免費下載
    發(fā)表于 11-08 15:45 ?2次下載
    HDLC協(xié)議<b class='flag-5'>IP</b><b class='flag-5'>核</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>