I killed my CPLD Breakout Board. While taking pictures of the “successful” SRAM-loading VHDL I’d written and wired up, I noticed that the power LED on the board was off. I checked the connections, toggled the power a few times, tried re-running the logic analyzer, and eventually concluded that the board was dead. It draws 1.4 amps when I plug it in, and the CPLD itself gets pretty hot. As far as I can tell, everything else on the board is working (except for the power LED, which now appears to be inert).
Here’s my VHDL:
architecture Behavioral of SRAM_LOADER is signal REGISTER_TEMP : STD_LOGIC_VECTOR(23 downto 0); begin process (CLK) begin if (rising_edge(CLK)) then REGISTER_TEMP <= REGISTER_TEMP(22 downto 0) & LATCH; if OE = '1' then ADDRESS <= REGISTER_TEMP(23 downto 8); DATA <= REGISTER_TEMP(7 downto 0); else ADDRESS <= "ZZZZZZZZZZZZZZZZ"; DATA <= "ZZZZZZZZ"; end if; end if; end process; end Behavioral;
I think the tri-stated address and data pins are the problem. None of them were connected to anything (except four data pins hooked to my logic analyzer). But I’m not at all sure why that would be a problem. The only reason I think it’s related is that one of the last things I did was testing OE disabled (grounded), but it wasn’t the _last_ thing (which was one more OE- high run to take a picture of the registers shifting), so even that evidence is questionable. If I’d obviously shorted something external to the chip, then I doubt I’d have been able to spend the half-hour or so when I successfully tested it. That’s why I believe I did something wrong with the tri-stating.
If you know a way that one could destroy an XC9572XL CPLD by programming it incorrectly, I’d appreciate a tip.