OSDN Git Service

* public snapshot of sid simulator
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / glue / hw-glue-sequence.txt
1 * Name
2   hw-glue-sequence hw-glue-sequence-1 hw-glue-sequence-2 hw-glue-sequence-8
3
4 * Synopsis
5   This component family distributes pin signals from a source to a sequence 
6   of sinks.
7
8   Attributes: num-outputs state-snapshot input
9   Pins: input output-NNN
10   Shared library: libglue.la
11   Symbol: glue_component_library
12
13 * Functionality
14  
15   - Modelling
16     * This component resembles a fan-out net in a circuit, or a very fast
17       shift register.
18     * The number of outputs is a matter of configuration.  For the "-1", "-2",
19       and "-8" family members, the num-outputs is initialized. 
20
21   - Behaviors
22     * Configuration
23       When the "num-outputs" is written-to, this
24       component adjusts its list of output pins, named "output-0",
25       "output-1", and so on.  New ones may be generated or old ones may
26       disappear.
27
28     * Data forwarding
29       Each input signal on the "input" pin is forwarded to
30       all external pins connected to the "output-0" pin, then
31       "output-1", and so on, in sequence, for all configured outputs.
32
33   - SID conventions
34     * This is a functional component.
35     * It supports state save/restore, though state is minimal (the number 
36       of outputs).
37     * It supports triggerpoints by watching the input pin and the 
38      "num-outputs" attribute.
39     * It limits recursion on the "input" pin.
40     * It presents attributes in the "pin", "setting", and "watchable" categories.
41
42 * Environment
43   - Related components
44     * This component may be used as an initialization sequencer in a
45       scenario with ordering dependencies.  See this configuration fragment:
46
47         new hw-glue-sequence reset-manager
48         new SOME_KIND_OF_CPU cpu
49         new SOME_KIND_OF_LOADER loader
50         set reset-manager num-outputs 3
51         connect-pin reset-manager input <- main running
52         connect-pin reset-manager output-0 -> cpu reset
53         connect-pin reset-manager output-1 -> loader load!
54
55     * It could be used as a central point to distribute a many-to-many
56       broadcast signal.
57
58 * SID interface reference
59   - low level:
60     * pins
61       - input | input | any | data forwarding
62       - output-NNN | output | any | data forwarding
63         See above.
64
65     * attributes
66       - state-snapshot | no category | opaque string | n/a | state save/restore
67       - num-outputs | setting, watchable | small positive number | 0 | configuration
68       - input | pin, watchable | n/a | n/a | data forwarding