08-03-2020 12:27 PM
Apologies if this post is in the wrong forum location or is poorly formatted, this is my first post in the Xilinx forums - but after several days of trying to resolve this issue, I think it's about time to ask for help.
I am currently trying to implement a Microblaze softcore processor on a custom PCB, running an Artix-7 XC7A35T FTG256-1 FPGA. The board has an open pin for the input clock, so I can drive it using any external source I want - my experiments so far have ranged from using 10 MHz signals to 50 MHz. I should note that do not intend for the final project to run as a high speed application.
I've designed a basic Microblaze block design in Vivado 2020.1, including a MDM (Microblaze Debug Module), 8-bit GPIO for controlling some external LEDs, a UARTLITE component for a quick "hello world!" test, and an active-low reset line going into the ex_reset_in signal of a Processor System Reset component. This is clocked by a signal coming from a Clock Wizard IP, which I have set right now to 32 MHz.
The bitstream generation succeeds for this design and I can program my board with it. When I export the .xsa and open Vitis, I can create a Platform Project and an Application Project with no problems. When I use the "hello world!" template and build, I try to set up a Single Application Debug configuration. This is where the problem occurs.
The FPGA Device is set to auto by default, in the picture above, but when I click on "Select" to see what devices are available, nothing pops up. I know that there should be a XC7A35T device, connected to my computer by a Platform Cable USB II cable (I have its ID). Only when I wait a minute or two does the device finally show up on the list.
When it does eventually show up, it's the device I expect (below).
If I click OK and proceed with the debugging process, then the dialogue freezes up before allowing me to click Debug. This is when the debugger launches, very slowly, and ends with an error message.
From what I can tell, the local hardware server connection is established (and I checked this in the Launch Target Connections dialogue, but it takes a long time to see the device like the Target option), the Platform Cable is recognized, but the FPGA is not. I have tried varying the JTAG connection speed, I have switched out Platform Cable devices, I have checked the IDCODE and IR, I have reinstalled Vitis and the cable drivers, I have reset the FPGA multiple times, but none of these options have worked. Does anyone have an idea what the problem(s) could be, and how to fix them?
08-05-2020 03:32 PM
UPDATE: I tried switching computers and ran the project through Vivado 2019.1 and the old Xilinx SDK, using the same Microblaze design but a different application. The SDK seems fine with running my helloworld.c on my device, but even as I bring that same design back into Vivado 2020.1 and export the hardware to Vitis, I run into the exact same problems as before. I'm still investigating, but if possible, I would love if someone could offer any insights whatsoever into my problem.
08-07-2020 10:28 AM
UPDATE: I am able to program the board with both the old Vivado 2019.1-accompanied SDK and the new Vivado 2020.1-accompanied Vitis on my personal computer, but not my work computer. The screenshot below demonstrates a quick "Hello World" test from the FPGA to a Tera Term serial window.
My guess is that this problem is more of an error with my work computer's network settings as it sets up the local hardware server, as I've managed to eliminate the board, the FPGA, the Platform Cable USB II, the Vivado version, the Vitis version, and the bitstream generated from my Microblaze design. Windows Firewall has exceptions for Vivado, Hw_Server, and Vitis' Eclipse, so the only choice I have is to contact IT and/or figure out what hasn't been given an exception.
If anyone has any insight into this problem, I would appreciate a reply.
08-08-2020 02:42 PM
Hey, this sounds like a cable drivers issue, especially since you said it works on a personal computer vs a work computer.
Have you verified that you installed the cable drivers on your work computer?
08-08-2020 06:11 PM
At first I thought that was the problem, but when I installed Vivado 2020.1 and Vitis on both computers, I made sure to download the drivers for the Platform USB Cable like this:
Do I need to install the drivers another way?
08-08-2020 06:22 PM
Yes that does look correct, you mentioned that you reinstalled Vivado and Vitis but did you ever uninstall and reinstall the drivers? I do not know 100% if uninstalling either program uninstalls the drivers. However from looking at others with similar issues, the following appears to be a good first start:
As usual, make sure that you are disconnecting and reconnecting the programming cable after performing these operations.
08-08-2020 06:41 PM - edited 08-08-2020 06:45 PM
I don't mean to downplay the issue with the driver stuff, I'm just trying to cover all the low hanging fruit.
The reason I'm pushing in the direction of it being a driver issue is because you mentioned that it works on one computer but not the other, which would throw out some of the other possibilities.
When you connect the platform cable to your computer and the fpga, does the status light come on? If so what color?
Have you tried in Vivado, opening up the Hardware Manager and connecting to the board that way (open Target->Auto Connect)?
Have you tried programing the FPGA through the hardware manager?
08-10-2020 08:33 AM
I understand, at this rate I'm just grateful for any sort of help so thank you thus far.
I'm trying to reinstall the drivers but I keep running into this error with the driver uninstall/reinstall. Looking up "wdreg", I find notes talking about Jungo USB drivers and the Platform Cable II, but nothing about how to get wdreg or resolve this error. Have you run into this, and is this perhaps evidence of a driver problem?
08-21-2020 04:57 PM - edited 08-21-2020 04:57 PM
If you (or anyone else reading this) still has this problem, I had a similar one working on my Zedboard. For me, an install of the cable drivers using these instructions was sufficient to solve it.
I'm on Windows 10. I repeated those instructions in both the Vivado and Vitis directories. I also noticed the arguments added to the command (the three directory paths) are ignored, so I didn't bother typing them. You'll need administrator privileges.
I am using USB program/UART cables, though. I noticed this other answer that specifies driver install commands using the wdreg mentioned above and mentions the Platform Cable USB. Perhaps the drivers are different? Not sure.