|
ACT Library
|
The core data type for a variable accessed in an ACT process. A variable may be an act_booleanized_var or an act_dynamic_var. The latter is used for dynamic array references, and the act_booleanized_var structure is used for all other variables. More...
#include <booleanize.h>
Public Attributes | |
| act_connection * | id |
| unsigned int | input:1 |
| unsigned int | output:1 |
| unsigned int | used:1 |
| unsigned int | ischan:1 |
| unsigned int | chanflag:2 |
| unsigned int | isint:1 |
| unsigned int | usedchp:1 |
| unsigned int | isglobal:1 |
| unsigned int | isport:1 |
| unsigned int | ischpport:1 |
| unsigned int | isfragmented:1 |
| unsigned int | width |
| unsigned int | w2 |
| short | proc_in |
| short | proc_out |
| void * | extra |
The core data type for a variable accessed in an ACT process. A variable may be an act_booleanized_var or an act_dynamic_var. The latter is used for dynamic array references, and the act_booleanized_var structure is used for all other variables.
Structures are expanded out as individual variables for normal accesses. Only dynamic references are maintained as intact structures.
A variable can be used in CHP, dataflow, HSE, and PRS bodies. The true use case will be selected by the tool that picks which level of modeling is to be used. HSE/PRS are "Boolean" modeling levels, whereas CHP/dataflow are "CHP" levels.
| unsigned int act_booleanized_var::chanflag |
flag for channels: 0 = not determined by CHP or channel definition 1 = passive receive, active send 2 = active receive, passive send
| void* act_booleanized_var::extra |
space for rent
| act_connection* act_booleanized_var::id |
unique connection id corresponding to the Booleanized variable
| unsigned int act_booleanized_var::input |
set to 1 if this is an input variable
| unsigned int act_booleanized_var::ischan |
for channel variables that have not been turned into bools!
| unsigned int act_booleanized_var::ischpport |
1 if this is in the chp port list, and isn't omitted; won't be set for black box processes
| unsigned int act_booleanized_var::isfragmented |
1 if this is a user-defined data/channel type that is fragmented
| unsigned int act_booleanized_var::isglobal |
is this a global variable flag
| unsigned int act_booleanized_var::isint |
for built-in int variables that have not been turned into bools!
| unsigned int act_booleanized_var::isport |
1 if this is in the port list, and isn't omitted; won't be set for black box processes
| unsigned int act_booleanized_var::output |
set to 1 if this is an output variable
| short act_booleanized_var::proc_in |
| short act_booleanized_var::proc_out |
which of the top-level parallel blocks is an in/out, when a channel is used in both contexts within a chp block
| unsigned int act_booleanized_var::used |
used flag for prs/hse
| unsigned int act_booleanized_var::usedchp |
used flag for CHP mode
| unsigned int act_booleanized_var::w2 |
bit-width for bidirectional channel ack
| unsigned int act_booleanized_var::width |
bit-width for chan/int