1
0
mirror of synced 2026-01-26 20:23:59 +00:00
Files
YosysHQ.yosys/tests/opt
Natalia Kokoromyti 8b6925c5b0 Add opt_balance_tree pass for timing optimization
This pass converts cascaded chains of arithmetic and logic cells ($add,
$mul, $and, $or, $xor) into balanced binary trees to improve timing
performance in hardware synthesis.

The optimization uses a breadth-first search approach to identify chains
of compatible cells, then recursively constructs balanced trees that
reduce the critical path depth.

Features:
- Supports arithmetic cells: $add, $mul
- Supports logic cells: $and, $or, $xor
- Command-line options: -arith (arithmetic only), -logic (logic only)
- Preserves signed/unsigned semantics
- Comprehensive test suite with 30 test cases

Original implementation by Akash Levy <akash@silimate.com> for Silimate.
Upstreamed from https://github.com/Silimate/yosys
2026-01-13 14:20:11 -08:00
..
2020-04-23 15:58:36 -07:00
2020-05-01 14:07:33 -07:00
2021-08-11 13:34:10 +02:00
2021-06-11 12:06:35 +01:00
2024-11-05 12:36:31 +13:00
2024-11-05 12:36:31 +13:00
2020-07-30 18:27:04 +02:00
2020-07-30 18:27:04 +02:00
2020-07-30 18:27:04 +02:00
2022-10-07 16:04:51 +02:00
2020-07-30 18:27:04 +02:00
2025-08-14 00:13:23 +03:00
2020-05-08 11:12:58 -07:00
2020-04-23 15:58:36 -07:00
2025-04-04 12:25:31 +13:00
2020-04-23 15:58:36 -07:00
2025-07-05 16:45:52 +02:00
2025-07-05 16:45:52 +02:00
2025-07-05 16:45:52 +02:00
2025-07-05 16:45:52 +02:00
2024-11-05 12:36:31 +13:00
2024-11-05 12:36:31 +13:00
2024-11-05 12:36:31 +13:00
2021-08-11 13:34:10 +02:00
2020-03-16 12:43:54 -07:00
2025-04-01 21:54:46 +03:00
2024-11-05 12:36:31 +13:00
2024-11-05 12:36:31 +13:00
2020-07-30 18:27:04 +02:00
2020-06-09 22:48:26 +02:00
2020-07-30 18:27:04 +02:00
2025-07-05 16:45:52 +02:00