aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes
AgeCommit message (Collapse)Author
2016-09-06Added starter code for SMem replacementAngie
2016-08-18Add MemUtils to aid in interfacing with alternate memory implementations (#244)Albert Magyar
2016-08-18Remove redundant test and errors.append() in check_types_e(). (#243)Jim Lawson
2016-08-17Change RW port names (#236)Angie Wang
* Updated FIRRTL spec + related code for readwrite ports. (write) data -> wdata & mask -> wmask for clarity * Also removed simple.fir that snuck into master branch.
2016-08-09fix read port enables in RemoveCHIRRTLDonggyu Kim
read port enables for cmems should always be high
2016-08-05Merge pull request #220 from ucb-bar/fix-width-error-msgAdam Izraelevitz
Bugfix: recursing stmts to remove unknown widths
2016-08-04Added RemoveEmpty.scala, which removes Empty and nested Blocks (#218)Adam Izraelevitz
* Added RemoveEmpty.scala, which removes Empty and nested Blocks * Reused squashEmpty from ExpandWhens by moving it to Utils * Squash EmptyStmts in ExpandWhens correctly
2016-08-04Addd check: bits, tail, head arg widthazidar
2016-08-04Bugfix: recursing stmts to remove unknown widthsazidar
2016-08-02Merge pull request #215 from ucb-bar/new-serializeAdam Izraelevitz
Change serialize to abstract method on FirrtlNode
2016-08-02Merge pull request #203 from ucb-bar/fix_mem_inferAdam Izraelevitz
Fix mem infer
2016-08-02make infer readwrite ports optionalDonggyu Kim
turned on with '--inferRW <circuit name>'
2016-08-02Change serialize to abstract method on FirrtlNodeJack Koenig
2016-08-02Merge pull request #214 from ucb-bar/fix-thread-unsafetyAdam Izraelevitz
Fix use of global state in instance loop checking
2016-08-02Fix use of global state in instance loop checkingjackkoenig
Also increase sensitivity of thread safety checking Fixes #159
2016-08-01Added minor cosmetic changes to RemoveAccessesazidar
2016-08-01Refactor RemoveAccesses and fix bug #210.azidar
Added corresponding unit test.
2016-07-28InferWidths now only fixes declaration widthsazidar
Then calls InferTypes to propagate inferred widths to expressions. Required upgrading InferTypes to do simple width propagation. Fixes #206 and #200.
2016-07-27infer readwrite ports for backward compatibilityDonggyu Kim
2016-07-27fix read port enables in RemoveCHIRRTLDonggyu Kim
read ports are declared outside when clauses and used multiple times, so their enables should be inserted when being replaced
2016-07-27Reworked annotation system. Added tenacity and permissibilityAdam Izraelevitz
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
2016-07-27Merge pull request #198 from ucb-bar/add-chirrtl-checkAdam Izraelevitz
Added a Chirrtl check for undeclared wires, etc.
2016-07-25Detects and flags cyclic module loopschick
2016-07-21Added a Chirrtl check for undeclared wires, etc.azidar
2016-07-21Indentation support for the ANTLR parser (as discussed in #192) (#194)Kamyar Mohajerani
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
2016-07-07Generalize and clean up constant propagation passAndrew Waterman
2016-07-04printf: support '%c' for printing charactersWesley W. Terpstra
2016-06-10API Cleanup - ASTJack
trait AST -> abstract class FirrtlNode Move all IR to new package ir Add import of firrtl.ir._
2016-06-10API Cleanup - PrimOp & PrimOpsJack
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
2016-06-10API Cleanup - ExpressionJack
trait Expression -> abstract class Expression Ref -> Reference abbrev. exp -> expr Add abstract class Literal UIntValue -> UIntLiteral extends Literal SIntValue -> SIntLiteral extends Literal
2016-06-10API Cleanup - StatementJack
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
2016-06-10API Cleanup - WidthJack
Add simple documentation trait Width -> abstract class Width case class UnknownWidth -> case object UnknownWidth
2016-06-10API Cleanup - Field & FlipJack
Add simple documentation Flip -> Orientation trait Orientation -> abstract class Orientation Orientation case objects to upper camel case REVERSE -> Flip
2016-06-10API Cleanup - TypeJack
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)
2016-06-10API Cleanup - Port & DirectionJack
Add simple documentation Change Direction case objects to upper camel case
2016-06-10API Cleanup - ModuleJack
trait Module -> abstract class DefModule InModule -> Module (match concrete syntax) ExModule -> ExtModule (match concrete syntax) Add simple scaladoc for each one
2016-06-08Fix for bug introduced in #174azidar
Addresses #184 Problem was that the width inferencer must assume a minimal width for self-referencing widths contained in a MaxWidth. Otherwise, it cannot solve the constraint.
2016-06-07Merge pull request #179 from sdtwigg/fixminwidthAdam Izraelevitz
Fix bug in FIRRTL width inference, refactor associated functions
2016-06-07Merge pull request #153 from ucb-bar/update-check-high-formAdam Izraelevitz
Update check high form
2016-06-07Fix non-thread safe Serialize by splitting it into class and objectJack Koenig
2016-06-06Fix bug in FIRRTL width inference, refactor associated functionsStephen Twigg
When folding over lists for MinWidth and MaxWidth, would assume 0 as a start value. 0 persists through MinWidth resulting in under-constraining The functions were also refactored to be more readable and aligned with scala style/best practices.
2016-05-24Remove prefix checking from Check High Formjackkoenig
Made obsolete by #120
2016-05-24Added Errors class and fixed tests.azidar
Canonicalizes catching/throwing PassExceptions.
2016-05-24add better type mismatch error messageColin Schmidt
also check for it int unittest
2016-05-24Fix LowerTypes to check for wmode instead of rmodejackkoenig
2016-05-12Restructured Compiler to use Transforms. Added an InlineInstance pass.Adam Izraelevitz
Transforms are new unit of modularity within the compiler.
2016-05-11Remove trait StanzaPass and related dead codejackkoenig
2016-05-10Remove old SplitExp pass (replaced by SplitExpressions)jackkoenig
2016-05-10Added RemoveValidIf pass.Adam Izraelevitz
This is to start moving stuff out of Emitter and into separate passes
2016-05-10Added new (and correct) Split Expressions passAdam Izraelevitz