cancel
Showing results for 
Search instead for 
Did you mean: 

Parsing UID Fields on STM32L476 – Wafer X/Y Coordinates and BCD Encoding?

robert-kau
Visitor

Hi everyone,

I’m working with an STM32L476 and need to parse its 96-bit Unique Device ID (UID).
According to RM0351, the UID starts at address 0x1FFF 7590.

Reading that region with STM32CubeProgrammer gives:

robertkau_1-1752013964577.png

• 0x1FFF 7590 : 0x004A0029
• 0x1FFF 7594 : 0x58335011
• 0x1FFF 7598 : 0x2031374B

So the full UID (high → low) is 0x2031374B 58335011 004A0029.
According to this documentation, the lower 32 bits encode the X/Y coordinates of the die on the wafer, in BCD.

That leaves two questions:

  1. Bit mapping

    • Which 16-bit half-word is X and which is Y?

    • Is it X = bits [31:16] and Y = bits [15:0], or the other way around?

  2. BCD validity

    • If the field is pure BCD (8421), every nibble should be 0-9, yet the value 0x4A contains nibble A (10).

    • Do recent STM32 parts still use BCD for these coordinates, or should those half-words be treated as plain unsigned integers?

Any clarification or official reference would be greatly appreciated.

Thanks!

0 REPLIES 0