Evening, everyone!
Just a quick question for anyone who's implemented a Lattice MachXO2 for any reason. I understand that Diamond supports programming via an FT2232. I've never used one of these chips before, and have been referencing Lattice's breakout board schematics and obviously the datasheet quite a bit, but am still wondering about a couple things before I have a board fabricated:
- I don't see any connections to either JTAGENB or PROGRAMn on these breakout boards, other than to external GPIOs, but it sounds to me like both of them need to be pulled in some direction to have the FPGA hold for reprogramming of the internal flash. Can anyone clarify the purpose of these two pins?
JTAGEN is only used after you've programmed the fuse to allow the JTAG pins to be shared with other functions ( handy on the 32 pin part), where JTAGEN selects between JTAG and I/O functions. It is not needed otherwise.
I don't recall what PROGRAMn is used for but I don't think it needs anything doing with it in normal usage - see the Lattice configuration docs for more info.
- The FT2232 sounds like it will need configured with FTDI's FT_PROG. Is there anything exactly that needs dumped to the external EEPROM to have the chip be usable by Diamond for JTAG programming?
I don't remember - try with the default config and see what happens. I think I may have an EEPROM dump of the chip on the XO2 eval board.
Or for that matter, does anyone have any experience with a single-chip FPGA of this class (specifically the XO2-4000) that is relatively easy to get working with minimal supporting circuitry?
Much appreciated!
The XO2 series is very easy to use - the HC parts have an internal core regulator, so there isn't any supporting circuitry apart from a 3.3v regulator, and a header with connections to TCK,TMS,TDI and TDO. I'd stick a pullup or pulldown on TCK to stop spurious clocking but that's it. It even has an internal oscillator if you don't need anything too accurate.
The only reason to use the other types is when you care a lot about power consumption or need to run everything at a low voltage.