* Timing
* clangformat
* Import some new data
* Import all timing data
* Add constants for needed timings
* Add separate file for delay handling
* wip
* Added helpers
* wip
* proper place for assignArchInfo
* wip
* wip
* Fixes for IO
* Add IOSEL delays
* Fix logic loops
* help figure out some ram paths
* return true only if exists
* cover all primitives
* Disable not used paths
* clockToQ
* Added some RAM timings
* Add more IOPATHs
* cleanup
* cleanup
* Map few more timings
* remove short name options
* support strings as options
* no need for return
With the release of Apicula 0.22, the GW5A series gained support for
simple IO, LUTs (including Widw LUTs), and DFFs (including flip-flops 6
and 7 specific to the GW5A series), so we can include the GW5A-25A among
Gowin devices.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
The GW-5A series has 8 flip-flops in a cell instead of 6. These
additional flip-flops can be used if the control network matches that
for the 4th and 5th DFFs in this cell.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
Prior to the 5A series, pin functions (GPIO/SSPI/JTAG/DONE/etc) were
switched using fuses. This was done during the binary image formation
stage for loading into the FPGA using the command line keys of the
gowin_pack program.
The 5A series features certain ports that connect to VCC or GND
depending on whether the pin is used as SSPI or GPIO, for example. This
mechanism exists in parallel with fuses, but it is not described
anywhere, nor is there a corresponding primitive.
To generate working images, we have no choice but to simulate this thing
at the nextpnr stage, since VCC/GND routing is required.
For now, two flags are added, responsible for the SSPI and I2C pin
functions.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
This item is likely no longer necessary, as this executable file has
been unavailable since May, with the complete transition to Himbaechel.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>