Jump to content
  • 0

Simple Newbie Question


RodRico

Question

I'm using Vivado v2020.2 (64-bit) with a newly purchased Arty S7. The Arty manual shows a schematic with USB (J10) connected to the JTAG interface of the FPGA and says "A PC can use the Digilent USB-JTAG circuitry (port J10) to program the FPGA any time the power is on" then goes on to say "The Xilinx tools typically communicate with FPGAs using the Test Access Port and Boundary-Scan Architecture, commonly referred to as JTAG. During JTAG programming, a .bit file is transferred from the PC to the FPGA using the onboard Digilent USB-JTAG circuitry (port J10) or an external JTAG programmer, such as the Digilent JTAG-HS2, attached to port J9." It sounds to me like only a USB cable is required and, if that's the case, I'm confused as to why the JTAG-HS2 cable would be needed. Con someone confirm I need only a USB cable and clarify what all the JTAG devices listed for sale in the Digilent store are used for?

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

1 hour ago, RodRico said:

I'm confused as to why the JTAG-HS2 cable would be needed.

It's not.

Digilent's USB interfaces typically provide 2 USB endpoints; one is a UART and one is a JTAG interface. Both the FTDI and older CY6813A USB 2.0 devices found on all Digilent FPGA boards can do this. Digilent has been doing JTAG for a long time and their interface is well supported by the Xilinx tools, in fact I have a number of Xilinx branded development boards with a Digilent JTAG hardware solution on it.

If you have a Xilinx FPGA development board with a 14-pin JTAG header on it and an FPGA device supported by Digilent you can use one of the Digilent JTAG-HSx cables for configuration or debugging using ILA cores from within Vivado. I've used it with FPGA boards made by other vendors. If you have an unsupported device there's still a chance of using the Digilent JTAG with the tools, with a simple file edit. The easiest way to do configuration and debugging is through the board USB connector.

One unfortunate problem with those tiny USB connectors, without thru-hole mounting tabs, is that eventually they break off making the board unusable ( I put blobs of epoxy on new boards with cheap connectors on now before using them to add some level of mechanical strength). So I have 2 Digilent JTAG cables that are frequently in use. I also have a nice board from another vendor who uses an FT2232H much the same way as Digilent does but I changed the EEPROM for Synchronous 245 FIFO mode and lost the ability to configure the board... no problem, I first made sure that I could configure the FPGA using the JTAG cable before making the change. The vendor slightly changed the pin-out on the JTAG header ( naughty of them ) but it wasn't too hard to work up an adapter to be off an running again.

If you use Windows for your Vitis installation, I tend to use the Digilent Adept utility for configuration rather than the Vivado Hardware Manager because it's just a lot easier to do when I have multiple boards to configure for a project.  

 

Link to comment
Share on other sites

Your excellent response and cleared up my confusion zygot. Thanks!

My Arty S7 board does have through hole tabs on the USB connector but I plan to 3D print a base for the board that will support all cables and PMODs just to ensure there's never too much stress applied to board connectors.

 

 

Link to comment
Share on other sites

5 hours ago, zygot said:

Before making a purchase it's wise to read the product manuals, review the schematics, and see what kind of support is available.

I did. I always do. I do not, however, read everything as thoroughly as I do once I have the product in hand and am trying to use it. In this particular case, it's a simple mater of documentation written by experts being a bit confusing for newbies. That's a common problem. My customers often struggled with my team's documentation for the same reason. It's hard to forget everything you know and write for a completely uninformed audience. Because of that, I have no beef with the manual's language regarding the programming interface. I do, however, have problems with demos not working (see my latest post in the forum), but I'm not sure how I would have caught such errors before actually using the product hands on.

Link to comment
Share on other sites

1 hour ago, RodRico said:

I do, however, have problems with demos not working (see my latest post in the forum), but I'm not sure how I would have caught such errors before actually using the product hands on.

I'm glad that you mention this but it raises an important nuanced point about preparing to make a purchase. To start, this whole FPGA development thing is complex and not intuitive for beginners. The following comments pertain to choosing FPGA development boards.

  • The devices are complex. The tools are complex. A causal reading of the available material is likely to produce unrealistic assumptions.
  • Putting documentation errors, out-of-date content and the like aside, it's typical to find that for one reason or another expectations generated by casual reading of the materials rarely survives through to the end of an envisioned project. If that's true for someone like me who's used the same vendors tools for 35 years, then it's probably true for a newbie. It takes some time to get your 'sea legs', as it were, which really comes down to figuring out what questions to ask.
  • You can't foresee all of the barriers between your initial concept to competed project in many cases but you can get 'the lay of the land' so to speak. Install the vendors tools, discover the licensing terms for using a particular device ( vendors often provide free tools for some devices bu not always. Do you really want a one-time 1 year license to figure out how to use a tool? Try out a board vendor's demo projects, if available, and see if you can create a bitstream for the hardware and an elf file for ZYNQ. *If your version of the tools is different than the one the the demo was created on your chances of success is slim without a lot of work that requires some level of expertise. You don't have to have a hardware target to run applications. For non-ZYNQ boards simulation might be enough, unless the demo makes it too much work to even write a testbench. You can search for and read posts about a board product.

I've got more but let's see it it's wanted.

If my suggestion about doing your homework seems to be condescending and insulting I can tell you that it is not that at all. Entering into an FPGA development project naively will rarely end happily, and I don't use the word naive in any way that should be insulting; it applies to me too.

Fortunately, Digilent has a nice forum where less experienced users can get nudged toward solutions to their problems. Not many other FPGA development board vendors provide that.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...