Commit Graph
2646 Commits
Author SHA1 Message Date
Emil J. Tywoniak ba74d22f6b rtlil: intern source locations in a per-design SrcPool
Source locations move off the attribute dict into a dedicated SrcRef on
AttrObject, interned in a per-design SrcPool that hash-conses sets of
location twines. Locations share their file prefix with each other through
the twine pool, and objects that fuse (opt_merge, share, ff/mem rewrites)
carry the union of their inputs' locations instead of a '|'-joined string.

write_rtlil emits an `srcs` section of location sets alongside `twines`;
read_rtlil resolves `\src "@N"` back to a handle and still accepts a plain
location string. -readable renders the locations as text.
2026-08-25 11:40:52 +02:00
Emil J. Tywoniak 72a7d9eb1f techlibs: rebuild attribute name handling on the pool 2026-08-13 18:15:58 +02:00
Emil J. Tywoniak b3c7a25be5 techlibs: trivial twine damage 2026-08-13 18:15:58 +02:00
nella 511017acc1 Merge branch 'main' into nella/fuse-2 2026-07-24 12:20:35 +02:00
nella 526ab7aab3 Use Nexus DSP pipelined registers. 2026-07-24 12:10:07 +02:00
Lofty f0b5225134 flowmap: remove 2026-07-22 13:50:33 +01:00
drewbabel 3006280d70 xilinx_srl: keep the clock enable on FDRE shift registers
run_fixed inferred a fixed length shift register from a chain of FDRE
flops but assigned it ENPOL 2, which the cells_map template reads as no
enable and ties the enable high. FDRE has an active high clock enable, so
the shift register shifted every cycle and ignored stalls. Give FDRE and
FDRE_1 chains ENPOL 1 so the active high enable is kept.

Add tests/arch/xilinx/xilinx_srl_enable.ys covering the FDRE path.
2026-07-20 23:59:40 -07:00
myrtle a0fbe6e133 Merge pull request #6054 from YosysHQ/gatecat/nexus-radiant-fix
nexus: Fix Radiant netlist compatibility
2026-07-19 13:22:46 +00:00
gatecat 15c54ae15e nexus: Fix Radiant netlist compatibility
Signed-off-by: gatecat <[email protected]>
2026-07-19 12:44:40 +02:00
Johan Olby 63457de80e mul2dsp: normalize operand order
Move the operand commute that puts the wider operand on A ahead of the
min-width checks. Checking the min-widths first made an asymmetric rule
(DSP_A_MINWIDTH != DSP_B_MINWIDTH) match only products that already had the
wider operand on A; a product in the other order was rejected before the
normalization.
2026-07-15 16:21:07 +02:00
nella 388ed215c4 Remove old techmap. 2026-07-08 12:07:58 +02:00
nella fe1ce9e5c1 Fix merge. 2026-07-08 11:54:55 +02:00
nella f5809a7c2c Merge branch 'main' into nella/latch-toggle 2026-07-08 11:41:08 +02:00
nella 362e828dc2 Simplify check -latchonly calls in synth. 2026-07-07 10:10:00 +02:00
Leo Moser b06c57b2bf fabulous: remove unused -blif option
Signed-off-by: Leo Moser <[email protected]>
2026-07-01 13:38:45 +02:00
Leo Moser 655cb40d0f fabulous: add --cells-map option
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:09:51 +02:00
Leo Moser 4fac567673 fabulous: add -arith-map option
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:09:51 +02:00
Leo Moser d50999ea45 fabulous: format using clang
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:09:51 +02:00
Leo Moser 2535504217 fabulous: update CMakeLists.txt
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:09:51 +02:00
Leo Moser aa84f4a13b fabulous: remove legacy arith_map.v mapping
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:09:51 +02:00
Leo Moser f79c0ad214 fabulous: add -multiplier-map option, map to $__FABULOUS_MUL
- an example: `-multiplier-map multiplier_map.v 8:8:2:2:10`

Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:09:44 +02:00
Leo Moser d72cca2945 fabulous: add -clkbuf-map option, map to $__FABULOUS_GBUF
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:09:33 +02:00
Leo Moser ec8155e040 fabulous: convert -iopad to -noiopad, map to $__FABULOUS_[I|O|T|IO]BUF
- with PCF support in nextpnr fabulous, `-iopad` is now the default
- supply further mapping using `-extra-plib`

Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:09:19 +02:00
Leo Moser c73fd4f70b fabulous: add -extra-mlibmap option, remove legacy -noregfile option
- this allows to map to any memories
- to map legacy register files, use: `-extra-plib regfile.v -extra-mlibmap ram_regfile.txt -extra-map regfile_map.v`

Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:08:54 +02:00
Leo Moser 6c82468031 fabulous: add -ff option, remove legacy -plib/-complex-dff option
The concept of 'COMPLEX_DFF' is deprecated. Instead, simply specify the supported flip-flops using `-ff <cell_type_pattern> <init_values>` and supply the mapping file.

Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:06:38 +02:00
Leo Moser 30640c71e2 fabulous: fix argument check in -carry option
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:02:41 +02:00
Leo Moser 54c37b395b fabulous: fix argument check in -lut option
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:02:41 +02:00
Leo Moser d671de97e9 fabulous: remove legacy -vpr option
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:02:41 +02:00
Leo Moser 32bd3e5418 fabulous: remove unused -encfile option
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:02:41 +02:00
Leo Moser a1759e7ae7 fabulous: remove unused -edif option
Signed-off-by: Leo Moser <[email protected]>
2026-06-30 16:02:41 +02:00
nella a3b8609c84 Add -nolatches check option. 2026-06-24 10:38:10 +02:00
Miodrag Milanovic a689342207 Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
Miodrag Milanovic 48a3dcc02a End of file fix 2026-06-23 07:23:41 +02:00
Miodrag Milanovic 3ac58b3ac1 Fixed line endings 2026-06-23 07:17:22 +02:00
Miodrag Milanovic 09eef69e31 synth_intel: fix broken dsp mapping 2026-06-22 17:51:26 +02:00
nella 1c851aecfb Fixup op precedence. 2026-06-22 14:22:14 +02:00
nella b3b1394cf1 Fixup level policy. 2026-06-18 18:00:51 +02:00
nella 32a268d745 Emit errors before dfflegalize. 2026-06-18 17:07:24 +02:00
nella b2d688dbf9 Error out on latches. 2026-06-17 17:36:32 +02:00
nella c814ef35e3 Emit latch warning. 2026-06-17 11:27:43 +02:00
nella 7473fcf939 Add latch inference msg severity option. 2026-06-15 14:17:02 +02:00
nella 3948e7f94c Use Nexus DSP pipelined registers. 2026-06-03 12:46:26 +02:00
Catherine a727e7f6e7 Migrate build system to CMake
See #5895 for details.

This commit does not include CI or documentation changes.
2026-06-03 08:58:10 +00:00
Miodrag Milanović b85777a6e6 Merge pull request #5914 from pu-cc/gatemate-scopename
gatemate: add option to create 'scopename' attributes when flattening netlist
2026-05-29 10:31:04 +00:00
Patrick Urban 1d86b3cd6e gatemate: add option to create 'scopename' attributes when flattening the netlist 2026-05-28 14:46:25 +02:00
nella 1414012676 Add sign and op checks. 2026-05-28 09:58:18 +02:00
nella 7fef67a141 Simplify nexus map. 2026-05-28 09:58:18 +02:00
nella d6106f141c Add matching for fused mac operations for Nexus (fix #5906). 2026-05-28 09:58:18 +02:00
Miodrag Milanovic 75dcbe03c6 Convert RTLIL::unescape_id of IdString to unescape() 2026-05-16 19:49:45 +02:00
Miodrag Milanovic 8bbc3c359c Remove id2cstr uses in our code base 2026-05-16 19:49:45 +02:00