tillitis-key/hw/application_fpga/core/uds
Joachim Strömbergson 4c54b4b60b
Add info about the API in the README
Signed-off-by: Joachim Strömbergson <joachim@assured.se>
2023-07-04 09:04:25 +02:00
..
rtl Remove name, version from several cores 2022-10-11 09:50:45 +02:00
tb Making the testbench self checking 2023-07-04 09:04:25 +02:00
toolruns Make initial public release 2022-09-19 08:51:11 +02:00
README.md Add info about the API in the README 2023-07-04 09:04:25 +02:00

uds

Unique Device Secret core

Introduction

This core store and protect the Unique Device Secret (UDS) asset. The UDS can be accessed as eight separate 32-bit words. The words can be accessed in any order, but a given word can only be accessed once between reset cycles. The words can only be accessed as long as the fw_app_mode input is low, implying that the CPU is executing the FW.

Each UDS words has a companion read bit that is set when the word is accessed. This means that the even if the chip select (cs) control input is forced high, the content will become all zero when the read bit has been set after one cycle.

API

There are eight addresses in the API. These are defined by the two values ADDR_UDS_FIRST and ADDR_UDS_LAST:

´´´ ADDR_UDS_FIRST: 0x10 ADDR_UDS_LAST: 0x17 ´´´

These addresses are read once.

Any access to another address will be ignored by the core.

Implementation

The UDS words are implemented using discrete registers.