亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多協(xié)議仲裁加解密讀寫CPU內(nèi)存的IP核設(shè)計(jì)

        2020-05-22 12:32:36王瑞雪覃海洋

        羅 平,王瑞雪,覃海洋

        (重慶大學(xué)城市科技學(xué)院 電氣信息學(xué)院,重慶 402167)

        0 引 言

        芯片IP核內(nèi)部可能有多個(gè)訪存通路,同步高效地控制多個(gè)協(xié)議完成對(duì)內(nèi)存的安全讀寫變得愈加重要。嵌入式CPU大都采用簡(jiǎn)單優(yōu)先級(jí)反轉(zhuǎn)仲裁或固定優(yōu)先級(jí)仲裁算法來完成對(duì)多協(xié)議訪存請(qǐng)求仲裁,即按固定的規(guī)律來對(duì)內(nèi)存訪問請(qǐng)求進(jìn)行仲裁[1],這種方法很容易導(dǎo)致緊急的訪存請(qǐng)求被阻塞或者某一個(gè)協(xié)議請(qǐng)求一直無法得到及時(shí)響應(yīng),這極大降低了CPU的訪存效率。雖然一些仲裁器采用了動(dòng)態(tài)優(yōu)先級(jí)調(diào)整算法,即根據(jù)主設(shè)備訪問不同從設(shè)備,調(diào)整自身的優(yōu)先級(jí),以提高總線的傳輸效率,但其本質(zhì)上還是一種固定優(yōu)先級(jí)[2]。同時(shí),雖然大多數(shù)CPU有采用內(nèi)存保護(hù)功能來防止非法用戶讀寫內(nèi)存數(shù)據(jù),但是數(shù)據(jù)依然有被讀出的可能性,傳統(tǒng)的保護(hù)方法著重于防止數(shù)據(jù)被讀出,但是一旦數(shù)據(jù)被非法獲得,數(shù)據(jù)內(nèi)容將是明文呈現(xiàn)給非法用戶[3]。

        基于這類實(shí)際問題,本文設(shè)計(jì)并實(shí)現(xiàn)了一種能夠飽和仲裁控制多協(xié)議對(duì)CPU內(nèi)存單元進(jìn)行高效偽隨機(jī)加解密讀寫的數(shù)字電路。

        1 系統(tǒng)整體框架

        整個(gè)設(shè)計(jì)主要包含同步邏輯,仲裁邏輯,加密邏輯,自定義訪存邏輯,圖1是系統(tǒng)整體框架。

        如圖1所示,訪存協(xié)議0和訪存協(xié)議1均對(duì)內(nèi)存有讀寫需求,訪存協(xié)議0來自于時(shí)鐘域0,訪存協(xié)議1和內(nèi)存都處于時(shí)鐘域1。同步握手協(xié)議模塊用于在兩個(gè)協(xié)議同時(shí)發(fā)起請(qǐng)求時(shí),將訪存協(xié)議0的請(qǐng)求同步到時(shí)鐘域1來;飽和仲裁模塊可對(duì)訪存協(xié)議0和訪存協(xié)議1的訪存請(qǐng)求進(jìn)行飽和仲裁,根據(jù)仲裁結(jié)果對(duì)某個(gè)協(xié)議進(jìn)行訪問授權(quán);LFSR(linear feedback shifter register)偽隨機(jī)加密發(fā)生器[4]、POLY和地址提取模塊完成對(duì)訪存讀寫數(shù)據(jù)進(jìn)行加解密操作;自定義訪存協(xié)議模塊實(shí)現(xiàn)對(duì)內(nèi)存的直接讀寫訪存;所模塊功能均在狀態(tài)機(jī)的控制下實(shí)現(xiàn)。

        圖1 系統(tǒng)整體框架

        2 功能實(shí)現(xiàn)

        2.1 跨時(shí)鐘域握手協(xié)議

        因?yàn)樵诒敬卧O(shè)計(jì)中,協(xié)議0和協(xié)議1分別屬于兩個(gè)時(shí)鐘域,所以訪存請(qǐng)求也來自于不同的時(shí)鐘域,為了消除可能出現(xiàn)的競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象,需要對(duì)其進(jìn)行同步,同時(shí)為了正確的傳輸控制請(qǐng)求信號(hào),采用握手協(xié)議。跨時(shí)鐘域握手協(xié)議如圖2所示。

        圖2 跨時(shí)鐘域握手協(xié)議

        協(xié)議0處在時(shí)鐘域0,協(xié)議1與內(nèi)存控制邏輯均處在時(shí)鐘域1。因此,為了保證協(xié)議0訪存請(qǐng)求的正確性,先要將在時(shí)鐘域0的協(xié)議0同步到時(shí)鐘域1,采用兩級(jí)寄存器打拍進(jìn)行,具體的做法是用另一邊的時(shí)鐘去捕捉對(duì)面時(shí)鐘域的請(qǐng)求信號(hào),通過使用兩級(jí)寄存器來減小亞穩(wěn)態(tài)發(fā)生的幾率,以實(shí)現(xiàn)將兩個(gè)請(qǐng)求信號(hào)同步到一個(gè)時(shí)鐘域進(jìn)行處理。當(dāng)時(shí)鐘域1捕捉到協(xié)議0的請(qǐng)求req后,將響應(yīng)信號(hào)ack傳回時(shí)鐘域0,此時(shí)也采用兩級(jí)寄存器打拍進(jìn)行同步,當(dāng)時(shí)鐘0域捕捉到響應(yīng)信號(hào)后,方可釋放請(qǐng)求信號(hào),這樣既可以抑制亞穩(wěn)態(tài)的傳輸,又可以正確地傳輸控制信號(hào)。

        2.2 飽和仲裁算法

        對(duì)于CPU訪存過程,一個(gè)優(yōu)秀的仲裁算法,當(dāng)具有一定的預(yù)測(cè)能力,如此才能更加精準(zhǔn)高效給出總線控制權(quán)。當(dāng)協(xié)議0和協(xié)議1同時(shí)請(qǐng)求內(nèi)存訪問時(shí),因?yàn)閮?nèi)存訪問操作都具有連續(xù)性,若采用傳統(tǒng)的仲裁算法,會(huì)導(dǎo)致協(xié)議0和協(xié)議1的訪存操作在中途被對(duì)方頻繁打斷,相互阻塞,會(huì)嚴(yán)重地降低CPU的執(zhí)行效率[5]。所以基于此現(xiàn)象,提出了飽和仲裁算法進(jìn)行優(yōu)先級(jí)仲裁。飽和仲裁器包含一個(gè)飽和計(jì)數(shù)器,其為一種有4個(gè)狀態(tài)的2位飽和計(jì)數(shù)器,可分為協(xié)議0弱執(zhí)行(P=2′b01)、協(xié)議0強(qiáng)執(zhí)行(P=2′b00)、協(xié)議1弱執(zhí)行(P=2′b10)、協(xié)議1強(qiáng)執(zhí)行(P=2′b11)這4種狀態(tài),當(dāng)一個(gè)訪存請(qǐng)求被執(zhí)行,對(duì)應(yīng)的狀態(tài)機(jī)被修改。請(qǐng)求不執(zhí)行,則向“弱執(zhí)行”方向降低狀態(tài)值;如果請(qǐng)求被執(zhí)行,則向“強(qiáng)執(zhí)行”方向提高狀態(tài)值。這種方法的特點(diǎn)是,某一個(gè)訪存請(qǐng)求必須連續(xù)兩次不被執(zhí)行,才能從強(qiáng)狀態(tài)翻轉(zhuǎn),從而改變執(zhí)行狀態(tài)。飽和仲裁算法如圖3所示。

        圖3 飽和仲裁算法

        若上電復(fù)位處于協(xié)議0弱執(zhí)行狀態(tài)(P=2′b01),此時(shí),只要協(xié)議0請(qǐng)求(Req0=1′b1)到來,則必選擇執(zhí)行協(xié)議0請(qǐng)求,且由協(xié)議0弱執(zhí)行狀態(tài)跳轉(zhuǎn)為協(xié)議0強(qiáng)執(zhí)行狀態(tài)(P=2′b00)。處于協(xié)議0強(qiáng)執(zhí)行狀態(tài)時(shí),只要協(xié)議0請(qǐng)求到來,則必選擇執(zhí)行協(xié)議0請(qǐng)求,并維持執(zhí)行狀態(tài)機(jī)不變;若此時(shí)只有協(xié)議1請(qǐng)求((Req0=1′b0)&(Req1=1′b1))到來,則選擇執(zhí)行協(xié)議1請(qǐng)求,且狀態(tài)由0強(qiáng)執(zhí)行狀態(tài)跳轉(zhuǎn)為0弱執(zhí)行狀態(tài),可以此類推其它剩余狀態(tài)。通過簡(jiǎn)單推算,以傳統(tǒng)的輪詢算法作比較,假定A和B協(xié)議每次連續(xù)訪存操作次數(shù)相等,那么采用飽和此仲裁算法,CPU的訪存效率為傳統(tǒng)輪詢算法的兩倍;以固定優(yōu)先級(jí)算法作比較,假定A的優(yōu)先級(jí)高于B的優(yōu)先級(jí),且A是B協(xié)議每次連續(xù)訪存操作次數(shù)的兩倍,在最佳情況下,采用此飽和仲裁算法,CPU的訪存效率為固定優(yōu)先級(jí)算法的3倍。由此可見,由于CPU訪存具有連續(xù)性,此飽和仲裁算法正是利用這一特點(diǎn)進(jìn)行預(yù)測(cè)仲裁,這是它的核心所在[6]。

        2.3 以地址為種子的偽隨機(jī)加解密算法

        主流的加密算法(如RSA,MD5,DES等),安全性能較高,但是對(duì)于通用型數(shù)字SOC芯片而言,若集成此類IP,會(huì)加大芯片成本和復(fù)雜度[7]。因此,為了保護(hù)內(nèi)存中的數(shù)據(jù)和代碼,可采用偽隨機(jī)加密算法對(duì)其進(jìn)行加密。因?yàn)镃PU訪存與地址強(qiáng)相關(guān),所以利用地址作為種子的偽隨機(jī)加解密算法為較好的選擇。如圖4所示。

        圖4 加解密框架

        先對(duì)地址進(jìn)行鎖存和不規(guī)則的變換處理,然后使用LFSR偽隨機(jī)序列產(chǎn)生器產(chǎn)生偽隨機(jī)數(shù),LFSR即是線性反饋移位寄存器,由移位寄存器和組合邏輯反饋組成,給定前一狀態(tài)的輸出,將該輸出的線性函數(shù)再用作輸入的移位寄存器。在數(shù)字電路實(shí)現(xiàn)中,一個(gè)n階的LFSR由n個(gè)D觸發(fā)器和若干個(gè)異或門組成,為便于設(shè)計(jì),此設(shè)計(jì)中采用EE型LFSR,其多項(xiàng)式如式(1)所示

        G(x)=gmxm+gm-1xm-1+…g1x+g0

        (1)

        與公式所對(duì)應(yīng)的數(shù)字電路如圖5所示。

        圖5 LFSR多項(xiàng)式電路

        其中g(shù)m為反饋系數(shù),取值只能為0或者1,取為0時(shí)表明不存在該反饋電路,取為1時(shí)表明存在該反饋電路,g0恒為1。由此可知,LFSR需要多個(gè)時(shí)鐘周期的移位才能產(chǎn)生偽隨機(jī)序列,若按此進(jìn)行設(shè)計(jì),會(huì)極大降低CPU的訪存效率。因此,在此設(shè)計(jì)中,為了保證訪存效率,可將Dm~D0設(shè)定為固定值,而將變換后的地址代替其直接作為輸入,一個(gè)周期后從Qm~Q0得到輸出,而地址會(huì)時(shí)刻變化且內(nèi)部進(jìn)行變換,這樣的話,既保證了數(shù)據(jù)的隨機(jī)性,又保證了數(shù)據(jù)在一個(gè)時(shí)鐘周期內(nèi)加解密完成,然后用產(chǎn)生的偽隨機(jī)序列與可配置的二項(xiàng)式POLY相加,將得到的結(jié)果與讀寫數(shù)據(jù)進(jìn)行異或操作,從而實(shí)現(xiàn)對(duì)內(nèi)存單元內(nèi)數(shù)據(jù)的加密寫入和解密讀出,其中POLY為一個(gè)可配置寄存器值,這樣的話,用戶可根據(jù)需求,隨時(shí)微調(diào)加密算法,極大地保護(hù)內(nèi)存數(shù)據(jù)的安全[8]。例如,若數(shù)據(jù)和訪存地址均為32位,初始Dm~D0設(shè)為32′h87654321,訪存地址變換后為32′h75318642,那么與之所對(duì)應(yīng)的偽隨機(jī)數(shù)列輸出為32′hf254c563,POLY設(shè)為32′h92413,非加密數(shù)據(jù)為32′h80,那么加密后的數(shù)據(jù)應(yīng)為32′hf25de9f6。由此可見,將訪存地址和偽隨機(jī)數(shù)列強(qiáng)相關(guān)起來,且修改LFSR的用法,可以實(shí)現(xiàn)在一個(gè)時(shí)鐘周期內(nèi)完成對(duì)內(nèi)存數(shù)據(jù)的高效加解密。

        2.4 自定義內(nèi)存訪問協(xié)議

        圖6為自定義內(nèi)存訪問協(xié)議,其特性包括:寫為單周期,讀為雙周期;無需等待周期或回應(yīng)信號(hào);支持字節(jié)寫入;控制信號(hào)簡(jiǎn)單。

        圖6 自定義寄存器配置協(xié)議

        clk為自定義協(xié)議時(shí)鐘,上升沿有效。sel為讀寫使能信號(hào),當(dāng)其為高時(shí),內(nèi)存處于可讀寫狀態(tài)。addr為訪問地址,決定讀寫內(nèi)存的位置。wr為讀寫選擇信號(hào),當(dāng)其為高時(shí),為寫操作;為低時(shí),為讀操作。be為寫數(shù)據(jù)byte enable信號(hào),可以控制其完成對(duì)字的部分寫入。wdata為寫數(shù)據(jù),僅當(dāng)wr為高時(shí)有效。rdata為讀數(shù)據(jù),當(dāng)wr為低時(shí),讀數(shù)據(jù)在下一個(gè)周期輸出有效,這是因?yàn)閮?nèi)存需要一個(gè)時(shí)鐘周期來鎖存讀地址和準(zhǔn)備數(shù)據(jù),然后在下一個(gè)時(shí)鐘周期才能輸出數(shù)據(jù)[9]。

        3 功能性仿真

        為了測(cè)試加密算法效果,對(duì)加密算法搭建相應(yīng)的python模型進(jìn)行仿真,如圖7所示。其中,圓點(diǎn)代表原始打算寫入數(shù)據(jù),其值為步長為1的等差序列數(shù)據(jù),三角形代表加密后的數(shù)據(jù)。橫坐標(biāo)為要訪問的地址,縱坐標(biāo)為數(shù)據(jù)值。由圖可見,以地址為種子的偽隨機(jī)加解密算法能夠高效安全地完成對(duì)原始數(shù)據(jù)的隨機(jī)加密。

        圖7 加密算法仿真

        完成RTL代碼設(shè)計(jì)后,編寫了Testbench、Testpattern和Tracer,并對(duì)設(shè)計(jì)進(jìn)行功能性仿真。仿真過程中需要產(chǎn)生FSDB波形文件,然后導(dǎo)入波形觀測(cè)軟件[10]。仲裁邏輯電路,需要觀察兩種訪存請(qǐng)求發(fā)生時(shí),是否能正確完成仲裁,部分仿真波形如圖8所示。

        圖8 仲裁器仿真波形

        其中,clk和rst_n分別為系統(tǒng)時(shí)鐘和系統(tǒng)復(fù)位信號(hào);P_reg 為權(quán)重寄存器;grant_TWP表示當(dāng)前仲裁結(jié)果;twp_req_keep 和cfg_req分別為協(xié)議0請(qǐng)求和協(xié)議1請(qǐng)求信號(hào),可見其在飽和仲裁算法的控制下,高效實(shí)現(xiàn)了兩種協(xié)議的仲裁響應(yīng)。加密邏輯電路,需要觀測(cè)原始數(shù)據(jù)是否被正確加密,部分仿真波形如圖9所示。

        圖9 加密器仿真波形

        圖10 自定義協(xié)議仿真波形

        其中,cfg_addr為讀寫地址;cfg_rdata、cfg_wdata為讀寫數(shù)據(jù);cfg_cmd為讀寫請(qǐng)求,可見在用戶自定義協(xié)議規(guī)范下能夠精準(zhǔn)完成內(nèi)存的讀寫。

        4 結(jié)束語

        本文設(shè)計(jì)并實(shí)現(xiàn)了一種能夠仲裁控制多協(xié)議對(duì)CPU內(nèi)存單元進(jìn)行高效加解密讀寫的數(shù)字IP,提出了飽和仲裁算法和以地址為種子的偽隨機(jī)加密算法,設(shè)計(jì)了自定義的訪存協(xié)議。區(qū)別于傳統(tǒng)訪存電路設(shè)計(jì),該設(shè)計(jì)能夠更加高效安全地實(shí)現(xiàn)多協(xié)議內(nèi)存訪問,且設(shè)計(jì)在55 nm SOC芯片項(xiàng)目中得到驗(yàn)證,在CPU主頻200 MHz情況下,多協(xié)議訪存正常。依照文中設(shè)計(jì)思路,可在此基礎(chǔ)上擴(kuò)展更多的訪存協(xié)議,以實(shí)現(xiàn)多協(xié)議對(duì)內(nèi)存的高效安全訪問,或?qū)⒃O(shè)計(jì)應(yīng)用于其它讀寫控制,如Flash訪問控制。同時(shí),可以根據(jù)不同的訪存場(chǎng)景,修改飽和計(jì)數(shù)器的寬度,實(shí)現(xiàn)不同協(xié)議間優(yōu)先級(jí)的彈性選擇。

        亚洲中文字幕无码中文字在线| 国产精品女人一区二区三区| 亚洲天堂av黄色在线观看| 大肉大捧一进一出好爽视频动漫| 中文成人无码精品久久久不卡| 午夜亚洲AV成人无码国产| 国产在线看不卡一区二区| 免费人成视频网站在线不卡| 欧美成人片在线观看| 亚洲欧美日韩国产一区| 日本一区不卡高清在线观看 | 日本一区二区在线播放视频| 天天夜碰日日摸日日澡性色av| 免费人成视频x8x8| 国产人成无码视频在线1000| 永久免费观看的黄网站在线| 国产成人精品999视频| 四虎影视一区二区精品| 久久精品国产亚洲av麻豆四虎| 在线播放国产自拍av| 末成年女a∨片一区二区| 免费在线亚洲视频| 我和丰满老女人性销魂| 国产精品黑丝高跟在线粉嫩| 亚洲97成人精品久久久| 国产亚州精品女人久久久久久| 欧美日韩精品一区二区在线观看| 亚洲欧美另类日本久久影院| 草逼视频免费观看网站| 欧美熟妇性xxx交潮喷| 91制服丝袜| 一区二区三区手机看片日本韩国| 精品国产精品三级精品av网址| 国产精品成人一区二区三区| 久久精品国产亚洲AⅤ无码剧情 | 91久久精品人妻一区二区| 国产三级久久精品三级91| 乱人伦中文无码视频在线观看| 91精品久久久久含羞草| 国产自拍视频免费在线观看| 久久久无码精品亚洲日韩蜜臀浪潮|