在我的设计中,我有一个N全局变量和一个方法,该方法根据状态将上述参数中的一些作为参数。
我可以通过引用传递全局变量作为参数吗?
本论文在结论部分明确指出
“传递自旋的引用参数的特殊形式不支持”
还有其他方法可以做到这一点吗?(即传递变量名)
结构如下
bit varA = 1;
bit varB = 1;
bit varC = 1;
proctype AProcess(bit AVar){
/* enter_crit_section */
/* change global varN */
/* exit_crit_section */
}
init {
run AProcess(varA)
run AProcess(varB)
run AProcess(varC)
}例如,我无法使用P.S.:
mtype = { A, B, C }
...
proctype AProcess(bit AVar; mtype VAR)
...
run AProcess(varA, A)然后检查传递了哪个变量,因为AProcess 无法知道是否存在其他变量。
发布于 2014-11-20 23:21:49
将变量放入数组中,然后传递数组索引。类似于:
// A type to identify VARs; we pass these values to simulate 'by reference'
#define var_id byte
// A VAR
typedef var_struct
{
bit val; // The var's value
};
#define VAR_COUNT 3
// allocate the VARs
var_struct var_array [VAR_COUNT];
// Access the value for VAR (based on var_t
#define VAR_VAL(id) var_array[(id)].valhttps://stackoverflow.com/questions/26991254
复制相似问题