summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-29Update readmeHEADmasterAditya Naik
2023-01-12Merge branch '3.5.x' into 3.5-releaseJack
2023-01-12TruthTable improvements: structural equality and delete sort (backport ↵mergify[bot]
#2935) (#2936) * TruthTable improvements: structural equality and delete sort (#2935) We had implemented equals, but not hashCode. This commit also changes the implemental of equals to just use the underlying values instead of wasting the compute calling .toString. Delete TruthTable.sort, it is unused. (cherry picked from commit b5d9c08b2d0994b94df2380425282206fe1f25bc) * Restore and deprecate TruthTable.sort Co-authored-by: Jack Koenig <koenig@sifive.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
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>
2023-01-10Check for Vec subaccess in NamedComponent and throw a nicer error. (backport ↵mergify[bot]
#2907) (#2928) * Check for Vec subaccess in NamedComponent and throw a nicer error. (#2907) This would previously end up throwing an exception later, when trying to create a component name and realizing that it was invalid. Instead, this detects Vec subaccesses early, and gives a more precise error and suggestion. (cherry picked from commit d8c30961c7b293ee19024a487698630367ee71c6) # Conflicts: # core/src/main/scala/chisel3/internal/Builder.scala * Resolve backport conflicts Co-authored-by: Mike Urbach <mikeurbach@gmail.com>
2023-01-09Improve performance of ChiselEnum annotations (#2923) (#2927)mergify[bot]
ChiselEnums check if they should create annotations every time an instance of them is bound. Because so many annotations would be created, they check to see if an equivalent annotation has already been added to the annotations. Previously, this used a linear search of the annotations, now it uses a HashSet. (cherry picked from commit 96bde092e449281dc70ebdb05f21695468c3e5fa) Co-authored-by: Jack Koenig <koenig@sifive.com>
2023-01-08Merge branch '3.5.x' into 3.5-releaseJack
2023-01-08Bump version strings.Jack
2022-12-24FlatIOSpec: make sure the Analog test is using FLatIO (#2909) (#2910)mergify[bot]
(cherry picked from commit b91a2050aeb143aa80762dfb1b40f1e5035de4b5) Co-authored-by: Megan Wachs <megan@sifive.com>
2022-12-20DRY out CI (backport #2903) (#2905)mergify[bot]
* DRY out CI (#2903) * Minor tweaks to setup-oss-cad-suite * Switch espresso installation to composite action * Switch circt installation to composite action (cherry picked from commit dbd5f48a884a236f95c8476d56e28ca911b64a8d) # Conflicts: # .github/workflows/test.yml * resolve backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-12-20Switch from YosysHQ action to reusable workflow (backport #2901) (#2902)mergify[bot]
* Switch from YosysHQ action to composite action (#2901) The YosysHQ Github Action for setting up the OSS CAD Suite is very flaky in CI so instead we can just wget and untar the suite ourselves. It also seems prudent to try out composite actions to avoid duplication of installation steps. (cherry picked from commit 75aeaed9efaf1ca35573775cd21ea3b5e89e9442) # Conflicts: # .github/workflows/test.yml * Resolve backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-12-10Fix string interpolation in `util.exprimental.decode.bitset` (#2882) (#2883)mergify[bot]
* Fix BitSet decoder API when errorBit=False When errorBit is set to False, the original code will return `Unit` which will be `()` in interpolated string. * Add testcases for both errorBit cases in BitSetSpec (cherry picked from commit 42416cb6c6a3019fc29b9d98cfea3e3bb4e42684) Co-authored-by: Ocean Shen <30361859+OceanS2000@users.noreply.github.com>
2022-12-08Replay changes on 3.5.x (#2865)mergify[bot]
Co-authored-by: Aditya Naik <aditya.naik@sifive.com>
2022-12-07[CI] Update Github Actions (backport #2876) (#2877)mergify[bot]
* [ci] Update Github Actions (#2876) * Switch from deprecated setup-scala to setup-java * Switch from deprecated set-output to $GITHUB_OUTPUT * Use $GITHUB_STEP_SUMMARY for reporting (cherry picked from commit b01dd3cb613a13da4befb66dd09a8c0ba1689b68) # Conflicts: # .github/workflows/test.yml * Resolve backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-12-07Make PriorityMux stack safe (backport #2854) (#2855)mergify[bot]
* Make PriorityMux stack safe (#2854) It used to be implemented with recursion, now it's implemented with a stack safe reverse and foldLeft. Also there were no tests for PriorityMux so I added one which helps prove the change is functionally correct. (cherry picked from commit 269ce472e9aa0c242fc028871a1fd5b045c82f83) # Conflicts: # src/test/scala/chiselTests/util/PipeSpec.scala * Resolve backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-12-06Add versionScheme (PVP) to SBT publish settings (backport #2871) (#2874)mergify[bot]
* Add versionScheme (PVP) to SBT publish settings (#2871) This allows build tools to warn users about possible binary incompatibility issues when using dependencies that depend on mutually incompatible versions of Chisel. (cherry picked from commit 9f080d51d1e7bb9d44fb10da86fcaab68a21377b) # Conflicts: # build.sbt * Resolve backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-11-29Implement compressed Namespace (backport #2856) (#2860)mergify[bot]
* Implement compressed Namespace (#2856) The namespace disambiguates requests for the same name with _<idx>. Rather than storing every disambiguated name in the underlying HashMap, it now only stores the base along with the "next available" index. This makes the logic for checking if a name is already contained in the namespace slightly more sophisticated because users can name things in a way that will collide with disambiguated names from a common substring. For example, in naming the sequence "foo", "foo", "foo_1", the 2nd "foo" takes the name "foo_1" so the following "foo_1" gets disambiguated to "foo_1_1". But since we compressed that original "foo_1" into the same HashMap entry as just "foo", we have to do a form of "prefix checking" whenever naming something that ends in "_<idx>". In practice, the saved memory allocations more than make up for the more complicated logic to disambiguate names because the common case is still fast. (cherry picked from commit 1654d87a02ca799bf12805a611a91e7524d49843) # Conflicts: # core/src/main/scala/chisel3/internal/Builder.scala * Resolve backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-11-15fullModulePorts + Opaque Types Fix and Test (#2845) (#2846)mergify[bot]
(cherry picked from commit 49feb083c69066988ca0666ea4249a86570e2589) Co-authored-by: Megan Wachs <megan@sifive.com>
2022-11-11Merge branch '3.5.x' into 3.5-releaseJack
2022-11-11Bump version strings.Jack
2022-11-11Change RawModule._commands to a VectorBuilder (backport #2839) (#2841)mergify[bot]
* Change RawModule._commands to a VectorBuilder (#2839) * Change RawModule._commands to a VectorBuilder Use the resulting Vector to build the underlying Component's commands and then use those instead of copying the original ArrayBuffer when iterating on commands. Previously, the Component was using a List to hold the commands which is particularly memory inefficient, especially for large modules. * Optimize Converter's handling of Seq[Command] It previously converted the Commands to a List (which, while not captured in the type system, they were already a List) and then used head and tail iteration. This is less efficient with the new underlying Vector implementation. (cherry picked from commit 48a1ef0a3872c6b68d46145764d977926923a270) * Waive false binary compatibility failures Co-authored-by: Jack Koenig <koenig@sifive.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-11-10Update CompatibilityInteroperabilitySpec.scala (#2840) (#2842)mergify[bot]
(cherry picked from commit aa596b98d5e030294041f2e90eee1f78ca1e401b) Co-authored-by: Megan Wachs <megan@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-11-10Add unit tests and fix for #2794 , add unit tests for #2773 (backport ↵mergify[bot]
#2792) (#2834) * Fixup and unit tests for D/I of IOs without explicit Input/Output (#2792) (cherry picked from commit f24a624863f0fc460fd862238688ea8612ffdf5e) # Conflicts: # core/src/main/scala/chisel3/Module.scala * Resolve backport conflicts Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-11-10Unify Chisel2 and chisel3 directionality (backport #2634) (#2837)mergify[bot]
* Unify Chisel2 and chisel3 directionality (#2634) Co-authored-by: Jack Koenig <koenig@sifive.com> (cherry picked from commit 1aea4ef96466cbe08150d20c85c88b81e4e4f80f) # Conflicts: # core/src/main/scala/chisel3/Aggregate.scala # core/src/main/scala/chisel3/Module.scala # src/test/scala/chiselTests/Direction.scala * fix up backport * fix up backport * clean up diff * make test order like it was on master Co-authored-by: Adam Izraelevitz <adam.izraelevitz@sifive.com> Co-authored-by: Megan Wachs <megan@sifive.com>
2022-11-08Switch to using experimental trait for OpaqueTypes (backport #2783) (#2836)mergify[bot]
* Switch to using experimental trait for OpaqueTypes (#2783) This makes it more clear that the feature is experimental. Users may still override the opaqueType method for more dynamic control over when instances of a given Record are OpaqueTypes or not, but they are discouraged from doing so. (cherry picked from commit 7525dc71ccc2050d8e4a68b38f3b76920ba693fc) * Fix cloneType in RecordSpec Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-11-08Improve Record.bind and Detect Records with unstable elements (backport ↵mergify[bot]
#2829) (#2831) * Add Aggregate.elementsIterator and micro-optimize elementsIterator provides a more efficient API for iterating on the elements of Aggregates. It is especially useful for Records where getElements returns a Seq and thus eagerly constructs a new datastructure which may then just be iterated on anyway. This new elementsIterator API is then used throughout the codebase where it makes sense. Also change Vec.getElements to just return the underlying self instead of constructing a new Seq. (cherry picked from commit defa440b349031475daeff4024fad04925cccee6) # Conflicts: # core/src/main/scala/chisel3/Aggregate.scala # core/src/main/scala/chisel3/Module.scala # core/src/main/scala/chisel3/experimental/Trace.scala * Move Aggregate.bind inline into Record.bind Vec overrides bind and does not call the version in Aggregate so the version in Aggregate is misleading in that its only ever used by Records. Now there is no version in Aggregate and the actual functionality and use is more clear. (cherry picked from commit b054c30ba47026cb2a9b28c696a0a0a58b1e2ee7) # Conflicts: # core/src/main/scala/chisel3/Aggregate.scala * Extract and optimize duplicate checking Record.bind This replaces an immutable.Map with a single mutable.HashSet and saves the allocation of # elements Seqs. (cherry picked from commit 832ea52bc23424bb75b9654422b725a9cafaef40) # Conflicts: # core/src/main/scala/chisel3/Aggregate.scala * Add check for Records that define def elements (cherry picked from commit a4f223415de19e2a732e0b6a8fe681f706a19a56) * Resolve backport conflicts * Make elementsIterator final and package private * Waive false MiMa failure Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-11-07Bugfix converter clearing flips (backport #2788) (#2832)mergify[bot]
* Bugfix converter clearing flips (#2788) * Bugfix: Output on Vec of bundle with mixed field orientations * Bugfix OpaqueTypes clearing flips (cherry picked from commit f05bff1a337589bafebd08783bb0f6a72092a95a) # Conflicts: # src/test/scala/chiselTests/Direction.scala * Resolve backport conflicts Co-authored-by: Adam Izraelevitz <adam.izraelevitz@sifive.com> Co-authored-by: Jack Koenig <koenig@sifive.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-11-07Add DataMirror.getParent for getting parents of Modules (#2825) (#2833)mergify[bot]
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit fce8394bb0ddc9ae0d9c6668e034e483bd6b71c5) Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-11-05Support Analog in DataView (#2782) (#2828)mergify[bot]
Co-authored-by: Megan Wachs <megan@sifive.com> (cherry picked from commit 26100a875c69bf56f7442fac82ca9c74ad3596eb) Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-11-04Add PartialDataView.supertype (backport #2826) (#2827)mergify[bot]
* Add PartialDataView.supertype (#2826) This factory method makes it easy to create PartialDataViews from a Bundle type to its supertype. Because of the typing relationship, there is no need to provide a mapping between fields. The only thing necessary is to provide a function for constructing an instance of the supertype from an instance of the subtype. (cherry picked from commit 251d454a224e5a961438ba0ea41134d7da7a5992) # Conflicts: # core/src/main/scala/chisel3/experimental/dataview/package.scala # src/test/scala/chiselTests/experimental/DataView.scala * Resolve backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-10-25Publish an Initial Roadmap (#2804) (#2810)mergify[bot]
* Add initial roadmap Co-authored-by: edwardcwang <edwardcwang@users.noreply.github.com> (cherry picked from commit 7f73d18ecd2b1cf63485f3c268456ba0c775b961) Co-authored-by: Megan Wachs <megan@sifive.com>
2022-10-25Add Scalafmt for mill (backport #2805) (#2807)mergify[bot]
* Add Scalafmt for mill (#2805) * add scalafmt for test in mill build system. * reformat codes in integration-tests (cherry picked from commit d881fd29d7af91a7c514565b4b21797f1e44fbdb) # Conflicts: # build.sc # integration-tests/src/test/scala/chiselTests/util/experimental/BitPat.scala * Resolve backport conflicts Co-authored-by: Jiuyang Liu <liu@jiuyang.me> Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-10-23Fix for <> to BlackBox.IO with Compatibility Bundles (#2801) (#2803)mergify[bot]
MonoConnect.traceFlow now properly handles coerced directions. Also minor improvement to getClassName especially useful in test case printf debugging. (cherry picked from commit 3aba755bdcf996c0fbd846d13268fd6641b29e96) Co-authored-by: Megan Wachs <megan@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-10-19Don't modify the Builder prefix if reinvoking suggestName on a Data ↵mergify[bot]
(backport #2789) (#2790) * Only set the chisel3 Builder prefix during the first invocation of suggestName (cherry picked from commit b684506abab2f7b99d56181d548cb8119d317323) # Conflicts: # core/src/main/scala/chisel3/internal/Builder.scala * Add simple test to show bug fix (cherry picked from commit 255068b105de77a045a0016e3a157b52a81c86d6) * Fix merge conflict * Fix test to not use Hardware inside a bundle for prefixing Co-authored-by: Jared Barocsi <jared.barocsi@sifive.com>
2022-10-18Add traceNameV2 for backwards compat. of traceName (#2784) (#2786)mergify[bot]
Add utilities to enable backwards compatibility of the Trace.traceName API to Chisel 3.5.x. This adds a Trace.traceNameV2 utility which aliases to Trace.traceName. This also removes the TraceNameAnnotation and renames it TraceAnnotation. In 3.5.x, traceName will point at TraceNameAnnotation (which has don't touch behavior) and will be deprecated telling people to use traceNameV2 which will point at TraceAnnotation (which does not have don't touch behavior). This will require fixups to the backport associated with this PR. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com> (cherry picked from commit 47b7227e1ac7ccb0d48cefef03510542cc7e157e) # Conflicts: # core/src/main/scala/chisel3/experimental/Trace.scala Co-authored-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2022-10-17Add opt-in AutoCloneType for Records (backport #2781) (#2785)mergify[bot]
* Add opt-in AutoCloneType for Records (#2781) There is a new trait, chisel3.experimental.AutoCloneType that is mixed in to Bundle and can optionally be mixed in to user-defined Records. The compiler plugin prints a deprecation warning on any user-defined implementation of cloneType, telling the user to mix in AutoCloneType before upgrading to 3.6. (cherry picked from commit a234fd48ac8f5942c38fef5797292014e407b586) # Conflicts: # core/src/main/scala/chisel3/Aggregate.scala # plugin/src/main/scala/chisel3/internal/plugin/BundleComponent.scala * Resolve backport conflicts * Do not make MixedVec extend AutoCloneType It is a binary incompatible change that can wait for 3.6. * Waive MiMa false positives Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-10-13Bump to Scala 2.13.10 (backport #2774) (#2775)mergify[bot]
* Bump to Scala 2.13.10 (#2774) 2.13.9 has a binary compatibility regression so should be avoided. (cherry picked from commit c53265d6853728280b6bc01b001415166515c79a) # Conflicts: # .github/workflows/test.yml * Fix backport conflicts * Fix scalaVersion in README * Waive binary compatibility check for plugin for 2.13.10 3.5.4 is published for 2.13.10 so we cannot check binary compatibility for it. Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-10-10Replace execution test with CHIRRTL match test (#2769) (#2770)mergify[bot]
(cherry picked from commit 693678dbea0cc4b92a8d8de690768fdc7d90fd14) Co-authored-by: Aditya Naik <91489422+adkian-sifive@users.noreply.github.com>
2022-10-10Fix traceName module type to RawModule (backport #2765) (#2768)mergify[bot]
* Fix traceName module type to RawModule (#2765) Change the type of modules that the traceName API can be used for from "Module" to "RawModule". This fixes a bug where this API couldn't be used for RawModules even though it totally works. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com> Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com> (cherry picked from commit 74f1c85060cc72ebffe59a49f8d4539a464a4a19) * Fix binary compatibility issue Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-10-07Make nested IsInstantiables with Data in them work (#2761) (#2766)mergify[bot]
* Add unit test for Issue 2760 * checkpoint: Fix for nested instance * remove comments about stuff not working * make the test check the output a little more * relax the requirement on returning empty ioMap * Update core/src/main/scala/chisel3/experimental/hierarchy/core/Lookupable.scala * Update core/src/main/scala/chisel3/Data.scala * Update core/src/main/scala/chisel3/experimental/hierarchy/core/Lookupable.scala Co-authored-by: Jack Koenig <koenig@sifive.com> * Update src/test/scala/chiselTests/experimental/hierarchy/InstanceSpec.scala Co-authored-by: Jack Koenig <koenig@sifive.com> * Update core/src/main/scala/chisel3/experimental/hierarchy/core/Lookupable.scala * Add another unit test which unfortunately still passes * Update core/src/main/scala/chisel3/Data.scala * Update src/test/scala/chiselTests/experimental/hierarchy/InstanceSpec.scala Co-authored-by: Jack Koenig <koenig@sifive.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit 1f9f26dc2bffcb4cc4daf2dc16c5cb455c6769ef) Co-authored-by: Megan Wachs <megan@sifive.com>
2022-10-06Update toPrintable for Enums (#2707) (#2763)mergify[bot]
(cherry picked from commit 0ff99ca8d573e3487ef496a21c95d962689c3cba) Co-authored-by: Aditya Naik <91489422+adkian-sifive@users.noreply.github.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-29Add lexical scope checks to Assert, Assume and Printf (#2706) (#2753)mergify[bot]
(cherry picked from commit f462c9f9307bebf3012da52432c3729cd752321c) Co-authored-by: Aditya Naik <91489422+adkian-sifive@users.noreply.github.com>
2022-09-27[ci] Split formatting and docs checks into separate task (backport #2749) ↵mergify[bot]
(#2750) * [ci] Split formatting and docs checks into separate task (#2749) (cherry picked from commit ed2694293d61aa930341aef9f30c7762b889b5ae) # Conflicts: # .github/workflows/test.yml * Resolve backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-09-27Use Treadle (on pull requests only) to speed up CI (backport #2341) (#2748)mergify[bot]
* Support using Treadle for 'sbt test' Treadle will be used as the "defaultBackend" when the environment variable CHISEL3_CI_USE_TREADLE is set. The intent is to set this variable during CI for pre-merge CI (aka on pull requests). (cherry picked from commit 7d39b7bd2b6f38dac90fe25064744ffc0ada0fe4) * Use Treadle for CI on pull requests (cherry picked from commit 82660673e56a816e68fcc068e3e04e127f076faf) Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-09-20Improve CI sentinel job for better branch protection (backport #2743) (#2746)mergify[bot]
* Improve CI sentinel job for better branch protection (#2743) Previously, failed jobs in the CI matrix would cause the sentinel job (all-tests-passed) to be skipped, which for purposes of Github Actions branch protection would count as "success". This allowed PRs with failing CI to be merged. This new approach which uses two sentinel jobs should not suffer from this same issue. (cherry picked from commit cc507a84cb1c319f83f8cbb935347d7265b73387) # Conflicts: # .github/workflows/test.yml * Resolve backport conflicts Co-authored-by: Jack Koenig <koenig@sifive.com>
2022-09-20Use new lazy serialization in FIRRTL (#2741) (#2744)mergify[bot]
This enables emission of modules that serialize to >2 GiB of .fir text. (cherry picked from commit 2cbc852d09bb63cd5da291e5d5d942ab971952a4) 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>