A Field defines a named field with the meaning definition of each of its known values.
| Properties | Type | Description |
|---|---|---|
| _meta | Meta |
See
Meta
for more information.
|
| _type |
|
|
| access | Traits.HasFieldAccess |
See
definitions.access in
Traits.HasFieldAccess
for more information.
|
| description | Traits.HasDescription |
Provides an architectural description of this field. You can use a dictionary that contains
If the property value is of type
See
definitions.description in
Traits.HasDescription
for more information.
|
| display |
|
The display name of the field. When null the Some architectural fields use this property, it is preferred to use the |
| name◊ |
|
The canonical name of the field. The name must be unique within this fieldset. |
| rangeset◊ | Rangeset |
A rangeset indicates the location this field appears in it's parent.
The width of the rangeset represents the width of this field.
See
Rangeset
for more information.
|
| resets | FieldResets |
The reset value that applies to this field
See
FieldResets
for more information.
|
| values | Valuesets.ValuesetAbstract |
A set of Value objects. Each object indicates one of the valid values that may be present in this field, along with a textual description of its meaning.
See
definitions.children in
Valuesets.ValuesetAbstract
for more information.
|
| volatile |
|
The volatile property indicates whether a field's value may change between different accesses, even if it does not appear to be modified. In general, it means that the field's value might be updated by the hardware. For Example:
Default
|
|
||
|
||
{
"_type": "Fields.Field",
"name": "F1",
"rangeset": [
{
"_type": "Range",
"start": 2,
"width": 4
}
],
"description": {
"_type": "Description",
"before": "A field in a register called F1",
"after": "All other values are reserved"
},
"values": {
"_type": "Valuesets.Values",
"values": [
{
"_type": "Values.Value",
"meaning": "First value",
"value": "'00'"
},
{
"_type": "Values.Value",
"meaning": "Second value",
"value": "'10'"
},
{
"_type": "Values.Value",
"meaning": "Third value",
"value": "'01'"
}
]
},
"resets": {
"_type": "FieldResets",
"domains": {
"cold": {
"_type": "Values.Value",
"value": "'00'",
"meaning": "The reset value, which resets to First value"
}
}
},
"volatile": false
}
{
"info": [
"A Field defines a named field with the meaning definition of each of its known values."
],
"properties": {
"_meta": {
"$ref": "../Meta.json"
},
"_type": {
"enum": [
"Fields.Field"
]
},
"access": {
"$ref": "../Traits/HasFieldAccess.json#/definitions/access"
},
"description": {
"$ref": "../Traits/HasDescription.json#/definitions/description",
"info": [
"Provides an architectural description of this field.",
"You can use a dictionary that contains `before` and `after` keys, where:",
[
" - The `before` key is used to define architectural information that should be rendered before the values are represented.",
" - The `after` key is used to define architectural information that should be rendered description after the values are represented."
],
[
"If the property value is of type `string`, this behaves as having a description with just the _before_ key, ",
"`before` and `after` have no architectural significance, this is just for rendering."
]
]
},
"display": {
"info": [
"The display name of the field.",
"When null the `name` property is used as the display name.",
"Some architectural fields use this property, it is preferred to use the `name` property instead."
],
"deprecated": true,
"type": [
"string",
"null"
]
},
"volatile": {
"info": [
"The volatile property indicates whether a field's value may change between different accesses, even if it does not appear to be modified. In general, it means that the field's value might be updated by the hardware.",
"For Example:",
[
"- A status register field changing value.",
"- A counter incrementing."
]
],
"default": false,
"type": "boolean"
},
"name": {
"info": [
"The canonical name of the field. The name must be unique within this fieldset."
],
"type": [
"string",
"null"
]
},
"rangeset": {
"$ref": "../Rangeset.json",
"info": [
"A rangeset indicates the location this field appears in it's parent.",
[
" - `0`: This field appears at the 0th location.",
" - `3:0`: This field is a 4 bit field spanning from the 3rd most significant bit (msb) to the 0th least significant bit (lsb) of it's parent.",
" - `5, 3:2, 0`: This field's msb is at 5th bit and lsb is at the 0th bit, with 4th bit and 1st bit not being a part of this field."
],
"The width of the rangeset represents the width of this field."
]
},
"resets": {
"$ref": "../FieldResets.json",
"info": [
"The reset value that applies to this field"
]
},
"values": {
"$ref": "../Valuesets/ValuesetAbstract.json#/definitions/children",
"info": [
"A set of __Value__ objects. Each object indicates one of the valid values that may be present in this field, along with a textual description of its meaning."
]
}
},
"required": [
"name",
"rangeset"
],
"title": "Field",
"type": "object",
"examples": [
{
"_type": "Fields.Field",
"name": "F1",
"rangeset": [
{
"_type": "Range",
"start": 2,
"width": 4
}
],
"description": {
"_type": "Description",
"before": "A field in a register called F1",
"after": "All other values are reserved"
},
"values": {
"_type": "Valuesets.Values",
"values": [
{
"_type": "Values.Value",
"meaning": "First value",
"value": "'00'"
},
{
"_type": "Values.Value",
"meaning": "Second value",
"value": "'10'"
},
{
"_type": "Values.Value",
"meaning": "Third value",
"value": "'01'"
}
]
},
"resets": {
"_type": "FieldResets",
"domains": {
"cold": {
"_type": "Values.Value",
"value": "'00'",
"meaning": "The reset value, which resets to First value"
}
}
},
"volatile": false
}
],
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false
}