So I'm using an ICE40HX8K and I've synthesized a design and I cannot figure out why my output is not being driven. I'm expecting a 3.3v peak but only get about 400mv of range. This seems to be the case for all of my outputs.
I eventually stepped back and just wired my input clock to an output pin just to make sure it wasn't my logic, but still no luck.
I can see the frequency so I know the signal is getting through but it's only in the 0-500mV range. So it seems like the internal pull-up pin wasn't working. I attached an external pullup pin and now it's just a 3.3v centered 400mV peak-to-peak wave that matches the clock of my input frequency.
So my question is, how do output drivers generally work on FPGAs? It looks like I've enabled what I need to in software. The best documentation I could find on this is page 10 of the family
data sheet. But this seems like a trivial thing and I'm not sure what I'm missing.
My test code is essentially
VClock : in std_logic;
TFTLCDCLK : out std_logic;
signal VClockI: std_logic;
VClockI <= not VClock;
TFTLCDCLK <= VClockI;
signal VClockI
I'm starting to think I should throw away this lattice stuff and go get a spartan 6 board.