Variables

Variables Top Key

The variables top key is used to specify the variables that will be globally available to be referenced elsewhere in the specification. The following is an example of the variables top key:

variables:
  version: 0.4
  GLOBAL_A: 5
  GLOBAL_B: 10

Conventionally, variables are specified with all caps and underscores. The

Special Variables

The following special variables are required in the variables top key. If no variables top key is specified, then they must be specified in the top-level container of the architecture.

These variables will be automatically propagated from parent to child components, regardless of whether they are specified in the YAML or not. The following special variables are required for all components:

  • global_cycle_seconds: The global cycle time in seconds. This attribute is used to specify the cycle time of the entire system.
    • Required in: Top-level variables or top-level parent of the architecture
    • Example: global_cycle_seconds: 1e-9
  • technology: The technology node of the component. This attribute is used to specify the technology node of the component.
    • Required in: Top-level variables or top-level parent of the architecture
    • Example: technology: "7nm"
  • n_instances: The number of instances of the component. This attribute is used to specify the number of instances of the component.
    • Required in: All components. Set to 1 if not specified.
    • Example: n_instances: 100
  • action_latency_cycles: The latency of an action in cycles. This attribute is used to specify the latency of the action in cycles.
    • Required in: Arguments of all actions. Set to 1 if not specified.
    • Example: action_latency_cycles: 10

A Complete Example