1. Feb 12, 2020
  2. Feb 11, 2020
  3. Feb 08, 2020
  4. Feb 05, 2020
  5. Feb 04, 2020
  6. Feb 02, 2020
  7. Feb 01, 2020
  8. Jan 31, 2020
  9. Jan 29, 2020
    • Andrew Waterman's avatar
      D$: cut d.ready -> perf.grant path · 3659b5bc
      Andrew Waterman authored
      3659b5bc
    • Andrew Waterman's avatar
      D$: eliminate a data ECC -> dirty-bit path · dda59021
      Andrew Waterman authored
      The previous logic suppressed dirty-bit writes in the event of a data
      error.  This is a good thing, because if the error had been uncorrectable,
      and the line had been clean, we could just discard the line and refetch it,
      rather than being forced to report an uncorrectable error.
      
      Unfortunately, that logic creates a critical path from the data ECC check
      to the tag RAM.  Instead, allow the dirty-bit write to proceed, but
      then immediately victimize the line, so that the tag will be set to invalid.
      The ultimate effect is the same as before.
      
      A side effect of 46e0fcb481ef3b1fdd47bdae1b27e1b31e5e8d07 is that the cache
      is guaranteed to enter the victimization state machine whenever this
      scenario occurs (which is a requisite property to preserve the uncorrectable
      error behavior).
      dda59021
    • Andrew Waterman's avatar
      e8f7734c
  10. Jan 28, 2020
  11. Jan 25, 2020
  12. Jan 23, 2020
    • Henry Cook's avatar
      Diplomatic Clock Primitives (#1795) · 27120ee4
      Henry Cook authored
      * clocks: copy clocks package from sifive.fpgashells; update imports
      
      * clocks: bundles can use chisel3 bundle to get cloneType for free
      
      * clocks: use chisel3 in all files
      
      * clocks: add ClockSinkDomain and ClockSourceDomain
      
      * clocks: allow for unspecified clock freqs
      
      * clocks: add TestClockSource test harness clock generators
      
      * clocks: domain nodes are named clockNode
      
      * clocks: source and sink nodes offer fixedClockResources
      
      * rename package from clocks to prci
      
      * clocks: ClockGroup.pickGroupFromCrossingType
      
      * prci: make abstract base ClockDomain class
      
      * prci: add FixedClockBroadcastNode
      
      * tilelink: add fixedClockOpt to HasTLBusParams
      
      * tilelink: add clock nodes to TLBusWrapper
      
      * subsystem: add clockGroupNode to BaseSubsystem
      
      * devices: add example device that can gate clock from TL register-mapped interface
      
      * prci: add draft of ClockDivider adapter
      
      * buswrapper: derive dtsClk from clockNode.fixedClockResources
      
      * util: update ClockDivider to chisel3
      
      * prci: add package object to hold asyncMux helper func
      
      * prci: add ClockGroupSourceNode and ClockGroupSinkNode
      
      * prci: ClockGroup and ClockGroupBroadcast are LazyRawModuleImps
      
      * prci: domain creates clock and reset output IOs
      
      * prci: rename ClockGroupBroadcastNode to ClockGroupAggregateNode
      
      * tilelink: TLBusWrapper includes ClockGroupAggregator
      
      * tilelink: TLBusWrapper  crossTo/FromBus take implicit ClockGroupIdentityNode
      
      * system: ExampleRocketSystem supplies default simple clock source
      
      * subsystem: BaseSubsystem has ClockGroupIdentityNode
      
      * prci: SimpleClockGroupSource can have a variable number of sources
      
      * groundtest: subsystem needs dummyClockGroupSourceNode
      
      * prci: add FixedClockBroadcast helper module and use in TLBusWrapper
      
      * prci: ClockEphemeralNode and ClockGroupEphemeralNode
      
      * prci: TLBusWrapper uses ClockGroupEphemeralNode
      
      * subsystem: add traits HasAsyncClockGroupsNode and Attachable
      
      * subsystem: clean up Attachable and add SubsystemDriveAsyncClockGroupsKey
      
      * prci: add PRCIClockGroupNode: NexusNode(ClockGroupImp)
      
      * tilelink: better name for BuwWrapper clock aggration nodes
      
      * groundtest: delete import that was actually unused
      
      * prci: move ClockGroupDriverParameters to prci
      27120ee4
  13. Jan 22, 2020
  14. Jan 21, 2020
  15. Jan 15, 2020
  16. Jan 14, 2020
  17. Jan 13, 2020