if you have problems with impact and programming your xilinx - this might help
cheers and thanks to our beloved megalomaniac his this awesome research & tutorial
BIOS
after getting the chip wired up and programmer built and impact finally installed i could not get a cable detected at LPT1. After remembering i had just changed the BIOS battery a few days ago i decided to take a look at my Bios settings for the parallel port...
It was defaulted to PS2...i changed that to ECP 378H DMA3...
sure enough the cable was detected by impact...
IMPACT HACKING
first thing i always do is try to read ID or verify some kind of response from any chip i am working with...in this case, it was my first attempt with impact and any xilinx chip...and first attempt with this programmer design...
as indicated previously i received the IDCODE mismatch...so, assuming my cable was working correctly and the chip was wired correctly, i started making modifications to the impact xc95144xl definition file (nothing to do with IDE_EXI). It was my belief this was a cloned / chinese knockoff with different data in the vendor, manufacturer ID labels within the chip...
after a few hours of changes to the definition file, i bypassed the IDCODE issue only to get a different identification mismatch...after a few more hours i gave up...started thinking i was going about troubleshooting this the wrong way by simply trying to hack impact files...i was sure there had to be another solution...
SO IGNORE ANY ATTEMPT TO MOD THE XILINX DEFINITION FILES AS INDICATED ABOVE!!!
VOLTAGE
after more researching within the forums i found this post: viewtopic.php?p=2436#p2436
( BTW, wealth of different information in that thread, i never thought to look in the "NEWS" section )
seems yamaharacer was getting the same error and resolved it by adjusting voltage....
so my next attempt at testing was to try the following voltages: 2.6v, 2.8v, 2.9, 3.0v, 3.15v, 3.3v, 3.6v, 3.7v....still no success!!
STUPID
I did some stupidity testing with impact and discovered if i have the parallel programmer connected to the port with no chip and no voltage, then impact will still indicate the cable is connectedive come to the conclusion that just because impact detects a cable connected does not indicate the cable is functionalCode: Select all
Checking cable driver. Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 X86 32bit SYS 14:35:41, version = 1021. LPT base address = 0378h. ECP base address = 0778h. Cable connection established.
This could be a major cause for the confusion experienced during attempting to program the chip.
NEW PARALLEL PROGRAMMER
In the past, working with other devices, i have never been successful with a parallel programmer design which had voltage connected to the parallel port...i never bothered to take voltage readings this time around during programming to see if there was any voltage drops but i suspect maybe that was part of the issue and decided to just scrap the parallel programmer design and build a different one...
SUCCESS!!! this design works for me
the LED at the top is optional to see flashing lights during programming, erase, etc...
CONCLUSION
now that the programmer works, i decided to perform a few additional tests:
connected one wrong pin to JTAG connection...impact indicated IDCODE mismatch.
connected 2.45v...impact indicated IDCODE mismatch.
connected 2.6v...success
connected 3.6v...success
after some testing and playing around i believe the IDCODE errors are specifically related to:
1. bad programmer
2. 2.6v < VOLTAGE < 3.6v
3. incorrect jtag connections to the chip
all of these scenarios will cause impact to fail in establishing communication to the chip...and will result with a IDCODE mismatch.