--- Quote Start ---
Using quartus_stp, you can issue JTAG commands to get this info, i.e.,
Hi Dave,
thank you a lot for the code. It works well. In meantime I was successful with some similar code written in JAM. After looking to your code I have to say, that the TCL is definitively better instrument.
But I have to say again that it really surprise me, that Quartus Programmer doesn't support this simple but very useful function. Xilinx iMPACT and Lattice ispVM supports this function.
NOTE "STAPL_VERSION" "JESD71";
NOTE "JAM_VERSION" "2.0";
NOTE "MAX_FREQ" "10000000";
'Declare variables for data arrays
BOOLEAN read_data;
BOOLEAN idcode = BIN 0110000000;
BOOLEAN usercode = BIN 1110000000;
BOOLEAN ones_data = HEX FFFFFFFF;
PRINT "Get IDCODE and USERCODE.";
PRINT "";
'GET IDCODE
STATE RESET;
IRSCAN 10, idcode;
DRSCAN 32, ones_data, CAPTURE read_data;
PRINT "IDCODE:";
PRINT "---- ------------------- ------------- -";
PRINT "Rev Device Mfgr 1";
PRINT "---- ------------------- ------------- -";
PRINT
'revision
read_data, read_data, read_data, read_data, " ",
'device
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
'vendor
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, " ",
'mandatory 1
read_data;
PRINT "";
STATE IDLE;
WAIT 5 USEC, 3 CYCLES;
'GET USERCODE
STATE RESET;
IRSCAN 10, usercode;
DRSCAN 32, ones_data, CAPTURE read_data;
PRINT "USERCODE:";
PRINT
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data, " ",
read_data, read_data, read_data, read_data;
PRINT "";
EXIT 0;
Kind Regards, Martin