MAX 10 programming flow via JTAG
Hi All!
I have the following questions about the correct sequence to follow for MAX 10 programming devices via JTAG, especially the 10M04SAU169.
1. I noted that once converted a pof file to SVF and compared it to a BSDL 1532 file (e.g. 10M04SAU169_1532.bsd), it adds also the following steps:
-------------------------------------------------------------------------------
!
!Max 10 IDCODE
!
...
SDR 23 TDI (500008);
SIR 10 TDI (205);
RUNTEST 128 TCK;
SDR 32 TDI (00000000) TDO (1E000000) MASK (FF800000);
-------------------------------------------------------------------------------
For a 10M02SC, the mask is different instead:
-------------------------------------------------------------------------------
!
!Max 10 IDCODE
!
...
SDR 23 TDI (500008);
SIR 10 TDI (205);
RUNTEST 128 TCK;
SDR 32 TDI (00000000) TDO (1E000000) MASK (9F800000);
-------------------------------------------------------------------------------
I cannot find anything in the BSDL 1532 programming flow about it. Is it a mandatory step? May I know which is its purpose?
2. The SVF file automatically skips the blank locations (if present) in order to shorten the programming time. I noted that it does not follow the BSDL 1532 flow, but it translates the address every time is needed. For example:
-------------------------------------------------------------------------------
!
!Max 10 Program CFM1
!
SIR 10 TDI (203);
RUNTEST 128 TCK;
SDR 23 TDI (001700);
SIR 10 TDI (2F4);
RUNTEST 128 TCK;
...
SIR 10 TDI (203);
RUNTEST 128 TCK;
SDR 23 TDI (021700);
SIR 10 TDI (2F4);
RUNTEST 128 TCK;
...
-------------------------------------------------------------------------------
The BSDL 1532 flow provides only the first address instead:
-------------------------------------------------------------------------------
"FLOW_PROGRAM2 (array_cfm_2) " &
"INITIALIZE" &
"(ISC_ADDRESS_SHIFT 23:002200 WAIT TCK 1)" &
"REPEAT 20992 " &
"(ISC_PROGRAM 32:? WAIT 305.0e-6)," &
-------------------------------------------------------------------------------
I cannot find anything about how to translate an address to the corresponding "JTAG" value to be shifted out. Is there any document that expains how to do that (we already have the CNDA number if needed)?
Thanks in advance for your help!
Best Regards,
Luca