Buriedcode
Full Member level 6
ft245rl vb.net
Hi,
I haven't posted here in a while, so bare with me. I have serached this forum, and many others, as well as google itself for idea's on how to solve the ever growing problem of 'programming CPLD's with no parallel port on PC'.
On my new computer, I no longer have a spare PCI slot for a PCI parallel port, and I would also like to be able to update firmware on CPLD boards using my laptop. We're going USB. And I am fully aware that current USB-LPT converters do not work.
I use many different devices, mainly Xilinx, Altera and lattice, and have built/purchased an LPT download cable for each vendor, with great success. In the future, if I get a new PC I will use my LPT PCI card, so I can use the parallel download cables. I will also order a device from this guy:
**broken link removed**
But I am dubious about whether it will actually work with all three parallel port download cables, as well as the speed issue.
So ultimately, my situation is: Need to program/download to CPLD's from lattice, Xilinx and Altera, using a USB port, and windows software. - preferably a nice simple GUI interface. I do NOT require any form of debugging, or special functions, purely just to get the JEDEC/SWF/STAPL file into the CPLD. This can use SVF files generated by all three vendors (if they are compatable), or STAPL files, it seems that all three vendors DO provide multiple options for outputting different file types.
Cost is a sensitive issue. I do not do enough work with these devices to warrent spending $$$ on a large commercial system, plus I am very intersted in 'rolling my own'.
Now, if anyone has done research on this will know, there is a LOT of information out there, and various commercial, as well as open-source, projects. This is confusing and overwhelming, as some of it is outdated, some is biased towards only a single vendor (xilinx, or altera mainly) or with host software used for integration into a debugging enviroment.
Hardware: Many devices, ranging from Altera USB blaster clones, Xilinx USB clones, FT2232 based devices, Cypress FX-2 devices, even AVR. It seems that the hardware/firmware side is well documented, and I don't think I would have trouble cloning one of these ideas. As long as it can be used with 'good' host software, the only issue with it would be the programming speed. I'm not after getting a 6mbit bitfile to an FPGA in less than 10 seconds, but I would hope that it would be as quick, if not quicker than the parallel port cables.
Software: This is where it gets tricky. OpenOCD, UrJTAG and many others seem to require compiling on linux based systems. I am a hardware engineer, with some knowledge of highlevel programming and OS enviroments, but not enough to be comfortable compiling my own. The documentation for both the above opensource programs is beyond my understanding, as I am a simple user who prefers pretty windows based GUI's as opposed to command line/DOS/linux apps.
Ideally, I am looking for a small standalone app, with GUI< that runs on windows, which can simply take in an SWF file (or stapl, or perhaps multiple file types), detect the USB cable, detect the device and program it. The use of SVF files *should* allow me to use the same software/hardware for all xilinx/altera/lattice devices I use. (almost ALL CPLD's with JTAG)
The real confusing point is where to start? I could attempt to write my own from scratch, but this would seem counter-productive as there are so many opensource projects out-there which do most of the work.
Does the Altera, or xilinx cable support programming of NON vendor devices using the generic SVF file? If that is the case then of course I could buy/build a single 'official' USB download cable, and use that for all devices (albeit jsut for progrmaming).
Or perhaps, could one write a small VB/windows application that 'calls' openOCD, essentially meaning I could just program a simple front-end for it, letting it handle the command lines, form tick boxes and drop down menus in the GUI.
I have looked into the Amontec JTAG key and JTAGkey-tiny, and whilst that seems a very cost effective solution (the tiny is 29EURO's), their software is again, confusing.
I know I have mentioned 'what I want' several times, but just to reitterate...ideally something like IC-prog, but for CPLD's/PFGA's. No extra functionality, purely to successfully program devices. A nice stand-alone bit of kit.
Any idea's? Or have you all heard these questions too many times before?
Hope someone can help.
Buriedcode.
Hi,
I haven't posted here in a while, so bare with me. I have serached this forum, and many others, as well as google itself for idea's on how to solve the ever growing problem of 'programming CPLD's with no parallel port on PC'.
On my new computer, I no longer have a spare PCI slot for a PCI parallel port, and I would also like to be able to update firmware on CPLD boards using my laptop. We're going USB. And I am fully aware that current USB-LPT converters do not work.
I use many different devices, mainly Xilinx, Altera and lattice, and have built/purchased an LPT download cable for each vendor, with great success. In the future, if I get a new PC I will use my LPT PCI card, so I can use the parallel download cables. I will also order a device from this guy:
**broken link removed**
But I am dubious about whether it will actually work with all three parallel port download cables, as well as the speed issue.
So ultimately, my situation is: Need to program/download to CPLD's from lattice, Xilinx and Altera, using a USB port, and windows software. - preferably a nice simple GUI interface. I do NOT require any form of debugging, or special functions, purely just to get the JEDEC/SWF/STAPL file into the CPLD. This can use SVF files generated by all three vendors (if they are compatable), or STAPL files, it seems that all three vendors DO provide multiple options for outputting different file types.
Cost is a sensitive issue. I do not do enough work with these devices to warrent spending $$$ on a large commercial system, plus I am very intersted in 'rolling my own'.
Now, if anyone has done research on this will know, there is a LOT of information out there, and various commercial, as well as open-source, projects. This is confusing and overwhelming, as some of it is outdated, some is biased towards only a single vendor (xilinx, or altera mainly) or with host software used for integration into a debugging enviroment.
Hardware: Many devices, ranging from Altera USB blaster clones, Xilinx USB clones, FT2232 based devices, Cypress FX-2 devices, even AVR. It seems that the hardware/firmware side is well documented, and I don't think I would have trouble cloning one of these ideas. As long as it can be used with 'good' host software, the only issue with it would be the programming speed. I'm not after getting a 6mbit bitfile to an FPGA in less than 10 seconds, but I would hope that it would be as quick, if not quicker than the parallel port cables.
Software: This is where it gets tricky. OpenOCD, UrJTAG and many others seem to require compiling on linux based systems. I am a hardware engineer, with some knowledge of highlevel programming and OS enviroments, but not enough to be comfortable compiling my own. The documentation for both the above opensource programs is beyond my understanding, as I am a simple user who prefers pretty windows based GUI's as opposed to command line/DOS/linux apps.
Ideally, I am looking for a small standalone app, with GUI< that runs on windows, which can simply take in an SWF file (or stapl, or perhaps multiple file types), detect the USB cable, detect the device and program it. The use of SVF files *should* allow me to use the same software/hardware for all xilinx/altera/lattice devices I use. (almost ALL CPLD's with JTAG)
The real confusing point is where to start? I could attempt to write my own from scratch, but this would seem counter-productive as there are so many opensource projects out-there which do most of the work.
Does the Altera, or xilinx cable support programming of NON vendor devices using the generic SVF file? If that is the case then of course I could buy/build a single 'official' USB download cable, and use that for all devices (albeit jsut for progrmaming).
Or perhaps, could one write a small VB/windows application that 'calls' openOCD, essentially meaning I could just program a simple front-end for it, letting it handle the command lines, form tick boxes and drop down menus in the GUI.
I have looked into the Amontec JTAG key and JTAGkey-tiny, and whilst that seems a very cost effective solution (the tiny is 29EURO's), their software is again, confusing.
I know I have mentioned 'what I want' several times, but just to reitterate...ideally something like IC-prog, but for CPLD's/PFGA's. No extra functionality, purely to successfully program devices. A nice stand-alone bit of kit.
Any idea's? Or have you all heard these questions too many times before?
Hope someone can help.
Buriedcode.