primitive mydff (q, notifier, clk, d, unstable);
output q;
reg q;
input notifier, clk, d, unstable; //stable on 0 1, unstable on transition
table
// n clk d un q q+(next)
* ? ? ? : ? : x; // 当表示timing violation的notifier发生变化,结果一定是x
? (x1) 0 0 : ? : 0; // 时钟上升沿 锁存
? (x1) 1 0 : ? : 1; // 时钟上升沿 锁存
? (x1) 0 1 : 0 : 0; // 时钟上升沿 锁存
? (x1) 1 1 : 1 : 1; // 时钟上升沿 锁存
? (x1) ? x : ? : -; //不变
? (bx) 0 ? : 0 : -; //无上升沿,不变
? (bx) 1 ? : 1 : -; //无上升沿,不变
? (x0) b ? : ? : -; //无上升沿,不变
? (x0) ? x : ? : -; //无上升沿,不变
? (01) 0 ? : ? : 0; // 时钟上升沿 锁存
? (01) 1 ? : ? : 1; // 时钟上升沿 锁存
? (10) ? ? : ? : -; //无上升沿,不变
? b * ? : ? : -; //无上升沿,不变
? ? ? * : ? : -; //不稳定,不变
endtable
endprimitive
0 : 逻辑0
1: 逻辑1
x: 不定态
?: 0,1,x遍历
b: 0,1 遍历
-: 无变化
(vw) : 从v变成w