aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-02-05Added comments to ExpandWhens (#716)Adam Izraelevitz
2018-01-30Make Constant Propagation respect dontTouch on registersJack Koenig
2018-01-30Fix bug incorrectly propagating constants on submodule inputsJack Koenig
Two instances of the same module could collide in counting the number of instances of each Module. This could lead to constants being propagated on inputs when it is incorrect to do so. Fixes #734
2018-01-15WiringTransform Refactor (#648)Schuyler Eldridge
Massive refactoring to WiringTransform with the use of a new EulerTour class to speed things up via fast least common ancestor (LCA) queries. Changes include (but are not limited to): * Use lowest common ancestor when wiring * Add EulerTour class with naive and Berkman-Vishkin RMQ * Adds LCA method for Instance Graph * Enables "Two Sources" using "Top" wiring test as this is now valid * Remove TopAnnotation from WiringTransform * Represent WiringTransform sink as `Seq[Named]` * Remove WiringUtils.countInstances, fix imports * Support sources under sinks in WiringTransform * Enable internal module wiring * Support Wiring of Aggregates h/t @edcote fixes #728 Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com> Reviewed-by: Jack Koenig<jack.koenig3@gmail.com>
2018-01-08Typo: ExecutionOptionManager -> ExecutionOptionsManager.Leway Colin
2018-01-05Fix FirrtlExecutionOptions backward incompatible change (#704). (#720)Jim Lawson
Fix FirrtlExecutionOptions backward incompatible change (#704). New options should be added to the end of the list to reduce backward compatibility problems. Update comment to mention backwards compatibility issue.
2018-01-05Remove erroneous undef of RANDOMIZE in emitted VerilogJack Koenig
2017-12-29Add support for multiple annotation filesJack
Change loadAnnotations to return annotations instead of mutating firrtlOptions Deprecate implicit annotation file (top.anno) and annotation file override
2017-12-29Actually emit annotations as YAML instead of default toStringJack
2017-12-29Remove option --force-append-anno-file, make defaultJack Koenig
The logic around this option was unintuitive and led to silently dropped annotations.
2017-12-29Add Driver.dramaticWarningJack
2017-12-29Add logger printing for declarations removed by DCEJack Koenig
2017-12-29Add NodeCount analysis for helping with performance debuggingJack Koenig
2017-12-27Removed top preamble (#640)Adam Izraelevitz
2017-12-26Adjust isVCSAvailable commentedwardcwang
2017-12-22API change: out-of-bounds vec accesses now invalid, not first element (#685)Adam Izraelevitz
[skip formal checks] Generate nicer name for remove accesses
2017-12-20Verify shl/shr amount is > 0 (#710)Jim Lawson
Fixes #527
2017-12-20Fix bug in ConstProp where module dependency edges were dropped (#696)Jack Koenig
This resulted in parent modules sometimes being constant proppagated before a child module. If the child module has a constant driving one of its outputs, the parent module would thus not see the constant. This resulted in strange unstable constant propagation behavior where sometimes constant outputs would not propagate. Also add test illustrating why this occurs with uses of InstanceGraph
2017-12-20Make submodule inputs void in ExpandWhens (#706)Jack Koenig
2017-12-20Add "checker" to the set of Verilog keywords - fixes 455. (#711)Jim Lawson
2017-12-19support -X sverilog to output xxxx.sv file (#638)Wei Song (宋威)
2017-12-19Make toNamed invert serialize (#709)Schuyler Eldridge
Fixes #708
2017-12-15getBuildDir now builds full pathAdam Izraelevitz
2017-12-12Add RemoveWires transformJack Koenig
This transform replaces all wires with nodes in a legal, flow-forward order
2017-12-12Improve MultiInfo emission, add apply that squashes NoInfoJack Koenig
2017-12-12Make object ConstantPropagation utilsJack Koenig
Move pad to object ConstantPropagation so other transforms can use it
2017-11-29Add alternative graph IR (#671)Wenyu Tang
* add graph node classes * add graph representation usage pass * remove pass using graph nodes so that firrtl can compile * move google graph ir nodes to altIR package
2017-11-28Have DedupModules report renamingJack
2017-11-28Refactor RenameMap to rename Components if their Module is renamedJack
2017-11-16Move digraph exceptions out of digraph class (#688)Albert Magyar
2017-11-10Make digraph methods deterministic (#653)Albert Magyar
2017-11-08Add InfoSpec for checking Info propagationJack Koenig
2017-11-08Add FirrtlCheckers and scalatest helpers for testingJack Koenig
2017-11-08Emit source locators as comments in emitted VerilogJack Koenig
2017-10-31Fix bug emitting and reparsing ExtModule String parameters (#675)Jack Koenig
2017-09-30Make ReplaceAccesses optimize multi-dimensional accesses (#665)Albert Magyar
2017-09-30Fixed zero width cat but (#651)Adam Izraelevitz
2017-09-29StringLit.verilogEscape should support all printable ASCII chars (#668)Jack Koenig
Defined as the range from ' ' to '~' [0x20, 0x7e]
2017-09-29Namespace - only save suffix for temp names (#667)Jack Koenig
This prevents collisions for one prefix (including temp) from incrementing the suffix for other prefixes. Makes names more stable.
2017-09-22Fix string lit (#663)Jack Koenig
Refactor StringLit to use String instead of Array[Byte]
2017-09-21Some ScalaDoc warning fixesEdward Wang
2017-09-21Fix problem where wrong verilog file is used. (#661)Chick Markley
When calling verilator in a subdirectory like ./test_run_dir/... verilator will read the verilog file from the current working directory if there is a file there with the right name. This fix specifies the specific path of the verilog file intended.
2017-09-19Provide mechanism so that programs can optionally (#660)Chick Markley
not exit when --help is included in program flags
2017-09-19Create way of collecting program arguments in Driver (#659)Chick Markley
Adds programArgs to commonOptions programArgs is all arguments on command line with out leading -/+ or are not bound to a flag. Create simple test
2017-09-12Make pathsInDAG walk all possible paths (#655)Schuyler Eldridge
* Make pathsInDAG walk all possible paths Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com> * Use linearization order when finding all paths in DAG
2017-09-06Write tests on multi-rooted circuits for ConstPropEdward Wang
Since InstanceGraph now has all modules in its graph, test ConstProp on all modules as a default behaviour. - Need to think about how to target ConstProp only for a specific module? Close #644
2017-09-05Add InstanceGraph testsEdward Wang
2017-09-05Make InstanceGraph track module hierarchies not contained in the top-level ↵Albert Magyar
hierarchy
2017-08-31Added option to emit final annotations (#649)Adam Izraelevitz
* Added option to emit final annotations * Removed extra > from output-anno-file * Removed other extra > from input-anno-file
2017-08-23Reorder port and wire assignments in Verilog (#641)Adam Izraelevitz
* Reorder port and wire assignments in Verilog * Fixed up syntax