Skip to content

Session 7: Packaging & Board Design

Link to class

Project homework:

Document: what your chip transmits, pin assignments, baud rate

    input  wire [7:0] ui_in,    // Dedicated inputs - challenge
    output wire [7:0] uo_out,   // Dedicated outputs - response
    input  wire       ena,      // always 1 when the design is powered, so you can ignore it
    input  wire       clk,      // clock
    input  wire       rst_n     // reset_n - low to reset

Create test plan: how to verify output works

  • Submit all challenges to the DUT #1, record all challenge-responses in a database
  • Pick any DUT #1 challenge in the database and submit it again to DUT #1. Response should match the entry in the database for DUT #1
  • Try with another DUT. Challenges for DUT #2 should not match the answers of DUT #1
  • Test with lower and higher temperature. It will probably to be repetable, this is a known issue. Try to record pairs taken at various temperatures and see if we can build a strategy to take it into account

To ensure CRPs remain consistent despite temperature changes, several techniques are used:

  • Error Correcting Codes (ECC) and Helper Data: These are standard methods to correct unstable bits, ensuring the PUF output is reliable.
  • Temperature-Aware Design: Specialized designs like the “Temperature-aware RO-PUF” pair ring oscillators that cooperate, allowing them to produce stable bits across different environmental conditions.
  • Masking/Filtering: Techniques such as 1-out-of-k masking (selecting the fastest/slowest resonators) or filtering out “unstable” bits (those that change frequently) can improve stability, though they may require high hardware overhead.
  • Calibration: Utilizing phase calibration processes can reduce bit errors to less than 1% in RO-PUFs.

Prepare presentation for Thursday

See * my project