111 lines
3.0 KiB
ObjectPascal
111 lines
3.0 KiB
ObjectPascal
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.
|