menu
rohd_hcl
rohd_hcl.dart
rohd_hcl
dark_mode
light_mode
rohd_hcl
library
Classes
Ace4AcChannelInterface
ACE AC interface.
Ace4ArChannelInterface
ACE AR interface.
Ace4AwChannelInterface
ACE AW interface.
Ace4BChannelInterface
ACE B interface.
Ace4CdChannelInterface
ACE CD interface.
Ace4Cluster
ACE4 cluster.
Ace4CrChannelInterface
ACE CR interface.
Ace4LiteArChannelInterface
ACE-Lite AR interface.
Ace4LiteAwChannelInterface
ACE-Lite AW interface.
Ace4LiteBChannelInterface
ACE-Lite B interface.
Ace4LiteCluster
ACE4-Lite cluster.
Ace4LiteRChannelInterface
ACE-Lite R interface.
Ace4LiteReadCluster
ACE4-Lite read cluster.
Ace4LiteWChannelInterface
ACE-Lite W interface.
Ace4LiteWriteCluster
ACE4-Lite write cluster.
Ace4RChannelInterface
ACE R interface.
Ace4ReadCluster
ACE4 read cluster.
Ace4SnoopCluster
ACE4 snoop cluster.
Ace4WChannelInterface
ACE W interface.
Ace4WriteCluster
ACE4 write cluster.
Ace5LiteArChannelConfig
A config object for constructing an ACE5-Lite AR channel.
Ace5LiteArChannelInterface
ACE-5 Lite AR channel.
Ace5LiteAwChannelConfig
A config object for constructing an ACE5-Lite5 AW channel.
Ace5LiteAwChannelInterface
ACE-5 Lite AW channel.
Ace5LiteBChannelConfig
A config object for constructor an AXI5 B channel.
Ace5LiteBChannelInterface
ACE-5 Lite B channel.
Ace5LiteCluster
Grouping of all channels.
Ace5LiteRChannelConfig
A config object for constructing an ACE5-Lite R channel.
Ace5LiteRChannelInterface
ACE-5 Lite R channel.
Ace5LiteReadCluster
Grouping of read channels.
Ace5LiteWChannelConfig
A config object for constructing an ACE-5 W channel.
Ace5LiteWChannelInterface
ACE-5 Lite W channel.
Ace5LiteWriteCluster
Grouping of write channels.
Adder
An abstract class for adders..
AdderSelectKnob
A knob for selecting an adder to use in a component.
ApbCompleterAgent
A model for the completer side of an ApbInterface .
ApbComplianceChecker
A checker for some of the rules defined in the APB interface specification.
ApbInterface
A standard APB interface.
ApbMonitor
A monitor for ApbInterface s.
ApbPacket
A packet on an ApbInterface .
ApbReadPacket
A read packet on an ApbInterface .
ApbRequesterAgent
An agent for sending requests on an ApbInterface .
ApbRequesterDriver
A driver for the ApbInterface from the requester side.
ApbTracker
A tracker for the ApbInterface .
ApbWritePacket
A write packet on an ApbInterface .
Arbiter
An abstract description of an arbiter module.
AsyncFifo
An asynchronous FIFO for safely passing data between two clock domains.
Axi4ArChannelInterface
Thin wrapper around abstract class to enforce certain paramater values.
Axi4AwChannelInterface
Thin wrapper around abstract class to enforce certain paramater values.
Axi4BaseArChannelInterface
AXI4 AR channel base. Need this to differentiate between AXI and AXI-Lite.
Axi4BaseAwChannelInterface
AXI4 AW channel base. Need this to differentiate between AXI and AXI-Lite.
Axi4BaseBChannelInterface
AXI4 R channel base. Need this to differentiate between AXI and AXI-Lite.
Axi4BaseCluster
A pairing of all AXI channels (read + write).
Axi4BaseRChannelInterface
AXI4 R channel base. Need this to differentiate between AXI and AXI-Lite.
Axi4BaseReadCluster
A pairing of the AXI read channels (AR, R).
Axi4BaseWChannelInterface
AXI4 W channel base. Need this to differentiate between AXI and AXI-Lite.
Axi4BaseWriteCluster
A pairing of the AXI write channels (AW, W, B).
Axi4BChannelInterface
Thin wrapper around abstract class to enforce certain paramater values.
Axi4ChannelInterface
Base abstraction that applies to all AXI channels.
Axi4Cluster
AXI4 cluster.
Axi4DataChannelDriver
A driver for the Axi4DataChannelInterface interface.
Axi4DataChannelInterface
Wrapper for commonality in AXI Data channels (R, W, etc.).
Axi4DataChannelMonitor
A monitor for Axi4DataChannelInterface s.
Axi4DataPacket
A data packet on an AXI4 interface.
Axi4DataTracker
A tracker for the AXI4 data channels (R, W).
Axi4LiteArChannelInterface
A standard AXI4-Lite AR interface.
Axi4LiteAwChannelInterface
A standard AXI4-Lite AW interface.
Axi4LiteBChannelInterface
A standard AXI4-Lite B interface.
Axi4LiteCluster
AXI4-Lite cluster.
Axi4LiteRChannelInterface
A standard AXI4-Lite R interface.
Axi4LiteReadCluster
AXI4-Lite read cluster.
Axi4LiteWChannelInterface
A standard AXI4-Lite W interface.
Axi4LiteWriteCluster
AXI4-Lite write cluster.
Axi4MainClusterAgent
Wrapper agent around all AXI channels.
Axi4MainDataChannelAgent
Agent component for R/W channel.
Axi4MainReadClusterAgent
Wrapper agent around the AXI read channels (AR, R).
Axi4MainRequestChannelAgent
Agent component for AR/AW channel.
Axi4MainResponseChannelAgent
Agent component for B channel.
Axi4MainWriteClusterAgent
Wrapper agent around the AXI write channels (AW, W, B).
Axi4RChannelInterface
Thin wrapper around abstract class to enforce certain paramater values.
Axi4ReadCluster
AXI4 read cluster.
Axi4ReadComplianceChecker
A checker for some of the rules defined in the AXI4 interface specification.
Axi4ReadyDriver
A driver for the ready signal on any Axi4ChannelInterface interface.
Axi4RequestChannelDriver
A driver for the Axi4RequestChannelInterface interface.
Axi4RequestChannelInterface
Wrapper for commonality in AXI Request channels (AR, AW, etc.).
Axi4RequestChannelMonitor
A monitor for Axi4RequestChannelInterface s.
Axi4RequestPacket
A request packet on an AXI4 interface.
Axi4RequestTracker
A tracker for the AXI4 request channels (AR, AW).
Axi4ResponseChannelDriver
A driver for the Axi4BaseBChannelInterface interface.
Axi4ResponseChannelInterface
AXI4 response channel base functionality.
Axi4ResponseChannelMonitor
A monitor for Axi4BaseBChannelInterface s.
Axi4ResponsePacket
A response packet on an AXI4 interface.
Axi4ResponseTracker
A tracker for the AXI4 response channels (B).
Axi4StreamDriver
A driver for the Axi4StreamInterface interface.
Axi4StreamInterface
A standard AXI4 read interface.
Axi4StreamMainAgent
Agent component for main direction.
Axi4StreamMonitor
A monitor for Axi4StreamMonitor s.
Axi4StreamPacket
A data packet on an AXI-S interface.
Axi4StreamSubordinateAgent
Agent component for subordinate direction.
Axi4StreamTracker
A tracker for AXI-S.
Axi4SubordinateClusterAgent
Wrapper agent around all AXI channels.
Axi4SubordinateDataChannelAgent
Agent component for R/W channel.
Axi4SubordinateMemoryAgent
A model for the subordinate side of
an AXI4 multi-lane cluster of read/write channels
in which the underlying target is a persistent memory.
Axi4SubordinateReadClusterAgent
Wrapper agent around the AXI read channels (AR, R).
Axi4SubordinateRequestChannelAgent
Agent component for AR/AW channel.
Axi4SubordinateResponseChannelAgent
Agent component for B channel.
Axi4SubordinateWriteClusterAgent
Wrapper agent around the AXI write channels (AW, W, B).
Axi4SystemInterface
AXI4 clock and reset.
Axi4WChannelInterface
Thin wrapper around abstract class to enforce certain paramater values.
Axi4WriteCluster
AXI4 write cluster.
Axi4WriteComplianceChecker
A checker for some of the rules defined in the AXI4 interface specification.
Axi5AcChannelDriver
A driver for the Axi5AcChannelInterface interface.
Axi5AcChannelInterface
Basis for all possible AC channels.
Axi5AcChannelMonitor
A monitor for Axi5AcChannelInterface s.
Axi5AcChannelPacket
A packet on an AXI5 AC channel interface.
Axi5AcChannelTracker
A tracker for the AXI5 AC channel.
Axi5ArChannelConfig
A config object for constructing an AXI5 AR channel.
Axi5ArChannelDriver
A driver for the Axi5ArChannelInterface interface.
Axi5ArChannelInterface
Basis for all possible AR channels.
Axi5ArChannelMonitor
A monitor for Axi5ArChannelInterface s.
Axi5ArChannelPacket
A request packet on an AXI5 AR channel interface.
Axi5ArChannelTracker
A tracker for the AXI5 AR channel.
Axi5AtomicSignalsStruct
This corresponds to mixin Axi5AtomicSignals from axi5_mixins.dart.
Axi5AwChannelConfig
A config object for constructing an AXI5 AW channel.
Axi5AwChannelDriver
A driver for the Axi5AwChannelInterface interface.
Axi5AwChannelInterface
Basis for all possible AW channels.
Axi5AwChannelMonitor
A monitor for Axi5AwChannelInterface s.
Axi5AwChannelPacket
A request packet on an AXI5 AW channel interface.
Axi5AwChannelTracker
A tracker for the AXI5 AW channel.
Axi5BaseArChannelConfig
A config object for constructing an AXI5 AR channel.
Axi5BaseAwChannelConfig
A config object for constructing an AXI5 AW channel.
Axi5BaseBChannelConfig
A config object for constructor an AXI5 B channel.
Axi5BaseInterface
A top-level Interface from which all of AXI-5 can derive.
Axi5BaseRChannelConfig
A config object for constructing an AXI5 R channel.
Axi5BaseWChannelConfig
A config object for constructing an AXI5 W channel.
Axi5BChannelConfig
A config object for constructor an AXI5 B channel.
Axi5BChannelDriver
A driver for the Axi5BChannelInterface interface.
Axi5BChannelInterface
Basis for all possible B channels.
Axi5BChannelMonitor
A monitor for Axi5BChannelInterface s.
Axi5BChannelPacket
A response packet on an AXI5 B channel interface.
Axi5BChannelTracker
A tracker for the AXI5 B channel.
Axi5BroadcastInterface
Axi5 broadcast signals.
Axi5ChunkSignalsStruct
This corresponds to mixin Axi5ChunkSignals from axi5_mixins.dart.
Axi5Cluster
Grouping of all channels.
Axi5CohConnInterface
Axi5 coherency connection signals.
Axi5CrChannelDriver
A driver for the Axi5CrChannelInterface interface.
Axi5CrChannelInterface
Basis for all possible CR channels.
Axi5CrChannelMonitor
A monitor for Axi5CrChannelInterface s.
Axi5CrChannelPacket
A packet on an AXI5 CR channel interface.
Axi5CrChannelTracker
A tracker for the AXI5 CR channel.
Axi5CreditControlInterface
Axi5 credit control signals.
Axi5DataSignalsStruct
This corresponds to mixin Axi5DataSignals from axi5_mixins.dart.
Axi5DebugSignalsStruct
This corresponds to mixin Axi5DebugSignals from axi5_mixins.dart.
Axi5IdSignalsStruct
This corresponds to mixin Axi5IdSignals from axi5_mixins.dart.
Axi5LiteArChannelConfig
A config object for constructing an AXI5 AR channel.
Axi5LiteArChannelInterface
AXI-5 Lite AR channel.
Axi5LiteAwChannelConfig
A config object for constructing an AXI5 AW channel.
Axi5LiteAwChannelInterface
AXI-5 Lite AW channel.
Axi5LiteBChannelConfig
A config object for constructor an AXI5 B channel.
Axi5LiteBChannelInterface
AXI-5 Lite B channel.
Axi5LiteCluster
Grouping of all channels.
Axi5LiteRChannelConfig
A config object for constructing an AXI5 R channel.
Axi5LiteRChannelInterface
AXI-5 Lite R channel.
Axi5LiteReadCluster
Grouping of read channels.
Axi5LiteWChannelConfig
A config object for constructing an AXI5 W channel.
Axi5LiteWChannelInterface
AXI-5 Lite W channel.
Axi5LiteWriteCluster
Grouping of write channels.
Axi5MainAcChannelAgent
Agent component for AC channel.
Axi5MainArChannelAgent
Agent component for AR channel.
Axi5MainAwChannelAgent
Agent component for AW channel.
Axi5MainBChannelAgent
Agent component for B channel.
Axi5MainClusterAgent
Axi agent for the full set of channels.
Axi5MainCrChannelAgent
Agent component for CR channel.
Axi5MainRChannelAgent
Agent component for R channel.
Axi5MainReadClusterAgent
Wrapper agent around the AXI read channels (AR, R).
Axi5MainSnoopClusterAgent
Wrapper agent around the AXI snoop channels (AC, CR).
Axi5MainWChannelAgent
Agent component for W channel.
Axi5MainWriteClusterAgent
Wrapper agent around the AXI write channels (AW, W, B).
Axi5MemoryAttributeSignalsStruct
This corresponds to mixin Axi5MemoryAttributeSignals from axi5_mixins.dart.
Axi5MemPartTagSignalsStruct
This corresponds to mixin Axi5MemPartTagSignals from axi5_mixins.dart.
Axi5MemRespDataTagSignalsStruct
This corresponds to mixin Axi5MemRespDataTagSignals from axi5_mixins.dart.
Axi5MmuSignalsStruct
This corresponds to mixin Axi5MmuSignals from axi5_mixins.dart.
Axi5MsiInterface
A standard AXI5 MSI interface.
Axi5OpcodeSignalsStruct
This corresponds to mixin Axi5OpcodeSignals from axi5_mixins.dart.
Axi5ProtSignalsStruct
This corresponds to mixin Axi5ProtSignals from axi5_mixins.dart.
Axi5QosAcceptInterface
Axi5 QoS accept signals.
Axi5QualifierSignalsStruct
This corresponds to mixin Axi5QualifierSignals from axi5_mixins.dart.
Axi5RChannelConfig
A config object for constructing an AXI5 R channel.
Axi5RChannelDriver
A driver for the Axi5RChannelInterface interface.
Axi5RChannelInterface
Basis for all possible R channels.
Axi5RChannelMonitor
A monitor for Axi5RChannelInterface s.
Axi5RChannelPacket
A response packet on an AXI5 R channel interface.
Axi5RChannelTracker
A tracker for the AXI5 R channel.
Axi5ReadCluster
Grouping of read channels.
Axi5ReadyDriver
A driver for the ready signal on any Axi5TransportInterface interface.
Axi5RequestSignalsStruct
This corresponds to mixin Axi5RequestSignals from axi5_mixins.dart.
Axi5ResponseSignalsStruct
This corresponds to mixin Axi5ResponseSignals from axi5_mixins.dart.
Axi5SnoopCluster
Grouping of snoop channels.
Axi5StashSignalsStruct
This corresponds to mixin Axi5StashSignals from axi5_mixins.dart.
Axi5StreamDriver
A driver for the Axi5StreamInterface interface.
Axi5StreamInterface
A standard AXI5 stream interface.
Axi5StreamMainAgent
Agent component for main direction.
Axi5StreamMonitor
A monitor for Axi5StreamMonitor s.
Axi5StreamPacket
A data packet on an AXI-S interface.
Axi5StreamSubordinateAgent
Agent component for subordinate direction.
Axi5StreamTracker
A tracker for AXI-S.
Axi5SubordinateAcChannelAgent
Agent component for AC channel.
Axi5SubordinateArChannelAgent
Agent component for AR channel.
Axi5SubordinateAwChannelAgent
Agent component for AW channel.
Axi5SubordinateBChannelAgent
Agent component for B channel.
Axi5SubordinateClusterAgent
Axi agent for the full set of channels.
Axi5SubordinateCrChannelAgent
Agent component for CR channel.
Axi5SubordinateRChannelAgent
Agent component for R channel.
Axi5SubordinateReadClusterAgent
Wrapper agent around the AXI read channels (AR, R).
Axi5SubordinateSnoopClusterAgent
Wrapper agent around the AXI snoop channels (AC, CR).
Axi5SubordinateWChannelAgent
Agent component for W channel.
Axi5SubordinateWriteClusterAgent
Wrapper agent around the AXI write channels (AW, W, B).
Axi5SystemInterface
Axi5 clock and reset.
Axi5TransportInterface
Next level in the hierarchy to handle the flow control schemes.
Axi5UserSignalsStruct
This corresponds to mixin Axi5UserSignals from axi5_mixins.dart.
Axi5WakeupInterface
Axi5 wakeup signals.
Axi5WChannelConfig
A config object for constructing an AXI5 W channel.
Axi5WChannelDriver
A driver for the Axi5WChannelInterface interface.
Axi5WChannelInterface
Basis for all possible W channels.
Axi5WChannelMonitor
A monitor for Axi5WChannelInterface s.
Axi5WChannelPacket
A data packet on an AXI5 W channel interface.
Axi5WChannelTracker
A tracker for the AXI5 W channel.
Axi5WriteCluster
Grouping of write channels.
AxiAddressRange
A repesentation of an address region for the
AXI Subordinate. Regions can have access modes
and can be leveraged for wrapping bursts.
BinaryToGrayConverter
A module for converting binary values to Gray code representation.
BinaryToOneHot
Encodes a binary number into one-hot.
BitCompressor
Base class for bit-level column compressor function
BitonicSort
Bitonic Sort is a pipelined sort module that sort toSort to
specified order based on isAscending .
BitonicSortConfigurator
A Configurator for BitonicSort .
BooleanConfig
A configuration class for boolean configurations, which can be used to
statically enable or disable features in a component.
BrentKung
BrentKung implements the Brent-Kung shaped ParallelPrefix tree pattern.
BruteSignExtension
A Brute Sign Extension class.
CarrySaveMultiplier
A binary multiplier using carry-save technique with pipelining.
CarrySaveMultiplierConfigurator
A Configurator for CarrySaveMultiplier .
CarrySelectCompoundAdder
Carry-select compound adder.
CarrySelectOnesComplementCompoundAdder
Carry-select ones-complement compound adder.
CaseOneHotToBinary
Decodes a one-hot number into binary using a case block.
ChoiceConfigKnob <T >
A ConfigKnob for selecting one of multiple options.
ClockGate
A generic and configurable clock gating block.
ClockGateControlInterface
An Interface for controlling ClockGate s.
ColumnCompressor
A column compressor module
CompactRectSignExtension
A Partial Product Generator using Compact Rectangular Extension
CompactSignExtension
A Compact Sign Extension class.
CompoundAdder
An abstract class for all compound adder module implementations.
CompoundAdderConfigurator
A Configurator for CompoundAdder .
CompressionTreeDotProduct
An integer dot product module using a ColumnCompressor .
CompressionTreeMultiplier
An implementation of an integer multiplier using compression trees.
CompressionTreeMultiplyAccumulate
An implementation of an integer multiply-accumulate using compression trees
Compressor2
2-input column compressor (half-adder)
Compressor3
3-input column compressor (full-adder)
CompressTerm
A compression term.
ConfigKnob <T >
A configuration knob for use in Configurator s.
Configurator
An object that enables a consisten API for configuring a Module and
performing common tasks with it.
Count
Count 1 or 0.
Counter
Keeps a count of the running sum of any number of sources with optional
configuration for widths, saturation behavior, and restarting.
CounterConfigurator
A configurator for Counter .
Csr
Logic representation of a Control and Status Register (CSR).
CsrBackdoorInterface
An interface to interact very simply with a CSR.
CsrBlock
Logic representation of a block of registers.
CsrBlockConfig
Definition for a coherent block of registers.
CsrConfig
Configuration for an architectural register.
CsrFieldConfig
Configuration for a register field.
CsrInstanceConfig
Configuration for a register instance.
CsrTop
Top level module encapsulating groups of CSRs.
CsrTopConfig
Definition for a top level module containing CSR blocks.
DataPortInterface
An interface to a simple memory that only needs enable, address, and data.
Deserializer
Deserializer aggregates data from a serialized stream.
DotProductBase
A dot product module for integers.
EccConfigurator
A Configurator for HammingEccReceiver and HammingEccTransmitter .
EdgeDetector
An edge detector for positive, negative, or any edge on a signal relative to
the previous clock cycle.
EdgeDetectorConfigurator
A Configurator for EdgeDetector .
ErrorCheckingReceiver
A receiver for data which includes a code for checking and possibly
correcting.
ErrorCheckingTransmitter
A transmitter for data which includes a code for checking and possibly
correcting data at the receiving end.
Extrema
Determines the extremas (maximum or minimum) of a List<Logic> .
ExtremaConfigurator
A Configurator for Extrema .
Fifo <LogicType extends Logic >
A module Fifo implementing a simple FIFO (First In, First Out) buffer.
FifoChecker
A checker for Fifo s that they are being used properly and not reaching any
dangerous conditions.
FifoConfigurator
A Configurator for Fifo .
FifoTracker
A tracker for a Fifo which can generate logs.
Find
Find functionality
FindConfigurator
A Configurator for Find .
FindPattern
FindPattern functionality
FixedPoint
A representation of (un)signed fixed-point logic following
Q notation (Qm.n format) as introduced by
Texas Instruments: (https://www.ti.com/lit/ug/spru565b/spru565b.pdf ).
FixedPointSqrt
Implementation
Algorithm explained here;
https://projectf.io/posts/square-root-in-verilog/
FixedPointSqrtBase
Base class for fixed-point square root
FixedPointSqrtConfigurator
A Configurator for FixedPointSqrt .
FixedPointValue
An immutable representation of (un)signed fixed-point values following
Q notation (Qm.n format) as introduced by
Texas Instruments: (https://www.ti.com/lit/ug/spru565b/spru565b.pdf ).
FixedPointValuePopulator <FxvType extends FixedPointValue >
A populator for FixedPointValue s, a utility that can populate various
forms of FixedPointValue s.
FixedToFloat
FixedToFloat converts a fixed point input to floating point with
rouding to nearest even. If the input exceeds the floating point range,
the output will be infinity. E4M3 is not supported as this format doesn't
support infinity.
FixedToFloatConfigurator
A Configurator for FixedToFloat .
Float8ToFixed
Float8ToFixed converts an 8-bit floating point (FP8) input
to a signed fixed-point output following Q notation (Qm.n) as introduced by
(Texas Instruments): (https://www.ti.com/lit/ug/spru565b/spru565b.pdf ).
FP8 input must follow E4M3 or E5M2 as described in
(FP8 formats for deep learning): (https://arxiv.org/pdf/2209.05433 ).
This component offers re-using the same hardware for both FP8 formats.
Infinities and NaN's are not supported.
The output is of type Logic and in two's complement.
It can be cast to a FixedPoint by the consumer based on the mode.
if mode is true:
Input is treated as E4M3 and converted to Q9.9
FloatingPoint
Flexible floating point logic representation.
FloatingPoint16
Sixteen-bit floating point representation.
FloatingPoint16Value
A representation of an FP16 floating-point value.
FloatingPoint32
Single floating point representation.
FloatingPoint32Value
A representation of a single-precision floating-point value.
FloatingPoint32ValuePopulator
A special type of FloatingPointValuePopulator that adjusts how
FloatingPoint32Value s are populated.
FloatingPoint64
Double floating point representation.
FloatingPoint64Value
A representation of a double-precision floating-point value.
FloatingPoint64ValuePopulator
A special type of FloatingPointValuePopulator that adjusts how
FloatingPoint64Value s are populated.
FloatingPoint8E4M3
Eight-bit floating point representation for deep learning: E4M3.
FloatingPoint8E4M3Value
The E4M3 representation of a 8-bit floating point value as defined in
FP8 Formats for Deep Learning .
FloatingPoint8E5M2
Eight-bit floating point representation for deep learning: E5M2.
FloatingPoint8E5M2Value
The E5M2 representation of a 8-bit floating point value as defined in
FP8 Formats for Deep Learning .
FloatingPointAdder <FpTypeIn extends FloatingPoint , FpTypeOut extends FloatingPoint >
An abstract API for floating point adders.
FloatingPointAdderConfigurator
A Configurator for FloatingPointAdder s.
FloatingPointAdderDualPath <FpTypeIn extends FloatingPoint , FpTypeOut extends FloatingPoint >
A fast adder module for variable width FloatingPoint logic signals.
FloatingPointAdderSinglePath <FpTypeIn extends FloatingPoint , FpTypeOut extends FloatingPoint >
A single-path adder implementation for FloatingPoint values.
FloatingPointBF16
Sixteen-bit BF16 floating point representation.
FloatingPointBF16Value
A representation of a BF16 floating-point value.
FloatingPointConditionalSwap <FpType extends FloatingPoint >
A module that swaps two floating point values based on a condition.
FloatingPointConverter <FpTypeIn extends FloatingPoint , FpTypeOut extends FloatingPoint >
A converter module between different FloatingPoint logic signals.
FloatingPointMultiplier <FpTypeIn extends FloatingPoint , FpTypeOut extends FloatingPoint >
An abstract API for floating-point multipliers.
FloatingPointMultiplierSimple <FpTypeIn extends FloatingPoint , FpTypeOut extends FloatingPoint >
A multiplier module for FloatingPoint logic.
FloatingPointMultiplierSimpleConfigurator
A Configurator for FloatingPointMultiplierSimple s.
FloatingPointSort <FpType extends FloatingPoint >
A module that sorts two floating point values, output the larger one
first.
FloatingPointSortByExp <FpType extends FloatingPoint >
A module that sorts two floating point values by exponent output the one
with the larger exponent first.
FloatingPointSqrt <FpType extends FloatingPoint >
An abstract API for floating point square root.
FloatingPointSqrtConfigurator
A Configurator for FloatingPointSqrt .
FloatingPointSqrtSimple <FpType extends FloatingPoint >
A square root module for FloatingPoint logic signals.
FloatingPointSwap <FpType extends FloatingPoint >
A module that swaps two floating point values.
FloatingPointTF32
TF32 floating point representation.
FloatingPointTF32Value
A representation of a TF32 floating-point value.
FloatingPointUtilities
A utility class for floating point operations.
FloatingPointValue
A flexible representation of floating point values. A FloatingPointValue
has a mantissa in [0,2) with 0 <= exponent <= maxExponent(); A value
which FloatingPointValue.isNormal has minExponent() <= exponent <= maxExponent() and a mantissa in the range of [1,2). Subnormal numbers
are represented with a zero exponent and leading zeros in the mantissa
capture the negative exponent value.
FloatingPointValuePopulator <FpvType extends FloatingPointValue >
A populator for FloatingPointValue s, a utility that can populate various
forms of FloatingPointValue s.
FloatToFixed
FloatToFixed converts a floating point input to a signed
fixed-point output following Q notation (Qm.n format) as introduced by
(Texas Instruments): (https://www.ti.com/lit/ug/spru565b/spru565b.pdf ).
Infinities and NaN's are not supported. Conversion is lossless.
The output is in two's complement and in Qm.n format where:
FloatToFixedConfigurator
A Configurator for FloatToFixed .
FullAdder
A simple full-adder with single-bit inputs a and b to be added
with a carryIn.
GatedCounter
A version of a Counter which includes ClockGate ing and ToggleGate ing
for power savings.
GeneralDotProduct
General version of the DotProductBase module that uses provided
Multiplier and Adder functions to construct the dot product computation.
GrayToBinaryConverter
A module for converting Gray code to binary representation.
GroupOfKnobs
A knob which groups together other ConfigKnob s.
HammingEccReceiver
A receiver for transmissions sent with a Hamming code for error detection
and possibly correction.
HammingEccTransmitter
A transmitter for data which generates a Hamming code for error detection
and possibly correction.
IntConfigKnob
A knob to store an int .
IntOptionalConfigKnob
A knob to store an int .
KoggeStone
KoggeStone implements the Kogge-Stone shaped ParallelPrefix tree
pattern.
LeadingDigitAnticipate
Module for predicting the number of leading digits (position of first
digit change) before the sum of the two 2s-complement numbers.
The leading digit position is either leadingDigit or leadingDigit + 1.
LeadingDigitAnticipateConfigurator
A Configurator for LeadingDigitAnticipate and LeadingZeroAnticipate .
LeadingZeroAnticipate
Module for predicting the number of leading zeros (position of leading 1)
before an addition or subtraction.
LeadingZeroAnticipateBase
Base class for leading-zero anticipate modules.
LeadingZeroAnticipateCarry
Module for predicting the number of leading zeros (position of leading 1)
before an addition or subtraction.
ListOfKnobsKnob
A knob wich holds a collection of other ConfigKnob s.
LtiCluster
Grouping of all channels.
LtiCreditDriver
A driver for credit returns on any LtiTransportInterface interface.
LtiCreditMonitor
Monitor for credits on any LTI channel.
LtiCreditPacket
Mechanism for BFM credit returns.
LtiLaChannelConfig
A config object for constructing an LTI LA channel.
LtiLaChannelDriver
Driver for the LTI LA channel interface.
LtiLaChannelInterface
Basis for all possible LA channels.
LtiLaChannelMonitor
Monitor for the LTI LA channel interface.
LtiLaChannelPacket
A packet for the LTI LA channel interface.
LtiLaChannelTracker
Tracker for the LTI LA channel.
LtiLcChannelConfig
A config object for constructing an LTI LC channel.
LtiLcChannelDriver
Driver for the LTI LC channel interface.
LtiLcChannelInterface
Basis for all possible LC channels.
LtiLcChannelMonitor
Monitor for the LTI LC channel interface.
LtiLcChannelPacket
A packet for the LTI LC channel interface.
LtiLcChannelTracker
Tracker for the LTI LC channel.
LtiLrChannelConfig
A config object for constructing an LTI LR channel.
LtiLrChannelDriver
Driver for the LTI LR channel interface.
LtiLrChannelInterface
Basis for all possible LR channels.
LtiLrChannelMonitor
Monitor for the LTI LR channel interface.
LtiLrChannelPacket
A packet for the LTI LR channel interface.
LtiLrChannelTracker
Tracker for the LTI LR channel.
LtiLtChannelConfig
A config object for constructing an LTI LT channel.
LtiLtChannelDriver
Driver for the LTI LT channel interface.
LtiLtChannelInterface
Basis for all possible LT channels.
LtiLtChannelMonitor
Monitor for the LTI LT channel interface.
LtiLtChannelPacket
A packet for the LTI LT channel interface.
LtiLtChannelTracker
Tracker for the LTI LT channel.
LtiMainClusterAgent
Wrapper agent around the LTI channels.
LtiMainLaChannelAgent
Agent component for LA channel.
LtiMainLcChannelAgent
Agent component for LC channel.
LtiMainLrChannelAgent
Agent component for LR channel.
LtiMainLtChannelAgent
Agent component for LR channel.
LtiManagementInterface
LTI Management signals.
LtiManagementMainDriver
A driver for LTI Management signals.
LtiManagementSubDriver
A driver for LTI Management signals.
LtiSubordinateClusterAgent
Wrapper agent around the LTI channels.
LtiSubordinateLaChannelAgent
Agent component for LA channel.
LtiSubordinateLcChannelAgent
Agent component for LC channel.
LtiSubordinateLrChannelAgent
Agent component for LR channel.
LtiSubordinateLtChannelAgent
Agent component for LT channel.
LtiTransportInterface
Next level in the hierarchy to handle the flow control schemes.
MaskedDataPortInterface
A DataPortInterface that supports byte-enabled strobing.
MaskRoundRobinArbiter
A RoundRobinArbiter implemented using request and grant masks.
Memory
A generic memory with variable numbers of read and write ports.
MemoryModel
A model of a Memory which uses a software-based SparseMemoryStorage to
store data.
MemoryStorage
A storage for memory models.
MultiCycleDivider
The Divider module definition.
MultiCycleDividerInterface
Internal interface to the Divider.
MultiplicandSelector
A class accessing the multiples of the multiplicand at a position.
Multiplier
An abstract class for all multiplier implementations.
MultiplierConfigurator
A Configurator for Multiplier s.
MultiplierEncoder
A class that generates the Booth encoding of the multipler.
MultiplierSelectKnob
A knob for selecting a multiplier to use in a component.
MultiplyAccumulate
An abstract class for all multiply accumulate implementations.
MultiplyOnly
A subclass of MultiplyAccumulate which ignores the third (c ) accumulate
term and applies the multiplier function.
NativeAdder
A class which wraps the native '+' operator so that it can be passed
into other modules as a parameter for using the native operation.
Note that NativeAdder is unsigned.
NativeMultiplier
A class which wraps the native '*' operator so that it can be passed
into other modules as a parameter for using the native operation.
NoneSignExtension
A range of SignExtension classes to be used in building new arithmetic
building blocks. Start with BruteSignExtension when composing new
partial product array shapes as it should work in all situations.
A Partial Product Generator using None Sign Extension
OneHotConfigurator
A Configurator for BinaryToOneHot and OneHotToBinary .
OneHotToBinary
Decodes a one-hot number into binary using a case block.
OnesComplementAdder
An adder (and subtractor) OnesComplementAdder that operates on
ones-complement values, producing a magnitude and sign.
OutputWidthSelectKnob
A knob for selecting a different width output.
ParallelPrefix
ParallelPrefix is the core parallel prefix tree structure node
The output is a List of multi-bit Logic vectors (typically 2-bit) that
represent things like carry-save or generate-propagate signaling in adder
networks. Each node in a parallel prefix tree transforms a row of inputs
to an equal length row of outputs of these multi-bit Logic values.
ParallelPrefixAdder
Adder based on ParallelPrefix tree.
ParallelPrefixAdderConfigurator
A Configurator for ParallelPrefixAdder s.
ParallelPrefixDecr
Decrementer based on ParallelPrefix tree.
ParallelPrefixIncr
Incrementer based on ParallelPrefix tree.
ParallelPrefixOrScan
Or scan based on ParallelPrefix tree.
ParallelPrefixPriorityEncoder
Priority Encoder based on ParallelPrefix tree.
ParallelPrefixPriorityFinder
Priority Finder based on ParallelPrefix tree.
ParityReceiver
Check for error & Receive data on transmitted data via parity
ParityTransmitter
Encode data to transport with Parity bits
PartialProduct
A PartialProduct module wrapping partial product array manipulation
and generation of outputs in an actual module as opposed to an inline
generator class.
PartialProductArray
A PartialProductArray is a class that holds a set of partial products
for manipulation by PartialProductGeneratorBase and column compressor.
PartialProductGenerator
A concrete base class for partial product generation
PartialProductGeneratorBase
A PartialProductGeneratorBase class that generates a set of partial
products. Essentially a set of shifted rows of Logic addends generated by
Booth recoding and manipulated by sign extension, before being compressed.
PartialProductGeneratorBruteSignExtension
A wrapper class for BruteSignExtension we used
during refactoring to be compatible with old calls.
PartialProductGeneratorCompactRectSignExtension
A wrapper class for CompactRectSignExtension we used
during refactoring to be compatible with old calls.
PartialProductGeneratorCompactSignExtension
A wrapper class for CompactSignExtension we used
during refactoring to be compatible with old calls.
PartialProductGeneratorStopBitsSignExtension
Stop-bits based sign extension
PartialProductMatrix
An module API that represents a set of partial products rows including
their shifts. This is a base class for the PartialProduct module.
PartialProductSignExtension
API for sign extension classes.
PriorityArbiter
An Arbiter which always picks the lowest-indexed request.
PriorityArbiterConfigurator
A Configurator for PriorityArbiter .
PriorityEncoder
Base class for priority encoders.
RadixEncode
A bundle for the leaf radix compute nodes. This holds the multiples
of the multiplicand that are needed for encoding.
RadixEncoder
Base interface for radix radixEncoder
ReadyValidAgent
A generic agent for ready/valid protocol.
ReadyValidMonitor
A Monitor for ready/valid protocol.
ReadyValidPacket
A packet to be transmitted over a ready/valid interface.
ReadyValidReceiverAgent
An Agent for receiving over a ready/valid protocol.
ReadyValidTracker
A tracker for a ready/valid protocol.
ReadyValidTransmitterAgent
An Agent for transmitting over a ready/valid protocol.
ReadyValidTransmitterDriver
An Agent for transmitting over a ready/valid protocol.
RecursiveModulePriorityEncoder
Priority finder based on bitwise OR operations, using a tree of modules.
RecursiveModulePriorityEncoderNode
Recursive Tree Node for Priority Encoding.
RecursivePriorityEncoder
Priority finder based on or() operations.
ReductionTree
Recursive Node for Reduction Tree
ReductionTreeGenerator
Reduction Tree Generator that produces a recursive tree computation
inline so that the operation can access global signals.
RegisterFile
A flop-based Memory .
RegisterFileConfigurator
A Configurator for RegisterFile s.
Ripple
A ripple shaped ParallelPrefix tree.
RippleCarryAdder
An RippleCarryAdder is a digital circuit used for binary addition. It
consists of a series of full adders connected in a chain, with the carry
output of each adder linked to the carry input of the next one. Starting
from the least significant bit (LSB) to most significant bit (MSB), the
adder sequentially adds corresponding bits of two binary numbers.
RippleCarryAdderConfigurator
A Configurator for RippleCarryAdder .
RotateConfigurator
A Configurator for rotation.
RotateLeft
Rotates a Logic to the left.
RotateLeftFixed
Rotates left by a fixed amount.
RotateRight
Rotates a Logic to the right.
RotateRightFixed
Rotates right by a fixed amount.
RotateRoundRobinArbiter
A RoundRobinArbiter implemented using rotations and a PriorityArbiter .
RoundRNE
A rounding class that performs rounding-nearest-even
RoundRobinArbiter
A StatefulArbiter which fairly arbitrates between requests.
RoundRobinArbiterConfigurator
A Configurator for PriorityArbiter .
RuntimeConfig
A configuration class for runtime configurations, which can be used to
dynamically configure a component at runtime.
SerializationConfigurator
A Configurator for Serializer and Deserializer .
Serializer
Serializes wide aggregated data onto a narrower serialization stream.
ShiftRegister
A shift register with configurable width and depth and optional enable and
reset.
SignBit
Store a Signbit as Logic
SignedShifter
A bit shifter that takes a positive or negative shift amount
SignMagnitudeAdder
A SignMagnitudeAdder performs addition on values in sign/magnitude
format.
SignMagnitudeAdderBase
A SignMagnitudeAdderBase performs addition on values in sign/magnitude
format.
SignMagnitudeDualAdder
A sign-magnitude adder implementation that uses two ones-complement adders
wired in opposition to compute the magnitude and sign without using internal
twos-complement addition. This will cost more area than a
SignMagnitudeAdder but will not require the caller to guarantee the order
of inputs or deal with the end-around carry and will be faster than adding
the end-around carry to get the correct sum.
SignMagnitudeValue
An immutable representation of a sign-magnitude value.
SignMagnitudeValuePopulator <SmvType extends SignMagnitudeValue >
A populator for SignMagnitudeValue s, a utility that can populate various
forms of SignMagnitudeValue s.
Sklansky
Sklansky implements the Sklansky-shaped ParallelPrefix tree pattern.
Sort
An abstract class for all sort algorithm.
SparseMemoryStorage
A sparse storage for memory models.
SpiChecker
Checker component for Serial Peripheral Interface (SPI).
SpiInterface
A standard Serial Peripheral Interface.
SpiMain
Main component for Serial Peripheral Interface (SPI).
SpiMainAgent
An agent for the main side of the SpiInterface .
SpiMainDriver
A driver for the main side of the SpiInterface .
SpiMonitor
A monitor for SpiInterface s.
SpiPacket
A packet for the SpiInterface .
SpiSub
Sub component for Serial Peripheral Interface (SPI).
SpiSubAgent
A model for the sub side of the SPI interface.
SpiSubDriver
A driver for the sub side of the SpiInterface .
SpiTracker
A tracker for SpiInterface .
StatefulArbiter
An Arbiter which holds state in order to arbitrate.
StaticOrRuntimeParameter
A general configuration class for specifying parameters that are
for both static or runtime configurations of a component feature.
StopBitsSignExtension
A StopBits Sign Extension.
StringConfigKnob
A knob for holding a String .
SubNormalAsZeroSelecKnob
Set of knobs for subnormal treatment.
Sum
Computes a sum of any number of sources with optional configuration for
widths and saturation behavior.
SumConfigurator
A configurator for Sum .
SumInterface
A PairInterface representing an amount and behavior for inclusion in a
sum or count.
SumInterfaceKnob
A knob for a single sum interface.
SummationConfigurator
A configurator for a module like SummationBase.
Synchronizer
A multi-flop synchronizer for safely crossing clock domains.
TextConfigKnob <T >
A configuration knob for use in Configurator s which can be configured by
text.
ToggleConfigKnob
A knob for holding a bool.
ToggleGate
A gate for signals to avoid toggling when not needed.
TreeOneHotToBinary
Module for binary-tree recursion for decoding one-hot.
TrivialCompoundAdder
A trivial compound adder.