aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-09-06Minor utility changes.Angie
* Corrected names to match current RW port spec * Added Jack's Namespace on Circuit
2016-09-06Added starter code for SMem replacementAngie
2016-09-05Change null statement to empty begin end (#264)Colin Schmidt
this eliminates warnings in recent versions of VCS
2016-08-25emit wires instead of registers for invalid randomizationHoward Mao
Before, the verilog emitter would connect registers to the invalid ports and use random initialization on the generated registers. It is better to generate wires instead and use random assignment on the wires.
2016-08-25update verilog generation testHoward Mao
2016-08-25Finer grained control over randomizationHoward Mao
We previously had `ifdef guards on some parts of the emitted verilog to control whether some registers or nets should be given random initial values. These guards were all dependent on the RANDOMIZE macro. However, there were actually three separate cases being controlled 1. Giving random values to disconnected wires 2. Random initialization of registers 3. Random initialization of memories It is possible that the designer would want to switch these three on or off independently in simulation. For instance, the latter two are usually safe because registers and memories will get some definite binary value at power on in the actual circuit, but the first one can be quite dangerous because the undriven wire could be metastable. This change provides separate macros for each of the three sets of guards so that they can be controlled independently.
2016-08-18emit correct enable signals for memories (#242)Donggyu
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-17Fixed cmdline usage string (#235)Adam Izraelevitz
Now prints usage when given incorrect arguments
2016-08-16add test case for clock type connection (#239)mwachs5
2016-08-15Remove stanza (#231)Adam Izraelevitz
* Removed stanza implementation/tests. In the future we can move the stanza tests over, but for now they should be deleted. * Added back integration .fir files * Added Makefile to give Travis hooks * Added firrtl script (was ignored before)
2016-08-12Fix calculation of runtime for ANTLR Parser (#229)Jack Koenig
2016-08-12Add missing case for connecting ClockTypeMegan Wachs
2016-08-09provide parser for naive string (#227)Donggyu
2016-08-09fix read port enables in RemoveCHIRRTLDonggyu Kim
read port enables for cmems should always be high
2016-08-08Don't create output files until the compiler succeedsAndrew Waterman
Creating the output file preemptively screws up make, as on subsequent executions of make, it thinks the task succeeded.
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-03fixes small mistakes in serialize (#216)Donggyu
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-02Merge pull request #213 from ucb-bar/default-to-warnAdam Izraelevitz
Change default log level to warn
2016-08-02Merge pull request #211 from ucb-bar/fix-subaccessAdam Izraelevitz
Refactor RemoveAccesses and fix bug #210.
2016-08-02Fix use of global state in instance loop checkingjackkoenig
Also increase sensitivity of thread safety checking Fixes #159
2016-08-01Merge pull request #208 from ucb-bar/no_constpropAdam Izraelevitz
remove ConstProp in HighFirrtlToMiddleFirrtl
2016-08-01Added minor cosmetic changes to RemoveAccessesazidar
2016-08-01Change default log level to warnJack Koenig
2016-08-01Refactor RemoveAccesses and fix bug #210.azidar
Added corresponding unit test.
2016-08-01Fix StringSpec generators to only choose from valid values.Jack Koenig
The old almost equivalent syntax gives the same result but can cause the test to fail if too many invalid values are thrown away.
2016-07-29remove ConstProp in HighFirrtlToMiddleFirrtlDonggyu Kim
ConstProp before width padding causes errors for SIntLiteral
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-27Fixed compilation error using old annotationsazidar
2016-07-27Forgot to add Annotations.scalaAdam Izraelevitz
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-25Changed InferTypes to update types if UnknownType or has an UnknownWidthazidar
Removed InferWidths after ExpandWhens
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-07Guard register randomization with RANDOMIZE, rather than SYNTHESISAndrew Waterman
Randomization should be controllable separately. Verilator, for example, already does this if it is passed --x-assign unique; doing it redundantly reduces simulation performance.
2016-07-07Re-run constant propagation after pad widthsAndrew Waterman