Commit Graph

88 Commits

Author SHA1 Message Date
Mohamed Gaber 083be40a8b
chore: switch out json11 for nlohmann json in read_liberty2json 2025-12-31 12:10:35 +02:00
Mohamed Gaber 1a561f42fa
read_liberty2json: propagate src attribute 2025-12-02 15:47:33 +02:00
Akash Levy 2d60ff8e44 One more fix for splitnetlist 2025-11-12 10:46:48 -08:00
Akash Levy 963dcd33af Fix bus_rebuild 2025-11-12 09:46:07 -08:00
Mohamed Gaber e4f5334f52
read_liberty2json: relax dont_touch/dont_use typing
As it turns out, some test cases use "TRUE", "true", "yes", etc. The previous behavior used Python's truthiness behavior, which I am going to simply emulate.
2025-11-09 13:46:20 +02:00
Mohamed Gaber 9a1798fb20
documentation + some constrefs for good measure 2025-11-04 14:23:37 +02:00
Mohamed Gaber 9beabd2ba6
chore: address review concerns 2025-11-04 13:50:41 +02:00
Mohamed Gaber 32d952944d
new pass `read_liberty2json`
Moves the processing of liberty2json translated-files to c++. Essentially a 1:1 translation of the original internal code as much as possible, with the addition of strict type-checking.
2025-11-04 13:37:55 +02:00
Akash Levy a353716202 Update fanoutbuf 2025-10-01 20:59:36 -07:00
Akash Levy 66abd04b5a Remove annotate_logic_depth 2025-10-01 20:57:51 -07:00
Akash Levy c8d8c4f408 Add fanoutbuf pass 2025-10-01 19:23:45 -07:00
Akash Levy 17e3ed3258 Remove annotate_unqcoef (for now) 2025-10-01 19:23:13 -07:00
Akash Levy dee059bee8 Fix minor Yosys issues 2025-09-30 12:05:36 -07:00
Akash Levy a0d1c8b30f More minor cleanup 2025-09-28 07:19:53 -07:00
Akash Levy 507d43a9b8 Fixups 2025-09-28 06:16:07 -07:00
Akash Levy cd37b064f9 Minor cleanup 2025-09-23 01:07:41 -07:00
Akash Levy f2aa7cc65b Reduce verbosity of opt_balance_tree 2025-09-10 06:07:15 -07:00
Akash Levy 6fc38e15a1
Update passes/silimate/opt_balance_tree.cc
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-09-09 04:47:28 -07:00
Akash Levy b7a4ce8b42 Fix opt balance tree and wreduce 2025-09-09 04:32:15 -07:00
Akash Levy 414c9e8898 Fix annotate_cell_fanout issue by double uniquifying... hopefully should fix the issue? 2025-06-25 22:09:43 -07:00
Akash Levy 828cfc0039 Fix issue with buffer naming uniquification 2025-06-23 02:25:34 -07:00
Akash Levy 3f94486a1c
Merge pull request #82 from donn/splitlarge
splitlarge: new pass to split wide arithmetic operators
2025-05-15 15:00:45 -07:00
Mohamed Gaber 1d9fbb6143 misc: review feedback, remove MUL vestiges 2025-05-15 18:01:13 +03:00
Mohamed Gaber 46ba89059a splitlarge: new pass to split wide arithmetic operators
Adds a new pass, `splitlarge`, that recursively divides $add/$sub
cells into smaller cells until each cell's width doesn't exceed a
given max_width (128 by default.) An $add/$sub cell's width for
this purpose is defined as the higher of the widths of its two
inputs.

A test was written in Tcl for it, which tests this matrix:
- cell: $add/$sub
- b: unsigned, signed
- a: unsigned, signed

This is the first test for a Silimate pass in Tcl and thus
`run-test.sh` was modified to include it.
2025-05-15 17:45:08 +03:00
Akash Levy f97587db61 Fix fanout buffer src annotation and refactor naming 2025-05-13 20:05:16 -07:00
williamzhu17 39be4f29bd opt_balance_tree test cases 2025-05-11 10:58:29 -07:00
Akash Levy 239b0a6db0 Fix opt_balance_tree issue 2025-05-08 19:35:19 -07:00
Akash Levy e4a8cc60d3 Remove recover_names from longloop_select 2025-05-08 07:20:28 -07:00
Akash Levy 36bd30d9eb Add recover_names into build and longloop_select 2025-05-06 18:58:07 -07:00
Akash Levy 507308d34e Add muxpacker draft 2025-04-03 21:38:16 -07:00
Akash Levy d4119e1ad3 lut2bmux fix 2025-04-03 21:37:27 -07:00
Akash Levy f488b0e74c Add lut2bmux, annotate_unqcoef, and seed tests 2025-03-31 05:55:54 -07:00
Akash Levy f72d27fae0 Robustness fixes 2025-03-30 22:23:21 -07:00
Akash Levy 161ff0fa3f Add muxmode pass and tests 2025-03-30 17:54:18 -07:00
Akash Levy dacd882383 Remove selectconst 2025-03-28 17:40:40 -07:00
Alain Dargelas e29c1839c4 Fix corner case with assign stmts for fanout buffering 2025-03-17 14:25:05 -07:00
Akash Levy d9af46538c opt_expand peepopt (still needs testing) 2025-03-17 04:12:06 -07:00
Akash Levy dc75774c5b Breakreduce pass (still needs testing) 2025-03-17 04:10:08 -07:00
Akash Levy 11dd7becdd Add opt_balance_tree -arith_only 2025-03-17 02:30:18 -07:00
Akash Levy e6da1a2d69 Fix unused warning in annotate_cell_fanout 2025-03-12 20:54:03 -07:00
Akash Levy 6cfa779bfa Reduce verbosity of splitfanout 2025-03-09 22:07:30 -07:00
Akash Levy 3098dcc86c
Merge pull request #56 from alaindargelas/limit_fanout
Fanout limit with buffer tree
2025-03-07 14:19:45 -08:00
Alain Dargelas 52b1cbf456 Separate into 2 passes 2025-03-07 14:11:25 -08:00
Alain Dargelas c54c3f66b7 Single call to splitnets 2025-03-06 16:46:22 -08:00
Alain Dargelas 81ab3b5fed call splitnets for the whole design 2025-03-06 16:21:11 -08:00
Alain Dargelas d4e4ece9fe bit split initial splitfanout call 2025-03-06 10:47:27 -08:00
Alain Dargelas 4b598e317b getfanout factor 2025-03-05 13:10:53 -08:00
Alain Dargelas f65d822935 cleanup dangling buffers 2025-03-05 11:49:12 -08:00
Alain Dargelas 7d46ab08d5 clocks, resets filters 2025-03-05 10:28:49 -08:00
Alain Dargelas bc05f4fead Use buf instead of pos 2025-03-05 09:40:26 -08:00