nextpnr/himbaechel/uarch/gowin
YRabbit b82cf51aea Gowin. Add the ability to place registers in IOB
IO blocks have registers: for input, for output and for OutputEnable
signal - IREG, OREG and TREG respectively.

Each of the registers has one implicit non-switched wire, which one
depends on the type of register (IREG has a Q wire, OREG has a D wire).
Although the registers can be activated independently of each other they
share the CLK, ClockEnable and LocalSetReset wires and this places
restrictions on the possible combinations of register types in a single
IO.

Register placement in IO blocks is enabled by specifying the command
line keys --vopt ireg_in_iob, --vopt oreg_in_iob, or --vopt ioreg_in_iob.

It should be noted that specifying these keys leads to attempts to place
registers in IO blocks, but no errors are generated in case of failure.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2024-12-08 16:40:45 +10:00
..
CMakeLists.txt gowin: Himbaechel. Add GW1NZ-1 BSRAM. 2023-11-26 13:08:09 +01:00
constids.inc Gowin. Add the ability to place registers in IOB 2024-12-08 16:40:45 +10:00
cst.cc apicula: add support for magic sip pins (#1370) 2024-10-09 15:16:36 +02:00
cst.h gowin: Himbaechel. Add constraint file processing. 2023-08-31 08:28:09 +02:00
globals.cc clangformat 2024-09-30 14:51:33 +02:00
globals.h gowin: Himbaechel. Add a clock router. 2023-08-31 08:28:09 +02:00
gowin_arch_gen.py Gowin. Add Input Edge Monitor (#1396) 2024-11-27 09:57:34 +01:00
gowin_utils.cc Gowin. FFs placement. (#1386) 2024-10-22 12:49:44 +02:00
gowin_utils.h Gowin. FFs placement. (#1386) 2024-10-22 12:49:44 +02:00
gowin.cc Gowin. Add the ability to place registers in IOB 2024-12-08 16:40:45 +10:00
gowin.h Gowin. Add the ability to place registers in IOB 2024-12-08 16:40:45 +10:00
pack.cc Gowin. Add the ability to place registers in IOB 2024-12-08 16:40:45 +10:00
pack.h gowin: Himbaechel. Add ALU. 2023-08-31 08:28:09 +02:00