Diplomatic Clock Primitives (#1795)
* 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
parent
c2668bed
Please register or sign in to comment