Hi, I am writing a simple SPI Slave port for a ECP5 FPGA, using Lattice Diamond software.
The SPI port has a "sclk" signal, which is an input. I don't care about the frequency. I plan for 20MHz but really anything down to 1MHz would be fine.
I have already tested on testbench and my design is synthesizable. However, Lattice is insisting that I MUST input "sclk" on a dedicated clock port. Here's the exact error:
ERROR - USER LOCATE of clock driver 'sclk' at an illegal pin 'V21'. Unable to reach a CIB entry point for general route clock sclk_c in the minimum required distance of 1 PLC.
Please check if the pin is a legal clock pin (e.g. dedicated clock pin, GR pin) by
1) Opening 'Tools->Spreadsheet View' on the top
2) Choosing 'Pin Assgnments' tab in the middle
3) Checking 'Dual Function' column (PCLK*, GR*, etc.) for the pin
How can I overcome this nonsense? I can't find any options to suppress this restriction. Does this mean that any signal Lattice Diamond infers as a clock will refuse to route unless it's on the "correct pin", even if it's 1Hz signal???