public class SCSettings
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
java.lang.String |
commonHeaderFile |
java.lang.String |
libName |
double |
vdd |
Constructor and Description |
---|
SCSettings() |
Modifier and Type | Method and Description |
---|---|
LibData.Group |
getLibrary()
Get a Liberty Data Group that is the Library with
all settings used for this characterization.
|
void |
getSettingsFromLibData(LibData data)
Set the settings of this object from some liberty data
|
double |
getVdd()
Get Vdd setting
|
void |
scaleLoadSweepWithXSize(boolean b)
Set true to scale the load parameters by the XSize of the gate.
|
void |
setBufferCell(java.lang.String cellname,
java.lang.String strengthParam,
java.lang.String inputPort,
java.lang.String outputPort)
Set the buffer cell used to drive the input.
|
void |
setClk2QPushOut(double ps)
For simple setup sequential characterization mode, set the amount
of clk2q push out (degredation) that defines the setup time.
|
void |
setClkBufferCell(java.lang.String cellname,
java.lang.String strengthParam,
java.lang.String inputPort,
java.lang.String outputPort)
Set the clock buffer cell used to drive the clock pin input
(and clock false input if specified on the arc).
|
void |
setClkBufferSize(java.lang.String size)
Set the clock buffer size.
|
void |
setClkBufferSizeMinTime(java.lang.String size)
Set the clock buffer size for min time.
|
void |
setCommonHeaderFile(java.lang.String pathandname)
Set the common header file to be included in all characterization netlists.
|
void |
setHoldTimeGlitchPercentages(double high,
double low)
Set the percentages of vdd at which the hold test considers the signal
to be glitched - high for a glitch on vdd, and low for a glitch on gnd.
|
void |
setInputBufferSweep(java.lang.String sweep)
Set the input buffer sweep.
|
void |
setInputBufferSweepExcludeFromAveraging(java.lang.String values)
Set the values of the buffer cell sweep to
ignore for clock-to-Q times.
|
void |
setInputBufferSweepMinTime(java.lang.String sweep)
Set the input buffer sweep for min time.
|
void |
setInputRampTimePS(double inputRampTimePS)
Set the ramp time used by input and clock edges of
PWL voltage sources used to drive input and clock
buffers.
|
void |
setInputThresholds(double low,
double high,
double delay)
Set the input low, high, and delay measurement thresholds,
as a percentage of vdd.
|
void |
setLibrary(java.lang.String libName)
Set the name of library.
|
void |
setLoadCell(java.lang.String cellname,
java.lang.String strengthParam,
java.lang.String loadPort)
Set the load cell used to load the output of the test cell.
|
void |
setLoadSweep(java.lang.String sweep)
Set the load cell sweep.
|
void |
setLoadSweepExcludeFromAveraging(java.lang.String values)
Set the values of the load cell sweep to exclude from the calculation of
setup and hold times.
|
void |
setLoadSweepForSetupHold(java.lang.String sweep)
Set the load cell sweep for setup and hold, otherwise
it defaults to whatever you set for the normal load cell sweep
(used for clk2q in sequential tests).
|
void |
setLoadSweepForSetupHoldMinTime(java.lang.String sweep)
Set the load cell sweep for setup and hold (min time), otherwise
it defaults to whatever you set for the normal load cell sweep
(used for clk2q in sequential tests).
|
void |
setLoadSweepMinTime(java.lang.String sweep)
Set the load cell sweep for min time.
|
void |
setOperatingPoint(java.lang.String name,
double vdd,
double temp)
Set VDD for the simulation
|
void |
setOutputThresholds(double low,
double high,
double delay)
Set the output low, high, and delay measurement thresholds,
as a percentage of vdd.
|
void |
setSetupTimeRangePS(double low,
double guess,
double high)
Set the setup time range when doing sequential characterization.
|
void |
setSimpleSequentialCharacterization(boolean b)
Set the setup, hold, and clock-2-q characterization to simple mode.
|
void |
setSimulationTime(double resolutionPS,
double durationPS)
Set the time the simulation will run, and the resolution in ps.
|
void |
setSimulator(java.lang.String pathandname)
Set the simulator (typically hspice).
|
public java.lang.String libName
public java.lang.String commonHeaderFile
public double vdd
public void setSimulator(java.lang.String pathandname)
pathandname
- full path to executablepublic void setCommonHeaderFile(java.lang.String pathandname)
pathandname
- full path to filepublic void setOperatingPoint(java.lang.String name, double vdd, double temp)
name
- a name of this operating pointvdd
- the voltagetemp
- the temperaturepublic double getVdd()
public void setLibrary(java.lang.String libName)
libName
- name of librarypublic void setBufferCell(java.lang.String cellname, java.lang.String strengthParam, java.lang.String inputPort, java.lang.String outputPort)
cellname
- the name of the subcktstrengthParam
- the name of the strength parameterinputPort
- the name of the input portoutputPort
- the name of the output portpublic void setClkBufferCell(java.lang.String cellname, java.lang.String strengthParam, java.lang.String inputPort, java.lang.String outputPort)
cellname
- the name of the subcktstrengthParam
- the name of the strength parameterinputPort
- the name of the input portoutputPort
- the name of the output portpublic void setLoadCell(java.lang.String cellname, java.lang.String strengthParam, java.lang.String loadPort)
cellname
- the name of the subcktstrengthParam
- the name of the strength parameterloadPort
- the name of the load portpublic void setSimulationTime(double resolutionPS, double durationPS)
resolutionPS
- the resolution in psdurationPS
- the duration in pspublic void setInputBufferSweep(java.lang.String sweep)
sweep
- the list of strengths to sweeppublic void setInputBufferSweepMinTime(java.lang.String sweep)
sweep
- the list of strengths to sweeppublic void setLoadSweep(java.lang.String sweep)
sweep
- the list of strengths to sweeppublic void setLoadSweepMinTime(java.lang.String sweep)
sweep
- the list of strengths to sweeppublic void setLoadSweepForSetupHold(java.lang.String sweep)
sweep
- the list of strengths to sweeppublic void setLoadSweepForSetupHoldMinTime(java.lang.String sweep)
sweep
- the list of strengths to sweeppublic void scaleLoadSweepWithXSize(boolean b)
b
- true to scale by XSize, false (default) otherwisepublic void setClkBufferSize(java.lang.String size)
size
- the size of the clock bufferpublic void setClkBufferSizeMinTime(java.lang.String size)
size
- the size of the clock bufferpublic void setInputThresholds(double low, double high, double delay)
low
- low level threshold (usually 0.2)high
- high level threshold (usually 0.8)delay
- delay level threshold (usually 0.5)public void setOutputThresholds(double low, double high, double delay)
low
- low level threshold (usually 0.2)high
- high level threshold (usually 0.8)delay
- delay level threshold (usually 0.5)public void setInputRampTimePS(double inputRampTimePS)
inputRampTimePS
- the edge rate, 0 to 100%, in ps.public void setSetupTimeRangePS(double low, double guess, double high)
low
- minimum possible value (typically 0 or negative)guess
- a guess as to the actual value (though it will vary wrt to input drive strength)high
- maximum possible valuepublic void setInputBufferSweepExcludeFromAveraging(java.lang.String values)
The string passed in should be a space separated set of values, such as "1 2 3 4".
values
- the values to excludepublic void setLoadSweepExcludeFromAveraging(java.lang.String values)
The string passed in should be a space separated set of values, such as "1 2 3 4".
values
- the values to excludepublic void setSimpleSequentialCharacterization(boolean b)
b
- true to set to simple modepublic void setClk2QPushOut(double ps)
ps
- the amount of push out in pspublic void setHoldTimeGlitchPercentages(double high, double low)
high
- the high value glitch (eg 0.8 for 80% of vdd)low
- the low value glitch (eg 0.2 for 20% of vdd)public LibData.Group getLibrary()
public void getSettingsFromLibData(LibData data)
data
-