Commit Graph

20 Commits

Author SHA1 Message Date
Emil J. Tywoniak 387a235158 functional, glift: use fold overload of IdString::in instead of pool literals 2024-11-06 12:48:32 +01:00
Rasmus Munk Larsen 0a37c2a301 Fix translation bug: The old code really checks for the presense of a node, not an edge in glift and flatten.
Add back statement that inserts nodes in order in opt_expr.cc.
2023-10-05 17:01:42 -07:00
Rasmus Munk Larsen e0042bdff7 Speed up TopoSort. The main sorting algorithm implementation in TopoSort::sort_worker is 11-12x faster. Overall, the complete sequence of building the graph and sorting is about 2.5-3x faster. The overall impact in e.g. the replace_const_cells optimization pass is a ~25% speedup. End-to-end impact on our synthesis flow is about 3%. 2023-09-20 15:49:05 -07:00
KrystalDelusion 9465b2af95 Fitting help messages to 80 character width
Uses the regex below to search (using vscode):
	^\t\tlog\("(.{10,}(?<!\\n)|.{81,}\\n)"\);

Finds any log messages double indented (which help messages are)
and checks if *either* there are is no newline character at the end,
*or* the number of characters before the newline is more than 80.
2022-08-24 10:40:57 +12:00
Alberto Gonzalez bbfa2d65fa
glift: Use ID() rather than string literals. 2020-07-01 19:51:48 +00:00
Alberto Gonzalez eda1af73c4
glift: Use worker pattern. 2020-07-01 19:51:47 +00:00
Alberto Gonzalez 3eb2593876
glift: Add support for $_NAND_ and $_NOR_ cells. 2020-07-01 19:51:47 +00:00
Alberto Gonzalez 8cb1a86c23
glift: Add support for $_MUX_ and $_NMUX_ cells. 2020-07-01 19:51:47 +00:00
Alberto Gonzalez 23defc6fe9
glift: Add support for $_XOR_ and $_XNOR_ cells. 2020-07-01 19:51:47 +00:00
Alberto Gonzalez 209a123b97
glift: Add initial hierarchy support. 2020-07-01 19:51:47 +00:00
Alberto Gonzalez 20ad371724
glift: Replace `YS_OVERRIDE` with `override`. 2020-07-01 19:51:47 +00:00
Alberto Gonzalez 91c20fca72
glift: Add `-simple-cost-model` option
Rather than assigning specific weights to specific versions of taint tracking logic and summing the weights of all GLIFT cells, sum the following values for each GLIFT cell:
  - 0 if the associated hole/$anyconst cell value is non-zero, i.e. reduced-precision taint tracking logic is chosen at this cell
  - 1 if the associated hole/$anyconst cell value is zero, i.e. the full-precision taint tracking logic is chosen at this cell

This simplified cost modeling reduces the potential for the QBF-SAT solver to minimize taint tracking logic area but significantly simplifies the QBF-SAT problem.
2020-07-01 19:51:47 +00:00
Alberto Gonzalez 26bd686259
glift: Add `-instrument-more` option to add 4 more versions of taint tracking logic. Also refactor a bit and update help text. 2020-07-01 19:51:46 +00:00
Alberto Gonzalez bc207d5426
glift: Change command names to better represent their functions. 2020-07-01 19:51:46 +00:00
Alberto Gonzalez ddfb9f08e2
glift: Add `-create-imprecise` command, rename other commands, and re-work the help text. 2020-07-01 19:51:46 +00:00
Alberto Gonzalez 72cebef279
glift: Add replacement scoring and area minimization option. 2020-07-01 19:51:46 +00:00
Alberto Gonzalez c36440a7ee
glift: Remove outputs by default; add `-keep-outputs` option; properly reset internal state between calls. 2020-07-01 19:51:46 +00:00
Alberto Gonzalez 19dafcd4f1
glift: Initial implementation of the `-sketchify` option. 2020-07-01 19:51:46 +00:00
Alberto Gonzalez 09848b3b9f
glift: Initial implementation of GLIFT model construction. 2020-07-01 19:51:45 +00:00
Alberto Gonzalez 5f45fe51ea
glift: Add skeleton for `glift` command. 2020-07-01 19:51:45 +00:00