- Jul 27, 2018
-
-
Chick Markley authored
* Support for load memory annotations in chisel This PR * Delays the BlackBoxSourceHelper transformation to the Emitter stage of the VerilogCompiler * remove from VerilogCompiler * move to VerilogEmitter * Changes the verilog emitter to allow programmatic access to the verilog module declaration * Creating a bindable module requires headers to match * Provides a unit test that shows how to generate a bindable module. * Binding support Treadle needed LoadMemoryAnnotation to be in firrtl instead of chisel in order to recognize the annotations and use them for memory loading * Binding support - Fixed bug that handled suffixes on memory initializing files * Binding support - Add a bit more doc to the API provided by the VerilogRenderer
-
- Jul 21, 2018
-
-
albertchen-sifive authored
* add FoldADD to const prop, add yosys miter tests * add option for verilog compiler without optimizations * rename FoldLogicalOp to FoldCommutativeOp * add GetNamespace and RenameModules, GetNamespace stores namespace as a ModuleNamespaceAnnotation * add constant propagation for Tail DoPrims * add scaladocs for MinimumLowFirrtlOptimization and yosysExpectFalure/Success, add constant propagation for Head DoPrim * add legalize pass to MinimumLowFirrtlOptimizations, use constPropBitExtract in legalize pass
-
- Jul 12, 2018
-
-
Jack Koenig authored
-
- Jul 11, 2018
-
-
Jack Koenig authored
Previously, Vecs of Bundles that contained a zero-width element would result in a ClassCastException
-
Adam Izraelevitz authored
-
edwardcwang authored
On circuits with large numbers of width inferences, prepend to a linked list instead of appending and having to make a copy. Fixes #842
-
- Jul 08, 2018
-
-
Chick Markley authored
This caused wrong message: "File a Firrtl Issue" Instead of the correct "Reference XX is not fully initialized"
-
- Jul 04, 2018
-
-
Andrew Waterman authored
[skip formal checks] LEC passes with Formality * Improve code generation for smem RW-port wmode port A common case for these port-enables is wen = valid & write ren = valid & !write which the RW-port transform currently turns into en = (valid & write) | (valid & !write) wmode = valid & write because it proved `wen` and `ren` are mutually exclusive via `write`. Synthesis tools can trivially optimize `en` to `valid`, so that's not a problem, but the wmode field can't be optimized if going into a black box. This PR instead sets `wmode` to whatever node was used to prove mutual exclusion, which is always a simpler expression. In this case: en = (valid & write) | (valid & !write) wmode = write * In RemoveCHIRRTL, infer mask relative to port definition Previously, it was inferred relative to the memory definition causing the mask condition to be redundantly conjoined with the enable signal. Also enable ReplSeqMems to ignore all ValidIfs (not just on Clocks) to improve QoR.
-
- Jul 03, 2018
-
-
Jack Koenig authored
Fixes #756
-
- Jun 29, 2018
-
-
Albert Magyar authored
-
Jack Koenig authored
Add support for ProtoBuf serialization and deserialization * Add support for additional features in .proto description Features added: Info, Fixed[Type|Literal], AnalogType, Attach, Params * Add support for .pb input files This involves an API change where FIRRTL no longer implicitly adds .fir to input file names
-
- Jun 23, 2018
-
-
edwardcwang authored
Match https://github.com/freechipsproject/chisel3/pull/783
-
- Jun 22, 2018
-
-
Jim Lawson authored
-
Schuyler Eldridge authored
This fixes --infer-rw to not expect an argument. After the annotations refactor, no option was required, but some legacy code remained. This also updates the test cases to be more correct and not specify an option to --infer-rw. Signed-off-by:Schuyler Eldridge <schuyler.eldridge@ibm.com>
-
- Jun 19, 2018
-
-
Jack Koenig authored
-
- Jun 16, 2018
-
-
Jack Koenig authored
* Update Parser to use ANTLR CharStreams This removes some unnecessary object creation in String reading and manipulation * Remove two unnecessary traversals from Block construction in Visitor
-
- Jun 15, 2018
-
-
Jim Lawson authored
Relying on /tmp as a place for test output will fail on multiuser systems and may fail if multiple instances of tests are running for the same user.
-
- Jun 14, 2018
-
-
Schuyler Eldridge authored
Candidate fix for #749 This adds DefRegister netlist ordering to RemoveWires Signed-off-by:Schuyler Eldridge <schuyler.eldridge@ibm.com>
-
- Jun 13, 2018
-
-
Jack Koenig authored
It does not provide anything over NoTargetAnnotation. Its existence suggests some significance so removing it for clarity.
-
- Jun 12, 2018
-
-
Richard Lin authored
Escape raw params using \'
-
Jack Koenig authored
Also minor cleanup to literal construction in Visitor
-
Colin Schmidt authored
-
- Jun 11, 2018
-
-
Felix Yan authored
-
Leonard (Lenny) Truong authored
-
- Jun 09, 2018
-
-
Colin Schmidt authored
Useful if you want to find out how a node was reachable and you used a blacklist during the reachability analysis
-
- Jun 07, 2018
-
-
Chick Markley authored
Add optional argument to verilogToCpp to suppress VCD
-
Jack Koenig authored
This enables the pattern of attaching "through" a wire to give better Verilog that also works in Verilator Use WrappedExpression when combining attaches in ExpandWhens to ensure no duplication of references in resulting, combined attaches
-
- May 31, 2018
-
-
Jack Koenig authored
Makes ExpandWhens preserve connect Infos Also fix Travis regressions
-
Jack Koenig authored
* Switch Yosys back to 0.7 with patch for moved ABC repo * Add 30 min timeout for LEC tests * h/t https://stackoverflow.com/questions/43918874#44007537 * Move Travis building of Verilator and Yosys to prelude stage * Don't use automatic Travis Scala tests, do it manually
-
chick authored
* Collects Infos found for symbols * Merges multiple sources for symbol into MultiInfo * Restores these Infos on connect statements. * Add test showing preserved Infos * Changed ++ methods on the Info sub-classes * Ignore NoInfo being added * Fixed way adding was implemented in MultiInfo * Made InfoMap a class which defines the default value function
-
- May 30, 2018
-
-
Jack Koenig authored
* Make VerilogEmitter properly handle pad of width <= width of arg * Constant prop pads with pad amount <= width of arg
-
- May 24, 2018
-
-
Jack Koenig authored
-
- May 22, 2018
-
-
grebe authored
This should close #757. It should also allow for stop() and printf() to be used with zero-width fields.
-
- May 18, 2018
-
-
Jack Koenig authored
Yosys 0.7 build is broken because ABC moved repos and the link no longer works
-
- May 17, 2018
-
-
Jack Koenig authored
-
- May 16, 2018
-
-
Jim Lawson authored
-
Jack Koenig authored
Replaces old VerilogWrap which didn't work with split expressions and was actually buggy anyway. This functionality reduces unnecessary intermediates in emitted Verilog.
-
- May 12, 2018
-
-
alonamid authored
* top wiring transform * fixup comments * TopWiring cosmetics * move prefix into TopWiringAnnotation * remove test function from transform file * add ChildrenMap to InstanceGraph API * use namespaces * remove wiringUtils from TopWiring pass * enable multiple output functions * TopWiring cosmetics, tests and lowform
-
- May 10, 2018
-
-
Adam Izraelevitz authored
-
- May 03, 2018
-
-
Schuyler Eldridge authored
The following are deprecated in favor of DiGraph/InstanceGraph: - firrtl.passes.wiring.Lineage - firrtl.passes.wiring.WiringUtils.ChildrenMap - firrtl.passes.wiring.WiringUtils.getChildrenMap - firrtl.passes.wiring.WiringUtils.getLineage Signed-off-by:Schuyler Eldridge <schuyler.eldridge@ibm.com>
-