CN112073062B - 一种基于fpga开关矩阵的可编程环形振荡器及puf结构 - Google Patents
一种基于fpga开关矩阵的可编程环形振荡器及puf结构 Download PDFInfo
- Publication number
- CN112073062B CN112073062B CN202010749120.7A CN202010749120A CN112073062B CN 112073062 B CN112073062 B CN 112073062B CN 202010749120 A CN202010749120 A CN 202010749120A CN 112073062 B CN112073062 B CN 112073062B
- Authority
- CN
- China
- Prior art keywords
- switch
- ring oscillator
- switch matrix
- fpga
- programmable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 230000005284 excitation Effects 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000010355 oscillation Effects 0.000 claims abstract description 10
- 238000003491 array Methods 0.000 claims abstract description 3
- 230000008054 signal transmission Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/099—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
- H03L7/0995—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator comprising a ring oscillator
- H03L7/0997—Controlling the number of delay elements connected in series in the ring oscillator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提出一种基于FPGA开关矩阵的可编程环形振荡器及PUF结构,本发明利用开关矩阵可以编程的特点,利用集成在FPGA中的大量开关矩阵来构成可重构环形振荡器,可重构环形振荡器由FPGA中的开关盒阵列排布形成的开关矩阵和至少一个逻辑门组成;每个开关盒由6个传输门和相应的6个可配置的SRAM组成,通过改变SRAM的值来对开关盒中传输门的通断进行配置;通过配置各个开关盒的SRAM的值在开关矩阵中形成环形振荡器电路,通过所述至少一个逻辑门用于向环形振荡器电路引入激励信号,并输出相应的震荡信号。本发明可以在使用相同的硬件资源的基础上产生更多激励响应对,提高硬件效率。
Description
技术领域
本发明涉及可重构环形振荡器物理不可克隆函数领域,尤其是一种基于FPGA开关矩阵的可编程环形振荡器及PUF结构。
背景技术
如今,物联网(IoT)技术迅猛发展,给人们的生活带来了巨大的改善,为人们创造了巨大的便利。但同时,无处不在的物联网设备也带来了严重的安全隐私方面的问题,这也是物联网行业发展中亟需解决的一个重要问题。物理不可克隆函数(PUF)已被广泛研究并应用于物联网的安全解决方案中,PUF的重要特征在于它的不可克隆性,其生成的激励响应对(CRP)仅受制造过程中引入的随机差异影响,即便是制造商也无法预测这些差异。
自PUF的概念被提出以来,各国研究者已经提出了大量不同的PUF电路结构。根据产生PUF响应的原理不同,可以将PUF分为仲裁器PUF,SRAM PUF和RO PUF等。其中,RO PUF是一种很适于在FPGA平台上实现的电路结构。为了解决RO PUF硬件利用效率低的问题,研究者进一步提出了可重构RO(CRO)PUF电路结构。在CRO PUF中,根据作为可重构单元的硬件资源的不同,可以将CRO PUF再细分为基于MUX的CRO PUF(RRO PUF)、基于异或门的CRO PUF(XCRO PUF)以及基于三态反相器的CRO PUF等。这些CRO PUF结构,相比于经典RO PUF,它们的硬件利用效率均有不同程度的提高。
PRO PUF与RRO PUF、XCRO PUF等结构产生激励响应对的原理相同,同属于环形振荡器PUF一类。但是,现有技术大多基于FPGA中的查找表(LUT)或多路选择器等硬件资源,这些资源不可变(变化时会改变逻辑功能),因此产生的激励响应非常有限,硬件利用率比较低。
发明内容
发明目的:为了克服现有技术的缺陷,本发明提出一种基于FPGA开关矩阵的可编程环形振荡器及PUF结构,本发明利用FPGA中的开关矩阵可被编程的特点,利用开关矩阵构建PUF结构,以达到使用相同的硬件资源产生更多激励响应对的目的,提高硬件效率。
技术方案:为实现上述目的,本发明一方面提出一种基于FPGA开关矩阵的可编程环形振荡器,所述可编程环形振荡器包括:由FPGA中的开关盒阵列排布形成的开关矩阵和至少一个逻辑门;
开关盒作为可编程环形振荡器中的延迟单元,每个开关盒由6个传输门和相应的6个可配置的SRAM组成,通过改变SRAM的值来对开关盒中传输门的通断进行配置:若SRAM的值为0,则相应的传输门关断;若SRAM的值为1,则相应的传输门打开,此时传输门两端被连接起来,形成一个可供信号传输的通路;
通过配置各个开关盒的SRAM的值在开关矩阵中形成环形振荡器电路,通过所述至少一个逻辑门用于向环形振荡器电路引入激励信号,并输出相应的震荡信号。
另一方面,本发明还提出一种基于FPGA开关矩阵的可编程PUF结构,所述可编程PUF结构包括:若干可编程环形振荡器、数字选择器MUX、第一计数器、第二计数器、比较器;
所述各个可编程环形振荡器配置为振荡频率互不相同的PRO基本单元,数字选择器MUX根据配置的激励选取任意两个PRO基本单元,将这两个PRO基本单元输出的震荡信号分别输入第一计数器、第二计数器以进行震荡次数统计;比较器对第一计数器、第二计数器的计数结果进行比较,生成数字信号“0”或“1”作为整个PUF结构的输出响应信号。
有益效果:与现有技术相比,本发明具有以下优势:
1.与现有的CRO PUF结构不同,本发明提出的PRO PUF利用了开关矩阵之间的延迟差异,丰富了延迟差异的来源;
2.成倍地增加可生成的激励响应对数量;
3.大幅度提高了硬件利用效率。
附图说明
图1为实施例1中涉及的PRO基本单元结构图;
图2为实施例1中涉及的一个2×2开关矩阵中形成信号传输路径的示意图;
图3为实施例1中涉及的PRO基本单元中信号传输路径重配置的过程示意图;
图4为实施例2涉及的可编程PUF结构示意图;
图5为实验结果对比图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
FPGA中的开关矩阵可以被编程为成百上千种不同的模式,并且这种改变不会影响实现的逻辑功能。本发明利用开关矩阵可以编程的特点,利用集成在FPGA中的大量开关矩阵来构成可重构环形振荡器(以下称为PRO基本单元),并提取这些PRO基本单元的延迟差异形成PUF的输出响应。通过本发明提出的方案,可以在使用相同硬件资源的前提下成倍地增加产生的激励响应对数量,同时还可以大幅提高硬件效率。
下面结合具体实施例和附图对本发明的技术方案进行进一步说明。
实施例1:
本实施例提出一种基于FPGA开关矩阵的可编程环形振荡器,所述可编程环形振荡器的结构如图1所示,包括:由FPGA中的开关盒阵列排布形成的开关矩阵和一个与门;
开关盒作为可编程环形振荡器中的延迟单元,每个开关盒由6个传输门和相应的6个可配置的SRAM组成,通过改变SRAM的值来对开关盒中传输门的通断进行配置:若SRAM的值为0,则相应的传输门关断;若SRAM的值为1,则相应的传输门打开,此时传输门两端被连接起来,形成一个可供信号传输的通路。通过对开关矩阵内开关盒的编程,可以改变信号在开关矩阵内的传输路径,每种不同的传输路径对应各自独特的路径延时。完成对所有开关盒的配置后,整个开关矩阵就形成了从一个输入引脚到一个或多个输出引脚的通路。PRO基本单元中逻辑门的作用是控制整个单元的工作状态,在本实施例中,逻辑门为一个与门,此时的作用是引入控制信号;除此之外,也可以在与门前再加入几个异或门,异或门的作用是引入更多的激励输入。
图2给出了在一个2×2开关矩阵中形成信号传输路径的示例。4个开关盒分别被编号为S(1,1),S(1,2),S(2,1),S(2,2)。将S(1,1)的中下,S(2,1)的右上,S(2,2)的左上和S(1,2)的右下SRAM的值设置为1,形成了图2中所示的信号传输路径。除了这条路径外,这个可编程延迟单元还可以形成多条不同的路径。
除了图1中的逻辑门可能需要引入的激励位,外部输入的激励信号更多地用于控制PRO PUF基本单元的配置,以选择开关矩阵中的信号传输路径。每个传输路径都有一个唯一对应的配置文件,根据输入的激励信号,系统会选择相应的配置文件来配置PRO PUF基本单元。例如,在输入激励Ci后,系统会根据第Ci个配置文件配置PRO基本单元。图3展示了一个PRO基本单元重配置的过程。PRO基本单元开始时由配置文件①配置,并分别在芯片A和芯片B的开关矩阵中的得到两条不同的传输路径RA和RB。重配置后,PRO PUF基本单元由配置文件②决定,并得到两条新的传输路径R′A和R′B。
实施例2:
本实施例还提出一种基于FPGA开关矩阵的可编程PUF结构,其结构如图4所示,包括:2l个PRO基本单元,这2l个PRO基本单元分为两组,第一组为PRO基本单元1至PRO基本单元l,第二组为PRO基本单元l+1至PRO基本单元2l;还包括第一计数器、第二计数器、第一多路选择器、第二多路选择器和比较器。
由于制造工艺的差异,这2l个PRO基本单元的振荡频率互不相同。
第一多路选择器从第一组PRO基本单元中选择一个,将所选PRO基本单元的输出信号送入第一计数器;
第二多路选择器从第二组PRO基本单元中选择一个,将所选PRO基本单元的输出信号送入第二计数器;
第一计数器、第二计数器分别进行震荡次数统计;比较器对第一计数器、第二计数器的计数结果进行比较,生成数字信号“0”或“1”作为整个PUF结构的输出响应信号。
为验证本发明在硬件效率提升上的技术效果,我们将采用相同的硬件资源进行了验证,图5即为本发明提出的PRO PUF结构与现有的RO PUF、CRO PUF、RRO PUF、XCRO PUF的硬件效率的比较,图5中,纵坐标表示每产生一对激励响应对所需要占用的可编程逻辑块(CLB)的数量。可以发现,PRO PUF的硬件效率是现有技术的105到108倍。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (2)
1.一种基于FPGA开关矩阵的可编程环形振荡器,其特征在于,所述可编程环形振荡器包括:由FPGA中的开关盒阵列排布形成的开关矩阵和至少一个逻辑门;
开关盒作为可编程环形振荡器中的延迟单元,每个开关盒由6个传输门和相应的6个可配置的SRAM组成,通过改变SRAM的值来对开关盒中传输门的通断进行配置:若SRAM的值为0,则相应的传输门关断;若SRAM的值为1,则相应的传输门打开,此时传输门两端被连接起来,形成一个可供信号传输的通路;通过对开关矩阵内开关盒的编程,改变信号在开关矩阵内的传输路径,每种不同的传输路径对应各自独特的路径延时;完成对所有开关盒的配置后,整个开关矩阵就形成了从一个输入引脚到一个或多个输出引脚的通路;
通过配置各个开关盒的SRAM的值在开关矩阵中形成环形振荡器电路,通过所述至少一个逻辑门用于向环形振荡器电路引入激励信号,并输出相应的震荡信号。
2.一种基于FPGA开关矩阵的可编程PUF结构,其特征在于,所述可编程PUF结构包括:若干如权利要求1所述的可编程环形振荡器、数字选择器MUX、第一计数器、第二计数器、比较器;
各个可编程环形振荡器配置为振荡频率互不相同的PRO基本单元,数字选择器MUX根据配置的激励选取任意两个PRO基本单元,将这两个PRO基本单元输出的震荡信号分别输入第一计数器、第二计数器以进行震荡次数统计;比较器对第一计数器、第二计数器的计数结果进行比较,生成数字信号“0”或“1”作为整个PUF结构的输出响应信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010749120.7A CN112073062B (zh) | 2020-07-29 | 2020-07-29 | 一种基于fpga开关矩阵的可编程环形振荡器及puf结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010749120.7A CN112073062B (zh) | 2020-07-29 | 2020-07-29 | 一种基于fpga开关矩阵的可编程环形振荡器及puf结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073062A CN112073062A (zh) | 2020-12-11 |
CN112073062B true CN112073062B (zh) | 2024-05-24 |
Family
ID=73656892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010749120.7A Active CN112073062B (zh) | 2020-07-29 | 2020-07-29 | 一种基于fpga开关矩阵的可编程环形振荡器及puf结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112073062B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580285A (zh) * | 2020-12-14 | 2021-03-30 | 深圳宏芯宇电子股份有限公司 | 嵌入式服务器子系统及其配置方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372539A (zh) * | 2016-08-31 | 2017-02-01 | 电子科技大学 | 变频环形振荡器puf电路 |
EP3461005A1 (de) * | 2017-09-26 | 2019-03-27 | Siemens Aktiengesellschaft | Verfahren und system zur frequenzkorrektur eines ringoszillators |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112013002281T5 (de) * | 2012-05-02 | 2015-03-05 | Semiconductor Energy Laboratory Co., Ltd. | Programmierbare Logikvorrichtung |
EP3039550A4 (en) * | 2013-08-28 | 2017-10-18 | Stc.Unm | Systems and methods for leveraging path delay variations in a circuit and generating error-tolerant bitstrings |
-
2020
- 2020-07-29 CN CN202010749120.7A patent/CN112073062B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372539A (zh) * | 2016-08-31 | 2017-02-01 | 电子科技大学 | 变频环形振荡器puf电路 |
EP3461005A1 (de) * | 2017-09-26 | 2019-03-27 | Siemens Aktiengesellschaft | Verfahren und system zur frequenzkorrektur eines ringoszillators |
Also Published As
Publication number | Publication date |
---|---|
CN112073062A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145804B (zh) | 一种基于fpga的低开销的ro puf电路结构 | |
CN104200180B (zh) | 基于可重构环形振荡器的物理不可克隆函数及其产生方法 | |
CN106372539B (zh) | 变频环形振荡器puf电路及其控制方法 | |
US7546408B1 (en) | Method and apparatus for communication within a programmable device using serial transceivers | |
US6873182B2 (en) | Programmable logic devices having enhanced cascade functions to provide increased flexibility | |
WO2019222866A1 (zh) | 一种具有检测校正功能的真随机数产生方法与装置 | |
US7548089B1 (en) | Structures and methods to avoiding hold time violations in a programmable logic device | |
US9755792B1 (en) | Generating and checking a quaternary pseudo random binary sequence | |
US10069497B2 (en) | Circuit for and method of implementing a scan chain in programmable resources of an integrated circuit | |
CN109167664B (zh) | 一种基于异或门的可重构环形振荡器puf电路 | |
CN112073062B (zh) | 一种基于fpga开关矩阵的可编程环形振荡器及puf结构 | |
US6714057B2 (en) | Multi-purpose digital frequency synthesizer circuit for a programmable logic device | |
CN112713894B (zh) | 一种强弱混合型puf电路 | |
Yao et al. | A lightweight configurable XOR RO-PUF design based on Xilinx FPGA | |
US7111214B1 (en) | Circuits and methods for testing programmable logic devices using lookup tables and carry chains | |
CN106878014A (zh) | 随机数密钥产生装置及随机数密钥产生方法 | |
CN111027102A (zh) | 一种高安全性可配置ro-puf电路结构 | |
Yao et al. | M-RO PUF: a portable pure digital RO PUF based on MUX Unit | |
US7239173B1 (en) | Programmable memory element with power save mode in a programmable logic device | |
KR20150137375A (ko) | Fpga에서 물리적 복제 방지 함수 회로를 구현하기 위한 장치 | |
EP3430725B1 (en) | System and method to reduce footprint and improve yield of fabric muxes in programmable logic devices | |
US7518394B1 (en) | Process monitor vehicle | |
US9455714B1 (en) | Cascaded LUT carry logic circuit | |
KR970005278B1 (ko) | 부분적으로 디코드된 테스트 어드레스 발생기 및 카운트 발생 방법 | |
JP6602849B2 (ja) | プログラマブル遅延回路ブロック |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |