AARCHMRS Schema 2.7.4

↚ Home

Fields.Field object

A Field defines a named field with the meaning definition of each of its known values.

object

Properties Type Description
_meta Meta
See Meta for more information.
_type
Enum
Fields.Field
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 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.

See definitions.description in Traits.HasDescription for more information.
display
  • string
  • null
Deprecated
this property is deprecated and should not be used.

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.

name
  • string
  • null

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.

  • 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.

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
  • boolean

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
Additional Properties
Not Allowed
◊ Required
Properties marked with ◊ are required properties.
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#

{
  "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
}