Krystine Sherwin
|
21494d1f06
|
Makefile: Update coverage_functional
Note sure if this is the best way to do it, but it works?
|
2024-09-05 11:43:42 +12:00 |
Emily Schmidt
|
5a476a8d29
|
functional tests: run from make tests but not smtlib/rkt tests
|
2024-09-04 10:30:08 +01:00 |
Emily Schmidt
|
7de8be1451
|
functional_ir.rst: fix typo, document SExprWriter::flush
|
2024-09-03 14:30:56 +01:00 |
Emily Schmidt
|
75ed6d38fc
|
fix rst formatting in functional_ir.rst
|
2024-09-03 14:21:56 +01: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
|
7fe9157df2
|
smtr: Add rkt to functional tests
|
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
|
2b8db94aa0
|
functional backend: add test to verify test_generic
|
2024-08-29 13:14:18 +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
|
27efed27c2
|
functional backend: more documentation
|
2024-08-28 11:28:24 +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
|
459e6b913a
|
add functional ir documentation
|
2024-08-27 11:11:02 +01:00 |
Emily Schmidt
|
761eff594f
|
functional backend: missing includes for stl containers
|
2024-08-22 11:13:58 +01:00 |
Emily Schmidt
|
9b5e81b13f
|
drivertools: fix C++20 "incomplete type" error by moving constructors below other definitions
|
2024-08-22 10:40:56 +01:00 |
Emily Schmidt
|
f456761e88
|
add sandia copyright notice to the functional backend
|
2024-08-21 11:04:11 +01:00 |
Emily Schmidt
|
831da51255
|
add picorv test to 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
|
79a1b691ea
|
silence some more warnings, undo mistaken addition
|
2024-08-21 11:04:11 +01:00 |
Emily Schmidt
|
8f77494263
|
silence some warnings
|
2024-08-21 11:04:11 +01:00 |
Emily Schmidt
|
fbee31080e
|
add optional header and hashlib implementation for optional
|
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
|
7ac0e92d35
|
functional backend: rename get_input and get_current_state to input and current_state (more consistent with other methods)
|
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
|
bdb59ffc8e
|
add -fst-noinit flag to sim for not initializing the state from the fst file
|
2024-08-21 11:03:29 +01:00 |
Emily Schmidt
|
12a31a4418
|
add MemContents class to mem.h
|
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
|
145af6f10d
|
fix memory handling in functional backend, add more error messages and comments for memory edgecases
|
2024-08-21 11:03:29 +01:00 |
Emily Schmidt
|
4722f13a5d
|
functional backend: reduce $lcu to $alu
|
2024-08-21 11:03:29 +01:00 |
Emily Schmidt
|
3cd5f4ed83
|
add support for RTLIL cells with multiple outputs to the functional backend, implement $fa,$lcu,$alu
|
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
|
c0c90c2c31
|
functional backend: require shift width == clog2(operand width)
|
2024-08-21 11:03:29 +01:00 |
Emily Schmidt
|
7f8f21b980
|
remove widths parameters from FunctionalIR factory methods and from functionalir.cc
|
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
|
6922633b0b
|
fix a few bugs in the functional backend and refactor the testing
|
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
|
9ad859fc0a
|
add bwmux, bweqx, bmux, demux cells
|
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
|
80582ed3af
|
Check the existance of a different set of outputs. No need for (push 1) nor (pop 1)
|
2024-08-21 11:02:31 +01:00 |
Roland Coeurjoly
|
566e57d24f
|
Support $lut cells. Both C++ and SMT tests pass
|
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 |