aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/Driver.scala
AgeCommit message (Collapse)Author
2017-05-18Upgrade Logging facility (#488)Chick Markley
* Upgrade Logging facility Make thread-safe Make logging by package name work Use caching of class names to level for performance Make some tests to show this working * quick fix for dynamic logging variable * A number of changes based on Adam's suggestions Default LoggerState But there is an invoke method now to handle threading issues. This should be propagated to other projects Driver.execute methods * Add built-in support for string capture of Logging * Usability fixes for logging stuff. Settings made to the logger prior to execute/invoke will be passed along if possible. * A couple style fixes Comment and privatize Logger state * Name and save string buffers used for logging * Fix default logging state setting Fix logging test, did not have change to command argument * comment out logging in InlineInstanceTests * Changed invoke to makeScope Nested makeScopes share same state object Removed earlier named string buffer implementation * Better name for captor get data * Add trace tests to make sure it works too * Fix call into logger settings
2017-05-10Fix typo in ExecutionOptionsManager comment (#520)Colin Schmidt
Now you should be able to copy paste the example code :)
2017-03-30Make force-append-anno-file work. Fixes #515 (#516)Jack Koenig
2017-03-23Add TargetDirAnnotation to give transforms access (#503)Jack Koenig
Also add GlobalCircuitAnnotation for creating similar annotations
2017-03-17Give better error message if missing emitedcircuitAdam Izraelevitz
2017-03-06Add ability to emit 1 file per module (#443)Jack Koenig
Changes Emitters to also be Transforms and use Annotations for both telling an emitter to do emission as well as getting the emitted result. Helper functions ease the use of the new interface. Also adds a FirrtlExecutionOptions field as well as a command-line option. Use of Writers in Compilers and Emitters is now deprecated.
2017-02-27Add chisel2 isVCSAvailable, isCommandAvailable to FileUtils. (#439)Jim Lawson
2017-02-01Fix anno in backend (#428)Chick Markley
* fixed up impementation of deleteDirectoryHierarchy Added a few more tests * Round 2 of moving verilog to target dir Only create .f file if some files have been moved Some small style fixes in Driver Restored lost functionality to add -f argument in verilogToCpp Fixed loadAnnotations to add targetDir regardless of annotations arriving from file or through options
2017-01-31Blackboxhelper (#418)Chick Markley
* First pass at implementing a annotation based mechanism to move black box verilator files into the target directory * A little bit of style cleanup * A little bit of style cleanup * Fix the driver, wasn't appending targetDir properly Add some docs * test had wrong value now that targetdir is added to annnos * Now saves a list of all black box verilog files moved into target directory. Then creates a file black_box_verilog_files.f that contains this list with -v prepended to each line * Made black box source helper be low to low form Added it to the verilog compiler transforms Added a test to make sure it got there * targetDir annotation is targeted to a CircuitName("All")
2016-12-06Fixes for Annotation serialized/deserialize (#390)Chick Markley
* Fixes for Annotation serialized/deserialize Made serializer agree with deserializer on text representation Re-ordered serializations of Named subclasses to be C or C.m or C.m.c where C=circuit, m=module, c=component Note: component may contain dots Added serialize deserialize tests to AnnotationSpec Did some style cleanup on AnnotationSpec Added explicit return tupe on SimpleTransformSpec#execute * Make explicit Util.error remove commented code * Make Annotation#serialize a nicer format fix import there and remove new on case class * In firrtl Driver.execute use annotations passed in through optionsManager#firrtlOptions if nonEmpty otherwise read the annotations in from an annotations file Add new option to override this behavior, --force-append-anno-file will append annotations in file to any that are passed in A few other style fixes to Driver: remove new with case classes. don't use match when if(boolean) will do * Added tests of malformed component and circuit names
2016-11-23Stringified annotations (#367)Adam Izraelevitz
Restricts annotations to be string-based (and thus less typesafe) Makes annotations more easily serializable and interact with Chisel
2016-11-04Cleanup license at top of every file (#364)Jack Koenig
Replace with more sensible comment to see LICENSE rather than including the whole license in every file
2016-11-04Refactor Compilers and Transformsjackkoenig
* Transform Ids now handled by Class[_ <: Transform] instead of magic numbers * Transforms define inputForm and outputForm * Custom transforms can be inserted at runtime into compiler or the Driver * Current "built-in" custom transforms handled via above mechanism * Verilog-specific passes moved to the Verilog emitter
2016-10-25Logger 1 (#338)Chick Markley
* Create a simple system for executions and command line parameters New model for tracking parameters and having those parameters register scopt command to allow the parameters to be set by command line args. Create composable forms of the these parameters to allow separate elements of the chisel3 toolchain to combine these parameters Create execution return structures that simplify return values to earlier toolchain elements * just a little bit of cleanup * Fixes for Adam's comments on PR * knuckled under to self-pressure to allow former -i and -o to work * knuckled under to self-pressure to allow former -i and -o to work * show defaults for command line args with them * A couple of fixes from merging latest master * Implement a log4scala like logging system This system has the rather remarkable property that it is possible to turn it on conveniently when you want it. It also provides for class level granularity as well as the traditional Error, Warn, Info, Debug * some style fixes and change infoMode default to append per PR #328 * some style fixes and change infoMode default to append per PR #328 * support -i -o and -X a couple of indentation and spacing fixes
2016-10-19annotations being assembled form command line but not being passed down to ↵chick
firrtl compiler Fixes colin's problem with repl-seq-mem not creating a conf file.
2016-10-18Create a simple system for executions and command line parameters (#337)Chick Markley
Create a simple system for executions and command line parameters New model for tracking parameters and having those parameters register scopt command to allow the parameters to be set by command line args. Create composable forms of the these parameters to allow separate elements of the chisel3 toolchain to combine these parameters Create execution return structures that simplify return values to earlier toolchain elements
2016-10-17Reorganized memory blackboxing (#336)Adam Izraelevitz
* Reorganized memory blackboxing Moved to new package memlib Added comments Moved utility functions around Removed unused AnnotateValidMemConfigs.scala * Fixed tests to pass * Use DefAnnotatedMemory instead of AppendableInfo * Broke passes up into simpler passes AnnotateMemMacros -> (ToMemIR, ResolveMaskGranularity) UpdateDuplicateMemMacros -> (RenameAnnotatedMemoryPorts, ResolveMemoryReference) * Fixed to make tests run * Minor changes from code review * Removed vim comments and renamed ReplSeqMem
2016-10-07change default info mode to append (#328)Colin Schmidt
this makes it much easier to see where something went wrong during compilation if the lines have no info initially or its on internal nodes
2016-09-27remove unnecessary parentheseschick
2016-09-25remove unnecessary blockschick
example 1 s"${x}" example 2 case blah => { ??? }
2016-09-06Edited conf generation to handle mem namespace collisionAngie
* Also started separate pass for annotating valid memory
2016-09-06Added starter code for SMem replacementAngie
2016-08-17Fixed cmdline usage string (#235)Adam Izraelevitz
Now prints usage when given incorrect arguments
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-02make infer readwrite ports optionalDonggyu Kim
turned on with '--inferRW <circuit name>'
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-05-12Restructured Compiler to use Transforms. Added an InlineInstance pass.Adam Izraelevitz
Transforms are new unit of modularity within the compiler.
2016-05-12Implement File Infojackkoenig
2016-03-03Remove unused files: DebugUtils and original Passesjackkoenig
2016-03-03Add some integration tests: successful compilation and executionjackkoenig
2016-02-25Remove unused code in Driver, update help messagejackkoenig
2016-02-23Stop closing writers in compiler, close in Driver instead (allows others to ↵Jack
use StringWriters without the Compiler closing it)
2016-02-09Added license to FIRRTL filesazidar
2016-02-09Added chirrtl passes, need to update parserazidar
2016-02-09Restructure passes to be new subpackage with more modular design, add new ↵Jack
structures Compiler and Emitter, deprecate old Passes object, update Driver to use new constructs
2016-02-09Added expand connect. Resolve now includes to working irazidar
2016-02-09Added resolve gendersazidar
2016-02-09WIP. Finished to working ir, resolve kinds, and infer typesazidar
2016-02-09WIP. Got to-working-ir workingazidar
2016-02-09WIP, nothing works. Starting creating working IR and necessary utilsazidar
2016-01-16Add warning that -p unusedducky
2016-01-16Clean up old logging remnantsducky
2016-01-16Import a logging library so we don't reinvent the wheel and have implicits ↵ducky
flying around everywhere
2016-01-16Refactor passes systemducky
2015-12-11Add a renameall pass that renames nodes according to a user-providedPaul Rigge
map. Also rewrite main so stanza and scala passes can be intermixed.
2015-12-08Refactored MIDAS code into its own repojackkoenig
2015-12-07Fixed bug, I think transformation works now for the most partjackkoenig
2015-12-07The transformation works! Kind of, it works fine when everything is alwasy ↵jackkoenig
ready, has some weird issues when they're not, but also kind of works in that the hardware verifier still reports the right answer, it seems to go to half duty cycle and then do every token twice
2015-12-06Working on generating SimTop, need to figure out how to split the top-level ↵jackkoenig
IO between the sim modules.
2015-12-02Added fame transformation and new package, making progressjackkoenig