summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3/internal
AgeCommit message (Collapse)Author
2017-02-27Record: allow elements to start with a digitWesley W. Terpstra
This is necessary for user-defined Record-derived types to retain the same signal name as they would using a Vec.
2017-02-17Builderreflectionfix (#515)Angie Wang
* change builder for bundle reflection fix * fixed bug -- should be not assignable
2017-02-16Add support for clock and reset scoping (#509)Jack Koenig
withClockAndReset, withReset, and withClock allow changing the implicit clock and reset. Module.clock and Module.reset provide access to the current implicit clock and reset.
2017-02-08Add Analog typeJack Koenig
Used for stitching Verilog inout through Chisel Modules (from BlackBox to BlackBox)
2017-02-08Add counter for depth of when scopeJack Koenig
2017-01-31Make Module and Bundle properly use empty namespacesJack
Fix default suggested name of Module instances (now based on desired name rather than actual assigned name). Remove parent/child relationship from Namespace. Previously, Module and Bundle namespaces were "children" of the Module definition namespace. This could lead to collisions that would give unexpected names for module instances or Bundle elements. In particular, otherwise identical modules that instantiate other identical modules in such a way that the instance cannot be named via reflection would not be deduplicated because the names of the instances would collide with the names of the modules in the Builder.globalNamespace.
2017-01-27Have checkpoint report (and clear) non-fatal errors. (#376)Jim Lawson
2017-01-25Better name propagation by macros (#327)Richard Lin
* Name propagation * chiselName everywhere at best-effort level * Better collision handling * Allow recursing into inner anonymous functions * Add for loop and anonymous inner function tests
2017-01-20Add Record as new superclass of Bundle (#366)Jack Koenig
Record gives uses the power to create collections of heterogenous elements. Bundle is a special case of Record that uses reflection to populate the elements of the collection. Bundle also attempts to implement cloneType whereas users of Record are required to supply one.
2016-12-19Merge branch 'master' into exceptionfixJim Lawson
2016-12-07Support for creating chisel annotations that are consumed by firrtl (#393)Chick Markley
* Support for creating chisel annotations that are consumed by firrtl Update annotation serialization in Driver Add DiamondAnnotation Spec that illustrates how to do simple annotations frontEnd must have dependency on firrtl Add annotation method to Module Circuit has extra optional parameter that is Seq of Annotations In Builder add annotation buffer to DynamicContext to store annotations created in modules Added explicit types on naming api methods to avoid type confusion Because some names are not available until elaboration create intermediate ChiselAnnotation that gets turned into a firrtl Annotation after elaboration In execute pass firrtl text and annotation to firrtl are now passed in through optionManager, though intermediate file .fir and .anno files are still created for inspection and/or later use * Somehow missed ChiselAnnotation * fixes for Jack's review of PR
2016-12-02Merge branch 'master' into exceptionfixJim Lawson
2016-12-01Fix spelling of "specified". (#392)Jim Lawson
2016-11-21Remove deduplication from Chisel (#347)Donggyu
Remove modName from Module
2016-11-21Fix open-open range specifier, remove dead code, restyle testsducky
2016-11-21first attack on creating a range api for chisel3chick
2016-11-18Add support for parameterized BlackBoxesjackkoenig
Also restrict black boxes to not allow hardware inside of them since it was being silently dropped anyway. Resolves #289
2016-11-14Add checks for misuse or omission of Module()Jack
Implemented by adding a Boolean to check for alternating invocations of object Module.apply and the constructor of abstract class Module. Fixes #192
2016-11-14Add SourceInfo.makeMessage to better use SourceInfo in error messagesJack
2016-11-10Replace "throw new Exception" with throwException (consistency).Jim Lawson
2016-11-10Throw exceptions for cloneType failures - fix #358Jim Lawson
Add a Builder.exception() method for those cases where continuing is likely to mask the initial error.
2016-10-27Refactor and fix field reflection (#342)Andrew Waterman
No more need for e.g. new Bundle { def foo(dummy: Int): Data } as now you can write new Bundle { def foo: Data } This also removes code duplication with Module. h/t @sdtwigg
2016-10-25FixedPoint number support for chisel3 (#328)Chick Markley
* FixedPoint number support for chisel3 FixedPoint numbers have a width and a binary position Either, neither or both maybe inferred. Firrtl will convert these to SInts during lowering passes * Fixes based on Jack's comments on PR #328 * Add experimental warning to FixedPoint class and object * Fixed comment per Adam's comment on PR #328
2016-10-05Make asInput/asOutput/flip deprecation warnings dynamicAndrew Waterman
Code that imports Chisel._ shouldn't see them. Not sure if requireIOWrap is the right condition... or if cyan is a good choice of color for deprecation warnings.
2016-09-29Massive rename of CompileOptions.Jim Lawson
Massage CompileOption names in an attempt to preserve default (Strict) CompileOptions in the absence of explicit imports. NOTE: Since the default is now strict, we may encounter errors when we generate connections for clients (i.e., in Vec.do_apply() when we wire up a sequence). We should really thread the CompileOptions through the macro system so the client's implicits are used.
2016-09-26Add Strict default for compile optionsducky
2016-09-23Merge branch 'master' into gsdtJim Lawson
2016-09-21Expose FIRRTL asClock constructAndrew Waterman
Additionally, fix Clock.asUInt (previously, it threw an esoteric exception), and add a simple test of both.
2016-09-21Make implicit clock name consistent (#288)Andrew Waterman
In the Chisel frontend, the implicit clock is named clock, but in the generated FIRRTL, it is named clk. There is no reason for this discrepancy, and yet fixing it is painful, as it will break test harnesses. Better to take the pain now than later. Resolves #258.
2016-09-15Merge branch 'master' into gsdtJim Lawson
2016-09-07Add Printable (#270)Jack Koenig
Printable is a new type that changes how printing of Chisel types is represented It uses an ordered collection rather than a format string and specifiers Features: - Custom String Interpolator for Scala-like printf - String-like manipulation of "hardware strings" for custom pretty-printing - Default pretty-printing for Chisel data types
2016-09-01Move connection implicits from Module constructor to connection methods.Jim Lawson
Eliminate builder compileOptions.
2016-08-30Merge branch 'master' into gsdtJim Lawson
2016-08-29Rename CompileOptions implicit objects.Jim Lawson
2016-08-29Pass compileOptions as an implicit Module parameter.Jim Lawson
2016-08-29Rename individual compile options.Jim Lawson
Stricter values are "true". Current default (not strict) values are "false".
2016-08-24Per Chisel meeting.chick
signalName -> instanceName SignalId -> InstanceId Based on Stephen's comments on PR
2016-08-23Swap name of compileOption "assumeNoDirectionIsOutput" to ↵Jim Lawson
"assumeNoDirectionIsInput".
2016-08-21provides signal name methods for firrtl annotation and chisel testersDonggyu Kim
* signalName: returns the chirrtl name of the signal * pathName: returns the full path name of the signal from the top module * parentPathName: returns the full path of the signal's parent module instance from the top module * parentModName: returns the signal's parent **module(not instance)** name.
2016-08-18Add assumeNoDirectionIsOutput.Jim Lawson
2016-08-18Merge branch 'sdtwigg_connectwrap_renamechisel3' into gsdt_testsJim Lawson
Revive support for firrtl flip direction. Remove compileOptions.internalConnectionToInputOk
2016-08-17Rocket-chip updates.Jim Lawson
Assume LHSItOutput if neither side is driving. Restore Wire()'s removal of direction in binding.
2016-08-17Reduce rocket-chip elaboration errors.Jim Lawson
2016-08-16Add component to signature.Jim Lawson
2016-08-16Provide public SignalID trait to be used to conjure up a signal identifier.Jim Lawson
2016-08-12Use compileOptions to determine if Missing...FieldExceptions are thrown.Jim Lawson
2016-08-12Merge branch 'compile_options' into sdtwigg_connectwrap_renamechisel3Jim Lawson
2016-08-12Add support for per-Module compilation options.Jim Lawson
Nothing uses these now, but when we integrate Stephen's PR200, we'll need a way to selectively enable some strict connection checks on a file by file basis. We plan to do this using package imports which will define suitable compilation options.
2016-08-11Merge branch 'master' into sdtwigg_connectwrap_renamechisel3Jim Lawson
2016-08-09Legalize identifier names before printingAndrew Waterman
It's not entirely clear what the FIRRTL implementation supports, so I'm using the ANSI C requirements for the time being.