Structure of a Specification
- Updated2025-11-26
- 4 minute(s) read
Learn the detailed data structure of specifications in the Specification Compliance Module (SCM).
- Properties
- Limits
- Conditions
Specification Properties
A specification has both standard properties and custom properties. Use the specification properties to identify individual specifications or group specifications into useful categories.
Standard properties are a component of every specification. The following tables lists the standard properties and their descriptions.
| Property | Description | Example |
|---|---|---|
| Spec ID | An alphanumeric string that uniquely identifies the specification in the context of a
particular product and workspace The Spec ID is the primary key that enables you to connect a specification to test results. |
Spec001 |
| Name | The name of the specification | Output Voltage |
| Category | The group to which a specification belongs When you view specifications in the Specs tab for a product, SystemLink groups the specifications by Category. |
Electrical Specifications |
| Type | The type of specification Specifications can be either PARAMETRIC or FUNCTIONAL. Parametric specifications define a set of numerical limits for product test data. Functional specifications define pass/fail criteria. |
PARAMETRIC |
| Symbol | The engineering symbol that appears in a data sheet for the
specification Use a shortened version or technical representation of the specification name. |
Vout |
| Block | The functional or architectural block of the product to which the
specification applies For example, in a system-on-chip, the block might be the micro-processor, the USB interface, or the memory subsystem. |
Amplifier |
| Unit | The SI unit of the measured values in a parametric
specification The unit can include the prefix if desired. For example, mV and V are both allowed. |
V |
| Workspace | The workspace to which the specification belongs Users can see specifications in workspaces that the users are members of. |
My Lab Workspace |
You can add custom properties and keywords after creating a specification. Custom properties and keywords help you find and group specifications. The SCM tracks the date and time of specification updates and the user who made the updates.
Specification Limits
- When the limits change, you can compare previously measured values to the new limits without re-measuring.
- Instead of hard coding limits into your test code, you can pull limits into the test code directly from the specification. The SCM enables you to reuse your test code.
| Limit Type | Description |
|---|---|
| Minimum | A measured value less than the minimum limit is out of compliance. Use minimum limits when a specification must be guaranteed. |
| Maximum | A measured value that is greater than the maximum limit is out of compliance. Use maximum limits when a specification must be guaranteed. |
| Typical | Measured values are expected to have a statistical mean that is close to the typical limit. Use typical limits to denote a typical specification. You can use typical limits with or without the minimum and maximum limits. |
Specification Conditions
Conditions are the set of parameters that are controlled by the test environment and impact the measurements. The SCM represents conditions as a list of parameters and their values. Specification conditions dictate the circumstances under which you must run a test and collect a measurement. A condition space is the set of all Cartesian combinations of parameter values. You must run a test under each of these combinations.
| Parameters | Description |
|---|---|
| Name | The name of the condition This value must match the name for the condition in your test code. |
| Unit | The SI unit for the condition The unit can include the prefix. For example, the unit can be GHz or Hz. |
| Range | A list of numeric ranges for the condition SystemLink supports a list of ranges so you can specify disjoint numeric ranges. For example, you can sweep a frequency with different step sizes in different ranges. |
| Discrete values | A list of individual values for the condition Use discrete lists in addition to ranges or independently. When you use discrete lists along with ranges, the total set of values is the combination of the ranges and the discrete values. |
The following example shows a frequency condition in GHz that a mixture of disjoint ranges and discrete values.
{
"name": "Frequency",
"value": {
"unit": "GHz",
"type": "NUMERIC",
"range": [
{ "min": 1.0, "step": 1, "max": 5.0 },
{ "min": 5.0, "step": 0.1, "max": 7.0 },
{ "min": 7.0, "step": 1, "max": 10.0 }
],
"discrete": [0.5, 10.1]
}
}| Attribute | Description |
|---|---|
| Name | The name of the condition This value must match the name for the condition in your test code. |
| Discrete values | A list of individual values for the condition String condition values must be discrete values. |
{
"name": "Operating Mode",
"value": {
"discrete": ["High Gain", "Low Gain", "Passthrough"]
}
}