Commit Graph

97 Commits

Author SHA1 Message Date
Krystine Sherwin b56e3ec6e4
docs/functional: Minimal backend paragraphs
I was thinking about compiling the dummy example and including a simple example usage, but it turns out functional.h isn't (currently) available for extensions.
2025-03-01 16:15:54 +13:00
Krystine Sherwin 3c493d2bef
docs/rosette: Reword
Acknowledge the minimal functional backend, highlighting what's new/different for our SExpr targets.
Add and use the reference `minimal backend`.
Use `note` directives to point out missing code sections (highlighting that the included diffs are not complete).
Racket *is* still strongly-typed, it's just dynamic instead of static.  Adjust phrasing to reflect that.
Adjust some of the literal includes, adding a new section from the `Functional::AbstractVisitor`, splitting the `Module::write_eval()` in twain and adding a `smtlib.cc` literal include for the node iteration, as well as for the `FunctionalSmtBackend` to compare against the minimal backend.
Move `Backend` description up to minimal functional backend section.
2025-02-28 16:33:57 +13:00
Krystine Sherwin e01a413722
docs/rosette: List major changes in overview
Also a little paragraph on why SMT-LIB is used as the base.
2025-02-28 14:57:41 +13:00
Krystine Sherwin 560b5fe6bd
docs/functional: Add dummy toy example
Add `dummy.cc`, loosely based on `backends/functional/test_generic.cc` but as an actualy backend and without the memory testing.
Skeleton section for minimal functional backend, describing the aforementioned `dummy.cc`.
2025-02-27 16:14:59 +13:00
Krystine Sherwin db823a6acb
docs/rosette: Fix inline code 2025-02-27 16:11:44 +13:00
Krystine Sherwin c429aef60f
docs/rosette: More intro of SMT-LIB backend
As the intro paragraph (now) says:
> This section will introduce the SMT-LIB functional backend and what changes are needed...

The example is intended to be read without prior knowledge of the SMT-LIB backend, but the previous version glossed over a lot and instead focused on *just* what was changed.
This version should now be easier to follow without prior knowledge, while still being able to learn enough about the `Smt` version to adapt it to a different s-expression target that isn't Rosette.
Also adds a few `literalinclude`s of smtlib.cc, which is now copied to `docs/source/generated` along with producing the rosette diff on the fly (which now also has up to 20 lines of context, enabling the full `Module::write()` diff to be literal included).
2025-02-22 17:14:13 +13:00
Krystine Sherwin 819c3260ec
docs/rosette: Backend section body 2025-02-07 15:33:40 +13:00
Krystine Sherwin b02d2c633e
docs/rosette: Module section body 2025-02-07 15:09:06 +13:00
Krystine Sherwin 34c424be68
docs/rosette: Minor updates
- Fixing typo
- Reference `write_functional_rosette`
- Adjusting/fixing diff sections
- Comment on why the `code-block:: diff` isn't a `literalinclude`
2025-02-07 15:08:24 +13:00
Krystine Sherwin d73c58fad1
docs/rosette: Sort, Struct, and PrintVisitor sections 2025-02-04 12:24:34 +13:00
Krystine Sherwin 1b6b6a77ba
docs/rosette: Add details for Scope
Add a diff file and use it for showing changes from smtlib to rosette.
Also add relevant sections of diff to Sort and Struct sections.
2025-01-25 09:51:20 +13:00
Krystine Sherwin 242c037158
docs/rosette: Add overview 2025-01-24 13:10:34 +13:00
Krystine Sherwin f4c7377ac1
functional_ir.rst: Fix typo 2025-01-06 14:30:55 +13:00
Krystine Sherwin 23fa9b2014
functional_ir.rst: Initial skeleton for Rosette 2025-01-06 14:30:29 +13:00
Krystine Sherwin ef7734d610
functional_ir.rst: Formatting
Line breaks.
Put intro under sub-heading.
2025-01-06 12:01:21 +13:00
Emil J. Tywoniak b9b9515bb0 hashlib: hash_eat -> hash_into 2024-12-18 15:09:25 +01:00
Emil J. Tywoniak 0a525f38c2 hashlib: declare YS_HASHING_VERSION = 1 2024-12-18 15:09:25 +01:00
Emil J. Tywoniak 4e29ec1854 hashlib: acc -> eat 2024-12-18 15:09:25 +01:00
Emil J. Tywoniak 79acc141d5 hashlib: add deprecated mkhash function to prevent plugin breakage 2024-12-18 14:58:53 +01:00
Emil J. Tywoniak 6d53454bf5 docs: move hashing-based container details into internal docs from guidelines 2024-12-18 14:58:53 +01:00
Emil J 1401906d81 docs: formatting and fixes
Co-authored-by: KrystalDelusion <93062060+KrystalDelusion@users.noreply.github.com>
2024-12-18 14:58:53 +01:00
Krystine Sherwin 0454787443 Docs: Formatting and fixes 2024-12-18 14:58:51 +01:00
Emil J. Tywoniak ad0dc17711 docs: document the ideas behind the hashing interface 2024-12-18 14:58:31 +01:00
Krystine Sherwin c1f42f725b
Docs: Formatting recent md -> rst converts 2024-12-05 09:21:12 +13:00
Krystine Sherwin 9925b27432
Goodbye guidelines (except GettingStarted)
Drop the parts that are being dropped.
Move the things that are being moved.
Also move the verilog stuff out of README and into the docs.
GettingStarted is less cut and dry, so hold off on that one.
2024-12-05 09:21:12 +13:00
Krystine Sherwin f0da1cc67f
Start removing guidelines folder
Disable the export to docs and remove any references to the guidelines folder.
2024-12-05 09:18:56 +13:00
Krystine Sherwin e78841ba45
Docs: Fix invalid autorefs 2024-10-15 07:34:53 +13:00
Krystine Sherwin 46580cebb3
Docs: Move rtlil_text (back) to appendix 2024-10-15 07:34:52 +13:00
Krystine Sherwin 1374fc2e2b
cellref: Deprecate cell_library.rst
Most of the word/coarse level cells have an assigned group and individual page.
The gate/fine level cells are all on one page.
Fix links to `cell_library.rst`.
2024-10-15 07:34:52 +13:00
Krystine Sherwin c662529316
Docs: Move binary operators to cell appendix
Add binary group tag to relevant cells.
Remove content from `cell_library.rst` that is already moved.
2024-10-15 07:31:47 +13:00
Krystine Sherwin 40ba92e956
Docs: Reflow line length 2024-10-15 07:23:45 +13:00
Krystine Sherwin 829e02ec5b
Docs: Shorten cmd:ref 2024-10-15 07:22:04 +13:00
Krystine Sherwin e4ec3717bc
Docs: Update internal cells to autoref 2024-10-15 07:18:28 +13:00
Krystine Sherwin edf29e725e
Docs: Add functional_ir to index 2024-10-07 22:20:22 +13:00
Miodrag Milanović b20df72e1e
Merge pull request #4536 from YosysHQ/functional
Functional Backend
2024-09-06 10:05:04 +02: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
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 459e6b913a add functional ir documentation 2024-08-27 11:11:02 +01:00
Krystine Sherwin 98d26bdd2c
Docs: Fix nested list on build_verific page 2024-08-27 10:06:26 +12:00
Krystine Sherwin 583d820dc2
Docs: Apply verific docs suggestions 2024-08-23 09:23:57 +12: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