State Stability Examples
以下为
包含状态稳定性报告的示例,显示了状态稳定性分析中的不同行为。
示例基于图B-1所示的设计。该设计具有以下三个时钟:
•
clk1
— The only scan clock
•
clk2
— Clocks a particular non-scan flip-flop
•
reset
— Resets four non-scan flip-flops connected as a register
该设计有五个引脚(A、B、C、D和E),这些引脚在程序中使用,以具体显示状态稳定性分析。电路具有以下特性:
•引脚D具有C0引脚约束。没有其他受约束的接点。
•非扫描触发器ff00由clk1计时,并由引脚A驱动。触发器在test_setup中初始化,但在测试_setup后脉冲化时失去状态。
•非扫描触发器ff10由clk1计时,并由引脚D驱动。注意,由于引脚约束,该触发器被初始化并“卡住”(转换为TIE0)。
•非扫描触发器ff20由clk2计时并由引脚A驱动。
•非扫描触发器ff32是串行移位寄存器中的第四个触发器。寄存器中的第一个触发器是ff30,由引脚A驱动。触发器都由clk1计时,并由复位信号复位。ff32在test_setup中重置,通过第一次应用shift保持状态,但随后失去稳定性。
•一个扫描链包含三个扫描单元:sff1、sff2和sff3。
第一个(基本)示例中使用的计时器和程序如下所示:
timeplate gen_tp1 =
force_pi 0;
measure_po 10;
pulse clk1 20 10;
pulse clk2 20 10;
pulse reset 20 10;
period 40;
end;
procedure capture =
timeplate gen_tp1;
cycle =
force_pi;
measure_po;
pulse_capture_clock;
end;
end;
procedure shift =
scan_group grp1;
timeplate gen_tp1;
cycle =
force_sci;
measure_sco;
pulse clk1;
force C 0;
end;
end;
procedure test_setup =
scan_group grp1;
timeplate gen_tp1;
// First cycle, one PI event (force)
cycle =
force clk1 0;
force clk2 0;
force reset 0;
force A 0;
force B 0;
force C 0;
force D 0;
force E 0;
end;
// Second cycle, two PI events (pulse on, pulse off)
cycle =
pulse reset;
pulse clk2;