1. Sep 08, 2018
  2. Sep 01, 2018
    • Chick Markley's avatar
      Support for verilog memory loading. (#840) · a5185d2c
      Chick Markley authored
      * Ability to load memories at simulation startup
      * first pass
      * create annotation
      * create skeleton Transform
      
      * Work in progress
      Building out transform and pass now
      
      * Support for LoadMemory annotation
      * Creates chisel and firrtl LoadMemory annotations
      * LoadMemoryTransform converts annotation into BlackBox InLine
      * Simple test that verilog bound modules get created.
      
      * Support for LoadMemory annotation
      * Supports Bundled/multi-field memories
      * more tests
      * support for `$readmemh` and `$readmemb`
      * warns if suffix used in file specification.
      
      * Support for LoadMemory annotation
      * Use standard chisel annotation idiom
      
      * Support for LoadMemory annotation
      * Fixes for @seldridge nits and super-nits
      
      * Support for LoadMemory annotation
      - transform now only runs if emitter is an instance of VerilogEmitter
      - suffixes on memory text files are now respected
        - if suffix exists and memory is aggregate, aggregate sub-fields will now be inserted before suffix
      - every bind module created gets a unique number
        - this is required when multiple loaded memories appear in a module
        - this should be generalized for other uses of binding modules
      
      * Support for LoadMemory annotation
      - remove un-needed suffix test
      
      * Support for LoadMemory annotation
      - remove instance walk, now just processes each module
      
      * Support for LoadMemory annotation
      - Move LoadMemoryTransformation into Firrtl for treadle to access it.
      
      * Support for LoadMemory annotation
      - One more bug in suffix handling has been eliminated
      
      * Support for LoadMemory annotation
      - remove unused findModule per jackkoenig
      - fixed complex test, bad filename edge case
      
      * Support for LoadMemory annotation
      - changed to not use intellij style column alignment for : declarations
      
      * Load memory from file
      Fixes based on @jkoenig review
      - remove unused BindPrefixFactory
      - Moved code from CreateBindableMemoryLoaders into to LoadMemoryTransfrom
      - Made map to find relevant memory annotations faster
      - Made map to find modules referenced by annotations faster
      - Made things private that should be private
      - DefAnnotatedMemorys are no longer referenced, shouldn't be found here.
      - println of error changed to failed
      
      * Loading memories from files
      - Many changes based on review
      - move stuff into experimental
      - clean up annotation manipulation
      - manage tests better
      - use more standard practices for transform
      
      * Loading memories from files
      - More review changes
      - Move doc from annotation to the object apply method that generates the annotation
      - Make scalastyle directives more specific
      - Use more efficient collect to generate name to module map
      - Made lines obey style length limit
      - a couple of cleanups of imports in tests
      - removed some commented out code
      - optimized checking for lines using .exists
      - use _ for unused variable in match
      a5185d2c
  3. Aug 30, 2018
  4. Aug 24, 2018
  5. Aug 23, 2018
  6. Aug 22, 2018
  7. Aug 08, 2018
    • Schuyler Eldridge's avatar
      BoringUtils / Synthesizable Cross Module References (#718) · b3bd3c43
      Schuyler Eldridge authored
      
      
      This adds an annotator that provides a linkage to the FIRRTL
      WiringTransform. This enables synthesizable cross module references
      between one source and multiple sinks without changing IO (the
      WiringTransform bores through the hierarchy).
      
      Per WiringTransform, this will connect sources to their closest
      sinks (as determined by BFS) or fail if ownership is indeterminate.
      
      Make TesterDriver.execute work like Driver.execute:
        - annotations are included when running FIRRTL
        - custom transforms are run automatically
      
      Also, add a bore method to BoringUtils that allows you to do one source to
      multi-sink mapping in a single call. This adds a test that this is doing
      the same thing as the equivalent call via disjoint addSink/addSource.
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@ibm.com>
      b3bd3c43
  8. Aug 01, 2018
  9. Jul 27, 2018
  10. Jul 20, 2018
  11. Jul 12, 2018
  12. Jul 11, 2018
  13. Jul 10, 2018
  14. Jul 07, 2018
  15. Jul 06, 2018
  16. Jul 05, 2018