Alternative USB JTAG communication via FX2

Saxo/-L & Xylo/-EM/-L/-LM boards

Postby weiman » Sat Oct 27, 2007 10:06 am

guopo wrote:Kawk, Thanks for your great work!!

Now, I changed source code as fpga4fun did and work well. I changed VID,PID (09FB, 6001), so it can be renumerated as usb-blaster. I saw you said that it can be usb-jtag-if have its own VID PID, but i can't find any driver for windows. so if i use your VID,PID, how can setup device?


Thanks!



Where can I change the VID PID in the source? I cannot find it... I got windows to recognize the usb jtag (VID_16C0&PID_06AD). Installed the altera usb blaster by editting the .inf file. But I cannot find the usb blaster in Quartus. Can I use these VID_16C0&PID_06AD with quartus? of do i need to use the original Altera usb blaster vid,pid (09FB, 6001)?

-edit-
I found it, it's in dscr.a51, but still no luck getting it work under quartus :(
weiman
 
Posts: 1
Joined: Sat Oct 27, 2007 9:58 am

Postby surge_me » Thu Nov 01, 2007 9:59 pm

Hello All,

I made an FX2 (cypress chip) usb blaster. If I plug it into the computer and donwload the software from kawk (witht the PID and VID edited), it shows up as an Altera USB blaster and installs the apropriate drivers.

So far so good.

The problem is that once installed, Quartus does not recognize the cypress chip as a usb blaster....

So is this a known error? or did I do something wrong?

Some info: I use SDCC, to compile the software from kawk.
I use the make file in the device\c51 file and I load the std.hex file in the processor
I also use the cygwin implementation of 'make' in a windows command prompt to make the hex file.
surge_me
 
Posts: 1
Joined: Thu Nov 01, 2007 9:47 pm

Postby mr alex » Fri Jul 25, 2008 2:39 pm

Hello everybody,

I am a newbie in PLD and I wish to make an "USB-Blaster" compatible cable and a "Platform Cable USB" for xilinx devices (I have some altera and xilinx cpld). I already have some cy68013a chips.

The problem is that I don't understand very well what you say on previous pages.
Where can I find a schematic ?
How can I program the cypress chip ? (Does it remember the program code?)

Thanks guys
;)
mr alex
 
Posts: 2
Joined: Tue Apr 22, 2008 11:38 pm

Postby mr alex » Fri Jul 25, 2008 11:35 pm

ok, thanks Kolja.

So I think I will start to build the board in order to work on it (try to build...).

I will connect like that:
PD4/FD12 (pin 56) = TMS
PD2/FD10 (pin 54) = TDI
PD1/FD9 (pin 53) = TDO
PD0/FD8 (pin 52) = TCK

It would seem that Urjtag and OpenOCD does not function on Windows.
How can I do on windows ?

Alex
mr alex
 
Posts: 2
Joined: Tue Apr 22, 2008 11:38 pm

Postby beattie » Thu Aug 21, 2008 6:24 am

I'm having a problem using openocd to talk to my saxo-L under Linux. Any advice of clues would be helpful.

I grabbed Kwak's zip file and the svn sources for OpenOCD.
I patched and built openocd.
I built the std.hex file with "make HARDWARE-hw_saxo_l" and fxpush.
I loaded the std.hex file and ran openocd using the config file below.
I'm getting the following errors:

Code: Select all
Open On-Chip Debugger 1.0 (2008-08-20-22:45) svn:753M
$URL: http://svn.berlios.de/svnroot/repos/openocd/trunk/src/openocd.c $
Info:    jtag.c:1403 jtag_examine_chain(): JTAG device found: 0x020810dd (Manufacturer: 0x06e, Part: 0x2081, Version: 0x0)
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1579 jtag_init_inner(): Could not validate JTAG chain, exit
Info:    jtag.c:1403 jtag_examine_chain(): JTAG device found: 0x020810dd (Manufacturer: 0x06e, Part: 0x2081, Version: 0x0)
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1470 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x15
Error:   jtag.c:1579 jtag_init_inner(): Could not validate JTAG chain, exit
Warning: gdb_server.c:2015 gdb_init(): no gdb ports allocated as no target has been specified


Code: Select all
telnet_port 4444
gdb_port 3333

#interface
interface usb_blaster
usb_blaster_vid_pid 0x16c0 0x06ad

reset_config trst_and_srst separate

jtag_device 4 0x1 0xf 0xe
beattie
 
Posts: 2
Joined: Thu Aug 21, 2008 6:08 am

Postby beattie » Sun Aug 24, 2008 4:37 pm

I have made no progress, though I did build a WinXP system and tested the Saxo-L on it and everything works, OpenOCD talks to the ARM and fpgaconfig loads the FPGA.

I also tried ur-jtag under Linux and it can't talk to the board either. I found links to the earlier usbjag sources, but I don't have the Keil compiler needed to build that version so I can't check it.

Trying to debug this with-out a working example I can look at or schematics/pin-out is difficult.

Would it be possible to get the source for the current windows driver or partial schematics?

--- update: looking at the board it looks like the FPGA TDI, TDO, TMS, and TCK are connected to Port D bits 0, 1, 2 and 3 respectively. This agrees with the software I have so it would seem to not be a simple configuration issue, though I confused by the fact that both TDO and TDO are connected to the same chip, I must not understand JTAG unless there are two JTAG chains on the Saxo-L or there is some magic going on.

Anyone have an clues they might wish to share?
beattie
 
Posts: 2
Joined: Thu Aug 21, 2008 6:08 am

Postby sunemai » Wed Oct 01, 2008 11:25 am

Hi all!
I've modified Kolja's FX2 code to work with an FPGA development board called NEXYS from Digilent Inc. (they come with FX2 firmware pre-loaded, but I want some different features from their default).

Board layout: 56 pin Cypress FX2 drives the JTAG chain consisting of Xilinx Spartan XC3S1000 FPGA (part 1) and Xilinx xcf04s (part 0) configuration ROM.

Port assignments: FX2, port D drives JTAG chain and controls FPGA power on.
The default firmware uses port A and B to emulate an EPP port. In addition to the JTAG part, I want my new firmware to implement a WISHBONE interface, ideally configurable as either master or slave interface, or both.

So far I have the JTAG part _almost_ working:
Changes from Kolja's code are mostly the port assignments, power on etc.:
TCK = D.4
TDI = D.2
TMS = D.3
TDO= D.0
USBPOW = D.7 (turns on board power from usb)
USBJTAG = D.5 (when high, the FX2 can drive the JTAG chain.)
Output enables are changed from OEC to OED corresponding to the above ports.

From the UrJTAG promt I can load "cable UsbBlaster" and detect the xcf04s and the xc3s1000 ( after adding "1111 xcf04s 15" to the UrJTAG STEPPINGS file for the xcf04s). Print chain also works without errors in UrJTAG.

But: When I load a design using "part 1", "svf mydesign.svf stop progress" the FPGA is not configured correctly. Loading the same svf-file onto the same board using a parallel JTAG cable, the design works as intended (it blinks a led...), so the FPGA is not broken.

Any suggestions on how to debug this situation? The FPGA's "configuration done LED" lights up after the svf command, and no errors are reported by the svf command, only a warning about the USB-blaster frequency being fixed to 12MHz. Is this really an error with the UrJTAG svf command, or could I be missing something?

Best regards
Sune Mai
sunemai
 
Posts: 4
Joined: Wed Oct 01, 2008 10:06 am

Postby sunemai » Wed Oct 01, 2008 8:10 pm

I'll try to clarify my questions:
UrJTAG + DLC5 Parallel cable :
JTAG chain detect + FPGA config from SVF file works perfectly!
UrJTAG + UsbBlaster/FX2 firmware :
JTAG chain detect works perfectly but FPGA config from same SVF fails.

How is this possible? If my mods of the FX2 firmware are buggy, shouldn't the JTAG chain detection fail as well?
\Sune Mai

Update: Adding a STAT register readback to check the FPGA status after configuration shows that the _only_ difference between the (working) parallel cable load and the (not working) FX2 load is bit 7 of the STAT register, GHIGH_B. The Spartan-3 STAT register bits are thus
parallel cable:
00110111101110... (the rest, bit 14-31, are zeros as they should be).
With FX2 firmware:
00110110101110...
There are thus no CRC errors during the load, the DONE signal goes high, indicating a successfull load in both cases, etc. Time to investigate what GHIGH_B means...

Suggestions are still very welcome - this could be an issue for all users experiencing a "Load OK, but design not working" type of problem with kawk's FX2 firmware (not that I can say, that the problem is in the firmware, of course...)
sunemai
 
Posts: 4
Joined: Wed Oct 01, 2008 10:06 am

Postby sunemai » Sat Oct 11, 2008 12:04 am

sunemai
 
Posts: 4
Joined: Wed Oct 01, 2008 10:06 am

Postby duddface » Thu May 14, 2009 9:30 pm

Hi Kolja,
Good work. I have a Xylo-LM and was wondering if this can be adapted to my Xylo board that has the Spartan XC3s500E FPGA in it? If so, how would i go about it?

thanks in advance,
Ananth
duddface
 
Posts: 10
Joined: Fri Dec 22, 2006 8:58 pm

No activity on TMS and TDI

Postby blipton » Mon Sep 07, 2009 10:54 pm

Hi,

With the day off (Yay Labor day!) , I thought I'd play with the USB JTAG adapter code posted.. we are always short @ltera usb blasters in the school labs so this could be very handy!

Anyways, I have an FTDI245BM chip with the vendor/id/driver configured as a real usb-blaster... connected to a cpld running the jtag_logic.vhd downloaded from http://www.ixo.de/info/usb_jtag/. For testing, I have the jtag from the cpld going to an old flex10k board.

The problem is that while Quartus sees a usb-blaster ok, it cannot detect the flex10k or the jtag chain.

As far as I can tell, when I click auto detect in Quartus, I do see activity on the tclk line, but I see no activity on tms or tdi. The 8 data lines and control signals (rx,tx,rxf, txe) between the 245bm and the cpld seem to be toggling as well.

I've used the flex10k board with a real @ltera usb blaster so I know it's jtag chain is good... however, just to isolate the cpld jtag, I disconnected it from the flex10k board. I still do not see any activity on tms or tdi, so it not like it's being held down.

Any ideas what would could be causing the problems? I looked into the jtag_logic state machine, but didn't see any output debug signals that I could monitor.
blipton
 
Posts: 1
Joined: Mon Sep 07, 2009 10:09 pm

Postby haukex » Fri May 28, 2010 3:59 pm

Hi all,

I just wanted to let everyone know that Kolja's firmware is now hosted on SourceForge:

http://ixo-jtag.sourceforge.net/

Also, I am curious who is using this firmware? I just would like to know if the firmware files are still current :)

Thanks,
-- Hauke D
haukex
 
Posts: 1
Joined: Fri May 28, 2010 3:54 pm

Postby plaressa » Mon Aug 02, 2010 11:53 am

Can I use a regular usb cable to connect a broadband modem to my wii? Some of Comcast's modems have a usb port on them, and I was just wondering if it's possible to run a hardline connection from the modem to the Wii just using a regular usb cable instead of buying one of those usb-to-ethernet lan adapters. Any help would be appreciated. Thanks.
_________________
affiliateelite ~ affiliateelite.com ~ adgooroo ~ adgooroo.com
plaressa
 
Posts: 2
Joined: Sat Jul 31, 2010 10:46 am

Previous

Return to FX2 FPGA boards