I built another CAT Board with a minimal amount of circuitry (i.e., the FPGA, voltage regulators, RESET switch, some pullup resistors) and powered it up. I looked at the SPI clock signal and it had a 7.5 MHz square wave on it. That's exactly what it should do if the FPGA is powering up in master configuration mode and trying to load a bitstream from an external serial flash. I could also toggle the reset and see the FPGA putting out commands to the flash on the SDO line.
I was also able to place the FPGA in the slave serial mode by holding its SPI slave-select pin low while pulsing the reset. So I felt I was ready to try configuring it from the RPi.
I mounted the four LEDs on the CAT Board and then connected the power, ground and SPI signals to the RPi. Then I used the bash script to download the simple LED driver bitstream to the FPGA. Here's a video of the event:
So I've verified that I can create valid iCE40 bitstreams with the iCEcube2 software and download them to the iCE40HX FPGA from the RPi. Now I can assemble the rest of the CAT Board and continue testing with the RPi.
As to what went wrong with the first board I assembled, possibly I toasted the FPGA by heating it too long (2:00 minutes). I heated the second BGA for only 1:30 minutes. As I recall, I ruined the first Xilinx BGA I ever attempted to mount, so I'm keeping the tradition alive.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Glad to know it's working now!
Are you sure? yes | no
Thanks! Bringing up a new board is always a pain.
Are you sure? yes | no
but it's a worthy adventure !
Are you sure? yes | no
Thanks!
I hope I'm not scaring you away from the Lattice FPGAs with all the gory details. It appears most of my problems were related to the BGA assembly, not to the FPGA itself.
Are you sure? yes | no
I'm not scared away, on the contrary: your detailed experiences are very helpful to design the circuits and bring them up.
Keep sharing !
Are you sure? yes | no
Great work !
Are you sure? yes | no