summaryrefslogtreecommitdiff
path: root/docs/src/cookbooks/cookbook.md
AgeCommit message (Collapse)Author
2023-01-11Promote ChiselEnum user APIs from experimental (backport #2929) (#2931)mergify[bot]
* Promote ChiselEnum user APIs from experimental (#2929) They are commonly used and if we were ever to change them, we will need to go through a deprecation process anyway. Note that the EnumAnnotations remain in chisel3.experimental because, like all Chisel annotation support, they are slated to be deprecated and removed. (cherry picked from commit 424e9446f1675fe0168e22bdfbbe85db997376e6) # Conflicts: # docs/src/cookbooks/verilog-vs-chisel.md # docs/src/explanations/chisel-enum.md * Maintain binary compatbility, use aliases in chisel3 package * Deprecate the actual classes in chisel3.experimental * Also fix backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-10-23Don't invalidate ExtModule ports in an explicitInvalidate = true context ↵mergify[bot]
(backport #2795) (#2799) * Don't invalidate ExtModule ports in an explicitInvalidate = true context (#2795) * Don't invalidate ExtModule ports in an explicitInvalidate = true context ExtModule ports were previously invalidated in the emitted FIRRTL, which is correct in a NonStrict / `Chisel._` compatibility context but not in newer chisel3 code where `explicitInvalidate = true`. (cherry picked from commit 8e24a281545d25f6501dcc872eabdfb30bacd69d) # Conflicts: # core/src/main/scala/chisel3/BlackBox.scala * Resolve backport conflicts Co-authored-by: Jared Barocsi <82000041+jared-barocsi@users.noreply.github.com> Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-09-30Cookbooks: use more mdoc power, fix issues (#2752) (#2754)mergify[bot]
Co-authored-by: Jack Koenig <koenig@sifive.com> (cherry picked from commit fc970ca28e562f2ea3ba160963604ea3deaf3467) Co-authored-by: Megan Wachs <megan@sifive.com>
2022-09-20Cleanup Cookbook and printing docs (#2727) (#2742)mergify[bot]
* Cleanup Cookbook and printing docs * Format specifiers are actually concise now Co-authored-by: Megan Wachs <megan@sifive.com> (cherry picked from commit df2a71833ffc8ee8a053a1e8ea41c482e46be132) Co-authored-by: Aditya Naik <91489422+adkian-sifive@users.noreply.github.com>
2022-06-17[docs] Document partial register reset (#2582) (#2583)mergify[bot]
(cherry picked from commit d54a37a51b16fb6e46093265d65fd47d5318f67f) Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-04-12Enhance views to [sometimes] support dynamic indexing and implement FlatIO ↵mergify[bot]
(backport #2476) (#2479) * Capture 1:1 mappings of Aggregates inside of views This is implemented by including any corresponding Aggregates from the DataView.mapping in the AggregateViewBinding.childMap (which is now of type Map[Data, Data]). This enables dynamically indexing Vecs that are themselves elements of larger Aggregates in views when the corresponding element of the view is a Vec of the same type. It also increases the number of cases where a single Target can represent part of a view. (cherry picked from commit 1f6b1ca14ccf86918065073c3f6f3626dd83a68e) * Add FlatIO API for creating ports from Bundles without a prefix (cherry picked from commit 772a3a1fe3b9372b7c2d7cd2d424b2adcd633cdb) * [docs] Add FlatIO to the general cookbook (cherry picked from commit b4159641350f238f0f899b69954142ce8ee11544) Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-03-15[docs] Add Cookbook section on aliased Bundle fields (#2444) (#2448)mergify[bot]
(cherry picked from commit d4dd21191c63a3b125193a7ffb83d478aa945d5a) Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-03-07Tweaks to the Verilog-vs-Chisel Page (#2432) (#2433)mergify[bot]
* Tweaks to the Verilog-vs-Chisel Page * Update cookbook.md * Update verilog-vs-chisel.md * Update verilog-vs-chisel.md (cherry picked from commit 7432bdff8369ba55db73c7934e41bb6f4060bb6d) Co-authored-by: Megan Wachs <megan@sifive.com>
2022-03-03Add Verilog-chisel side by side Reference Page to Docs (#2323) (#2426)mergify[bot]
Co-authored-by: Shola Ogunkelu @Shorla Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Deborah Soung <debs@sifive.com> Completed as part of Outreachy Internship Dec 2021-March 2022. (cherry picked from commit 362702f3fd79bf1071db4acecc679f25a0b94a8a) Co-authored-by: Olushola Ogunkelu <77856859+Shorla@users.noreply.github.com>
2022-01-20Fix link to Naming Cookbook (#2356) (#2357)mergify[bot]
#naming implies within the current file. Removing the # refers to a file in the current directory. (cherry picked from commit 512ddd6c8b079dd83f2a3ed793e6595822a382cb) Co-authored-by: Jack Koenig <koenig@sifive.com>
2021-12-07[docs] Remove body from minimizing output bits recipe (#2290)Jack Koenig
Remove the body from the emitted Verilog. This was the original intent of the example, and it avoids an issue where Jekyll was not able to render the Markdown file due to Verilog concatenation looking like a variable escape.
2021-12-04[docs] add minimizing output bits recipe (#2278)Øyvind Harboe
Co-authored-by: Jack Koenig <koenig@sifive.com>
2021-10-28[docs] Improve tieoff Bundle to 0 (#2218)Jack Koenig
Previously, the example had an extra wrapping module that led to the interesting example getting optimized away.
2021-08-23Add multiple dimensions to VecInit fill and iterate (#2065)anniej-sifive
Co-authored-by: Jack Koenig <koenig@sifive.com>
2021-08-17[docs] Add example of stripping directions from type (#2074)Jack Koenig
* [docs] Add example of stripping directions from type * Apply suggestions from code review Co-authored-by: Megan Wachs <megan@sifive.com> * Improve := comment Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-08-12Add DataView (#1955)Jack Koenig
DataView is a mechanism for "viewing" Scala objects as a subtype of `Data`. Often, this is useful for viewing one subtype of `Data`, as another. One can think about a DataView as a cross between a customizable cast and an untagged union. A DataView has a Target type `T`, and a View type `V`. DataView requires that an implementation of `DataProduct` is available for Target types. DataProduct is a type class that provides a way to iterate on `Data` children of objects of implementing types. If a DataView is provided for a type T to a type V, then the function .viewAs[V] (of type T => V) is available. The object (of type T) returned by .viewAs is called a "View" and can be used as both an rvalue and an lvalue. Unlike when using an .asTypeOf cast, connecting to a "View" will connect to the associated field or fields of the underlying Target. DataView also enables .viewAsSupertype which is available for viewing Bundles as a parent Bundle type. It is similar to .viewAs but requires a prototype object of the Target type which will be cloned in order to create the returned View. .viewAsSupertype maps between the corresponding fields of the parent and child Bundle types.
2021-04-28Cookbook: clean up desiredName example (#1886)Megan Wachs
* Cookbook: clean up desiredName example * Update cookbook.md
2021-04-26Cookbooks: make examples more clear and remove naming (#1881)Megan Wachs
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-04-12Add "how to tie off to 0" to the Cookbook (#1857)Megan Wachs
2021-03-18Reorganize website docs (#1806)Megan Wachs
Updates to chisel3 documentation for website: * guard code examples with mdoc and fix errors encountered along the way * move some website content here vs splitting the content across two repos * Bring in the interval-types and loading memories content so that it will be visible from the website * remove all references to the wiki (deprecated) * Remove reference to Wiki from the README * fix tabbing and compile of chisel3-vs-chisel2 section * Appendix: faqs now guarded and compile * FAQs: move to resources section