UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor dbretwolfe
Visitor
494 Views
Registered: ‎03-25-2019

Microblaze sometimes does not respond after configuration

I'm using an Artix 7 xc7a35t on a custom PCB, loading its configuration from a Micron mt25qu512abb8esf-0sit flash chip.  I have the FPGA set to configure itself in x4 mode at 66MHz.  The FPGA has a Microblaze instantiation as part of the design, and occasionally it will be unresponsive after configuration.  I can reliably reproduce the error.

Some notes from the testing I've done so far:

  • On a power cycle in which the error occurs, the DONE pin is driven high by the FPGA, indicating that it configured correctly.
  • When I scan the FPGA in the Vivado hardware manager, it tells me that it is configured.
  • Monitoring VCCINT, I do not see see any anomalous spikes or dips on the power supply.  The supply is specced for mutiple times the current that the FPGA is drawing.
  • If I load my application project in the SDK, and configure debug to attach to a running target without resetting or programming the FPGA, I am able unable to connect to the Microblaze.  I also verified that when the error does not occur, I am able to connect to the Microblaze this way.
  • After the error has occured, I am able to program the FPGA directly through the hardware manager, but this does not restore functionality.
  • After the error has occured, I am NOT able to program/halt/debug the Microblaze.
  • Some boards I test are more affected than others (I have seen anywhere from 2-80% occurance), and some boards are not affected at all.
  • I have followed all of the application notes for the Artix config pins with respect to board design.
  • I have followed the suggested power sequencing, except that VCCINT and VCCBRAM are on the same 1V supply.
  • I have tried driving the INIT_B pin such that configuration is not started until well after all supplies are fully up.  It made no difference.

Any idea what could be causing this?  I've Googled about every keyword I can think of for this problem, and I don't see any obvious answers that my testing hasn't covered.

Thanks,

Devin

Tags (2)
0 Kudos
4 Replies
Visitor dbretwolfe
Visitor
364 Views
Registered: ‎03-25-2019

Re: Microblaze sometimes does not respond after configuration

Anyone out there?  It's been a few weeks, and I still don't have any resolution on this issue.

0 Kudos
Moderator
Moderator
345 Views
Registered: ‎09-12-2007

Re: Microblaze sometimes does not respond after configuration

In SDK, if you launch XSCT and do a targets. What do you see here? Might be a clocking/reset issue?

Also in SDK, Window-> preferences -> xilinx SDK -> log information level. Set this to trace to get more info on the SDK log. Can Replicate your issue and post this please?

0 Kudos
Visitor dbretwolfe
Visitor
333 Views
Registered: ‎03-25-2019

Re: Microblaze sometimes does not respond after configuration

 

10:32:55 TRACE	: Calling isHwInstanceAvailable JNI(rdi_hw_platform) call with arguments: hwSpecPath=C:\Users\devinw\source\repos\TDC-LRF\Firmware\VoxtelGen2Board\Main\mb_app_2_5_hw\system.hdf, peripheral=sg_iface_0
10:32:55 TRACE	: Response from isHwInstanceAvailable JNI(rdi_hw_platform) call: false
10:32:55 TRACE	: Calling isHwInstanceAvailable JNI(rdi_hw_platform) call with arguments: hwSpecPath=C:\Users\devinw\source\repos\TDC-LRF\Firmware\VoxtelGen2Board\Main\mb_app_2_5_hw\system.hdf, peripheral=sg_plbiface_0
10:32:55 TRACE	: Response from isHwInstanceAvailable JNI(rdi_hw_platform) call: false
10:32:55 TRACE	: Calling isHwInstanceAvailable JNI(rdi_hw_platform) call with arguments: hwSpecPath=C:\Users\devinw\source\repos\TDC-LRF\Firmware\VoxtelGen2Board\Main\mb_app_2_5_hw\system.hdf, peripheral=sg_axiiface_0
10:32:55 TRACE	: Response from isHwInstanceAvailable JNI(rdi_hw_platform) call: false
10:32:55 TRACE	: Launch mode is: debug
10:32:55 DEBUG	: XMD command: {"command": "xfpga_isconfigured -cable type xilinx_tcf url TCP:127.0.0.1:3121 "}
10:32:55 DEBUG	: XMD Result: {"command":"xfpga_isconfigured -cable type xilinx_tcf url TCP:127.0.0.1:3121 ","scope":{"type":"global"},"response":{"type":"success","success":{"values":["1"],"stdout":"\nJTAG chain configuration\n--------------------------------------------------\nDevice   ID Code        IR Length    Part Name\n 1       0362d093           6        xc7a35t\n"}}}<-
10:32:55 TRACE	: Init TCL path is :null
10:32:55 TRACE	: No initilalization is done with current debug configuration
10:32:55 DEBUG	: XMD command: {"command": "xconnect mb mdm -cable type xilinx_tcf url TCP:127.0.0.1:3121"}
10:32:55 DEBUG	: XMD Result: {"command":"xconnect mb mdm -cable type xilinx_tcf url TCP:127.0.0.1:3121","scope":{"type":"global"},"response":{"type":"success","success":{"values":["0"],"stdout":"\nJTAG chain configuration\n--------------------------------------------------\nDevice   ID Code        IR Length    Part Name\n 1       0362d093           6        xc7a35t\n\nMicroBlaze Processor Configuration :\n-------------------------------------\nVersion............................9.5\nOptimization.......................Area\nInterconnect.......................AXI-LE\nMMU Type...........................No_MMU\nNo of PC Breakpoints...............1\nNo of Read Addr/Data Watchpoints...0\nNo of Write Addr/Data Watchpoints..0\nInstruction Cache Support..........on\nInstruction Cache Base Address.....0x80000000\nInstruction Cache High Address.....0xffffffff\nData Cache Support.................on\nData Cache Base Address............0x80000000\nData Cache High Address............0xffffffff\nExceptions  Support................off\nFPU  Support.......................on\nHard Divider Support...............on\nHard Multiplier Support............on - (Mul32)\nBarrel Shifter Support.............on\nMSR clr/set Instruction Support....off\nCompare Instruction Support........off\nData Cache Write-back Support......off\nFault Tolerance Support............off\nStack Protection Support...........off\nProcessor Could not be STOPPED - MicroBlaze is not being clocked. Check if the Clock input to MicroBlaze and its Bus Interfaces are connected properly\n\tUNABLE to STOP MicroBlaze\n Debug Operation requires Processor in STOP State.\n\t1. Try to reset the Processor and check if the Processor is Stopped\n\t2. Check your System Design for Correctness\n"}}}<-
10:32:55 DEBUG	: XMD command: {"command": "set_cur_target 0"}
10:32:55 DEBUG	: XMD Result: {"command":"set_cur_target 0","scope":{"type":"global"},"response":{"type":"success","success":{"values":["0"],"stdout":""}}}<-
10:32:55 DEBUG	: XMD command: {"command": "set_cur_system"}
10:32:55 DEBUG	: XMD Result: {"command":"set_cur_system","scope":{"type":"global"},"response":{"type":"success","success":{"values":[""],"stdout":""}}}<-
10:32:55 DEBUG	: XMD command: {"command": "xgdbserver 0 1234"}
10:32:55 DEBUG	: XMD Result: {"command":"xgdbserver 0 1234","scope":{"type":"xtarget","xtarget":{"id":0,"type":"unknown"}},"response":{"type":"success","success":{"values":["1234"],"stdout":""}}}<-
10:32:55 TRACE	: Connecting to gdbserver: localhost @ port 1234
10:32:55 TRACE	: Launching gdb..
10:32:57 DEBUG	: XMD command: {"command": "xsafemode 0 off"}
10:32:57 DEBUG	: XMD Result: {"command":"xsafemode 0 off","scope":{"type":"xtarget","xtarget":{"id":0,"type":"unknown"}},"response":{"type":"success","success":{"values":["0"],"stdout":"\nSafe Mode is disabled.\n"}}}<-
10:32:57 TRACE	: Launching debug thread.
10:33:02 TRACE	: Debug session launched successfully.

At which point my debug window looks like this:debugwindow.JPG

 

 

 

 

 

 

 

However, the editor just has _start() open, displaying "no source for _start()", and I cannot suspend execution, or set breakpoints.  If I hit the suspend button, I get this:

debugwindow2.JPG

 

 

 

 

 

However, the program doesn't display a line of code at which execution has been suspended, and I can't step through code.  If I try to resume execution,  I get the following error window:

error.JPG

 

 

 

 

 

None of these actions resulted in any log output.

 

 

0 Kudos
Visitor dbretwolfe
Visitor
183 Views
Registered: ‎03-25-2019

Re: Microblaze sometimes does not respond after configuration

Bumping this again, because I still don't have any resolution to the problem.  It's affecting a significant number of my boards.  A recent lot of ten failed screening on 100% of boards.

0 Kudos