• 0
Jim Edwards

Using Adept with the Spartan-3E

Question

I am trying to get started learning about the Spartan-3E board. I'm using the Xilinx 13.4 software to produce the file for download. I've also installed Adept 2 on the same PC running Windows 7. The connection between board and computer is just the USB-A to USB-B cable which came with the kit. Adept doesn't see the board, so I can't even get started. The manual (like most manuals) only describes what to do when everything works as it should. What are the first steps to debugging this process? I have two boards and neither responds. I also tried another cable. I just want to get started. Thanks.

Share this post


Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 0

Hi Jim,

Let me just start by saying, I'm sorry you've had such trouble getting your spartan 3E board working. 

I wanted to post to clear up one point of confusion. Nate suggested

this board does not contain the Digilent programming circuit that Adept uses, so you will only be able to program the board using the Xilinx tools, specifically iMPACT

He didn't suggest that you buy the JTAG programming cable but suggested that you use iMPACT to program the board.  I can understand your confusion based on the wording of his suggestion, so let me clear it up for you. All Digilent boards contain a JTAG programming circuit natively so they do not need JTAG cables, as is indicated on the product pages for the JTAG cables. iMPACT is the correct software to program the board, so as long as you are using iMPACT, you should be able to connect to the board. 

When I searched around for this problem I found the USB cable installation guide from Xilinx. You can follow the directions here to reinstall cable drivers, since you and Nate have figured out it is a cable driver issue. I would also highly suggest that you download the latest version of ISE. It's possible that this is an issue with the version you are using, that was subsequently fixed. 

Kaitlyn

Share this post


Link to post
Share on other sites
  • 0

Hey Jim,

I'm not terribly familiar with Adept myself so I'm not sure if it is supposed to be able to auto detect when a board is connected. I have Adept 2 on Windows 7 as well and I am getting slightly mixed results. Adepts can detect my Nexys4DDR board automatically, with or without power, however I have a Basys3 as well that does not get automatically detected unless it is powered on. Trying with a different cable would be a good starting point though. After which I would try using the Device Manager to see if you can sort of 'nudge' it awake. I have a screen shot below of what I did. Just hit Device Manager, select USB, then Enumerate and the board popped up. From there I could select the board from the Connect drop down menu in the main window.

 

Regards,

-Nate

adept.thumb.png.bc1f6b5544e2fbb8f2d75f8b

Edited by NAEastland

Share this post


Link to post
Share on other sites
  • 0

Hey Jim,

I'm not terribly familiar with Adept myself so I'm not sure if it is supposed to be able to auto detect when a board is connected. I have Adept 2 on Windows 7 as well and I am getting slightly mixed results. Adepts can detect my Nexys4DDR board automatically, with or without power, however I have a Basys3 as well that does not get automatically detected unless it is powered on. Trying with a different cable would be a good starting point though. After which I would try using the Device Manager to see if you can sort of 'nudge' it awake. I have a screen shot below of what I did. Just hit Device Manager, select USB, then Enumerate and the board popped up. From there I could select the board from the Connect drop down menu in the main window.

 

Regards,

-Nate

adept.thumb.png.bc1f6b5544e2fbb8f2d75f8b

 

 

Nate, thanks for writing. No, it's not that simple. Actually I did try just what you suggested yesterday (16 Jul) with no response. I chose "Connected Devices" and then "Enumerate" of the Device Manager, but the Connected Devices window remained empty. This may be a simple problem, and I hope it is. But I've wasted half a day now with no help from Digilent. I asked for assistance on the phone but was told they don't do that. So a problem which could be solved in minutes may never be solved.

The connection I've made to the board is with the USB cable which I mentioned earlier. Is this incorrect? Was I supposed to buy some other cable? The website suggests that there are various JTAG cables available are not necessary on most of the Spartan boards. When I spoke with a rep of Digilent he told me that the board has the necessary interface logic at the USB and that it is not necessary to buy a JTAG interface. Okay, but I'm still unable to do anything.

The board, of course, has numerous jumpers. I set those to the configuration shown for JTAG interface. That didn't work. So I tried a couple of others. Some are for SPI interface, so they obviously won't help. I really don't know what else to write.

 

Thanks,

--Jim

 

Share this post


Link to post
Share on other sites
  • 0

Hey Jim, 

So I've managed to pull out a Spartan-3E board here and take a run at it. The power and USB cables that come with the board are all that you need. It turns out that the chip on this board does not contain the Digilent programming circuit that Adept uses, so you will only be able to program the board using the Xilinx tools, specifically iMPACT within ISE. It sounds like you have the jumper settings already set up for USB programming (just have the M1 jumper connected) so you should be able get started in ISE and program the board through iMPACT.

Share this post


Link to post
Share on other sites
  • 0

Hey Jim, 

So I've managed to pull out a Spartan-3E board here and take a run at it. The power and USB cables that come with the board are all that you need. It turns out that the chip on this board does not contain the Digilent programming circuit that Adept uses, so you will only be able to program the board using the Xilinx tools, specifically iMPACT within ISE. It sounds like you have the jumper settings already set up for USB programming (just have the M1 jumper connected) so you should be able get started in ISE and program the board through iMPACT.

Well Okay, But that puts me back to the beginning. Before I downloaded Adept I thought I could just buy the JTAG cable from Digilent, but the sales force told me I didn't need it. If I am to download a file to the board from iMPACT, I need to know where to send it and how. The actual code has to reside somewhere. I've programmed many ARM microcontrollers before, but I've never had this much trouble just getting started. What do you suggest?

Share this post


Link to post
Share on other sites
  • 0

So the workflow for programming an FPGA is a bit different than what you are used to with programming a microcontroller. Once you have written out your hardware description language code (either VHDL or verilog), ISE goes through several steps to verify the design (Synthesis and Implementation), then generates a bitstream (a .bit file type) which is the file that will be used to program your board. iMPACT is the hardware manager that ISE uses to send these .bit files to your board via USB.

There is a quick step by step guide on how to use iMPACT to program an FPGA on the Digilent Learn site, here. If you are just getting started, there are a handful of reference projects with code to demonstrate some of the boards functionality. They can be found at the bottom of the product page under the category RD. Let me know if you have more questions and I'll do my best to address them.

-Nate

Share this post


Link to post
Share on other sites
  • 0

Thanks for the write up. I actually had tried using iMPACT earlier with two boards - one based on the XC3S500.., and one on the XC3S700. Both boards function. I can apply power and they go through the usual routines as installed by the designers. I have two USB A to B cables which came with the boards. When I got to the instruction "Initialize Chain", I received error message 923, that the software could not find cable and that I should check the cable setup. I assumed that iMPACT couldn't use the port for some reason. The USB ports all work for other devices, such a flash memory, etc, so I assumed that I should try "Cable Auto Connect". I didn't receive any error message, but nothing had changed, either. Then I tried "Cable Setup...". This one offered me two different parallel cables, a Platform Cable USB/II, and a Digilent USB JTAG Cable. That's the point when I decided to buy a JTAG cable from Digilent. It initiated a phone conversation with the sales department, which told me I don't need the JTAG cable, that all the hardware was there. Then you wrote to say all the hardware is not there. I really just want to learn more about programming and debugging FPGAs. Can you help, please?  As I wrote earlier, I still don't know which way to turn.

Thanks.

--Jim

Share this post


Link to post
Share on other sites
  • 0

It's hard to say exactly where the issue may be. If I am understanding correctly, you have been able to verify that all the boards you have do function properly as they are able to run the pre-installed demos. The issue is with iMPACT not recognizing the cable, not some issue with an individual board.

Going from those assumptions, I have managed to find some information regarding known issues with your version of ISE (13.4) and Windows 7, among which is an issue with iMPACT not being able to detect the cable. The problem description and solution are on the Xilinx site here. A quick check to see if this may be the issue is to open Device Manger and see if 'Jungo' is in there. If not, you can follow the steps described there to try and resolve the issue.

The last version of ISE that was released is what I currently have installed on my computer and it supports the Spartan 3E. So an alternative solution could be to instead install ISE 14.7, which didn't give me any driver issues after installing.

Share this post


Link to post
Share on other sites
  • 0

The Jungo name appears and under it is "WinDriver". As administrator I went through the process of removing and reinstalling the driver as shown in the Xilinx post. That didn't help. While watching the Device Manager, I can remove power, then reapply it to the Diligent board and see a listing for Other Devices->Unknown Device disappear, then reappear. So the machine is seeing that something is there - it just doesn't know what. Are you sure that there isn't something else missing?

--Jim

Share this post


Link to post
Share on other sites
  • 0

Are you able to find something to help with this problem? The computer immediately responds if I connect or disconnect the cable. But it also reports that there is no driver installed for the Spartan card connected via USB. I have a copy of the Disc with ISE 13.4, but I wasn't able to find a driver. Of course, if I knew the name of the driver, it would be a lot easier to do the search. Do you have someone there who is a master of these sorts of problems? Please help.

Share this post


Link to post
Share on other sites
  • 0

Hi Kaitlyn,

I have read through the USB cable installation guide you forwarded. I've also downloaded and unzipped the zip file from Xilinx. Running the batch file resulted in two windows, the first of which is just 'cmd.exe' executing. But it opens another DOS window with 'wdreg.exe' then blows the machine's stack. That is, it results damaging the Heap.

If I really thought it would do me some good, I would install a later version of ISE. But the information I got with the board says it's locked to v13.4.

--Jim

Share this post


Link to post
Share on other sites
  • 0

The first time I saw the problem with the heap, I stopped everything. But there is a button called 'Retry', so I pressed that the second time. It seemed like things went as planned, although iMPACT is still acting strangely. I had it program the FPGA, but it reported that the operation failed. I tried all the operations (such as 'Erase') and each showed as failed. But the drivers may have been installed. When I plug in the USB cable, I see a green LED light. That's a first.

What might this mean? Is it still a hardware problem?

--Jim

Share this post


Link to post
Share on other sites
  • 0

Kaitlyn,

Thanks for your help. Even though the process went strangely, I still got it working with your help. Thank you. The USB installation guide was the answer. I am able to program the FPGA (Verilog) successfully. If you willl take just a moment, would you answer just one thing for me? I installed the software (ISE) from a CD sent with the kit. As far as I saw, all went well. But the USB driver (or is it drivers?) was not installed. Do you have any answer to what might have caused that?

I hope you will have time for this last question. In the mean time, I will consider this closed and again want to thank you.

--Jim

 

Share this post


Link to post
Share on other sites
  • 0

Jim,

When you install ISE there is a step in installation that asks what features you want to install. One of those boxes will be cable drivers. I'm not exactly sure why, but sometimes that box is not automatically checked. I myself have fallen prey to forgetting to check that box.

There are also a variety of factors that may have interfered with installation once that box was checked, anti-virus software, cables plugged into the USB ports, breaks in internet connection, possibly other unforeseen issues.

Kaitlyn

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now