TSC87251G1A
Table 35. Lock bits Programming
External
PROM read
(MOVC)
Lock bits
LB[2:0]
Internal
Execution
External
Execution
Level
Verification
Programming
(1)
1)
(2)
0
000
001
Enable
Enable
Enable
Enable
x
Enable
Enable
Enable
Disable
x
Enable
Enable
Disable
Disable
Disable
x
Enable
1
Enable
Disable
Disable
x
Disable
Disable
Disable
x
2
3
011
111
Reserved
Other
Notes:
1. Returns encrypted data if Encryption Array is programmed.
2. Returns non encrypted data.
Level 1 should be set before programming Level 2; Level 2 should be set before programming Level 3.
The security level may be verified according to Table 36.
Table 36. Lock bits Verifying
Level
Lock bits Data(1)
xxxxx000
0
1
2
3
xxxxx001
xxxxx01x
xxxxx1xx
Note:
1. x means don’t care.
8.1.4. Encryption Array
The TSC87251G1A products include a 128–byte Encryption Array located in non–volatile memory outside the
memory address space. During verification of the on–chip code memory, the seven low–order address bits also address
the Encryption Array. As the byte of the code memory is read, it is exclusive–NOR’ed (XNOR) with the key byte from
the Encryption Array. If the Encryption Array is not programmed (still all 1s), the user program code is placed on the
data bus in its original, unencrypted form. If the Encryption Array is programmed with key bytes, the user program
code is encrypted and cannot be used without knowledge of the key byte sequence.
To preserve the secrecy of the encryption key byte sequence, the Encryption Array can not be verified.
Cautions:
1. When a MOVC instruction is executed, the content of the ROM is not encrypted. In order to fully protect the user program code, the lock bit
level 1 (see Table 1) must always be set when encryption is used.
2. If the encryption feature is implemented, the portion of the on–chip code memory that does not contain program code should be filled with
“random” byte values to prevent the encryption key sequence from being revealed.
8.2. Signature Bytes
The TSC87251G1A products contain factory–programmed Signature Bytes. These bytes are located in non–volatile
memory outside the memory address space at 30h, 31h, 60h and 61h. To read the Signature Bytes, perform the proce-
dure described in section 8.4., “Verify Algorithm”, using the verify signature mode (see Table 39). Signature byte val-
ues are listed in Table 37.
28
Rev. A – September 21, 1998