Submitted:
25 May 2024
Posted:
27 May 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
- A dynamic partial reconfiguration technique is applied to measure and isolate the delays associated with wires and SMs in the programmable logic of a set of FPGAs.
- Wire and SM configurations are constructed using different routing resource types to assess the impact of wire length on the level of entropy.
- A series of data post-processing operations are proposed as a means of extracting only within-die delay variations, which represent the most robust random source of variations for a PUF.
- An estimate of within-die variations is derived for a wire-SM combination, and an analysis of the bitstrings derived using only wire-SM delay variations is presented to determine their statistical properties.
2. Background
3. System Architecture
3.1. FPGA Tool Flow
- Synthesize the timing engine and other components of the static design.
- Routing constraints are used to fix SMs and wires for the Hand-Crafted experiment in 67 separate designs, while timing constraints are used to force different routes from the Vivado PNR tool in the Tool-Crafted experiment.
- TCL commands are used to create the DPR region, which is represented as a pblock in Vivado. The locked static design is used to maintain the exact same layout in all DPR designs created.
- PNR is run to join the static and DPR designs.
- The full bitstream is used to program the device, followed by any sequence of partial bitstreams created by this tool flow.
3.2. Delay Post-Processing Algorithm
- The programmable logic of the FPGAs is programmed with the full bitstream, followed by a sequence of partial bitstream programming operations. The timing engine measures both rising and falling delays of paths implemented within each of the partial bitstreams. The curves labeled 1) BaseRoute & RouteExt Raw Delay in Figure 5 show the rising path delays for the base route (black) and route extensions (blue) measured from the 34 FPGAs (falling delays are omitted). The acyonyms BR and RE refer to BaseRoute and RouteExtensions, respectively. We use the term Raw to refer to both sets.
- The RE and BR delays are calibrated to remove global process variations using a Global Process and Environmental Variation (GPEV) module. The GPEV module applies a pair of linear transformations given by Eqs. 1 through 4. The mean and standard deviation of the 134 Raw delays from each FPGA are computed and the Raw delays are standardized using Eqs. 1 and 3. A second linear transformation using 0.0 and 44.1 for , and (Eq. 4) is then applied to convert the standardized values back to a form similar to the original data (44.1 is the mean across all FPGAs). The same and are used for all devices in the second transformation, which effectively removes global performance differences while preserving within-die variations. Although difficult to observe, the variations in the rising delays across all FPGAs in the plot labeled 2) Compensate Raw Delays from Figure 5 are smaller than those from Step 1. We use the symbol ’F’ for FPGA, ’i’ for FPGA instance, ’c’ for calibrated and ’r’ for route in these equations. The GPEV calibrated delays are referred to as and .
- The rising and falling path delays from the BaseRoute design are subtracted from the corresponding rising and falling path delays of the RouteExt designs in the graph labeled 3) Subtract BaseRoute delay of Figure 5. We refer to these delay differences as and (DV is an acronym for delay value). The delays of the and vary from 80 picoseconds (ps) to 1.8 nanoseconds (ns) across all 67 rise and fall delays.
- The final transformation is shown in 4) Remove DC bias. The and posses a DC bias that exists because the routes are not identically designed. The process of removing bias is accomplished by computing the mean delay of each and across all FPGAs and then subtracting this offset from the compensated raw delays. We use the symbol ’R’ here to refer to individual route extensions and ’x’ for the route extension number. Eq. 5 and 6 gives expressions for computing the rise and fall compensated raw delays without bias, annotated as , with ’o’ referring to ’offset’.
3.3. Tool-Crafted Data Post-Processing
- The Raw DVR and DVF are plotted in the upper left graph, where we show the first 100 rising delays on the left and the first 100 falling delays on the right, both from the larger sets of 4096 values in each group. The vertical shift in the two data sets, with rising delays having smaller overall delays, illustrates a common process-related characteristic that p-channel (pull-up) devices are not well correlated with n-channel (pull-down) devices on the same FPGA. This pattern varies depending on the FPGA.
- In contrast to the Hand-Crafted algorithm, the second step involves subtracting the BaseRoute delays from the RouteExt delays. The first 100 DVR and DVF are plotted in the 2) DVR and DVF graph.
- In step 3, the 4096 DVR are randomly paired and subtracted from the 4096 DVF, as a means of doubling the level of entropy in the delay differences (DVD). Note that additional DVD can be created by other random pairing and differencing operations applied to the DVR and DVF groups, up to a total of unique combinations.
- The operation carried out in Step 6 is optional, and serves only to make the number of strong bits in the generated bitstrings approximately the same for each FPGA when a threshold is applied (described below). The scaling operation computes the average range of the variation in the of each FPGA i and multiplies all by a ratio that makes the ranges approximately equal for all devices. The ratios vary between 1.00 and 1.91 and illustrate that the level of random variations (entropy) in each FPGA is not constant. We refer to the delays shown in Step 6 as (’S’ for scaled) in the following.
3.4. Bitstring Generation Algorithm
4. Experimental Results
4.1. Experimental Results: Hand-Crafted Design
4.2. Experimental Results: Tool-Crafted Design
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Bergeron, E.; Feeley, M.; Daigneault, M.A.; David, J.P. Using dynamic reconfiguration to implement high-resolution programmable delays on an FPGA. In Proceedings of the 2008 Joint 6th International IEEE Northeast Workshop on Circuits and Systems and TAISA Conference; 2008; pp. 265–268. [Google Scholar] [CrossRef]
- Berrima, S.; Blaquière, Y.; Savaria, Y. Fine resolution delay tuning method to improve the linearity of an unbalanced time-to-digital converter on a Xilinx FPGA. IET Circuits, Devices & Systems 2020, 14, 1243–1252. [Google Scholar] [CrossRef]
- Ruffoni, M.; Bogliolo, A. Direct Measures of Path Delays on Commercial FPGA Chips. In Proceedings of the Proceedings: 6th IEEE Workshop on Signal Propagation on Interconnects; 2002; pp. 157–159. [Google Scholar] [CrossRef]
- Yu, H.; Xu, Q.; Leong, P.H. Fine-grained characterization of process variation in FPGAs. In Proceedings of the 2010 International Conference on Field-Programmable Technology; 2010; pp. 138–145. [Google Scholar] [CrossRef]
- Tuan, T.; Lesea, A.; Kingsley, C.; Trimberger, S. Analysis of within-die process variation in 65nm FPGAs. In Proceedings of the 2011 12th International Symposium on Quality Electronic Design; 2011; pp. 1–5. [Google Scholar] [CrossRef]
- Taka, E.; Maragos, K.; Lentaris, G.; Soudris, D. Process Variability Analysis in Interconnect, Logic, and Arithmetic Blocks of 16-Nm FinFET FPGAs. ACM Trans. Reconfigurable Technol. Syst. 2021, 14. [Google Scholar] [CrossRef]
- Majzoobi, M.; Kharaya, A.; Koushanfar, F.; Devadas, S. Automated Design, Implementation, and Evaluation of Arbiter-based PUF on FPGA using Programmable Delay Lines. IACR Cryptol. ePrint Arch. 2014, 2014, 639. [Google Scholar]
- Siecha, R.T.; Alemu, G.; Prinzie, J.; Leroux, P. 5.7 ps Resolution Time-to-Digital Converter Implementation Using Routing Path Delays. Electronics 2023, 12. [Google Scholar] [CrossRef]
- Sedcole, P. ; K. Cheung, P.Y. Within-die delay variability in 90nm FPGAs and beyond, Proceedings of the 2006 IEEE International Conference on Field Programmable Technology; 2006; pp. 97–104. [Google Scholar] [CrossRef]
- Cui, Y.; Chen, Y.; Wang, C.; Gu, C.; O’Neill, M.; Liu, W. Programmable Ring Oscillator PUF Based on Switch Matrix. In Proceedings of the 2020 IEEE International Symposium on Circuits and Systems (ISCAS); 2020; pp. 1–4. [Google Scholar] [CrossRef]
- Owen Jr., D.; Heeger, D.; Chan, C.; Che, W.; Saqib, F.; Areno, M.; Plusquellic, J. An Autonomous, Self-Authenticating, and Self-Contained Secure Boot Process for Field-Programmable Gate Arrays. Cryptography 2018, 2. [Google Scholar] [CrossRef]
- Plusquellic, J. Shift Register, Reconvergent-Fanout (SiRF) PUF Implementation on an FPGA. Cryptography 2022, 6. [Google Scholar] [CrossRef]
- Jao, J.; Wilcox, I.; Thotakura, S.; Chan, C.; Plusquellic, J.; Paskaleva, B.S.; Bochev, P.B. An Analysis of FPGA LUT Bias and Entropy for Physical Unclonable Functions. Journal of Hardware and Systems Security 2023. [Google Scholar] [CrossRef]












Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).