Forums

fpga spartan 6 io ports are no longer working

Started by ahmed1600 3 months ago2 replieslatest reply 2 months ago29 views

HELLO there,

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

[ - ]
Reply by martinthompsonMay 3, 2019

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.


[ - ]
Reply by rajkeerthy18May 5, 2019

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.