summaryrefslogtreecommitdiff
path: root/docs/src/explanations
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-11-10 Warn on S-interpolator usage for assert, assume and printf (backport #2751) ↵Aditya Naik
(#2757) * Add internal methods to maintain binary compatibility Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Jack Koenig <koenig@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-08-12Add ability to suppress enum cast warnings (#2671) (#2674)mergify[bot]
(cherry picked from commit 1ad820f7f549eddcd7188b737f59a240e48a7f0a) Co-authored-by: Zachary Yedidia <zyedidia@gmail.com>
2022-08-02Fix example in Chisel Type vs Scala Type article (#2655) (#2657)mergify[bot]
(cherry picked from commit 0b2c211beefeefb72c86ea69a0b2a0101b2f2c20) Co-authored-by: Megan Wachs <megan@sifive.com>
2022-07-25Add an Explanation chapter about Scala types vs Chisel Types vs Hardware ↵mergify[bot]
(#2626) (#2642) (cherry picked from commit 81fcf229da84e334cdc466ffbb8ea74c7975a4a9) Co-authored-by: Megan Wachs <megan@sifive.com>
2022-06-27Fix broken link in interfaces-and-connections.md (#2607) (#2608)mergify[bot]
Links between markdown pages should not have any file extension to ensure they work on the website. (cherry picked from commit 04d4dc6da11678d0f12f84913fc05359d9a998a1) Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-06-16Define leading '_' as API for creating temporaries (backport #2580) (#2581)mergify[bot]
* Define leading '_' as API for creating temporaries Chisel and FIRRTL have long used signals with names beginning with an underscore as an API to specify that the name does not really matter. Tools like Verilator follow a similar convention and exclude signals with underscore names from waveform dumps by default. With the introduction of compiler-plugin prefixing in Chisel 3.4, the convention remained but was hard for users to use unless the unnnamed signal existed outside of any prefix domain. Notably, unnamed signals are most useful when creating wires inside of utility methods which almost always results in the signal ending up with a prefix. With this commit, Chisel explicitly recognizes signals whos val names start with an underscore and preserve that underscore regardless of any prefixing. Chisel will also ignore such underscores when generating prefixes based on the temporary signal, preventing accidental double underscores in the names of signals that are prefixed by the temporary. (cherry picked from commit bd94366290886f3489d58f88b9768c7c11fa2cb6) * Remove unused defaultPrefix argument from _computeName (cherry picked from commit ec178aa20a830df2c8c756b9e569709a59073554) # Conflicts: # core/src/main/scala/chisel3/Module.scala # core/src/main/scala/chisel3/experimental/hierarchy/ModuleClone.scala * Resolve backport conflicts * Waive false positive binary compatibility errors Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-03-04Add SVG Version of Bundle Example Diagram (#2425) (#2431)mergify[bot]
(cherry picked from commit 98fdfc5e609099cb4fb1749132cc62236148c6da) Co-authored-by: Megan Wachs <megan@sifive.com>
2021-12-20Better documentation for := and <> (#2312)Olushola Ogunkelu
2021-12-08Implement DataViews for Seq and Tuple (#2277)Jack Koenig
* DataProducts for Seq and Tuple2-10 in DataProduct companion object * DataViews for Seq and Tuple 2-10 in DataView companion object * HWTuple2-10 Bundles in chisel3.experimental * Implicit conversions from Seq to Vec and Tuple to HWTuple in chisel3.experimental.conversions
2021-10-22Add name to Naming Explanation page (#2199)Shorla
* Update bundles-and-vecs.md * Update docs/src/explanations/bundles-and-vecs.md Co-authored-by: Megan Wachs <megan@sifive.com> * Update naming.md Added a title to the cookbook * Add name to Multiple Clock Domain page * Update multi-clock.md Co-authored-by: Megan Wachs <megan@sifive.com>
2021-10-13Update bundles-and-vecs.md (#2173)Shorla
* Update bundles-and-vecs.md * Update docs/src/explanations/bundles-and-vecs.md Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Megan Wachs <megan@sifive.com>
2021-10-11Added dataview to explanations.md (#2167)Abongwa Bonalais
* Added dataview to explanations.md * Update docs/src/explanations/explanations.md Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Megan Wachs <megan@sifive.com>
2021-10-11Added title to blackboxes.md (#2168)Abongwa Bonalais
* Added title * Update docs/src/explanations/blackboxes.md Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Megan Wachs <megan@sifive.com>
2021-10-07Fix link in DataView explanation (#2153)Jack Koenig
2021-10-05Remove all Bundle cloneTypes and chiselRuntimeDeprecate its use (#2052)Megan Wachs
* Remove all manual cloneTypes and make it chisel runtime deprecated to add one * runtime deprecate cloneType with runtime reflection * [Backport this commit] Bundle: add check that override def cloneType still works (will be made an error later) * Plugin: make it an error to override cloneType and add a test for that * Docs: can't compile the cloneType anymore * BundleSpec: comment out failing test I cannot get to fail or ignore Co-authored-by: Jack Koenig <koenig@sifive.com>
2021-10-05Remove workaround for fixed issue in mdoc crash blocks (#2147)Jack Koenig
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-10-02Fix typos in documentation (#2141)Nick
Close #2138
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-08-05Small changes to memory doc (#2062)Chick Markley
* Small changes to memory doc - Fixed typo "except" => "accept" - Use `Counter` explicitly in ROM section example. * Fix counter doc compile error * remove invisible doc block in memory example * more small fixes to make mem example pass doc compile * Get rid of sine wave iterator in memory doc * get rid of tabs on VecInit example * get rid of tabs on VecInit example
2021-07-08Add `isOneOf` method to `ChiselEnum` (#1966)Verneri Hirvonen
* Add @ekiwi's code as a starting point * Add test for ChiselEnum isOneOf method * Make isOneOfTester naming consistent with other testers * Add scaladoc comments for isOneOf * Add isOneOf tests that use the method that takes variable number of args * Add guide level documentation example for isOneOf
2021-07-07Fix ChiselEnum docs (#2016)Jack Koenig
Also add newline to end of `verilog` modifier code blocks so that there is always a newline between code blocks and following material.
2021-07-01Update docs for ChiselEnumJack Koenig
2021-04-19Update polymorphism-and-parameterization.md (#1868)Fabien Marteau
nitpick
2021-04-14Fix doc formatting and generation (#1863)Carlos Eduardo
* Remove space between backticks and language * Make code examples in memories explanation work Co-authored-by: Jack Koenig <koenig@sifive.com>
2021-04-07Add documentation guide about memory initialization (#1850)Carlos Eduardo
* Add documentation guide about memory initialization * Move information to experimental and add ref
2021-03-18Update the FAQ and add doc on versioning (#1827)Jack Koenig
* Update the FAQ and add doc on versioning * Update modules.md Co-authored-by: Megan Wachs <megan@sifive.com>
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
2021-03-03Add header for chisel-enum.md (#1800)Jack Koenig
2021-03-02Adding ChiselEnum Documentation Entry (#1795)chrisbaldwin2
* Adding ChiselEnum Documentation Entry Added documentation for the ChiselEnum type with verified examples * Fixed some doc ambiguity and repeated emitVerilog calls * Added ChiselStage and commented out package definition since packages cannot be declared in single files * Fixed issue with ChiselStage not being able to generate a module with parameters and bad package imports * Opps on not adding _ after import * Update docs/src/explanations/chisel-enum.md Co-authored-by: Megan Wachs <megan@sifive.com> * Update docs/src/explanations/chisel-enum.md Co-authored-by: Megan Wachs <megan@sifive.com> * Modified Bundle for ci and made changes to select naming scheme * Update docs/src/explanations/chisel-enum.md Co-authored-by: Megan Wachs <megan@sifive.com> * Update docs/src/explanations/chisel-enum.md Co-authored-by: Megan Wachs <megan@sifive.com> * Update docs/src/explanations/chisel-enum.md Co-authored-by: Megan Wachs <megan@sifive.com> * Update docs/src/explanations/chisel-enum.md Co-authored-by: Megan Wachs <megan@sifive.com> * Added missing backticks * Added space around error block quote * Fixed md paragraph in code * Update docs/src/explanations/chisel-enum.md Co-authored-by: Megan Wachs <megan@sifive.com> * Update docs/src/explanations/chisel-enum.md Co-authored-by: Schuyler Eldridge <schuyler.eldridge@gmail.com> * Update docs/src/explanations/chisel-enum.md Co-authored-by: Schuyler Eldridge <schuyler.eldridge@gmail.com> * Update docs/src/explanations/chisel-enum.md Co-authored-by: Schuyler Eldridge <schuyler.eldridge@gmail.com> * Update docs/src/explanations/chisel-enum.md Co-authored-by: Megan Wachs <megan@sifive.com> * Fixed some comments and formatting Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Schuyler Eldridge <schuyler.eldridge@gmail.com>
2021-02-04Minor docs improvements (#1774)Jack Koenig
* Fix some botched formatting (replace ```mdoc scala with ```scala mdoc) * Replace some unnecessary uses of triple backticks with single backticks * Move appendix docs from wiki-deprecated/ to appendix/ * This will require an update on the website as well * Update Bundle literal docs
2021-01-21Update docs for the removal of val io and MultiIOModuleJack Koenig
2020-11-11Add custom mdoc modifier for emitted Verilog (#1666)Jack Koenig
2020-11-11Refine autonaming to have more intuitive behavior (#1660)Jack Koenig
* Refine autonaming to have more intuitive behavior Last name in an Expression wins, while the first Statement to name wins. This is done via checking the _id of HasIds during autonaming and only applying a name if the HasId was created in the scope of autonaming. There is no change to .autoSeed or .suggestName behavior. Behavior of chisel3-plugins from before this change is maintained. * Update docs with naming plugin changes
2020-10-26Fix crosslinks in mdoc. Can't use md suffix (#1640)Adam Izraelevitz
* Fix crosslinks in mdoc. Can't use md suffix * Removed all .md crossrefs Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-10-05Move more docs (#1601)Adam Izraelevitz
* Fix broken mdoc * Added test-chisel-docs to ci workflow * Add requirement on build-treadle job * Added forgotton colon * Forgot cd into chisel3 dir * moved three docs into explanations * Updated reference Co-authored-by: Schuyler Eldridge <schuyler.eldridge@gmail.com>
2020-09-24Fix broken mdoc (#1600)Adam Izraelevitz
* Fix broken mdoc * Added test-chisel-docs to ci workflow
2020-09-14Documentation and minor plugin changes. (#1573)Adam Izraelevitz
* Added documentation. Bugfix in plugin. Moved plugin APIs to separate package * Revert reg naming behavior (omit underscore) * Added documentation and a test * Addressed reviewer feedback.
2020-08-21Move multi-clock to explanations (#1561)Adam Izraelevitz