- Aug 18, 2021
-
-
mergify[bot] authored
-
- 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 08, 2021
-
-
Jiuyang Liu authored
-
- 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.
-
Kevin Laeufer authored
* rearrange passes to enable optimized firrtl emission * Support ConstProp on padded arguments to comparisons with literals * Move shr legalization logic into ConstProp Continue calling ConstProp of shr in Legalize. Co-authored-by:
Jack Koenig <koenig@sifive.com> Co-authored-by:
Jack Koenig <koenig@sifive.com>
-
Schuyler Eldridge authored
Change the FIRRTL spec to disallow a zero-width multiplexer select. Clarify that the select line can be either one-bit or zero-bit, but will infer to one-bit. Signed-off-by:
Schuyler Eldridge <schuyler.eldridge@sifive.com> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- Jul 30, 2021
-
-
Jared Barocsi authored
* Add new util "groupByIntoSeq" * Restore annotation order when dedupping annotations * Attribute annotations now deduplicate * Implement doc string anno dedup Co-authored-by:Jack Koenig <koenig@sifive.com>
-
- Jul 27, 2021
-
-
Jiuyang Liu authored
* deprecate DependencyAPIMigration.
-
Kevin Laeufer authored
This will allow chiseltest to save the hash code to disk for the purpose of caching simulation binaries.
-
Jiuyang Liu authored
Add typedef in DependencyManager.
-
- Jul 25, 2021
-
-
Jiuyang Liu authored
This is a bug fix, before this PR, Scala compiler will infer `Nothing`, which makes code below failed to compile: ``` class UserCompiler extends TransformManager(Seq(Dependency(UserPass))) { override def optionalPrerequisiteOf: Seq[TransformDependency] = Seq( Dependency[DedupModules] ) } ```
-
- Jul 15, 2021
-
-
Jared Barocsi authored
* Add transform to deduplicate memory annotations * Add annotation deduplication to Dedup stage * ResolveAnnotationPaths and EliminateTargetPaths now invalidate the dedup annotations transform * Verilog emitter now throws exception when memory annotations fail to dedup Co-authored-by:Jack Koenig <koenig@sifive.com>
-
- Jul 13, 2021
-
-
Jiuyang Liu authored
Co-authored-by:Jack Koenig <koenig@sifive.com>
-
- Jul 12, 2021
-
-
Scala Steward authored
-
Jiuyang Liu authored
-
Jiuyang Liu authored
-
- Jul 11, 2021
-
-
sinofp authored
Co-authored-by:mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Scala Steward authored
Co-authored-by:mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Schuyler Eldridge authored
Signed-off-by:
Schuyler Eldridge <schuyler.eldridge@sifive.com> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Jiuyang Liu authored
Update sbt-scalafmt to 2.4.3
-
- Jul 09, 2021
-
-
Scala Steward authored
-
- Jul 07, 2021
-
-
Boyang Han authored
-
Schuyler Eldridge authored
Relax spec on 0-bit mux select, use SFC behavior
-
- Jun 30, 2021
-
-
Schuyler Eldridge authored
Change the FIRRTL specification document to allow for 0-bit mux selects. The existing ZeroWidths pass will promote these to a 1-bit, 0-valued select signal (which effectively means that the mux can be optimized away to just the false path). Signed-off-by:Schuyler Eldridge <schuyler.eldridge@sifive.com>
-
- Jun 26, 2021
-
-
Felix Yan authored
-
- Jun 23, 2021
-
-
Jack Koenig authored
The pass injects pipe registers immediately after the declaration of the memory. This can be problematic if the clock for the associated memory port is defined after the declaration of the memory. For any memory port clocks that are driven by non-ports, we now inject a wire before the pipe register declarations to be sure there are no use-before-declaration issues.
-
- Jun 22, 2021
-
-
Albert Magyar authored
* Fixes #2206
-
- Jun 19, 2021
-
-
Jared Barocsi authored
* Restore parsed MultiInfo structure in firrtl parser * Change erroneous expected output in InfoSpec test FileInfo compression sorts the outputted entries alphabetically, but this test did not reflect that fact * Fix typo in comment * Add unit tests for file locator parsing * Fix syntax issues and typos * More redundant braces removed Co-authored-by:mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- Jun 18, 2021
-
-
Kevin Laeufer authored
* smt: include firrtl statement names in SMT and btor2 output * smt: remove println * smt: make tests run again and fix stale ones Apparently `private` classes aren't found by th sbt test runner.
-
- Jun 17, 2021
-
-
Schuyler Eldridge authored
Add a new option to the FIRRTL compiler, "--start-from = <form>". If used, this will cause the compiler to assume that the input FIRRTL circuit is already in the specific form. It will then skip unnecessary passes given this information. E.g., if a user requests to run "firrtl -X verilog --start-from low" then the compiler will only run transforms necessary to get from low FIRRTL to Verilog. Transforms necessary for ingesting FIRRTL IR will be run if needed (checks and type/kind/flow resolution). To implement this, a CurrentFirrtlStateAnnotation is added. Advanced users can use this directly to tell the FIRRTL compiler exactly what transforms have already been run, including the ability to ignore checks or type/kind/flow resolution if they so desire. Signed-off-by:Schuyler Eldridge <schuyler.eldridge@sifive.com>
-
Schuyler Eldridge authored
* Add Protocol Buffer emission export This adds infrastructure and annotations that let a user emit a FIRRTL circuit as a Protocol Buffer. Fixes #1696. Signed-off-by:Schuyler Eldridge <schuyler.eldridge@sifive.com> * fixup! Add Protocol Buffer emission export
-