Commit Graph

14346 Commits

Author SHA1 Message Date
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
github-actions[bot] 27b51cb351 Bump version 2024-08-22 00:18:24 +00:00
Krystine Sherwin 3317d80480
Docs: Clarify verific caveats 2024-08-22 10:04:00 +12:00
Krystine Sherwin 6431534c24
Docs: Some other fixes 2024-08-22 10:03:59 +12:00
Krystine Sherwin 8145461c78
Docs: Fix Verific builds table formatting
PDF don't like the long headers, so instead use placeholders a-d with elaborations below.
2024-08-22 10:03:59 +12:00
Krystine Sherwin 0327ad97f2
Docs: Fix code formatting
Gets me everytime
2024-08-22 10:03:59 +12:00
Krystine Sherwin 36ad07e1d5
Docs: Update build_verific
Clarify partially supported builds section.
Update parameter defaults.
Include note on finding compile options with `yosys-config`.
Fix remaining references to `/yosys_source/`.
2024-08-22 10:03:59 +12:00
Krystine Sherwin 88bb785dcd
Docs: Verific but with sentences 2024-08-22 10:03:59 +12:00
Krystine Sherwin cfba26ca8b
Docs: Verific progress 2024-08-22 10:03:59 +12:00
Krystine Sherwin 00bb3b6fc2
Docs: Merge yosys_source into extending_yosys
Move abc_flow content into synthesis/abc document.
2024-08-22 10:03:59 +12:00
Krystine Sherwin 8e618cac45
Docs: Update build_verific.rst
Move patch section to top.
Add todos for open questions.
Reformat partially supported builds into a single table.
General language tidy up/reflow.
2024-08-22 10:03:59 +12:00
Krystine Sherwin 53b223f0df
Docs: Initial build_verific.rst
From verific.md

Co-authored-by: Miodrag Milanovic <mmicko@gmail.com>
2024-08-22 10:03:59 +12:00
Krystine Sherwin d97a243c22
Docs: Intro to Yosys source section 2024-08-22 10:03:59 +12:00
Krystine Sherwin e18a2f1e27
Docs: Section/folder for yosys source details
Move test_suites page into said folder.
Placeholder page for building with verific.
2024-08-22 10:03:58 +12:00
Krystine Sherwin 2ffafadf22
Docs: Add note on verific
Having a verific license does not provide access to the verific frontend.
2024-08-22 10:03:58 +12:00
Roland Coeurjoly 27c1432253 Remove log 2024-08-21 14:28:42 +01:00
Roland Coeurjoly 91e3773b51 Ensure signed constants are correctly parsed, represented, and exported in RTLIL. Add a test to check parsing and exporting 2024-08-21 14:28:42 +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