Help programming a Spartan-6 SP605 evaluation board #354
-
Hello to all! I have to say that I am a HUGE NOOB with FPGAs and I started a little while ago to tinker a bit. The problem is that I program the board but when I press the rst button nothing happens.
I suspect that I'm doing something wrong with the constraints file that I wrote:
the other thing is that I program only the xc6slx45t and I don't know what the xccace is! I've tried some things but due to my lacking knowledge I don't know what else I can do, so any suggestion would be great! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
Hey there! I just had a quick look at the data sheet of your board and I have to say it is a rather complex board 😉 The big "problem" is that the primary clock source (the 200MHz clock) is a differential clock. So you'll need a differential buffer to turn into a single-ended clock. Furthermore, I am not sure if the NEORV32 can be synthesized for 200 MHz on this FPGA. You might need to add a PLL / clock manager to transform the input clock into a slower one (maybe 100 MHz). Maybe you should start with a reference design. Hopefully, there is something simple as a "blinking LED demo" provided by Xilinx/AMD.
Looks good! But the actual inverter is missing. You need to add signal not_rstn_i : std_ulogic;
begin
not_rstn_i <= not rstn_i;
...
rstn_i => not_rstn_i , -- global reset, low-active, async
I think this looks good so for - except for the differential clock. I just saw there is a single-ended 27MHz oscillator on the board. Maybe you should use this one for the beginning. Then you do not have to worry about differential buffer or PLLs 😉
Seems like there is some flash card interface chip in the JTAG chain... If you can program the FPGA, you can simply ignore this second device. |
Beta Was this translation helpful? Give feedback.
Hey there!
I just had a quick look at the data sheet of your board and I have to say it is a rather complex board 😉
The big "problem" is that the primary clock source (the 200MHz clock) is a differential clock. So you'll need a differential buffer to turn into a single-ended clock. Furthermore, I am not sure if the NEORV32 can be synthesized for 200 MHz on this FPGA. You might need to add a PLL / clock manager to transform the input clock into a slower one (maybe 100 MHz).
Maybe you should start with a reference design. Hopefully, there is something simple as a "blinking LED demo" provided by Xilinx/AMD.