基于FPGA的高层可执行模型自动验证——Kripke结构优化与生成
1. LLFSM变量与Kripke结构基础
LLFSM(Low-Level Finite State Machine)中有两个重要变量,如下表所示:
| 名称 | 类型 | 范围 | 模式 |
| ---- | ---- | ---- | ---- |
| x | std_logic | 外部 | 输入 |
| y | std_logic | 外部 | 输出 |
在S0状态的第一个小循环(OnEntry)期间,变量赋值仅发生一次。后续小循环由于S0状态的内部动作为空,将不执行任何功能。
我们可以为S0状态的第一个小循环推导部分Kripke结构。该Kripke结构假设在小循环开始时变量x的值为‘0’(逻辑低)。为了展示未优化时的状态爆炸问题,我们移除了快照语义,这与典型的UML到FPGA的转换非常接近。
下面是无快照语义时S0状态第一个小循环的Kripke结构示例:
S0
x: ‘0’
y: ‘0’
internalState: “OnEntry”
previousRinglet: “Initial”
targetState: “S0”
S0
x: ‘0’
y: ‘0’
internalState: “CheckTransition”
previousRinglet: “Initial”
targetState: “S0”
S0
x: ‘U’
y: ‘0’
internalState: “CheckTransition”
previousRinglet: “Initia
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



