summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-09-21Add Cookbook testsjackkoenig
These tests are intended to be the examples in the Chisel3 Wiki Cookbook.
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-15Decoupled: cast DecoupledIO to IrrevocableIO as an input (#280)Wesley W. Terpstra
2016-09-13Bugfix: actually pass flow parameter from Queue factory to Queue module ↵Henry Cook
constructor
2016-09-08Add IrrevocableIO alternative to DecoupledIO (#274)Henry Cook
Add IrrevocableIO subclass of DecoupledIO that promises not to change .bits on a cycle after .valid is high and .ready is low
2016-09-07Fix bug in Printable FullName of submodule portjackkoenig
Printable was using HasId.instanceName to get full names of Chisel nodes. instanceName uses the parent module of the HasId to get the Component to use in calling fullName on the underlying Ref. Unfortunately this means that any reference to a port of a instance will leave off the instance name. Fixing this required the following: - Add Component argument to Printable.unpack so that we can call Arg.fullName directly in the Printable - Pass the currently emitting module as the Component to Printable.unpack in the Emitter - Remove ability to create FullName Printables from Modules since the Module name is not known until after the printf is already emitted This commit also updates the PrintableSpec test to check that FullName and Decimal printing work on ports of instances
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-08-25fix a bug in setModNameDonggyu Kim
2016-08-24Per Chisel meeting.chick
signalName -> instanceName SignalId -> InstanceId Based on Stephen's comments on PR
2016-08-21AnnotatingExample:chick
Removed extraneous logic Renamed doStuff to buildAnnotatedCircuit Removed println's
2016-08-21Add AnnotationSpec file which provides an example of a way to implement ↵chick
generation of annotations in a chisel circuit that could be used by custom firrtl passes This spec also shows and tests in a limited way the new API of .signalName, .pathName, parentModName which allows access to the various path information of a chisel component (something that subclasses SignalId, most prominently SubClasses of Data and Module
2016-08-21Add annotating example to test new signal name apichick
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-15Make "def width" a private API; expose isWidthKnown instead (#257)Andrew Waterman
* Make "def width" a private API; expose isWidthKnown instead Resolves #256. Since width was used to determine whether getWidth would succeed, I added def isWidthKnown: Boolean but another option would be to expose something like def widthOption: Option[Int] ...thoughts? * Document getWidth/isWidthKnown * Add widthOption for more idiomatic Scala manipulation of widths
2016-08-09Support Module name overrides with "override def desiredName"Andrew Waterman
The API allowed this before, but not safely, as users could create name conflicts. This exposes the pre-deduplication/sanitization naming API, and closes the other one.
2016-08-09counter(inc,n) example should reflect actual use (#252)Colin Schmidt
2016-07-31Remove deprecated FileSystemUtilitiesAndrew Waterman
This has been deprecated for a long time now (and really shouldn't have existed to begin with).
2016-07-31Fix two deprecation warningsAndrew Waterman
2016-07-20Generate better names for nodes (#190)Jack Koenig
For Chisel nodes defined in Module class-level values of type Option or Iterable, we can still use reflection to assign names based on the name of the value. This works for arbitrary nesting of Option and Iterable so long as the innermost type is HasId. Note that this excludes Maps which always have an innermost type of Tuple2[_,_].
2016-07-11bitpat should keep the width of uint (#232)Donggyu
2016-07-07Don't check GCD result before sending it a requestAndrew Waterman
2016-07-07Improve QoR for Log2Andrew Waterman
For reasonable circuit delay, need to divide & conquer.
2016-07-07Improve Fill code generationAndrew Waterman
2016-07-07Correct erroneous Log2 documentationAndrew Waterman
2016-07-07Avoid needlessly creating VecsAndrew Waterman
2016-06-28Merge branch 'master' into renamechisel3Jim Lawson
2016-06-27Guard firrtl stop, fixing pipelined resetAndrew Waterman
2016-06-24Merge branch 'master' into renamechisel3Jim Lawson
2016-06-23Expose FIRRTL stop constructAndrew Waterman
2016-06-22Merge branch 'master' into renamechisel3Jim Lawson
2016-06-20make sure MuxCase and MuxLookup can take all subclasses of Data (#222)Howard Mao
2016-06-20Rename "package", "import", and explicit references to "chisel3".Jim Lawson
2016-06-20Rename chisel3 package.Jim Lawson
2016-06-08Move deprecated debug into compatibilityducky
2016-06-08Package split chisel coreducky
2016-06-08Move chisel/... to chisel/core/..., make chisel/compatibility ↵ducky
package/folder, move more things into utils
2016-06-08Move utils into utilsducky
2016-06-08Add implicit xToLiteral, add Element, use internal package objectducky
2016-06-08Rename Chisel -> chisel in testsducky
2016-06-08Rename packages to lowercase chisel, add compatibility layerducky
2016-06-01Fix a fairly serious bug whereby Vec's could incorrectly compare as equal (#204)Wesley W. Terpstra
* 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.
2016-05-31Remove unsafe implicit conversions from BitPatducky
2016-05-31Move BitPat out of core/frontend, add implicit conversionDucky
2016-05-26Fix type constraint on PriorityMuxAndrew Waterman
2016-05-20Merge pull request #186 from ucb-bar/sloc_implRichard Lin
Source locators
2016-05-20Implementation of source locatorsducky
2016-05-20Update BackendCompilationUtilities.verilogToCpp to specify top-modulejackkoenig
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.
2016-05-12remove Tester.scala because chiselMain is now implemented in the ↵Danny
chisel-testers repo
2016-05-11RegNext and RegInit should match Reg(next=) and Reg(init=)Andrew Waterman