unit jtag.svfAstRuntest; interface uses jtag.svfAstNode; type TsvfAstRuntest = class( TsvfAstNode) private fAllowData : boolean; public RunClock : AnsiString; RunCount : AnsiString; MinTime : AnsiString; MaxTime : AnsiString; RunState : byte; EndState : byte; public constructor Create; function AsText: AnsiString; override; public procedure BeginData; procedure EndData; end; implementation uses jtag.svfProgram; { TsvfAstRuntest } // @@@: Constructor/destructor ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // Constructor/destructor // // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ====================================================================================== // Constructor // ====================================================================================== constructor TsvfAstRuntest.Create; begin inherited; fAllowData := false; RunClock := 'TCK'; RunCount := ''; MinTime := ''; MaxTime := ''; RunState := 1; EndState := $FF; end; // ====================================================================================== // BeginData // ====================================================================================== procedure TsvfAstRuntest.BeginData; begin fAllowData := true; end; // ====================================================================================== // EndData // ====================================================================================== procedure TsvfAstRuntest.EndData; begin fAllowData := false; end; // ================================================================================================ // As Text // ================================================================================================ function TsvfAstRuntest.AsText: AnsiString; begin result := 'RUNTEST'; if RunClock <> ''then result := result +' '+ RunCount +' '+ RunClock; if MinTime <> '' then result := result +' '+ MinTime +' SEC'; if MaxTime <> '' then result := result +' MAXIMUM '+ MaxTime +' SEC'; if EndState <> $FF then begin result := result +' ENDSTATE '; case EndState of stRESET : result := result +'RESET'; stIDLE : result := result +'IDLE'; stDRPAUSE : result := result +'DRPAUSE'; stIRPAUSE : result := result +'IRPAUSE'; else result := result +'InVaLiD'; end; end; result := result +';' +#13#10#13#10; end; end.