hw-glue-bus-mux (libglue.la :: glue_component_library)

Synopsis:

This component provides switchable access from one bus to two separate accessors.


Functionality:

Modelling:

This component is a bus multiplexer with one input bus, two output accessors, and a switch to alternate between them.

Behaviors
initialization

At start-up, the single input bus, "upstream", is tied by default to "downstream1".

switching

When the switch pin is driven with the value 0, the output accessor will be downstream1. When the switch pin is driven with the value 1, the output accessor will be downstream2. The switch pin can be driven any number of times, each time causing the corresponding output to be selected. If the switch pin is driven with a value other than 0 or 1, then subsequent accesses to the input bus, upstream, will return sid::bus::unmapped.

bus traffic

Input to the upstream bus is passed on to the current output accessor: either downstream1 or downstream2.

SID Conventions
functional supported

This is a functional component.

presentation supported

This component presents one attribute in the "pin" category.


Environment:

Related components

This component may be used as to implement a multiplexer by combining two bus-mux components with the same accessors in the opposite order. For example:

	new hw-glue-bus-mux bus-mux1
	new hw-glue-bus-mux bus-mux2
        connect-bus cpu data-memory-x bus-mux1 upstream
        connect-bus coprocessor data-memory-x bus-mux2 upstream
        connect-bus bus-mux1 downstream1 data-memory-x1 read-write-port
        connect-bus bus-mux1 downstream2 data-memory-x2 read-write-port
        connect-bus bus-mux2 downstream1 data-memory-x2 read-write-port
        connect-bus bus-mux2 downstream2 data-memory-x1 read-write-port
	connect-pin cpu memory-x-ctl bus-mux1 switch
        connect-pin cpu memory-x-ctl bus-mux2 switch


Component Reference:

Component: hw-glue-bus-mux

pins
namedirectionlegalvaluesbehaviors
switchin0 or non-zeroswitching

buses
nameaddressesaccessesbehaviors
upstreamunrestrictedunrestrictedbus traffic

attributes
namecategorylegal valuesdefault valuebehaviors
switchpin--switching

accessors
nameaccessesbehaviors
downstream1unrestrictedbus traffic
downstream2unrestrictedbus traffic