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 |
Emily Schmidt
|
1b2986f7fb
|
add support for $mul, $div, $divfloor, $mod, $modfloor, $pow in functional backend
|
2024-08-21 11:02:31 +01:00 |
Emily Schmidt
|
9700df50d6
|
add generic writer class with formatting function to FunctionalTools
|
2024-08-21 11:02:31 +01:00 |
Roland Coeurjoly
|
32cdf25838
|
Use FunctionalTools::Scope instead of replaceCharacters
|
2024-08-21 11:02:31 +01:00 |
Roland Coeurjoly
|
ee6bd59436
|
Removed unnecesary nested_lets variable, use writer.print instead
|
2024-08-21 11:02:31 +01:00 |
Emily Schmidt
|
21bb1cf1bc
|
rewrite functional c++ simulation library
|
2024-08-21 11:02:31 +01:00 |
Emily Schmidt
|
eb2bb8c45b
|
tidy up generic functional backend, add generic scope class, tidy up c++ functional backend
|
2024-08-21 11:02:31 +01:00 |
Roland Coeurjoly
|
39bf4f04f7
|
Create VCD file from SMT file
|
2024-08-21 11:02:31 +01:00 |
Roland Coeurjoly
|
4109fcedcf
|
clang-format smtlib.cc
|
2024-08-21 11:02:31 +01:00 |
Roland Coeurjoly
|
94ddbc9577
|
Fix reduce_or
|
2024-08-21 11:02:31 +01:00 |
Roland Coeurjoly
|
b98210d8ac
|
Valid SMT is emitted, improved test script
|
2024-08-21 11:02:31 +01:00 |
Roland Coeurjoly
|
c6e112686c
|
Remove unused includes
|
2024-08-21 11:02:31 +01:00 |
Roland Coeurjoly
|
4e370f4426
|
Initial functional SMT backend using functional IR
|
2024-08-21 11:02:31 +01:00 |
Emily Schmidt
|
6f9e21219b
|
add new generic compute graph and rewrite c++ functional backend to use it
|
2024-08-21 11:02:29 +01:00 |
Roland Coeurjoly
|
3552a8a2b2
|
sim.h cannot use log_assert because does not include yosys headers
|
2024-08-21 11:01:09 +01:00 |
Emily Schmidt
|
7b29d177ac
|
add support for memories to c++ and smtlib functional backends
|
2024-08-21 11:01:09 +01:00 |
Roland Coeurjoly
|
76371d177f
|
Change assert to log_assert
|
2024-08-21 11:01:09 +01:00 |
Roland Coeurjoly
|
720429b1fd
|
Add test_cell tests for C++ functional backend
|
2024-08-21 11:01:09 +01:00 |
Emily Schmidt
|
7611dda2eb
|
add initial version of functional smtlib backend
|
2024-08-21 11:01:09 +01:00 |
Emily Schmidt
|
63dea89fac
|
add initial version of functional C++ backend
|
2024-08-21 11:01:09 +01:00 |
Asherah Connor
|
62bff3a204
|
cxxrtl: don't need to specify a value for "path".
Callers of the deprecated method had a path already.
|
2024-06-13 13:17:02 +01:00 |
Asherah Connor
|
3ed2865ac5
|
cxxrtl: capi: don't use deprecated invocation.
|
2024-06-13 13:17:02 +01:00 |
Catherine
|
9f94ecf4ed
|
Merge pull request #4417 from kivikakk/cxxrtl-unused-output
cxxrtl: don't emit invalid code on unconnected outputs.
|
2024-06-09 21:35:42 +01:00 |
Jean-François Nguyen
|
54d5e56745
|
cxxrtl: fix `debug_info()` deprecation message.
|
2024-06-07 20:12:53 +01:00 |
Asherah Connor
|
e97c36d4c4
|
cxxrtl: don't emit syncs for empty lhs.
|
2024-06-07 14:24:27 +03:00 |