hwtLib.handshaked.builder.
HsBuilder
(parent, srcInterface, name=None)[source]¶Bases: hwtLib.abstract.streamBuilder.AbstractStreamBuilder
Helper class which simplifies building of large stream paths
FifoCls
¶JoinExplicitCls
= NotImplemented¶JoinFairCls
¶JoinPrioritizedCls
¶alias of hwtLib.handshaked.joinPrioritized.HsJoinPrioritized
RegCls
¶alias of hwtLib.handshaked.reg.HandshakedReg
ResizerCls
¶alias of hwtLib.handshaked.resizer.HsResizer
SplitCopyCls
¶SplitFairCls
¶SplitPrioritizedCls
¶alias of hwtLib.handshaked.splitPrioritized.HsSplitPrioritized
SplitSelectCls
¶hwtLib.handshaked.compBase.
HandshakedCompBase
(hsIntfCls)[source]¶Bases: hwt.synthesizer.unit.Unit
__init__
(hsIntfCls)[source]¶Parameters: | hsIntfCls – class of interface which should be used as interface of this unit |
---|
hwtLib.handshaked.fifo.
HandshakedFifo
(hsIntfCls)[source]¶Bases: hwtLib.handshaked.compBase.HandshakedCompBase
Fifo for handshaked interfaces
_config
()[source]¶Configure object parameters
_declr
()[source]¶declarations
_regCls
¶alias of hwtLib.handshaked.reg.HandshakedReg
hwtLib.handshaked.intfBiDirectional.
HandshakedBiDirectional
(masterDir=<DIRECTION.OUT: 1>, asArraySize=None, loadConfig=True)[source]¶Bases: hwt.interfaces.std.Handshaked
hwt.interfaces.std.Handshaked
interface with datahwtLib.handshaked.intfBiDirectional.
HandshakedBiDirectionalAgent
(intf)[source]¶Bases: hwt.interfaces.agents.handshaked.HandshakedAgent
Simulation agent for HandshakedBiDirectional
interface
Attention: | for monitor number of items in dinData has to match with number of received items |
---|
Bases: hwtLib.handshaked.joinPrioritized.HsJoinPrioritized
Join input stream to single output stream inputs with lower number has higher priority
Priority is changing every clock If prioritized input is not sending valid data, input with lowest index and valid is used
combinational
Configure object parameters
declarations
implementations
Resolve isSelected signal flags for each input, when isSelected flag signal is 1 it means input has clearance to make transaction
Generate ack logic for selected input
Parameters: |
|
---|---|
Returns: | ack signal for this input |
hwtLib.handshaked.joinPrioritized.
HsJoinPrioritized
(hsIntfCls)[source]¶Bases: hwtLib.handshaked.compBase.HandshakedCompBase
Join input stream to single output stream inputs with lower number has higher priority
combinational
_config
()[source]¶Configure object parameters
hwtLib.handshaked.ramAsHs.
RamAsHs
[source]¶Bases: hwt.synthesizer.unit.Unit
Converter from ram port to handshaked interfaces
_config
()[source]¶Configure object parameters
_declr
()[source]¶declarations
_serializeDecision
(parentUnit, obj, isDeclaration, priv)¶Decide to serialize only objs with uniq parameters and class
Parameters: | priv – private data for this function ({frozen_params: obj}) |
---|---|
Returns: | tuple (do serialize this object, next priv) |
hwtLib.handshaked.ramAsHs.
RamHsR
(masterDir=<DIRECTION.OUT: 1>, asArraySize=None, loadConfig=True)[source]¶Bases: hwt.synthesizer.interface.Interface
_config
()[source]¶Configure object parameters
hwtLib.handshaked.reg.
HandshakedReg
(hsIntfCls)[source]¶Bases: hwtLib.handshaked.compBase.HandshakedCompBase
Register for Handshaked interface
_config
()[source]¶Configure object parameters
hwtLib.handshaked.resizer.
HsResizer
(hsIntfCls, scale, inIntfConfigFn, outIntfConfigFn)[source]¶Bases: hwtLib.handshaked.compBase.HandshakedCompBase
Resize width of handshaked interface
__init__
(hsIntfCls, scale, inIntfConfigFn, outIntfConfigFn)[source]¶Parameters: |
|
---|
_config
()[source]¶Configure object parameters
hwtLib.handshaked.splitCopy.
HsSplitCopy
(hsIntfCls)[source]¶Bases: hwtLib.handshaked.compBase.HandshakedCompBase
Clone input stream to n identical output streams transaction is made in all interfaces or none of them
combinational
_config
()[source]¶Configure object parameters
hwtLib.handshaked.splitFair.
HsSplitFair
(hsIntfCls)[source]¶Bases: hwtLib.handshaked.splitCopy.HsSplitCopy
Split input stream to outputs, select single output for every input data based on priority.
Priority is changing every clock If prioritized output is not ready, input with lowest index and ready is used
combinational
Variables: | selectedOneHot – handshaked interface with one hot encoded index of selected output |
---|
_config
()[source]¶Configure object parameters
hwtLib.handshaked.splitPrioritized.
HsSplitPrioritized
(hsIntfCls)[source]¶Bases: hwtLib.handshaked.splitCopy.HsSplitCopy
Split input stream to n output streams Data is send to output interface which is ready and has lowest index
combinational
hwtLib.handshaked.splitSelect.
HsSplitSelect
(hsIntfCls)[source]¶Bases: hwtLib.handshaked.compBase.HandshakedCompBase
Split data from input interface to output interface based on explicit output index provided by select interface
_config
()[source]¶Configure object parameters
hwtLib.handshaked.streamNode.
ExclusiveStreamGroups
[source]¶Bases: list
list of tuples (cond, StreamNode instance) Only one stream from this group can be activated at the time
hwtLib.handshaked.streamNode.
StreamNode
(masters=None, slaves=None, extraConds=None, skipWhen=None)[source]¶Bases: object
Group of stream master and slave interfaces to synchronize them to each other
Variables: |
|
---|---|
Attention: | skipWhen has higher priority |
__init__
(masters=None, slaves=None, extraConds=None, skipWhen=None)[source]¶Initialize self. See help(type(self)) for accurate signature.
ack
()[source]¶Returns: | expression which’s value is high when transaction can be made over interfaces |
---|