.checkwhich is followed by shell commands. The header block in the old format is terminated with a line containing only the string
.controlwhich also begins the control statement block.
In the new format, the first line of the file is taken to be a title line and is otherwise ignored, consistent with other types of input files for WRspice. The header statements are found within a block which starts with a line containing only the string
.execand ends with a line containing only the string
.endcin other words, a standard .exec block. The comment prefix *@ can also be used to enter header block text, as in described in 2.10.1. The new format file for margin analysis should also contain a line with only the string
.checksomewhere in the text. Unlike the old format, the ordering of the .exec block and the .check line is unimportant.
The lines in the header block initialize internally defined variables. The variables are those listed above as user-set, including the checkiterate shell variable. Variables which are not used (such as those for variable 2 in a one dimensional case) can be ignored.
An example header is given below:
Old format:
.check
compose checkPNTS values 50p 100p 150p 200p
checkVAL1 = 12
checkDEL1 = .5
checkSTP1 = 5
checkVAL2 = .5
checkDEL2 = .1
checkSTP2 = 2
New format:
* Title for this file
.check
.exec
compose checkPNTS values 50p 100p 150p 200p
checkVAL1 = 12
checkDEL1 = .5
checkSTP1 = 5
checkVAL2 = .5
checkDEL2 = .1
checkSTP2 = 2
.endc
The variables checkFAIL, checkSTP1, and checkSTP2 are integers. The other variables are real, except for checkPNTS which is a real vector.
The header block can also be supplied as a bound codeblock. This is accomplished, for example, with the command
codeblock -abe filenamewhere filename is the name of a file which contains the statements to be used in the header block. If an .exec codeblock is bound to the circuit, the bound block is executed rather than any locally specified header block.