当前位置: 华文星空 > 体育

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外得到。