cancel
Showing results for 
Search instead for 
Did you mean: 

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

robert-kau
Associate

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!

1 ACCEPTED SOLUTION

Accepted Solutions

Hello,

I've got a confirmation internally regarding question 1: indeed X = bits [15:0]  and Y = bits [31:16].

For the second question you need to an online support request over this link

Thank you

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

View solution in original post

2 REPLIES 2
mƎALLEm
ST Employee

Hello,

I can answer the first question,

According to this thread: STM32H7A3 Unique Device ID number question 

X = bits [15:0]  and Y = bits [31:16], I can check.

Meanwhile, I will try to check internally for the format of X/Y and get back to you if I get the information.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Hello,

I've got a confirmation internally regarding question 1: indeed X = bits [15:0]  and Y = bits [31:16].

For the second question you need to an online support request over this link

Thank you

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.