CIRCT 23.0.0git
Loading...
Searching...
No Matches
Classes | Functions | Variables
channel_arbiter Namespace Reference

Classes

class  ChannelArbiterListTest
 
class  ChannelArbiterTokenTest
 
class  ListChecker
 
class  TokenChecker
 
class  Top
 

Functions

 HostMux (int num_inputs, mux_pipeline_levels=None)
 
 ListProducer (int src_id, int length)
 
 TokenProducer (int count)
 

Variables

int NUM_INPUTS = 4
 
int ODD_NUM_INPUTS = 3
 
int PIPE_NUM_INPUTS = 6
 
int TOKEN_NUM_INPUTS = 5
 
int TOKENS_PER_INPUT = 8
 
 ListInto = StructType({'src': UInt(8), 'items': ListType(UInt(16))})
 
 Flit = Window.default_of(ListInto)
 
 FlitLowered = Flit.lowered_type
 
 bsp = get_bsp(sys.argv[2] if len(sys.argv) > 2 else None)
 
 s = System(bsp(Top), name="ChannelArbiterTest", output_directory=sys.argv[1])
 

Function Documentation

◆ HostMux()

channel_arbiter.HostMux ( int  num_inputs,
  mux_pipeline_levels = None 
)
A host-driven single-flit multiplexer: `num_inputs` `from_host` UInt(32)
channels muxed into a single `to_host` channel. `mux_pipeline_levels` pipelines
the selection mux tree.

Definition at line 53 of file channel_arbiter.py.

Referenced by channel_arbiter.Top.construct().

◆ ListProducer()

channel_arbiter.ListProducer ( int  src_id,
int  length 
)
A module which continuously emits back-to-back list messages of `length`
flits tagged with `src_id`. `items` counts 0..length-1 and `last` is set on
the final flit. Always valid, so two of these contend for the arbiter.

Definition at line 79 of file channel_arbiter.py.

References FlitLowered, and wrap().

Referenced by channel_arbiter.ChannelArbiterListTest.build().

◆ TokenProducer()

channel_arbiter.TokenProducer ( int  count)
Emits exactly `count` zero-width (`i0`) tokens then idles: `valid` stays
high until `count` tokens have been accepted. There is no payload -- only the
valid/ready handshake carries information.

Definition at line 191 of file channel_arbiter.py.

References wrap().

Referenced by channel_arbiter.ChannelArbiterTokenTest.build().

Variable Documentation

◆ bsp

channel_arbiter.bsp = get_bsp(sys.argv[2] if len(sys.argv) > 2 else None)

Definition at line 294 of file channel_arbiter.py.

◆ Flit

channel_arbiter.Flit = Window.default_of(ListInto)

Definition at line 49 of file channel_arbiter.py.

◆ FlitLowered

channel_arbiter.FlitLowered = Flit.lowered_type

Definition at line 50 of file channel_arbiter.py.

Referenced by ListProducer().

◆ ListInto

channel_arbiter.ListInto = StructType({'src': UInt(8), 'items': ListType(UInt(16))})

Definition at line 48 of file channel_arbiter.py.

◆ NUM_INPUTS

int channel_arbiter.NUM_INPUTS = 4

Definition at line 39 of file channel_arbiter.py.

◆ ODD_NUM_INPUTS

int channel_arbiter.ODD_NUM_INPUTS = 3

Definition at line 40 of file channel_arbiter.py.

◆ PIPE_NUM_INPUTS

int channel_arbiter.PIPE_NUM_INPUTS = 6

Definition at line 41 of file channel_arbiter.py.

◆ s

channel_arbiter.s = System(bsp(Top), name="ChannelArbiterTest", output_directory=sys.argv[1])

Definition at line 295 of file channel_arbiter.py.

◆ TOKEN_NUM_INPUTS

int channel_arbiter.TOKEN_NUM_INPUTS = 5

Definition at line 42 of file channel_arbiter.py.

◆ TOKENS_PER_INPUT

int channel_arbiter.TOKENS_PER_INPUT = 8

Definition at line 43 of file channel_arbiter.py.