I implemented a simple counter in the FPGA and sent different bits of the counter to each edge connector I/O to verify that the BGA connection and PCB routing is correct. I also sent a less-significant bit to a green LED and got my treat:
Tuesday, September 10, 2013
Blinky
This is what every good EE loves the most. The day he gets a blinky!
I implemented a simple counter in the FPGA and sent different bits of the counter to each edge connector I/O to verify that the BGA connection and PCB routing is correct. I also sent a less-significant bit to a green LED and got my treat:
I implemented a simple counter in the FPGA and sent different bits of the counter to each edge connector I/O to verify that the BGA connection and PCB routing is correct. I also sent a less-significant bit to a green LED and got my treat:
Thursday, September 5, 2013
On-board JTAG controller lives!
My bityExpress PCB has a built-on programmer for the FPGA that includes a FTDI FT245R USB/FIFO IC and an Altera Max V CPLD. I grabbed a copy of ixo.de's usb_jtag project for the CPLD and modified it to disable active serial mode and to match the pinout that I selected. The code compiled cleanly for a 80 LE Max V.
The problem started when I tried to update the USB vendor ID on the FT245R to match the Altera USB-Blaster. Installing FTDI's FT_Prog on my Windows 7 box never worked. I ran across a Linux app called ftdi_eeprom that looked very promising. I was able to change the vendor ID to 0x09FB and Quartus recognized the on-board programmer, but 'Auto Detect' in Quartus did not recognize the FPGA. Two symptoms quickly emerged: The JTAG TCK signal coming from the CPLD was constantly running and the FT245R's RXFn pin was stuck low (indicting that data was always in the FIFO).
Somehow the ftdi_eeprom app tells the FT245R that it is a FT232 and I could not find a way to recover the part. Even when I successfully installed FT_Prog on an older XP box, I could not restore the original state of the FT245R. I ended up replacing the FT245R and changing the vendor ID using FT_Prog on the XP system. That's when the magic happened:
Perhaps I'll look deeper into ftdi_eeprom and try to understand why it fails on the FT245R. I'd love to contribute something back.
Subscribe to:
Posts (Atom)