3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-15 03:35:40 +00:00
yosys/techlibs
Johan Olby 4d215665a1
gowin: infer DSP multiply-accumulate for the GW5A family
Map $macc_v2 cells (one signed <=27x18 product + one <=48-bit addend)
to MULTALU27X18 with the C addend enabled, so a*b+c maps to a single
DSP block instead of a multiply + fabric adder.

The C addend requires DYN_C_SEL("TRUE") + CSEL=1 (gowin_pack reads the
CSEL port, not the C_SEL parameter).

alumacc + macc techmap run before wreduce for gw5a, so $mul and $add
ports still have matching widths when alumacc tries to merge them.
Running after wreduce breaks the merge: wreduce narrows $mul Y (48->45)
but not $add A (stays 48), and alumacc can't merge mismatched widths.
2026-07-13 20:57:08 +02:00
..
achronix End of file fix 2026-06-23 07:23:41 +02:00
analogdevices Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
anlogic Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
common Merge branch 'main' into nella/latch-toggle 2026-07-08 11:41:08 +02:00
coolrunner2 Migrate build system to CMake 2026-06-03 08:58:10 +00:00
easic Migrate build system to CMake 2026-06-03 08:58:10 +00:00
efinix Merge branch 'main' into nella/latch-toggle 2026-07-08 11:41:08 +02:00
fabulous Remove old techmap. 2026-07-08 12:07:58 +02:00
gatemate Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
gowin gowin: infer DSP multiply-accumulate for the GW5A family 2026-07-13 20:57:08 +02:00
greenpak4 Migrate build system to CMake 2026-06-03 08:58:10 +00:00
ice40 Merge branch 'main' into nella/latch-toggle 2026-07-08 11:41:08 +02:00
intel End of file fix 2026-06-23 07:23:41 +02:00
intel_alm Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
lattice Merge branch 'main' into nella/latch-toggle 2026-07-08 11:41:08 +02:00
microchip Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
nanoxplore Merge branch 'main' into nella/latch-toggle 2026-07-08 11:41:08 +02:00
quicklogic Merge branch 'main' into nella/latch-toggle 2026-07-08 11:41:08 +02:00
sf2 Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
xilinx Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
CMakeLists.txt Migrate build system to CMake 2026-06-03 08:58:10 +00:00
fix_mod.py Remove trailing whitespaces 2026-06-23 07:24:59 +02:00