當前位置: 華文星空 > 體育

FPGA芯片的PUF設計

2023-04-22體育

近年來,透過對FPGA底層結構的研究,出現了一些專用於FPGA芯片的PUF設計。

便於讀者對後續設計的理解,在對於這些設計進行介紹前,先對FPGA底層邏輯部件的基本概念和基本結構進行簡要說明。下面先介紹幾個基本的邏輯部件。

(1)可配置邏輯塊(Configurable Logic Block,CLB),CLB是邏輯單元的小規模編組,是FPGA中主要的邏輯資源。CLB在PL中通常排列為二維陣列,並透過可編程互聯與其他類似的資源連線。一個CLB單元中共含有兩個邏輯片(Slice)。

(2)片(Slice),片是CLB裏的一個子單元,裏面有能夠實作組合邏輯電路和時序邏輯電路的底層資源。Zynq系列的片結構是由尋找表、進位邏輯和觸發器組成。

片結構主要分為兩種,SLICEL與SLICEM,SLICEL的尋找表僅能配置為一般邏輯,而SLICEM除基本邏輯功能外還能配置為移位寄存器或者配置為分布式的RAM。這兩種Slice通常按列交叉排布。

fpga的套用是這些年的熱門。基於高速儲存的芯片能解決很多亟待的工程問題。我們可以學習到很多嵌入式的新知識,有需要的朋友可以來私信我,我來給大家一些資料。

(3)尋找表(Lookup Table,LUT),尋找表本質上是一個儲存結構,是靈活的可配置資源,配置時提前運算好各種可能的結果,使用時用查詢代替執行,能明顯提升運算速度。尋找表能實作多種形式。

包括至多6輸入的邏輯函數、唯讀記憶體(ROM)、隨機存取記憶體(RAM)或移位寄存器。通常情況下,LUT將會根據實際需求組合成各種規模的邏輯函數、記憶體或移位寄存器。

(4)觸發器(Flip-flop,FF),觸發器是一個能夠實作1位邏輯寄存的時序電路,並帶有復位功能。FF能當做寄存器或鎖存器使用。

(5)開關矩陣(Switch Matrix),在每個CLB旁都有一個開關矩陣,開關矩陣利用其實作靈活的布線功能,將CLB內的單元與其內部其他單元和邏輯陣列中其他資源進行連線。

(6)進位邏輯(Carry Logic),通常用來實作算術電路在相鄰片結構之間的訊號傳遞。進位邏輯透過把布線和復用器組合成鏈條形式來連線一個垂直列上的片。

圖描述了Xilinx最新的7系列28nm FPGA芯片的底層架構。其基本組成邏輯單元為CLB,在芯片上以二維陣列排布,可以透過可編程的互連矩陣相連。

一個CLB主要包含兩個SLICE,每個SLICE主要包含4個6輸入LUT,一個進位器(圖中虛線框內部份CARRY4),8個觸發器。

其中6輸入LUT可以實作任意的6變量邏輯功能,而CARRY4用來實作快速算術操作。

每個LUT與進位器中一個位置響應的二選一開關相連,LUT的輸出為二選一開關提供選擇訊號。

四個二選一開關級聯,下面開關的輸出作為上面開關的其中一個輸入,另一個輸入由SLICE外得到。