国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于FPGA的低開銷的ROPUF電路結構的制作方法

      文檔序號:11231097閱讀:812來源:國知局
      一種基于FPGA的低開銷的RO PUF電路結構的制造方法與工藝
      本發(fā)明涉及信息安全與硬件安全領域,特別是在芯片認證、密鑰生成領域,通過在fpga內(nèi)設計puf電路,使得能夠利用這種電路將片內(nèi)器件延時的微小差異轉換成一個芯片獨有的隨機序列碼,這種隨機序列碼可以用于芯片id的產(chǎn)生和密鑰的生成。此外,還可以用于集成電路ip核的保護方面。
      背景技術
      :隨著信息科技的發(fā)展,信息安全與硬件安全問題日益嚴峻。在超大規(guī)模在超大規(guī)模集成電路發(fā)展領域,知識產(chǎn)權(intellectualproperty,ip)核的復用大大減少了項目的開發(fā)周期,降低工程的開發(fā)難度;然而,隨之而來的ip核非授權盜版使用問題也日益突出。物理不可克隆函數(shù)是一種利用物理實體在被制造過程中所受的不可控偏差,輸出隨機唯一的二進制序列的函數(shù)。國外研究者已經(jīng)對物理不可克隆函數(shù)研究了十幾年,硅puf是近些年研究的比較熱的一類,它是一種物理不可克隆電路,它可以利用集成電路在制造過程中不可控的偏差造成的器件延時大小差異,來產(chǎn)生隨機的二進制序列。例如,ropuf是分別使用同樣數(shù)目的奇數(shù)個反相器構成若干個振蕩環(huán),在芯片的不同位置布置這些振蕩環(huán),由于芯片不同位置的器件同樣存在工藝偏差,導致不同位置的ro振蕩頻率很有可能不同,兩兩比較振蕩器的頻率大小,得到頻率差,用頻率差的正負來表示puf的二進制輸出,布置的ro越多,得到的puf輸出響應位數(shù)越多,消耗的硬件資源也越多。基于fpga平臺的puf研究中,ropuf受到廣大研究者的關注,因為ropuf實現(xiàn)時的基本器件比較簡單,布線要求不高,同時fpga中有豐富的計算單元和邏輯單元來統(tǒng)計和比較ro的頻率大小。有研究者提出如圖5所示的可重構ropuf,這種環(huán)形振蕩器的基本延時單元由兩個反相器和一個選擇器構成,通過選擇器的選擇位確定信號要經(jīng)過的反相器,實現(xiàn)ro的重構,進而改變ro的固有振蕩頻率;在配置選擇位時必須使上下兩支ro的對應配置位完全相同,才能保證兩支ro的組成結構完全相同,使頻率差異僅取決于芯片自身的工藝偏差。置位與門使能端,ro開始起振工作,通過計數(shù)器統(tǒng)計兩支ro的頻率,再通過比較器得到兩支ro的頻率差,得到puf的一位輸出響應。這種可重構ropuf在fpga上實現(xiàn)時,每個可配置延時單元都會占用一個lut,每個使能單元占用一個lut,從圖中可以看出至少需要16個lut才能實現(xiàn)兩支ro,得到一位的puf輸出響應,lut資源消耗很大。fpga中資源是有限的,不可能占用很多資源來實現(xiàn)puf電路。所以,必須從fpga現(xiàn)有的資源結構出發(fā),設計更加合理的適合fpga平臺的ropuf電路。技術實現(xiàn)要素:本發(fā)明的一個目的是提出一種基于fpga中具有雙輸出的lut6_2的低開銷的ropuf電路結構,這種ropuf電路硬件開銷更小,通用性更強,可以用于生成僅與芯片制造過程中不可控的偏差有關的真隨機序列作為芯片id或者密鑰生成器的可信隨機輸入數(shù)據(jù)。這種puf電路的基本單元是奇數(shù)階的雙輸出ro,這種ro由可配置延時單元即lut6_2組成,其內(nèi)部的兩個具有單輸出的lut5均被初始化為反相器和選擇器,用來選擇信號傳輸經(jīng)過哪個反相器。由于芯片生產(chǎn)過程中不可控的偏差,導致兩個反相器的信號時延大小不一樣;即便是同一芯片,在不同的區(qū)域實現(xiàn)反相器,它們的信號時延大小也存在差異。本發(fā)明利用fpga中l(wèi)ut6_2由兩個lut5組成的結構特點,設計的雙輸出ropuf電路比傳統(tǒng)ropuf電路節(jié)約近一半的lut資源。為實現(xiàn)上述目的,本發(fā)明采用的技術方案為一種基于fpga中l(wèi)ut6_2的低開銷的ropuf電路結構,該電路由一個雙輸出的使能單元和七個雙輸出的可配置延時單元組成。使能單元由兩個與門組成;兩個與門中的一個與門中的輸入相互連接,另外一個與門的輸入端分別與兩個振蕩環(huán)的反饋信號連接。可配置延時單元由兩個反相器和兩個二選一選擇器組成;兩路信號從與門輸出后接入該單元的兩個輸入,經(jīng)反相器反向后,分別接入選擇器的不同輸入端,信號從選擇器輸出后接入下一級可配置延時單元的兩個振蕩信號輸入端;最終,最后一級的可配置延時單元輸出信號反饋回使能單元的反饋輸入端如圖2所示,為發(fā)明的雙輸出ro結構原理圖,ro的使能信號在被置位前,與門的輸出始終為0,經(jīng)過奇數(shù)級反相器后,振蕩環(huán)的輸出始終為1,ro處于關閉狀態(tài);當使能信號被置位后,與門的輸出跟隨與門的另一個輸入,ro開始振蕩工作,輸出端開始測ro的振蕩頻率。通過配置激勵位x[i]控制信號是否交換反相器,i為ro低i位控制位,1≤i≤7,改變信號傳輸時延。為保證兩支振蕩環(huán)同時正常工作,雙輸出ro的配置位中1的個數(shù)應為偶數(shù)個,以形成上下兩支振蕩閉環(huán)。由雙輸出ro的原理可知,延時單元是一個三輸入二輸出的模塊,通過調整其內(nèi)反相器與選擇器的位置后,雙輸出ro的原理等價于圖3,將每個時延模塊中的反相器和選擇器調換一下位置,使信號進入時延模塊后先進入選擇器模塊,再經(jīng)過反相器,這樣便于下一步使用lut6_2中具有共同輸入端的lut5,實現(xiàn)時延模塊的功能。fpga的lut6_2內(nèi)部結構如圖1所示,兩個lut5共用lut6_2的五輸入地址線,在雙輸出ro中,組成其基本延時單元的兩個選擇器的輸入也是共用的。所以,為充分利用lut6_2的兩個lut5,將雙輸出ro的一個基本單元布置在一個lut6_2中。分配a1、a2為選擇器的兩個輸入端,a3為選擇器的控制端。如圖4所示,為發(fā)明的基于fpga基本邏輯單元,即lut6_2的1位響應puf電路的結構示意圖。圖4中僅描述了其中一個可配置延時單元的lut級內(nèi)部信號流向,其他可配置延時單元沒有一一列出lut級的描述。從圖4中看出,該雙輸出ro具有兩個輸出端,ro包含奇數(shù)個可配置延時單元。每個延時單元由一個lut6_2來實現(xiàn),而這種lut6_2是由兩個一模一樣的lut5組成的,如圖1所示。兩個lut5共用了lut6_2輸入的低五位,lut6_2的最高位通過一個選擇器控制output1的輸出,而output2一直輸出低位lut5的輸出d0。信號通過a1、a2進入lut6_2,在lut6_2內(nèi)部,輸入端a1的信號分別進入高位lut5的輸入a端和低位lut5的輸入a端;輸入端a2端信號分別進入高位lut5的輸入b端和低位lut5的輸入b端,兩個lut5的c端作為選擇器的控制端一起與lut6_2的a3端相連。雙輸出ro的可配置延時單元具有兩個lut5,要實現(xiàn)選擇反相器的功能,需要為lut6_2設置實現(xiàn)該功能的初值,64位初值的高32位為高位lut5的初值,應設為0x00000053;低32位為低位lut5的初值,應為0x00000035。雙輸出ro的使能單元為兩個與門,這兩個與門的其中一個輸入端互連,另外兩個輸入端分別接振蕩環(huán)的反饋信號,同樣,這兩個與門在兩個lut5中分別實現(xiàn),兩個lut5的初值應分別為0x000000a0、0x000000c0。本發(fā)明中可以通過配置位配置具有不同延時大小的反相器,組成兩支具有不同頻率的ro。在ro的兩個輸出端使用計數(shù)器統(tǒng)計各自的振蕩頻率;再使用比較器得到ro的頻率差,根據(jù)頻率差的正負,得到1位puf的輸出響應。通過在芯片的不同區(qū)域布置多個雙輸出ro單元,比較它們的固有頻率,就可以得到多位輸出的puf電路。由于本發(fā)明利用了具有雙輸出的lut,所以相比普通ropuf在fpga上的實現(xiàn),在構造同樣的輸出響應位數(shù)的puf電路時,硬件消耗會降低一半。附圖說明圖1是雙輸出ro的基本延時單元,以及l(fā)ut6_2的內(nèi)部結構圖,圖中還指明了基本延時單元各器件在lut中實現(xiàn)時的具體布置。圖2是發(fā)明的雙輸出ro的原理圖,由兩種單元組成:使能單元、延時單元。圖3是發(fā)明的雙輸出ro的等效原理圖,將反相器和選擇器調換位置,圖中示意了在特定輸入激勵下,雙輸出ro的兩支振蕩環(huán)內(nèi)部信號流向。圖4是在特定輸入激勵下,一位響應的雙輸出ropuf電路結構,圖中示例了其中一個可配置延時單元為lut層次的雙輸出ro中信號的流向圖,其中,lut6_2的最高位a6保持高,a3作為選擇控制位,a1、a2分別為振蕩環(huán)的信號輸入端。圖5是一種7階重構ropuf實現(xiàn)方案。表1是本發(fā)明的時延測量電路同圖5所示重構ropuf方案的綜合比較。具體實施方式通過采用本發(fā)明的在同一clb內(nèi)實現(xiàn)的雙輸出ro來構建環(huán)形振蕩器puf在fpga上的實現(xiàn)電路,其結構如圖4。圖中列出了其中一個延時單元在fpga實現(xiàn)時的lut層次電路設計,通過planahead工具,把組成振蕩環(huán)的每個延時單元,也即每個實現(xiàn)延時單元功能的lut6_2約束在fpga的同一個clb內(nèi)。信號經(jīng)過與門輸出后,進入兩個單輸出的lut,lut的a3位為控制位,決定哪路信號經(jīng)過本lut輸出。例如,圖中7位控制位的值為“1100000”,當控制位為1時,就要交叉選擇通路,通過圖中具有箭頭的實線和虛線顯示了兩支環(huán)形振蕩器的信號流向,可以看出前兩個延時單元的信號傳輸通路各發(fā)生了一次交叉互選通路的情況,后五個延時單元的控制位均為0,信號分別在上路和下路直線傳輸,不發(fā)生交叉互換的情況。本發(fā)明的雙輸出ropuf設計是基于lut6_2內(nèi)部結構是由兩個具有共同輸入的lut5組成的原理,這也是本發(fā)明所實現(xiàn)的ropuf電路比傳統(tǒng)ropuf電路硬件資源開銷少的重要原因。采用本發(fā)明在fpga上設計雙輸出ropuf的基本步驟如下:步驟1:使用原理圖方式設計具有使能控制位的7階雙輸出ro;步驟2:設置實現(xiàn)使能與門所用lut6_2的初值為0x000000c0_000000a0,設置實現(xiàn)延時單元所用lut6_2的初值為0x00000035_00000053;步驟3:綜合前兩步所設計的電路,獲取雙輸出ro的例化模板,并在程序中例化一個雙輸出ro;步驟4:使用planahead工具,將實現(xiàn)使能的lut6_2和實現(xiàn)7個延時單元的lut6_2約束在同一個clb內(nèi);步驟5:下載程序,通過串口發(fā)送七階雙輸出ro的7位配置位信息,例如配置為1100000;步驟6:置位雙輸出ro的使能端x[0],兩支振蕩環(huán)同時起振,開始通過計數(shù)器統(tǒng)計兩支ro的固有頻率;步驟7:置位使能100ms后,復位雙輸出ro的使能端x[0],通過比較器比較兩個頻率的大小,得到一位puf的輸出響應。為了說明本發(fā)明方案的積極效果,使用的spartan-6系列fpga平臺,對發(fā)明所提出的雙輸出ropuf設計進行了實現(xiàn),對本發(fā)明的七階雙輸出ropuf同圖5所示的七階重構ropuf進行了比較,表1給出了兩種puf的硬件開銷比較結果。從表1中可以看出本發(fā)明的puf輸出響應位在多于傳統(tǒng)ropuf的情況下,硬件資源消耗大大少于傳統(tǒng)ropuf,本發(fā)明僅使用同一clb內(nèi)的8個lut資源就形成了兩個七階的環(huán)形振蕩器,并且這種環(huán)形振蕩器還可以通過配置位實現(xiàn)重構。此外本發(fā)明是在fpga的單個clb內(nèi)實現(xiàn)了兩支ro,所用器件之間的連線不需要跨clb,減少了器件之間連線長度,間接地提高了puf的可靠性和安全性。從圖中還可以看出,在fpga上實現(xiàn)同階、相同輸出響應位數(shù)的puf電路時,本發(fā)明的硬件開銷僅為圖5七階重構ropuf實現(xiàn)所需硬件資源的50%。表1電路名ro階數(shù)puf響應位數(shù)lut邏輯資源雙輸出ropuf718重構ropuf7116當前第1頁12
      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1