Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16595 Discussions

Secure Jtag on Max 10 ---

NYup
Beginner
1,283 Views

JTAG Secure mode

Hello guys, 

I'm looking for more information regarding the JTAG Secure mode. It's mentioned a little in the MAX10 Configuration Guide: https://www.altera.com/en_us/pdfs/literature/hb/max-10/ug_m10_config.pdf But I still don't get a full picture. I wonder if the JTAG is "LOCKED" by user logic or is there some kind of permanent switch that forces the device to go into that mode right after power on. If it's done by user logic, does it mean that, if I hold nCONFIG low, I will be able to erase the internal flash and get out of that "JTAG secure" mode?  I appreciate your sharing of knowledge. 

 

0 Kudos
8 Replies
YuanLi_S_Intel
Employee
1,034 Views

Hi Nhu-Ha Yup,

 

There is no switch to change your device in JTAG Secure Mode. You will need to enable the mode in Quartus, compile and generate a POF bitstream.

 

Enabling JTAG Secure Mode will cause your device to be able to use the instruction as shown at table below:

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-10/ug_m10_config.pdf (Page 23)

 

Thank You.

0 Kudos
NYup
Beginner
1,034 Views

Hello,

 

Thank you for answering my question, Please let me clarify,

 

It is easy to create the POF with JTAG -enable in Quartus tool (using convert file) of the document above.

 

1) Page 55. after power up and configuration of the JTAG-ENable. POF, MAX 10 is in JTAG secure mode.

page 56 To disable if "trigger the start_unlock port of the user logic) and issue UNLOCK JTAG INSTRUCTION.

The device exits from JTAG secure mode.

 

Do I need to pull nConfig pin LOW ? (page 28 describes configuration sequence) . or do anything with nStatus, CONF_DONE?

 

2)

After I enabled the JTAG secure mode, power off and on. I can't erase, configure or program the MAX 10 any more.

 

I pull on the UNLOCK I/O pin HIGH, it does not work. I send in UNLOCK instruction via

test_unlock using

quartus_jli -c 2 unlock_208.jam -a unlock

Info: *******************************************************************

Info: Running Quartus Prime Jam Tools

Info: Version 18.0.0 Build 614 04/24/2018 SJ Standard Edition

Info: Copyright (C) 2018 Intel Corporation. All rights reserved.

Info: Your use of Intel Corporation's design tools, logic functions

Info: and other software and tools, and its AMPP partner logic

Info: functions, and any output files from any of the foregoing

Info: (including device programming or simulation files), and any

Info: associated documentation or information are expressly subject

Info: to the terms and conditions of the Intel Program License

Info: Subscription Agreement, the Intel Quartus Prime License Agreement,

Info: the Intel FPGA IP License Agreement, or other applicable license

Info: agreement, including, without limitation, that your use is for

Info: the sole purpose of programming logic devices manufactured by

Info: Intel and sold by Intel or its authorized distributors. Please

Info: refer to the applicable agreement for further details.

Info: Processing started: Mon Sep 23 16:36:14 2019

Info: Command: quartus_jli -c 2 unlock_208.jam -a unlock

Info: Using INI file /opt/intelFPGA/18.0/quartus/linux64/quartus.ini

Exit code = 0... Success

Info: Quartus Prime Jam Tools was successful. 0 errors, 0 warnings

Info: Peak virtual memory: 194 megabytes

Info: Processing ended: Mon Sep 23 16:36:17 2019

Info: Elapsed time: 00:00:03

Info: Total CPU time (on all processors): 00:00:0

 

'Altera 2016

'Purpose: To unlock

 

ACTION unlock = DO_UNLOCK;

 

PROCEDURE DO_UNLOCK;

DRSTOP IDLE;

IRSTOP IDLE;

STATE IDLE;

IRSCAN 10, $041;

WAIT 100 USEC;

EXIT 0;

ENDPROC;

Show less

 

0 Kudos
YuanLi_S_Intel
Employee
1,034 Views

Hi Nhu,

 

Please find my response below:

1) You dont need to pull the nCONFIG LOW, the configuration pin will pull itself. You will just need to issue UNLOCK JTAG INSTRUCTION.

 

2) May i know if it works after you issue UNLOCK JTAG INSTRUCTION?

 

Thank You.

0 Kudos
NYup
Beginner
1,034 Views
0 Kudos
NYup
Beginner
1,034 Views
Hello, Can you please tell me what I did wrong? My board is still completely LOCKed, I can't erase or program after UNLOCK JTAG COMMAND as the following. After I enabled the JTAG secure mode, power off and on. I can't erase, configure or program the MAX 10 any more. I pull on the UNLOCK I/O pin HIGH, it does not work. I send in UNLOCK instruction via test_unlock using quartus_jli -c 2 unlock_208.jam -a unlock Info: ******************************************************************* Info: Running Quartus Prime Jam Tools Info: Version 18.0.0 Build 614 04/24/2018 SJ Standard Edition Info: Copyright (C) 2018 Intel Corporation. All rights reserved. Info: Your use of Intel Corporation's design tools, logic functions Info: and other software and tools, and its AMPP partner logic Info: functions, and any output files from any of the foregoing Info: (including device programming or simulation files), and any Info: associated documentation or information are expressly subject Info: to the terms and conditions of the Intel Program License Info: Subscription Agreement, the Intel Quartus Prime License Agreement, Info: the Intel FPGA IP License Agreement, or other applicable license Info: agreement, including, without limitation, that your use is for Info: the sole purpose of programming logic devices manufactured by Info: Intel and sold by Intel or its authorized distributors. Please Info: refer to the applicable agreement for further details. Info: Processing started: Mon Sep 23 16:36:14 2019 Info: Command: quartus_jli -c 2 unlock_208.jam -a unlock Info: Using INI file /opt/intelFPGA/18.0/quartus/linux64/quartus.ini Exit code = 0... Success Info: Quartus Prime Jam Tools was successful. 0 errors, 0 warnings Info: Peak virtual memory: 194 megabytes Info: Processing ended: Mon Sep 23 16:36:17 2019 Info: Elapsed time: 00:00:03 Info: Total CPU time (on all processors): 00:00:0 'Altera 2016 'Purpose: To unlock ACTION unlock = DO_UNLOCK; PROCEDURE DO_UNLOCK; DRSTOP IDLE; IRSTOP IDLE; STATE IDLE; IRSCAN 10, $041; WAIT 100 USEC; EXIT 0; ENDPROC; Nhu-Ha Yup Rajant Corporation 4505 E. Chandler Blvd. #250 Phoenix, AZ 85048 nyup@rajant.com <cmercer@rajant.com> P: 602-362-2150 x2216
0 Kudos
NYup
Beginner
1,034 Views
0 Kudos
YuanLi_S_Intel
Employee
1,034 Views

Hi Nhu,

 

This is weird. By right it should be able to program after you UNLOCK it. May i know, have you observed if "indicator" port is going HIGH? You may also refer to the steps to UNLOCK as shown at link below:

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-10/ug_m10_config.pdf (Page 58)

 

Thank You.

0 Kudos
YuanLi_S_Intel
Employee
1,034 Views

Hi Nhu,

 

I will continue to support you in another thread.

 

Thank You.

0 Kudos
Reply