3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-15 03:35:40 +00:00
yosys/techlibs/gowin
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
..
adc.v End of file fix 2026-06-23 07:23:41 +02:00
arith_map.v End of file fix 2026-06-23 07:23:41 +02:00
brams.txt GOWIN. Disable read-before-write mode. 2026-03-05 09:17:37 +10:00
brams_map.v gowin: Fix bram ADA byte enables 2026-02-22 09:00:37 +01:00
brams_map_gw5a.v gowin: Fix bram ADA byte enables 2026-02-22 09:00:37 +01:00
cells_latch.v gowin: add hardware latch support (DL/DLN/DLC/DLP variants) 2026-03-05 16:04:23 +01:00
cells_map.v iopadmap: Add native support for negative-polarity output enable. 2021-11-09 15:40:16 +01:00
cells_sim.v Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
cells_xtra.py End of file fix 2026-06-23 07:23:41 +02:00
cells_xtra_gw1n.v Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
cells_xtra_gw2a.v Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
cells_xtra_gw5a.v Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
CMakeLists.txt gowin: infer DSP multiply-accumulate for the GW5A family 2026-07-13 20:57:08 +02:00
dsp_map.v gowin: format MULT instances 2026-02-12 13:35:49 +03:00
lutrams.txt gowin: Use memory_libmap pass. 2022-05-18 17:32:56 +02:00
lutrams_map.v gowin: Use memory_libmap pass. 2022-05-18 17:32:56 +02:00
macc_map_gw5a.v gowin: infer DSP multiply-accumulate for the GW5A family 2026-07-13 20:57:08 +02:00
synth_gowin.cc gowin: infer DSP multiply-accumulate for the GW5A family 2026-07-13 20:57:08 +02:00