Re: this JTAG thing is a joke



While I agree with you that it is outdated and too slow,
I'd say some single chip USB 2.0 <-> much-faster-than-todays-JTAG
would be a practical enough solution. It will take care of the level
conversion and everything, and the speed will be as high as it
gets. Need more speed for too big a board, put several JTAG chains
on it, ready.

I do not understand what you mean by "the 5 MHz clock dies out after",
what's wrong with buffering it? But 5 MHz is too slow for todays big
chips anyway, so the point is valid nonetheless .
Now error correction, packet headers etc. sounds like
suggesting an entire tcp/ip for the backyard of something which
may not have as much in the front yard... that's a bit (way?) too far
for me.
We won't make a consumer interface out of JTAG, will we (I hope we
don't ... :-) .

Dimiter

------------------------------------------------------
Dimiter Popoff Transgalactic Instruments

http://www.tgi-sci.com
------------------------------------------------------


Brannon wrote:
This post is a bit of a flame, but seriously, JTAG has got to go. The
signals are weak. The various drivers and controllers for it are weak.
It causes nonstop headaches for hardware developers and FPGA developers
alike. It's slow, hardly customizable, hard to use, ultra extremely
fantastically flaky on every piece of FPGA hardware I've ever used
(which includes at least a dozen vendors), and ancient technology.

Here is what I want:

1. Support for a lot of chips, say 2048 of them. JTAG supposedly
supports 16 chips. Yeah, right. The 5MHz clock signal dies out after
three or four. The 200KHz signal dies after eight or nine. This will
require some strong signals with error correction, but, heck, if a
basic ethernet layer can do it....

2. Endpoint enabling. The JTAG methods for specifying an endpoint are
both flaky and redundant. We need some nice protocols, maybe even
packets with headers, etc.

3. Speed. It needs to be as fast as my USB2 cable at a bare minimum.
And put some standard, accessible plugs on there while you're at it.

4. Standard driver interface. Need I say more? How many of you write
directly to the parallel port? All of you? Uh huh, I knew it. I'm sure
you all enjoy it too. How about something like this:

mycard = code to locate the right driver and device and open it....
ioctl(mycard, HOW_MANY_DEVICES, &devices)
id_struct = new ID_STRUCT[devices]
ioctl(mycard, IDENTIFY_DEVICES, &id_struct)
for each d in devices {
if( id_struct[d].devId == Virtex4Id ) {
targetlist = { d }
ioctl(mycard, SET_TARGET_DEVICES, &targetlist)
command_struct.mode = programming
ioctl(mycard, SEND_COMMAND, &command_struct)
write(mycard, "c:\my programming file.bit")
ioctl(mycard, READ_STATUS, &status_struct)
if( status_struct.mode & programmed) break
else return failed
}
}
Then we go into a loop for reading and writing debug data, etc.

We could have drivers for a dozen different interfaces including
Firewire, parallel port (urrrg), serial port (double urrrg), etc.

Yo Xilinx, let's remove the great mystery from Impact. Let's open the
hat on the "platform" driver and make the thing useful for the parallel
port as well.

Maybe I'm taking this too far. I just want something that works
reliably and is not a pain in the ars to use programmatically. Is that
too much to ask?

.



Relevant Pages

  • Re: this JTAG thing is a joke
    ... The 200KHz signal dies after eight or nine. ... write(mycard, "c:\my programming file.bit") ... Firewire, parallel port, serial port, etc. ... One way is to make fake usb device with help of a virtual device driver. ...
    (comp.arch.fpga)
  • Strange shutdown problem - HELP, PLEASE! and what is glogodrv.sys?
    ... it seems to be related to the parallel port. ... type: 1 Kernel Driver ... I made a restore point after reintstalling the graphics driver, ... Gigaraid onboard raid set up for backup- four WD40 harddrives running in raid ...
    (microsoft.public.windowsxp.help_and_support)
  • Re: What have you tried?
    ... When we had the Device Driver book published in 1999, ... The only bad rating I got in my Systems Programming course was from a student who, ... The problem really starts in introductory programming courses. ... kernel thread was stupid. ...
    (microsoft.public.vc.mfc)
  • Re: Explain this about threads
    ... The driver should take care of all the data integrity stuff, ... application can worry about the application protocol. ... Ensuring an average data rate is easy. ... CreateFile to access the parallel port? ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: how to disable parallel port
    ... This is the reason why I'm asking for some windows config file to modify to manually remove the driver, or disable the parallel port. ... There needs to be a BIOS option which turns off the parallel port. ...
    (microsoft.public.windowsxp.hardware)