API Description
Framework Signals

Overview

The Framework Signals are made up of the next_state_rec and state_reg_rec signals along with the clk and reset signals which provide a high level abstraction for the interface of a state machine. The next_state_rec signal is made up of combinatorial logic and is an input to the framework module and an output from an application module. The state_state_rec makes up the registered portion of a state machine and is an output from the framework module and an input to an application module. On every procedure call, the next_state_rec and state_reg_rec signals are the last two required parameters and any parameters appearing after state_reg_rec are optional. Application modules make extensive use of the registers available on state_reg_rec because the signals can can be read, while the combinatorial next_state_rec output signal is of little interest to a developer.

Both the next_state_rec and state_reg_rec signals are an array of records type data structure. Each index of the array, (i.e.next_state_rec(1) and state_reg_rec(1)), is taken as the resource index and is used to differentiate between groupings of hardware components. When an API call is made, the index of both the next_state_rec(1), and state_reg_rec(1) record signals are required to be the same. If a resource index is not specified, it is assumed to reference resource zero.

It should be noted that the clk and reset signals lie on the framework module side of the state machine abstraction. This means that the framework module has been designated to handle the clock and reset signals for all hardware components configured by API call. This results in a substantial reduction of lines of code and a significant time savings during development.

API Description

 state_reg_rec
 Sequential logic portion of state machine configured by procedure calls (input to application modules)
 
 next_state_rec
 Combinatorial logic portion of state machine configured by procedure calls (output from application modules)