GTS AXI Streaming IP for PCI Express* User Guide: Agilex™ 5 and Agilex™ 3 FPGAs and SoCs

ID 813754
Date 8/04/2025
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

5.2.2.4.10.1. Implementing Device Serial Number (DSN) with Runtime Update Support

The Device Serial Number (DSN) is a 64-bit read-only identifier that uniquely identifies a PCI Express device. While a static DSN can be configured via the IP Parameter Editor, certain applications such as those requiring synchronization with a value stored in EEPROM accessible via a Board Management Controller (BMC) require the DSN to be updated dynamically at runtime.

The following steps outline the procedure to enable and update the DSN during runtime:
  1. Enable DSN Capability: In the IP Parameter Editor, enable the Enable Device Serial Number Capability option to activate DSN support.
  2. Enable Write Access to DSN: In the IP Parameter Editor, enable the Enable Device Serial Number Write Access option to allow runtime updates to the DSN register.
  3. Configure Default DSN Values: In the IP Parameter Editor, set the initial values for the DSN using the following fields:
    • Device Serial Number (DW1)
    • Device Serial Number (DW2)
  4. Enable Write Access to Read-Only PCIe Registers: Use the Control and Status Register Responder Interface, to read the current value of the 32-bit control register at address 0x8BC, and set bit[0] to 1 while preserving the other bits (read-modify-write).
    Note: This step enables write access to normally read-only PCIe* capability registers. It is strongly recommended to disable this access immediately after the update to maintain register integrity.
  5. Update DSN Register Values: Use the Control and Status Register Responder Interface, to write the new DSN values to the following addresses:
    • Device Serial Number (DW1): 0x168
    • Device Serial Number (DW2): 0x16C
  6. Revoke Write Access to Read-Only PCIe Registers: Use the Control and Status Register Responder Interface, to read the current value of the control register at address 0x8BC, and clear bit[0] to 0 while preserving the other bits (read-modify-write).