- Nov 02, 2021
-
-
chick authored
- Added `UnrecogizedAnnotationsException` for internal communications of errors during annotation deserialization - Made tracking of Unrecognized annotation types more robust, by extracting class with regex - fixed AllowUnrecognizedAnnotations to stop it from eating following annotation - change to use mutable package inline with ArrayBuffer - removed intermediate result values used in debugging JsonProtocol - added handler in `stage.view` annotation handler - Added new tests to show behavior when run from command line
-
Chick Markley authored
-
- Oct 28, 2021
-
-
SingularityKChen authored
+ correct the Error Info of "At least one dedupable annotation..."
-
- Oct 20, 2021
-
-
David Biancolin authored
-
- Oct 19, 2021
-
-
David Biancolin authored
-
- Oct 15, 2021
-
-
chick authored
An application like barstools may contain a main that loads an annotations file containing annotation classes that are not on it's classpath. This change allows unknown annotations to be preserved by wrapping them in a UnrecognizedAnnotation. If annotations are then output to a file, they will be unwrapped during serialization This feature can be enabled via an AllowUnrecognizedAnnotations annotation
-
- Oct 09, 2021
-
-
Jack Koenig authored
Reset, AsyncReset, Interval, attach, assert, assume, and cover have all been added as keywords but not added to the allowlist for parsing as ids.
-
- Oct 06, 2021
-
-
Jack Koenig authored
Hotfix for Vector Reg Init LegalizeConnects Bug
-
- Oct 05, 2021
-
-
Schuyler Eldridge authored
Signed-off-by:Schuyler Eldridge <schuyler.eldridge@sifive.com>
-
Schuyler Eldridge authored
Add a private pass, LegalizeConnectsOnly, that behaves like LegalizeConnects, but only pads connects instead of connects and register inits. Padding is necessary for ReplSeqMem, but ReplSeqMem runs before LowerTypes and vector registers can still exist at this point. Connects, conversely, are all blown out by ExpandConnects and can be safely, blindly treated as ground type. Fixes #2379. Signed-off-by:Schuyler Eldridge <schuyler.eldridge@sifive.com>
-
- Sep 30, 2021
-
-
David Biancolin authored
* Demonstrate a couple failing cases * Have TopWiring ignore unnamed declarations as potential sources
-
David Biancolin authored
* Have Flatten & InlineInstances remove their annotations * Format
-
- Sep 29, 2021
-
-
Nicolas Machado authored
* Added RTLIL Backend. * Add test for Rtlil Backend, fix per-module file emission, scalafmt, and apply bugfixes for inconsistencies found during testing. * Fix build on scala 2.13 * Add additional equivalence test, make some bugfixes and perf opts to the emitter. * Final changes as requested by Kevin, code cleanup, add support for formal cells.
-
- Sep 28, 2021
-
-
Kevin Laeufer authored
-
- Sep 24, 2021
-
-
Richard Xia authored
8abf3085 reordered the fields, but it unintentionally placed a closing brace before the actual end of the write port type. This moves the brace to the end of the port. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Kevin Laeufer authored
-
- Sep 15, 2021
-
-
Jack Koenig authored
The test was leaving the test directory in a dirty state that would fail on a rerun. Fix the test so that it can be run multiple times in a row.
-
- Sep 14, 2021
-
-
Jack Koenig authored
This required also bumping sbt-scalafix to bring in a newer version of semanticdb. The new version of semanticdb had an issue with a regex in SMTLib, fixed by fixing the way '$' is escaped in the regex.
-
- Sep 11, 2021
-
-
Jack Koenig authored
BlackBoxSourceHelper should only run late in compilation to allow transforms to tweak its behavior (eg. changing BlackBoxTargetDirAnno).
-
Megan Wachs authored
-
- Sep 09, 2021
-
-
Kevin Laeufer authored
-
Kevin Laeufer authored
-
Jared Barocsi authored
* Add compiler option (`-p`) to emit individual module protobufs * Implement multi module combination when reading directory of protobufs Co-authored-by:Jack Koenig <koenig@sifive.com>
-
- Sep 04, 2021
-
-
Jack Koenig authored
-
- Aug 31, 2021
-
-
Kevin Laeufer authored
We treat it as an assertion that the stop will never be enabled. stop(0) will still be ignored (but now demoted to a info from a warning).
-
- Aug 27, 2021
-
-
Schuyler Eldridge authored
* Fix dshl zero-width shift behavior Add a special case for dshl handling in the ZeroWidths pass. If one expression is shifted by a second, zero-width expression, just return the first expression. This prevents a bug where the width will incorrectly expand due to zero-widths introducing a 1-bit zero expression. Signed-off-by:Schuyler Eldridge <schuyler.eldridge@sifive.com> * fixup! Fix dshl zero-width shift behavior
-
- Aug 21, 2021
-
-
Jack Koenig authored
Uses virtual method .getBytesBuffered: Iterable[Array[Byte]] to optimize file emission.
-
Jack Koenig authored
-
- Aug 18, 2021
-
-
Jiuyang Liu authored
* If exist protoc in the $PATH, prefer to using it. * add checkSystemAntlr4Version and checkSystemProtocVersion * Update build.sc Co-authored-by:
Jack Koenig <koenig@sifive.com> Co-authored-by:
Jack Koenig <koenig@sifive.com> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- Aug 14, 2021
-
-
胡波 authored
to make it has the same form with NoDCEAnnotation and NoConstantPropagationAnnotation
-
- Aug 11, 2021
-
-
Kevin Laeufer authored
This will make it easier for formal verification libraries to make use of these emitters.
-
Kevin Laeufer authored
-
- Aug 10, 2021
-
-
Kevin Laeufer authored
Both transforms are (most likely) not needed.
-
Kevin Laeufer authored
The SMT backend actually needs to run PropagatePresetAnnotations (as will treadle at some point). None of the Verilog specific passes were actually required!
-
Jiuyang Liu authored
* implement NoCommonSubexpressionElimination to resolve chipsalliance/chisel3#2006 * Update src/main/scala/firrtl/passes/CommonSubexpressionElimination.scala Co-authored-by:
Schuyler Eldridge <schuyler.eldridge@sifive.com> Co-authored-by:
Schuyler Eldridge <schuyler.eldridge@sifive.com>
-
- Aug 06, 2021
-
-
Schuyler Eldridge authored
Correct incorrect type specified for memories in the FIRRTL specification. This is important because the memory type determines what is a legal bundle to try to connect to a memory port. I based this off of FIRRTL accepting the following circuit: circuit MemOrder: module MemOrder: input r: {addr : UInt<3>, en : UInt<1>, clk : Clock, flip data : UInt<1>} input w: {addr : UInt<3>, en : UInt<1>, clk : Clock, data : UInt<1>, mask : UInt<1>} input rw: {addr : UInt<3>, en : UInt<1>, clk : Clock, flip rdata : UInt<1>, wmode : UInt<1>, wdata : UInt<1>, wmask : UInt<1>} mem memory: data-type => UInt<1> depth => 8 reader => r writer => w readwriter => rw read-latency => 1 write-latency => 1 read-under-write => undefined memory.r <= r memory.w <= w memory.rw <= rw Signed-off-by:Schuyler Eldridge <schuyler.eldridge@sifive.com>
-
- Aug 05, 2021
-
-
Kevin Laeufer authored
This reverts commit 2630537c.
-
- Aug 04, 2021
-
-
Schuyler Eldridge authored
Fix an OG bug where Andr, Orr, and Xorr would accept an arbitrary number of operands. Verilog emission doesn't support this and will silently drop all operands after the first. E.g., "andr(a, b)" would emit as "&a". After this commit, "andr(a, b)" will be rejected by checking passes. For archaeological purposes, this appears to have been the behavior dating back to when this was added in d2d3260a . Signed-off-by:
Schuyler Eldridge <schuyler.eldridge@sifive.com>
-
- Aug 03, 2021
-
-
Jack Koenig authored
-
Kevin Laeufer authored
This has outlived its usefulness.
-