Gus Smith
dd65dd610d
Fixes
2025-12-02 11:17:21 -08:00
Gus Smith
ade6379345
Explicitly store whether to use association lists
...
Instead of checking for the presence of helper names each time we need to
determine whether to use association lists, explicitly store a boolean flag
indicating whether association list helpers are being used.
2025-11-29 15:24:56 -08:00
Gus Smith
ddcd93024f
Capture error case more correctly
2025-11-29 15:20:37 -08:00
Gus Smith
ded7c9cb03
More formatting undos'
2025-11-29 14:59:04 -08:00
Gus Smith
9909049d2a
Undo formatting changes
2025-11-29 14:55:55 -08:00
Gus Smith
6fe35fa46c
Merge remote-tracking branch 'origin/main' into gussmith23-rosette-backend-updates
2025-11-29 14:20:36 -08:00
Robert O'Callahan
34df6569a6
Update backends to avoid bits()
2025-09-16 03:17:23 +00:00
Robert O'Callahan
e0ae7b7af4
Remove .c_str() calls from log()/log_error()
...
There are some leftovers, but this is an easy regex-based approach that removes most of them.
2025-09-11 20:59:37 +00:00
Krystine Sherwin
3959d19291
Reapply "Add groups to command reference"
...
This reverts commit 81f87ce6ed .
2025-08-06 13:52:12 +12:00
N. Engelhardt
81f87ce6ed
Revert "Add groups to command reference"
2025-07-23 14:41:49 +00:00
Krystine Sherwin
d62a110dc8
register.h: Add internal_flag to Pass
...
Update experimental pass warnings to use a shared function. Reduces repetition, and also allows all of the warning flags to be combined (which at present is just experimental and the new internal).
Update `test_*` passes to call `internal()` in their constructors.
2025-07-21 10:35:19 +12:00
Gus Smith
d8b27d41c0
Bugfix
2025-05-21 21:31:07 -07:00
Gus Smith
8ec9de00ec
Use ir.inputs()/ir.outputs()
2025-05-20 17:45:23 -07:00
Gus Smith
af51097af7
Convert to 'assoc list helpers'
2025-05-18 18:01:43 -07:00
Gus Smith
a55dc80175
Rename parameter
2025-05-17 16:04:17 -07:00
Gus Smith
c1111f125c
Add output helper as well
2025-05-17 15:19:09 -07:00
Gus Smith
1fdfba2a1a
Add helper for accessing by base name
...
The existing access function isn't useful if we don't have access to the original
names of the input/output/state signals. There may be a better way to do this, but
it might require restructuring the SmtrStruct.
2025-05-17 15:17:29 -07:00
Gus Smith
10b8fdddb4
Rename argument
2025-05-17 14:39:11 -07:00
Gus Smith
7b4c9c5dcd
Add optional keyword-based constructor
2025-05-17 14:12:09 -07:00
Gus Smith
fd5918c811
get_field_names for structs
2025-05-17 14:10:23 -07:00
Krystine Sherwin
fa2d45a922
smtr: Refactor write back into _eval and _initial
...
Easier for comparisons, and the structure still works. (I don't remember why I moved away from it in the first place.)
2025-02-07 13:58:09 +13:00
Krystine Sherwin
7698dfba5e
smtr: Fix help text
...
Can't take both [selection] and [filename] optional arguments.
2025-01-06 14:31:50 +13:00
Emil J. Tywoniak
785bd44da7
rtlil: represent Const strings as std::string
2024-10-14 06:28:12 +02:00
Miodrag Milanovic
f079772ade
Add TODO for missing help messages
2024-10-08 08:47:51 +02:00
Krystine Sherwin
d6c5e13bf3
smtr: Structs have local scope
...
Also unique_name can take field_name directly.
2024-09-03 11:32:02 +01:00
Krystine Sherwin
a2abbcb33f
smtr: Use scope.unique_name
2024-09-03 11:32:02 +01:00
Krystine Sherwin
5a29b3e172
smtr: More sanitization
2024-09-03 11:32:02 +01:00
Krystine Sherwin
07b6908019
smtr: Use rosette/safe
2024-09-03 11:32:02 +01:00
Krystine Sherwin
8b29629ca9
smtr: Fork smtlib for rosette
2024-09-03 11:32:02 +01:00
Emily Schmidt
4eeb8d326a
functional backend: rename "type" to either "kind" or "sort" to make the terminology consistent
2024-08-28 12:39:41 +01:00
Emily Schmidt
b428bf4600
functional backends: identifiers in c++/smtlib may not start with digits
2024-08-27 13:10:34 +01:00
Emily Schmidt
f456761e88
add sandia copyright notice to the functional backend
2024-08-21 11:04:11 +01:00
Emily Schmidt
50047d25b3
functional backend: add different types of input/output/state variables
2024-08-21 11:04:11 +01:00
Emily Schmidt
850b3a6c29
convert class FunctionalIR to a namespace Functional, rename functionalir.h to functional.h, rename functional.h to compute_graph.h
2024-08-21 11:04:08 +01:00
Emily Schmidt
8c0f625c3a
functional backend: topological sort starts with the output and next states nodes, other nodes get deleted
2024-08-21 11:03:29 +01:00
Emily Schmidt
95d28c22a2
functional backend: make Memory in the C++ simulation library read-only again
2024-08-21 11:03:29 +01:00
Emily Schmidt
99effb6789
add support for initializing registers and memories to the functional backend
2024-08-21 11:03:29 +01:00
Emily Schmidt
6d329e142d
functional backend: error out if multiply driven or undriven signals are seen, dont bother putting them in functionalir
2024-08-21 11:03:29 +01:00
Emily Schmidt
13bacc5c8f
eliminate pmux in functional backend
2024-08-21 11:03:29 +01:00
Emily Schmidt
55c2c17853
document functionalir.h and change visitors to derive from AbstractVisitor. remove extraneous widths arguments from visitors.
2024-08-21 11:03:29 +01:00
Emily Schmidt
674e6d201d
rewrite functional backend test code in python
2024-08-21 11:03:29 +01:00
Emily Schmidt
6e7ae88c6a
fix bugs in smtlib backend
2024-08-21 11:03:29 +01:00
Emily Schmidt
00a65754bb
factor out SExpr/SExprWriter classes out of smtlib backend, and also tidy them up/document them
2024-08-21 11:03:27 +01:00
Emily Schmidt
c659ef29f4
change smtlib backend to use list() function instead of SExpr{} constructor (leads to weird constructor overloading resolution issues)
2024-08-21 11:02:31 +01:00
Emily Schmidt
9f660b1e4b
rewrite smtlib pass to use SExpr class
2024-08-21 11:02:31 +01:00
Roland Coeurjoly
7cff8fa3a3
Fix corner case of pos cell with input and output being same width
2024-08-21 11:02:31 +01:00
Roland Coeurjoly
fad76ce677
Fix memory leak
2024-08-21 11:02:31 +01:00
Roland Coeurjoly
5780357cd9
Emit valid SMT for stateful designs, fix some cells
2024-08-21 11:02:31 +01:00
Roland Coeurjoly
f0f436cbe7
Fix parenthesis for arithmetic_shift_right
2024-08-21 11:02:31 +01:00
Roland Coeurjoly
57af68af96
include algorithm, needed for std::reverse
2024-08-21 11:02:31 +01:00