Commit Graph

5 Commits

Author SHA1 Message Date
gatecat a7c3bfe6e6 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2026-03-24 19:06:31 +01:00
Justin 2c16785078
gowin: add DL-series latch cell support (#1652)
* gowin: add DL-series latch cell support

Teach the himbaechel Gowin backend to recognize and place all 12
DL-series latch primitives onto DFF BEL sites. Latches use the CLK
pin for the gate signal and share placement resources with DFFs.

* gowin: convert latches to DFFs with LATCH attribute during packing

Instead of teaching all DFF infrastructure about 12 DL latch types,
pack_latches() converts them to corresponding DFF types early and sets
a LATCH attribute. This attribute is picked up by gowin_pack to set
REGMODE=LATCH instead of FF.

* gowin: exclude latch gate signals from clock buffer promotion

Latch cells are mapped to DFFs with a LATCH attribute, so their gate
signal drives the CLK port. This caused pack_buffered_nets to promote
the gate signal onto a global clock buffer (BUFG), which has different
timing/initialization behavior and caused the first gate transition
to be lost. Skip CLK pins on cells with the LATCH attribute when
checking for clock users.

* gowin: update latch message to be user friendly.
2026-03-14 19:12:08 +00:00
gatecat 0d3a578539 run clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2026-02-25 11:18:14 +01:00
myrtle 501b36e646
gowin placement performance improvements, phase 3 (#1646)
* gowin: Improve placer performance

Signed-off-by: gatecat <gatecat@ds0.me>

* Add blocker cells for LUTRAM

Signed-off-by: gatecat <gatecat@ds0.me>

* gowin: Faster validity checks

Signed-off-by: gatecat <gatecat@ds0.me>

* heap: Improve macro handling, in verbose report per cell type

Signed-off-by: gatecat <gatecat@ds0.me>

---------

Signed-off-by: gatecat <gatecat@ds0.me>
2026-02-24 20:56:54 +01:00
YRabbit d43c09d070
Gowin. Divide packer. (#1645)
Split the packer into several files.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2026-02-21 08:11:39 +01:00