3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-06-13 09:26:16 +00:00
Commit graph

53 commits

Author SHA1 Message Date
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
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