| Age | Commit message (Collapse) | Author |
|
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
(cherry picked from commit 015755749caa8a05f3809d446b023df80c7419d1)
Co-authored-by: Tynan McAuley <tynan@galois.com>
|
|
* Only call _elementsImpl once in Bundle.elements
* Distinguish compiler plugin and reflective _elementsImpl
Bundle.elements now will only do post-processing if the user is using
plugin-generated _elementsImpl. This improves performance for the case
where the user does not opt-in to using the plugin to generate
_elementsImpl.
(cherry picked from commit 5fead89ee0132355e551bcb6b87cc2a6db679bee)
Co-authored-by: Jack Koenig <koenig@sifive.com>
|
|
(#2395)
(cherry picked from commit 055a85298c46c6734880cd828af436adbded1d0a)
Co-authored-by: John Ingalls <43973001+ingallsj@users.noreply.github.com>
|
|
* Change type of Bundle._elementsImpl to Iterable
It was previously SeqMap (ListMap on Scala 2.12). This change gives us
more freedom to optimize the implementation without breaking binary
compatibility. It is scala.collection.Iterable because it is perfectly
fine to return mutable collections (like Arrays) since the only use is
to Iterate on them.
* Disallow users implementing Bundle._elementsImpl
Currently, it would result in a runtime linkage error. This turns it
into a compile-time error.
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
(cherry picked from commit 1b05a14ad6d5784f3b91ab510dc1095423c23ea8)
Co-authored-by: Jack Koenig <koenig@sifive.com>
|
|
Use Builder.deprecated instead of Builder.warning so that the warnings
are aggregated by source locator to prevent spamming the screen with
duplicated warnings.
(cherry picked from commit 538e223ae81c8b66a4123303f6dab61c874aaa1e)
Co-authored-by: Jack Koenig <koenig@sifive.com>
|
|
(cherry picked from commit 551854b223954f359156582c4219948dbb328857)
Co-authored-by: Jack Koenig <koenig@sifive.com>
|
|
* Improve error reporting (#2376)
* Do not trim stack traces of exceptions with no stack trace
This prevents us from accidentally giving stack traces to exceptions
that don't have them and giving misleading messages telling users to use
--full-stacktrace when it won't actually do anything.
Also deprecate ChiselException.chiselStackTrace which is no longer being
used anywhere in this codebase.
* Add exception class for multiple-errors reported
New chisel3.internal.Errors replaces old anonymous class that would show
up as chisel3.internal.ErrorLog$$anon$1 in error messages.
* Add new option --throw-on-first-error
This tells Chisel not to aggregate recoverable errors but instead to
throw an exception on the first one. This gives a stack trace for users
who need it for debugging.
(cherry picked from commit ff2e9c92247b3848659fa09fdd53ddde2120036a)
* Waive MiMa false positives
The waived change is to a package private constructor.
Co-authored-by: Jack Koenig <koenig@sifive.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
Warn if clock at memory instantiation differs from clock bound at port
creation and port clock is not manually passed
Co-authored-by: Jack Koenig <koenig@sifive.com>
(cherry picked from commit 465805ec7b2696a985eaa12cf9c6868f11ac2931)
Co-authored-by: Aditya Naik <91489422+adkian-sifive@users.noreply.github.com>
|
|
Adds generation of `Bundle.elements` method to the chores done by the compiler plugin
For each `Bundle` find the relevant visible Chisel field members and construct a
hard-coded list of the elements and their names implemented as `_elementsImpl`
For more details: See plugins/README.md
- Should be no change in API
- Handles inheritance and mixins
- Handles Seq[Data]
- Tests in BundleElementSpec
Co-authored-by: chick <chick.markley@sifive.com>
Co-authored-by: Jack Koenig <koenig@sifive.com>
(cherry picked from commit 237200a420581519f29149cbae9b3e968c0d01fc)
Co-authored-by: Chick Markley <chick@qrhino.com>
|
|
* Fix the QMC bug for constant and dontcare output.
* Fix the Espresso bug for constant and dontcare output.
(cherry picked from commit 46b53320e9ec09fc26d63259f1821f4234640839)
Co-authored-by: Jiuyang Liu <liu@jiuyang.me>
|
|
(cherry picked from commit 13fb4595b3b21beadaad5ba5c5d131138099d6e1)
Co-authored-by: Adam Izraelevitz <adam.izraelevitz@sifive.com>
|
|
The new reflection based IO autowrapping for compatibility mode Modules
would previously throw a NullPointerExceptions if any hardware were
constructed in the Module before "val io" was initialized. The logic is
now more robust for this case.
Co-authored-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
(cherry picked from commit 50e6099fbecc041973564514e55f67ffe069459b)
Co-authored-by: Jack Koenig <koenig@sifive.com>
|
|
#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>
|
|
(cherry picked from commit 91d7baa8e7162d736f46b6d4964b09016d2dd172)
Co-authored-by: Kevin Laeufer <laeufer@cs.berkeley.edu>
|
|
|
|
(cherry picked from commit d6710acbb969d0608693cb53142ea485062771d2)
Co-authored-by: Jack Koenig <koenig@sifive.com>
|
|
|
|
|
|
|
|
* Add Lookupable for Either
* Lookupable: enhance the @public/@instantiable error message to include traits and Eithers
Co-authored-by: Jack Koenig <koenig@sifive.com>
|
|
Add scalafmt configuration and apply it.
|
|
|
|
Command:
sbt scalafmtAll
|
|
Can be run in two ways:
* sbt scalaFmtAll
* mill mill.scalalib.scalafmt.ScalafmtModule/reformatAll __.sources
|
|
Update mergify queue action
|
|
Mergify deprecated and removed strict mode in the merge action. Instead,
we now use the queue action. Using ucb-bar/chisel-repo-tools#38.
|
|
Generation script is chisel-repo-tools/scripts/mergify.sc
|
|
* New Feature: Add a Select.ios that works with Definition/Instance
* BugFix: isA now truly ignores type parameters
|
|
|
|
Fix unidoc
|
|
|
|
This enables skipping files in the compiler plugin, only needed for
unidoc generation.
|
|
It is always true. The scalacOption to enable it is still supported and
prints a warning that the option no longer does anything.
|
|
|
|
|
|
|
|
This reverts commit 21e324727e99f0bc124aaddea7fe294b4111c23a.
Note that I am keeping the change making Arg sealed.
|
|
- Shows groups of field names that share a common id (i.e. aliased)
- Show, as much as possible, them in the order that fields appear in bundle
- Updated BundleSpec's relevant tests
Co-authored-by: Megan Wachs <megan@sifive.com>
Co-authored-by: Jack Koenig <koenig@sifive.com>
|
|
BitSet is a new experimental parent type for BitPat.
It enables more complex operations on BitPats.
Co-authored-by: Ocean Shen <shenao6626@gmail.com>
|
|
Also clean up deprecation warnings for replacement APIs and add
clarifying ScalaDoc.
|
|
This new document is a place to describe issues users may run into when
upgrading from Chisel 3.4 to 3.5. This initial version includes the
solution for the removal of virtual method "val io".
Co-authored-by: Megan Wachs <megan@sifive.com>
|
|
|
|
This makes the resulting Verilog from decoding a TruthTable deterministic.
|
|
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
|
|
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
|
|
preserves input/output information of the type being reduced.
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
|
|
Co-authored-by: Megan Wachs <megan@sifive.com>
|