First things first, here is the board:
Looks great. One problem: the 3.3v rail is shorted straight to ground!
Lock in thermometry
Following along with this article which I have been wanting to use for a while, I figure I can use this to find the location of the short. Here is a picture of me detecting the presence of just a wire with current pulsed through it:
Works great. The whole sin/cos thing seems a bit silly though, it’s basically the same as just taking the diff. I wonder if this is due to the thermal time constant as compared to the switching frequency of the current:
Like whether a sin/cos or whatever would fit well into this would depend partly on the thermal time constant. Anyway this is what I get after like 2min of recording data:
You can clearly see there is a dot in the top left corner of the board! It’s a bit faint though, so I recorded for many hours until I had like 37GB of data and then got this image:
…Basically the same. Anyway this was enough for me to go out on a limb and desolder the clock chip:
And indeed this removes the short! I checked the orientation of the part in the datasheet though and although there isn’t a pin 1 marking, the orientation appears to be correct just going of the text on the part.
Power rails
…I didn’t connect these:
…great. After connecting both the 1.1 and 2.5v rails with bodge wires to the decoupling cap pads on the back, I get this:
sudo ecpprog -t
init..
IDCODE: 0x41112043 (LFE5U-45)
ECP5 Status Register: 0x04a00000
flash ID: 0xEF 0x40 0x18
Bye.
Excellent!
AD9744 fs_adj
I foolishly connected this to the fpga instead of via a 2k resistor to ground:
Just so I fixed that before trying to actually use it.
Resistor changes
These guys are supposed to be much smaller according to the docs:
Final problem
I used the ‘verbose’ mode of ecpprog and it said I had something called a ‘ID error:’:
sudo ecpprog -S -a -v awg.bit
init..
IDCODE: 0x41112043 (LFE5U-45)
ECP5 Status Register: 0x04a00000
Transparent Mode: No
Config Target: SRAM
JTAG Active: No
PWD Protection: No
Decrypt Enable: No
DONE: No
ISC Enable: No
Write Enable: Not Writable
Read Enable: Not Readable
Busy Flag: No
Fail Flag: No
Feature OTP: No
Decrypt Only: No
PWD Enable: No
Encrypt Preamble: No
Std Preamble: Yes
SPIm Fail 1: No
BSE Error Code: ID Error (0b001)
Execution Error: Yes
ID Error: No
Invalid Command: No
SED Error: No
Bypass Mode: No
Flow Through Mode: No
Looking up my specific part number (different from the colorlight part number)