nella
d6a01d9200
Improve arith_tree: FMA add, elarith WIP.
2026-05-18 13:39:04 +02:00
Codexplorer
e41b969da2
Refactored uses of log_id()
2026-05-08 20:59:24 -07:00
nella
a02c238874
Consolidate Wallace from booth and CSA.
2026-04-13 12:48:05 +02:00
Robert O'Callahan
c7df6954b9
Remove .c_str() from stringf parameters
2025-09-01 23:34:42 +00:00
Martin Povišer
91cd382f8b
macc: Rename 'ports' to 'terms' throughout codebase
2025-03-18 13:25:10 +01:00
Martin Povišer
61450e8b6e
Update codebase for macc_v2
2025-01-24 12:38:03 +01:00
Martin Povišer
1ded817beb
booth: Map simple $macc instances too
2024-12-01 16:00:04 +01:00
Martin Povišer
d6566eb344
booth: Redo baseline architecture summation
...
Redo the summation logic: strive for some degree of balance on the
generated Wallace tree, emit an `$add` cell for the final summation.
2023-11-22 15:47:11 +01:00
Martin Povišer
beb5cb55a5
booth: Expose -lowpower option
2023-11-22 15:29:59 +01:00
Martin Povišer
7005ea9411
booth: Revisit help
2023-11-22 15:29:59 +01:00
Martin Povišer
48b73be8c6
booth: Replace the default signed architecture
...
Generalize what was formerly the unsigned-only architecture to support
both signed and unsigned multiplication, use that as default, and set
aside the special low-power architecture that was formerly used for
signed multipliers.
2023-11-22 15:29:59 +01:00
Martin Povišer
f50894d8bf
booth: Drop extra decoder arguments
2023-11-22 15:29:54 +01:00
Martin Povišer
579f6bdc17
booth: Do not special-case bottom rows
...
Later on all the rows are cropped to the target size anyway, so there's
no harm in transitionally including extra top bits.
2023-11-22 15:12:15 +01:00
Martin Povišer
da207cdce0
booth: Make less assumptions when aligning partial products
2023-11-22 15:12:15 +01:00
Martin Povišer
69e994ff75
booth: Clean unused FA index variable
2023-11-22 12:47:09 +01:00
Martin Povišer
d8408b2350
booth: Move up signed quadrant 1 logic
2023-11-22 12:46:15 +01:00
Martin Povišer
8d33cc2fb6
booth: Refactor signed CPA
2023-11-22 12:46:15 +01:00
Martin Povišer
00e899f98d
booth: Refactor signed multiplier full adders emission
2023-11-22 12:46:15 +01:00
Martin Povišer
0434f9d3d1
booth: Fix vacancy check when summing down result
...
In commit fedd12261 ("booth: Move away from explicit `Wire` pointers")
a bug was introduced when checking for vacant slots in arrays holding
some intermediate results. Non-wire SigBit values were taken to imply
a vacant slot, but actually a constant one can make its way into those
results, if the multiplier cell configuration is just right. Fix the
vacancy check to address the bug.
2023-10-04 23:21:40 +02:00
Martin Povišer
6b70b3dbef
booth: Fix assertion
...
Fix assertion to what it should be per Andy's comments.
2023-09-28 11:50:57 +02:00
Martin Povišer
91bcf81dbd
booth: Note down debug prints are broken
2023-09-25 14:51:26 +02:00
Martin Povišer
7179e4f4b8
booth: Improve user interface
2023-09-25 14:50:41 +02:00
Martin Povišer
cde2a0b926
booth: Make more use of appropriate helpers
...
Use the `addFa` helper, do not misuse `new_id` and make other changes
to the transformation code.
2023-09-25 14:50:41 +02:00
Martin Povišer
62302f601d
booth: Remove more of unused helpers
2023-09-25 14:50:41 +02:00
Martin Povišer
30f8387b75
booth: Rewrite the main cell selection loop
2023-09-25 14:50:41 +02:00
Martin Povišer
986507f95f
booth: Streamline the low-level circuit emission
...
For the basic single-bit operations, opt for gate cells (`$_AND_` etc.)
instead of the coarse cells (`$and` etc.). For the emission of cells
move to the conventional module methods (`module->addAndGate`) away
from the local helpers. While at it, touch on the surrounding code.
2023-09-25 14:50:41 +02:00
Martin Povišer
cb05262fc4
booth: Remove now-unused helpers
2023-09-25 14:50:41 +02:00
Martin Povišer
fedd12261f
booth: Move away from explicit Wire pointers
...
To represent intermediate signals use the `SigBit`/`SigSpec` classes as
is customary in the Yosys codebase. Do not pass around `Wire` pointers
unless we have special reason to.
2023-09-25 14:50:41 +02:00
andyfox-rushc
e4fe522767
MultPassWorker -> BoothPassWorker
2023-09-11 13:00:11 -07:00
andyfox-rushc
a2c8e47295
multpass.cc -> booth.cc, added author/support contact info
2023-09-11 11:39:13 -07:00