summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-19Add WireInit.apply that accepts DontCare (#731)Jack Koenig
Prevents DontCare from affecting type inference Fixes #728
2017-12-19Add source info / compile options transforms to Mem accessors (#744)Richard Lin
Fixes #708
2017-12-18Bump SBT to 1.0.4 and update plugins (#742)Jack Koenig
2017-12-14Fix a few compiler warnings (#738)Jack Koenig
Make InvalidateAPI emit to a test directory Add *.swp and test_run_dir to .gitignore
2017-12-14Add error message for <> of Vec and Seq of different lengths (#739)Jack Koenig
Fixes #482
2017-12-13Improve some of the ScalaDoc in chisel3.utilJack Koenig
2017-12-13Fix some ScalaDoc warningsJack Koenig
2017-12-13Expand Printable documentationJack Koenig
2017-12-13Expand printf documentationJack Koenig
2017-12-12Bump scala and plugins. (#735)Jim Lawson
2017-12-08Reject negative shift amounts; add tests (#730)Andrew Waterman
Closes #729
2017-12-08Add issue and pull_request templates. (#713)Jim Lawson
* Add issue and pull_request templates. * Scratch itches * Respond to review comments. * Add Stack Overflow link. * Add impact to issue template, type-of-change to pr. * Reorder impact, development phase; add development phase to issue.
2017-11-23Change switch to emit when, elsewhen, instead of when, when (#720)Jack Koenig
Also enforce switch is conditions are mutually exclusive literals
2017-11-21Correct documentation example for chisel3.Driver (#719)Schuyler Eldridge
This corrects the documented example for chisel3.Driver to mixin traits and not the related case classes. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2017-11-06Default to unidoc for scaladoc generation. (#715)Jim Lawson
Disambiguate DontCare reference in initializeSingletons() avoiding compilation error during unidoc generation.
2017-11-06Update InvalidateAPISpec tests. (#714)Jim Lawson
Use DontCare on `outs` not `ins` in InvalidateAPISpec. Add additional InvalidateAPISpec tests demonstrating selective override of Strict/NotStrict behavior.
2017-10-26Invalidateapi (#645)Adam Izraelevitz
* Require explicit connection to DontCare to generate "is invalid". * Add tests for RefNotInitializedException. Currently, we fail the when ... otherwise ... * Disable ScalaTest shrinking on error in ComplexAssignSpec. * fix broken merge; still some binding issues * cleanup DontCare connection checks; add missing directions to test module IOs * Have library code inherit compileOptions from the enclosing Module (if it exists). * work around current firrtl uninitialized references with Strict compile options and explicitInvalidate * more CompileOptions cleanup; move test-specific defines to package object * minimize differences with master * set default CompileOptions.explicitInvalidate to false until we fix the FIRRTL when issue * ignore the StrictCompiler property checks (until CompileOptions.explicitInvalidate is defaulted to true) * Revert "more CompileOptions cleanup; move test-specific defines to package object" This reverts commit e4486edcba990d150e76e08a2fc6abca033556e0. * Revert "work around current firrtl uninitialized references with Strict compile options and explicitInvalidate" This reverts commit 426faa430a62c3dac2dbdf33044d3386d4243157. * remove unused code * Convert to binding-based DontCare implementation * comment cleanup to minimize differences with master * Tentatively remove possibly redundant DefInvalid on module ports. * Respond to code review change request. - backout build.sbt change - correct indentation - handle bulk of DontCare semantics in elemConnect() - have DontCare extend Element, not Data (eliminate most Object specific methods - add comments indicating reason for explicit DontCare connections * Initialize test elements without requiring a DontCare. * Respond to review change requests. - DontCare should work on left or right side in BiDirectional connections - call bind() to set DontCare binding instead of messing with internal variables - DontCares are only equivalent with DontCares - clean up processWhens() definition * Eliminate DontCare connection to inputs in MonoConnect(). * Pull aggregates apart for the purpose of DontCare connections. * Restore the explicit (conditionally executed) ports DefInvalidin ImplicitModule() * Don't add DontCare's to the module list of _ids. * Add missing DefInvalid() to LegacyModule(). * Respond to review requests: add DontCare BiConnect Vec, remove null parent hack to avoid addId(), initialize singletons early in Builder * Move DontCare out of chisel3.experimental.
2017-10-05the cloneType and chiselCloneType hot mess 🔥 (#653)Richard Lin
Addresses #419 cloneType is now marked (through comments only) as an internal API. chiselCloneType deprecated (and changed to cloneTypeFull internally, analogous to cloneTypeWidth). chiselTypeOf(data) introduced as the external API to get a chisel type from a hardware object Intended usage: cloning is an implementation detail, and chisel types and hardware objects both should act as immutable types, with operations like Input(...), Reg(...), etc returning a copy and leaving the original unchanged. Hence, the clone operations are all deprecated. Deletes what appears to be an unused Bundle companion object. Input(...), Output(...), Flipped(...) require the object to be unbound
2017-10-03Remove warning in Queue for compatibility code (#702)Jack Koenig
2017-09-26Disallow assignment to op results (#698)Richard Lin
2017-09-20Generate aggregate coverage but publish a single Jar (#695)Jim Lawson
* Generate aggregate coverage but publish a single Jar * Reduce the aggressive dis-aggregation as it breaks super project aggregation.
2017-09-14Update sbt to 0.13.16; add Scala 2.12 support. (#675)Jim Lawson
To clean, test, and build Scala 2.11 and Scala 2.12 versions: % sbt +clean +test +publishLocal
2017-09-06Added API to get Verilog from Chisel (#676)Adam Izraelevitz
* Added API to get Verilog from Chisel * Removed second emitVerilog implementation, added scaladoc
2017-08-28typo in READMEMartin Schoeberl
2017-08-28Another try of a smoother intro what Chisel isMartin Schoeberl
Incorporated suggestions from @edwardcwang
2017-08-17Use firrtl elses in elsewhen/otherwise case emission (#510)Albert Magyar
Preprocess chisel3 IR before emission to determing whether whens have alternatives.
2017-08-17More of the bindings refactor (#635)Richard Lin
Rest of the binding refactor
2017-08-17Make Reset a trait (#672)Jack Koenig
Bool implements Reset. Compatibility package includes an implicit conversion from Reset to Bool.
2017-08-15Make .dir give correct direction for Module io in compatibilityJack Koenig
2017-08-11Rename userDir->specifiedDir (#671)Richard Lin
2017-08-11README: Java packageMartin Schoeberl
For a start from a plain Ubuntu you need Java first before sbt
2017-08-08Give default direction to children of Vecs in compatibility codeJack Koenig
2017-08-07Don't assign default direction to Analog in Chisel._Jack Koenig
2017-08-02Disable aggregation until we can apply it selectively (#660)Jim Lawson
or sbt-scoverage is updated to deal with dependencies. Unfortunately, enabling this revives the publishing of the coreMacros and chiselFrontend jars and we don't want that.
2017-08-01Update Makefile, build.sbt to support subproject coverage (#659)Jim Lawson
2017-08-01Address scalastyle issues, out of date comments, extraneous imports. (#658)Jim Lawson
No functional changes
2017-07-28Black box top-level IO fix (#655)Richard Lin
2017-07-28Add rebinding test (#654)Richard Lin
2017-07-27Fix style of literal creators (#637)Chick Markley
* Fix style of literal creators Literal creators for UInt, SInt and Bool were declared with parens, but virtually all uses of these methods do not use parens. This is for issue #539. This fix is an API breaking change. If anyone has used parens, e.g. val x = 1.U() This will now be an error * remove trailing parens from literal creators in IntegerMathTester
2017-07-25Simplify macOS install instructionsyep
2017-07-25Fixed point width inference was wrong when binary points didn't align. (#590)Angie Wang
2017-07-17Update deprecated code in build.sbt (#648)Jim Lawson
2017-07-07Ensure IO is non-null before attempting to autoWrapPorts. (#643)Jim Lawson
2017-07-06Fix syntax of README.md (#641)Michael Gielda
There was a lot of malformed markdown there, this makes it much more readable.
2017-06-26Directions internals mega-refactor (#617)Richard Lin
Part 1 of mega-change in #578 Major notes: - Input(...) and Output(...) now (effectively) recursively override their elements' directions - Nodes given userDirection (Input, Output, Flip - what the user assigned to _that_ node) and actualDirection (Input, Output, None, but also Bidirectional and BidirectionalFlip for mostly Aggregates), because of the above (since a higher-level Input(...) can override the locally specified user direction). - DataMirror (node reflection APIs) added to chisel3.experimental. This provides ways to query the user given direction of a node as well as the actual direction. - checkSynthesizable replaced with requireIsHardware and requireIsChiselType and made available in chisel3.experimental. Internal changes notes: - toType moved into Emitter, this makes the implementation cleaner especially considering that Vec types can't be flipped in FIRRTL. This also more clearly separates Chisel frontend from FIRRTL emission. - Direction separated from Bindings, both are now fields in Data, and all nodes are given hierarchical directions (Aggregates may be Bidirectional). The actualDirection at the Element (leaf) level should be the same as binding directions previously. - Bindings are hierarchical, children (of a, for example, Bundle) have a ChildBinding that points to their parent. This is different than the previous scheme where Bindings only applied at the Element (leaf) level. - Lots of small misc clean up. Future PRs will address other parts of #578, including stricter direction checks that aren't a side-effect of this internal refactor, stricter checks and splitting of binding operations (Wire vs. WireInit), and node operations not introduced here (getType and deprecation of chiselCloneType). Since those shouldn't mess with internals, those should be much smaller.
2017-06-19Fix a small typo in the READMEAnders Pitman
2017-05-31Add dontTouch for annotating Data to not be removedJack Koenig
2017-05-31Dont try to instantiate firrtl.Transform from AnnotationJack Koenig
Also make transform instantiation deterministic
2017-05-28Correct misleading example codeEdward Wang
2017-05-25Support updated scalatest/scalacheck; bump sbt and Scala versions. (#605)Jim Lawson
bump scoverage version