- 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>
-
- Apr 30, 2018
-
-
Jack Koenig authored
-
- Apr 27, 2018
-
-
Jack Koenig authored
* Change VerilogMemDelays to put new Statements at end of Module Fixes #547 This is instead of putting them right after the modified DefMemory which could result in use before declaration errors for things that feed into the new logic. * Adds tests that show VerilogMemDelays crashing. (#792)
-
- Apr 17, 2018
-
-
Jim Lawson authored
* Cleaning up BlackBoxSourceHelper - use absolute file paths. ```bash make[1]: *** No rule to make target `test_run_dir/examples.AccumBlackBox_PeekPokeTest_Verilator345491158/AccumBlackBox.v', needed by `/Users/john/chisel-testers/test_run_dir/examples.AccumBlackBox_PeekPokeTest_Verilator345491158/VAccumBlackBoxWrapper.h'. Stop. ``` since the path `test_run_dir/examples.AccumBlackBox_PeekPokeTest_Verilator345491158/AccumBlackBox.v` does not exist inside `test_run_dir`. We should either: - strip the targetDir prefix, - prepend a `../` to the path, - use absolute paths I decided to go with the latter since this makes the least assumptions about the actual downstream processing and we already use absolute paths in other parts of this code. * Minor cleanup. - Anonymize make failure comment. - Use common map syntax.
-
- Apr 14, 2018
-
-
Jack Koenig authored
h/t @sdtwigg
-
- Apr 12, 2018
-
-
Henry Cook authored
Create sources once per module, not once per instance Clean up writing the file list Don't prepend file list with '-v's (non-standard and not all verilog) Change file list file name (not all verilog) Use ListSets for determinism
-
Jack Koenig authored
Also make DiGraphTests more ScalaTest-y
-
- Apr 11, 2018
-
-
Jack Koenig authored
It wasn't properly padding the width of the constant zero. Also add a test that shows the buggy behavior.
-