xxkryptos Posted February 17 Report Share Posted February 17 (edited) I'm trying to write a bitstream to a spare Aladdin XT2 Plus modchip with a knock-off USB Blaster. The USB Blaster in question is one that came with an AliExpress FPGA dev board. It looks like an official product, literally says "USB Blaster" and "Altera" on the sticker. One of those knock-offs. I only mention this because it could pertain to the issue. The github page linked says to externally power the modchip, which I am doing. I've found that if I connect 3.3v from an Adafruit trinket and leave the 3.3v line from the USB Blaster connected, I am able to run `urjtag` on Linux, connect the USB Blaster, and run the `detect` command. This reads out the device ID and hangs. I give the process a `SIGINT` and it segfaults. Seems promising, but I don't trust this to write the configuration to the chip. Possibly an issue with `urjtag`, but I can always debug that myself. Should the USB blaster be providing 3.3v while there is an external source providing 3.3v? This doesn't make sense to me, but it's the only way I've been able to get a partially successful ID from the Lattice chip. I also have this power supply. It takes my 12v wall wart and gives me some nice 3.3v headers. I've double checked with a multimeter and it seems to do what it says. When I power with this, it does bad things to the USB Blaster. I tried first without the 3.3v line from the USB Blaster and again with the 3.3v line connected. Both times, the USB Blaster is not even detected by my computer. It takes a minute or two of being unplugged before the USB Blaster is recognized by my computer again. This particular power supply has an on/off switch. I can switch it to off, plug in power leads to the modchip, and this still messes up the USB Blaster. It won't be detected even though the external power source is turned off. What could be causing this? Completely out of scope, I've heard that the Xecuter 3 uses a Lattice chip in the same LC4XXX family. From what I understand, they scrubbed the markings on the CPLD and made it look like an Actel chip to make cloning more difficult. There's a schematic publicly available, but from what I can tell, it requires transplanting chips from a working Xecuter 3. I seem to recall hearing that they locked the chips during manufacturing so the configuration / bitstream couldn't be copied. Does anyone have any recollection of this? Edited February 17 by xxkryptos Quote Link to comment Share on other sites More sharing options...
xxkryptos Posted February 19 Author Report Share Posted February 19 Double post, but it's been a day and I've solved my issue. The pin I was trying to power from was "VCC-TARGET". This pin is intended to detect the voltage off of your target board. Your target board will not always be running on 3.3V so this lets the JTAG device know what voltage it should be talking to the board with. Keep it connected, but do not expect it to power your board. You will need to power the modchip with an external power supply. As I discovered, some cheaper power supplies will cause issues. I can't tell you why, but hopefully this thread is anecdotal evidence that not all power supplies equal. I've successfully applied external voltage with an Adafruit Trinket 3V and a Bus Pirate v3.6a. With the Bus Pirate, I had to connect via serial, select UART mode, and enable power with the "W" option. I'm sure other supplies will work, but this is what I had handy. Another notable thing. I was using the `jtag` binary after installing `urjtag` on Ubuntu. This hangs or crashes after the detect command. This is probably because the software freaks out when it can't find the Lattice definition file on your computer. The 'urjtag' code in the Ubuntu repository is old and does not gracefully exit upon this particular error. This has been fixed by the people maintaining urjtag. The version in the Ubuntu repositories is from around 2007. Build the newest tagged version from source (or download it) and install it. The install makefile option is a little jacked too. You might need to copy a specific library into your path, preload it, make sure it gets loaded, etc. 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.