- Jun 09, 2016
-
-
ducky authored
-
ducky authored
-
Andrew Waterman authored
-
- Jun 07, 2016
-
-
Jim Lawson authored
Move more publishing definitions into commonSettings.
-
Jim Lawson authored
This should have been part of PR #194.
-
- Jun 04, 2016
-
-
Jim Lawson authored
Add a hack to build.sbt to allow local publishing We're merging this despite the failing tests (Jenkins ghprb isn't communicating with GitHub following security and authentication updates). We'd prefer to package all the sbt subprojects in a single jar, but current attempts to do so fail. See #208.
-
Jim Lawson authored
Until we sort out how to include the subproject classes in a single jar file, we need to explicitly publish all subprojects.
-
Jim Lawson authored
-
- Jun 02, 2016
-
-
Wesley W. Terpstra authored
* chiselTests: include an example of two empty Vectors killing FIRRTL * Aggregate: fix a bug whereby Vec[T] was using equals/hashCode of Seq In Chisel, two vectors are NOT equal just if their contents are equal. For example, two empty vectors should not be considered equal. This patch makes Vec use the HasId._id for equality like other Chisel types. Without this fix, Bundle.namedElts.seen: HashSet[Data]() will eliminate one of the named vectors and emit bad IR.
-
- Jun 01, 2016
- May 26, 2016
-
-
Andrew Waterman authored
-
- May 21, 2016
-
-
Richard Lin authored
Source locators
-
ducky authored
-
jackkoenig authored
This prevents Verilator from erroring when it cannot determine the top-module. It also changes the PRINTF_COND guard to correctly use the top-level reset instead of just the top of the Chisel-generated code.
-
- May 19, 2016
-
-
chick authored
-
- May 14, 2016
-
-
Jim Lawson authored
remove Tester.scala
-
- May 13, 2016
-
-
Danny authored
-
- May 12, 2016
-
-
Colin Schmidt authored
RegNext and RegInit should match Reg(next=) and Reg(init=)
-
Andrew Waterman authored
-
- May 11, 2016
-
-
Donggyu Kim authored
Option(null) returns None, but Some(null) returns Some(null)
-
Jim Lawson authored
Move emit out of IR
-
ducky authored
-
Andrew Waterman authored
The return value of Bits.toBools doesn't need to be dynamically indexed (as you could have just dynamically indexed the Bits itself), so returning a Seq instead of a Vec is mroe appropriate. This breaks a circular dependence between Bits and Vec, which helps with macros/frontend refactoring.
-
Andrew Waterman authored
-
Jim Lawson authored
Include Chisel Frontend in JAR
-
- May 10, 2016
-
-
ducky authored
-
Donggyu Kim authored
-
Donggyu Kim authored
-
Donggyu Kim authored
-
- May 09, 2016
-
-
azidar authored
Fixed sbt error where the typechecker was complaining. Just converted the Seq to variatic argument list
-
- May 06, 2016
-
-
ducky authored
Move Chisel API into separate chiselFrontend compilation unit in preparation for source locator macros
-
- May 04, 2016
-
-
ducky authored
Closes #90
-
Andrew Waterman authored
Partially resolves #164
-
Andrew Waterman authored
-
Stephen Twigg authored
@aswaterman closes #156
-
Stephen Twigg authored
Setting the io ref there wasn't doing anything meaningful
-
Stephen Twigg authored
The old blackbox behavior still emitted extmodules that have a clk, reset pin and prepended all io's with io_ (ultimately). Most verilog modules do not follow this distinction (or use a slightly different name for clock and so on). Thus, instead BlackBox has been rewritten to not assume a clk or reset pin. Instead, the io Bundle specified is flattened directly into the Module.ports declaration. The tests have been rewritten to compensate for this. Also, added a test that uses the clock pin. As a secondary change, the _clock and _reset module parameters were bad for two reasons. One, they used null as a default, which is a scala best practices violation. Two, they were just not good names. Instead the primary constructor has been rewritten to take an Option[Clock] called override_clock and an Option[Bool] called override_reset, which default to None. (Note how the getOrElse call down below is much more natural now.) However, users may not want to specify the Some(their_clock) so I also added secondary constructors that take parameters named clock and reset and wrap them into Some calls into the primary constructor. This is a better UX because now you can just stipulate clock=blah in instantiation of that module in symmetry with using the clock in the definition of the module by invoking clock. PS: We could also back out of allowing any overrides via the Module constructor and just require the instantiating Module to do submodule.clock := newclock, etc.
-
Stephen Twigg authored
Often times the scala runtime reflection fails to find an appropriate name for a given net. This commit tries to partially ameliorate the issue by exposing a suggestName function onto HasId (i.e. Module, Data) that the user can call to 'suggest' a name. Only the first suggestion is taken so repeated calls to suggestName will not change the name for that node. This type of name exposure is slightly risky as there is a chance the same name is suggested in the same namespace. Thus, naming within a Module occurs in two passes: The suggestion phase is when the user calls suggestName, etc. Near the 'end,' the Module uses runtime reflection to suggest names as well. The forcing phase is when all the nodes are run through and a name is 'forced' onto them, using the namespace to suggest alternatives if the desired one is taken. If no suggestion is present, the default name is T, as before. Second, there is an issue that commonly comes up when a component library creates intermediate logic and then only returns a piece, or even a piece of a piece (like part of a module IO). Any names suggested by the Module by reflection onto that return value are either lost or not fully applied. This issue is resolved by TransitName. TransitName attaches a hook to the suggestName function of a HasId. With that hook, any time suggestName is called on the hooked ID, that name suggestion is also applied to other nodes. For example, if Queue(in) is called, then any attempts to name the returned output DecoupledIO will actually translate to naming attempts on the backing Queue.
-
- May 03, 2016
-
-
Palmer Dabbelt authored
more kind assert on chiselMain
-