i have spartan 6 of the familyxlc9 but i am facing a severe problem with it . first i can burn successfully with jtag on it .its power is okay but the problem is whatever code i am burning to it
the io ports values doesn't change always all the pins are zeros except 4 pins that have values between 0.9 and 1.2 and another pin that have 3.3 .although the code is working on xillinx it is a simple code. trying to output ones on all the pins i changed the code to a code that does nothing like the fpga sends the same values on the output pins . i thought that those pins are no longer working
changed to another pins but all are zeros . it is like the output ports keeps a certain previous state and stand still.
i don't know does my fpga fails and has to be changed ? although jtag is burning code successfully
does spi flash memory is not working ? although i tried to upload the code on fpga directly and get the same output
thanks in advance
Debugging this sort of thing is hard, especially remotely. So I just offer a series of possibilities in the hope they trigger something useful :)
I hope you have at least one LED on a user-controlled IO.
* Try the simplest possible code: an entity with 1 output pin and a single line of code that sets it to '1'. so something like (syntax not totally accurate as I'm hacking this in a sports hall without a proper editor)
entity e port (testpin: out std_logic); end;
architecture a1 of e is begin testpin <= '1'; end;
* Fix any errors or critical warnings. There are some errors that will not stop the tools producing a bitstream.
* Is the pinout correct - check in the FPGA editor that the pins you think should be wiggling are on the pin numbers you think they are.
Do nothing else until this works then
* Follow this up with the use of a clock to toggle pins on and off at 1 Hz.
* then a shift register that lights up the pins in order
You shouldn't need SPI flash working for this - just load the code over JTAG.
Please Check in the schematic if all VDDs and GNDs are connected to appropriate levels for the particular part - Core voltage, Auxiliary voltage, IO voltage etc.. Then do a thorough check of all IO assignments against IOs in use as in the board schematic - Dedicated Pins, NC pins etc.. Other things could be checked how many are in the daisy chain etc.. If any LED is connected, make a counter inside and see if you could toggle it. That would give confidence.