In SFL you can directly describe the operations in the procedure of the control flow as they are; for example: "Add together the content of register A and the content of register B, and write the result into register C,..." Therefore, as in a sentence, module elements can be classified into the "subject", which controls, and the "object", which is controlled. More generally , one is the subject of operation and the other is the object of operation.
Control terminals and stages are "subjects of operation" while data terminals and registers are "objects of operation"
All operations of data relay and processing, including referencing of a value, arithmetic operation, writing of data into a register and memory, and output to a data terminal, are "executed by the control of control terminals and stages." Therefore, control terminals and stages are subjects of operation. On the other hand, registers, memory and data terminals are "elements that are controlled" and are therefore objects of operation.
When a control terminal or a stage is activated by a subject of operation, it operates according to the way it is defined
Operation and status of stage
Control terminal operation is completed within the activated machine cycle (time from one clock pulse to another). On the other hand, stage operation continues over multiple machine cycles.
A register is provided to indicate that the stage is in operation. This register is called a task register. This can be described as follows:
"A stage initiates its operation when a stage task is set. Once the operation is activated, the stage continues to operate over multiple machine cycles until the task is reset."
A stage task is set when it receives a job generated or a job relayed by a subject of operation and is reset when the job of the stage itself is relayed to another or the job is completed. That is, a stage is activated when the task is set. Table 3.1 lists methods of activating control terminals and stages.
<Table 3.1> Activation of subjects of operation
Stage operation over multiple machine cycles is described in "multiple states and state transitions." A stage state is stored in a state register. State transition means "update of the state register." When a stage is made inactive (task is reset), its state does not change. The stage restarts with the state that was held when it last became inactive.
Like a software sub-routine, several stage states can be collectively handled as a segment. A segment is a set of states and state transitions that retains the return state so that it can return to its previous state even if it derived from multiple states.
When the control terminal and stage are activated, they can receive supplementary information as arguments.
Back to the Home Page