- Dec 13, 2016
-
-
azidar authored
-
- Dec 10, 2016
- Dec 09, 2016
-
-
azidar authored
-
- Nov 22, 2016
-
-
Adam Izraelevitz authored
-
Adam Izraelevitz authored
* Rewrote inline xform to fix quadratic perf. bug Turns out caching previously inlined modules is not useful The previous algorithm in a module, would flatten an instance's children, then flatten that instance. This caused all instances to be effectively inlined the number of times of its depth in the instance hierarchy, making it O(n*d*s), where n is the number of instances, and d is the depth of the instance, and s is the number of statements in the instance. The new algorithm directly inlines a module by keeping track of the parents of that instance, making it constant time with the number of instantiated instances. * Minor style fixes
-
- Nov 16, 2016
-
-
Adam Izraelevitz authored
-
Adam Izraelevitz authored
* Fixed multi wiring * Minor style changes
-
- Nov 15, 2016
-
-
Adam Izraelevitz authored
* Fix wrong omitting same clocked nondirect children * Minor style fixes
-
Adam Izraelevitz authored
* Bugfix: removed recursive removal in infer widths This will certainly lead to more uninferred width errors, but now widths that were previously incorrectly inferred are now correctly uninferred. An example is: reg r : UInt, clock with: (reset => (reset, UInt<2>(3))) node x = add(r, r) r <= x Here, r's width follows the following formula, which cannot be solved: rWidth >= max(max(rWidth, rWidth) + 1, 2) * Added optimizations to for better width inference Also added exceptions for uninferred widths when checking DoPrim width legality to not trigger compiler error * Added additional optimizations Required for passing all chisel3 tests
-
- Nov 11, 2016
-
-
azidar authored
Required for passing all chisel3 tests
-
- Nov 10, 2016
-
-
azidar authored
Also added exceptions for uninferred widths when checking DoPrim width legality to not trigger compiler error
-
azidar authored
This will certainly lead to more uninferred width errors, but now widths that were previously incorrectly inferred are now correctly uninferred. An example is: reg r : UInt, clock with: (reset => (reset, UInt<2>(3))) node x = add(r, r) r <= x Here, r's width follows the following formula, which cannot be solved: rWidth >= max(max(rWidth, rWidth) + 1, 2)
-
- Nov 08, 2016
-
-
Adam Izraelevitz authored
Added clocklist transform
-
Adam Izraelevitz authored
getMyAnnotations now returns Seq[Annotation] Changed test to check number of annotations is the same
-
Chick Markley authored
-
Adam Izraelevitz authored
Prefix temporary names with underscores so Verilator won't trace them Use verilator argument "--trace-underscore" if you want to trace these signals
-
- Nov 06, 2016
-
-
Donggyu authored
* handle uninferred ports gracefully in RemoveCHIRRTL memory port directions are not inferred during CInferMDir if not being used, so handle them properly in RemoveCHIRRTL * fix CInferTypes
-
- Nov 05, 2016
-
-
Jack Koenig authored
Replace with more sensible comment to see LICENSE rather than including the whole license in every file
-
azidar authored
-
jackkoenig authored
* Transform Ids now handled by Class[_ <: Transform] instead of magic numbers * Transforms define inputForm and outputForm * Custom transforms can be inserted at runtime into compiler or the Driver * Current "built-in" custom transforms handled via above mechanism * Verilog-specific passes moved to the Verilog emitter
-
- Nov 04, 2016
- Nov 02, 2016
-
-
Jack Koenig authored
Fixes #329
-
Scott Beamer authored
-
- Nov 01, 2016
-
-
Adam Izraelevitz authored
Fixed Verilog emission reduce ops with efficient implementation
-
- Oct 31, 2016
-
-
Jack Koenig authored
Change FixedPointMathSpec tests to use FlatSpec style instead of println Remove other printlns Remove vim comments at end of files
-
Colin Schmidt authored
* Keep package name + directory structure consistent This annoyed me so heres a PR * fix InferReadWrite references * delete .ConvertFixedToSInt.scala.swo
-
- Oct 28, 2016
-
-
Adam Izraelevitz authored
Added wiring pass and simple test
-
- Oct 27, 2016
-
-
Donggyu authored
* fix imports in InferReadWrite * improve reference & name resolution in ReplSeqMem * add comments
-
jackkoenig authored
While unsafe, this supports Verilog parameter types. Tests now require Verilator 3.884+ to pass.
-
jackkoenig authored
Adds support for Integer, Double/Real, and String parameters in external modules. Also add name field to extmodules so that emitted name can be different from Firrtl name. This is important because parameterized extmodules will frequently have differing IO even though they need to be emitted as instantiating the same Verilog module.
-
jackkoenig authored
-
jackkoenig authored
Change integration tests to be classes that extend abstract classes. This allows them to be run in parallel. Also expand API to support Verilog resources in integration tests.
-
- Oct 25, 2016
-
-
Chick Markley authored
* Create a simple system for executions and command line parameters New model for tracking parameters and having those parameters register scopt command to allow the parameters to be set by command line args. Create composable forms of the these parameters to allow separate elements of the chisel3 toolchain to combine these parameters Create execution return structures that simplify return values to earlier toolchain elements * just a little bit of cleanup * Fixes for Adam's comments on PR * knuckled under to self-pressure to allow former -i and -o to work * knuckled under to self-pressure to allow former -i and -o to work * show defaults for command line args with them * A couple of fixes from merging latest master * Implement a log4scala like logging system This system has the rather remarkable property that it is possible to turn it on conveniently when you want it. It also provides for class level granularity as well as the traditional Error, Warn, Info, Debug * some style fixes and change infoMode default to append per PR #328 * some style fixes and change infoMode default to append per PR #328 * support -i -o and -X a couple of indentation and spacing fixes
-
Donggyu authored
-
- Oct 24, 2016
-
-
Angie Wang authored
* toBitMask cat direction should be consistent with data * minor comment updates * moved remaining mem passes/utils to memlib * changed again so that data, mask are consistent. data element 0, bit 0 = LSB (on RHS) when concatenated
-
- Oct 21, 2016
-
-
Donggyu authored
duplcate memory detection should be in circuit-level, not in module-level
-
- Oct 20, 2016
-
-
Jack Koenig authored
Chisel now depends on Firrtl so we need to publish to run Chisel tests
-