| Age | Commit message (Collapse) | Author |
|
read port enables for cmems should always be high
|
|
Creating the output file preemptively screws up make, as on
subsequent executions of make, it thinks the task succeeded.
|
|
Bugfix: recursing stmts to remove unknown widths
|
|
* Added RemoveEmpty.scala, which removes Empty and nested Blocks
* Reused squashEmpty from ExpandWhens by moving it to Utils
* Squash EmptyStmts in ExpandWhens correctly
|
|
|
|
|
|
|
|
Change serialize to abstract method on FirrtlNode
|
|
Fix mem infer
|
|
turned on with '--inferRW <circuit name>'
|
|
|
|
Fix use of global state in instance loop checking
|
|
Change default log level to warn
|
|
Refactor RemoveAccesses and fix bug #210.
|
|
Also increase sensitivity of thread safety checking
Fixes #159
|
|
|
|
|
|
Added corresponding unit test.
|
|
ConstProp before width padding causes errors for SIntLiteral
|
|
Then calls InferTypes to propagate inferred widths to expressions.
Required upgrading InferTypes to do simple width propagation.
Fixes #206 and #200.
|
|
|
|
read ports are declared outside when clauses and used multiple times, so their enables should be inserted when being replaced
|
|
|
|
Conflicts:
src/main/scala/firrtl/Compiler.scala
src/main/scala/firrtl/LoweringCompilers.scala
src/main/scala/firrtl/passes/Inline.scala
src/test/scala/firrtlTests/AnnotationTests.scala
src/test/scala/firrtlTests/InlineInstancesTests.scala
|
|
Added a Chirrtl check for undeclared wires, etc.
|
|
Removed InferWidths after ExpandWhens
|
|
|
|
|
|
Indentation support for the ANTLR parser
- some clean-up of the parser code (TODO: file input could be improved, more clean-up)
- get rid of Translator and specify all syntactic rules in antlr4 grammer
- support for else-when shorthand in the grammar
- rename Begin to Block which makes more sense
|
|
Randomization should be controllable separately. Verilator, for
example, already does this if it is passed --x-assign unique; doing
it redundantly reduces simulation performance.
|
|
|
|
|
|
|
|
|
|
|
|
This approach uses the normal Unix mechanisms, rather than log grepping.
|
|
|
|
This allows for testbench handling of pipelined reset,
independently of `PRINTF_COND.
|
|
- Based upon stop value, use $fatal instead of $finish. This causes
the Verilog simulator to signal an error to the OS as appropriate.
- Don't guard stop with `PRINTF_COND (only not-`SYNTHESIS).
|
|
|
|
trait AST -> abstract class FirrtlNode
Move all IR to new package ir
Add import of firrtl.ir._
|
|
Add simple documentation
trait PrimOp -> abstract class PrimOp
Move PrimOp case objects to object PrimOps
Rename PrimOp case objects to match concrete syntax
Overrwrite toString for more canonical serialization
Update some PrimOps utility functions
|
|
trait Expression -> abstract class Expression
Ref -> Reference
abbrev. exp -> expr
Add abstract class Literal
UIntValue -> UIntLiteral extends Literal
SIntValue -> SIntLiteral extends Literal
|
|
trait Stmt -> abstract class Statement (to match Expression)
abbrev. exp -> expr
BulkConnect -> PartialConnect
camelCase things that were snake_case
case class Empty() -> case object EmptyStmt
Change >120 character Statements to multiline
|
|
Add simple documentation
trait Width -> abstract class Width
case class UnknownWidth -> case object UnknownWidth
|
|
Add simple documentation
Flip -> Orientation
trait Orientation -> abstract class Orientation
Orientation case objects to upper camel case
REVERSE -> Flip
|
|
trait Type -> abstract class Type
case class ClockType() -> case object ClockType
case class UnknownType() -> case object UnknownType
Add GroundType and AggregateType
ClockType has width of IntWidth(1)
|
|
Add simple documentation
Change Direction case objects to upper camel case
|
|
trait Module -> abstract class DefModule
InModule -> Module (match concrete syntax)
ExModule -> ExtModule (match concrete syntax)
Add simple scaladoc for each one
|
|
In 7afe9f6180a53fd9f024c67d78289689a601c8b7, I reintroduced a performance
pathology when recursing through Mux trees. This patch prevents
redundantly expanding the same Mux more than a constant number of times,
preserving linear runtime but still resulting in acceptable QoR.
|