ClockPropagator ClockPropagator Icon

ClockPropagator

EXPERIMENTAL: a way to connect clocks of two signals but not their values.

May be replaced soon with a Dyad language clock connector feature. Clock-agnostic.

Usage

DiscreteComponents.ClockPropagator()

Connectors

  • u - This connector represents a real signal as an input to a component (RealInput)
  • y - This connector represents a real signal as an input to a component (RealInput)

Variables

NameDescriptionUnits
dummy

Behavior

Behavior of this component cannot be rendered because it includes path variables.

Source

"""
EXPERIMENTAL: a way to connect clocks of two signals but not their values.  

May be replaced soon with a Dyad language clock connector feature.
Clock-agnostic.
"""
component ClockPropagator@[input clk]
  u = RealInput@[clk]() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": -50, "y1": 100, "x2": 50, "y2": 200, "rot": 0}
      },
      "tags": []
    }
  }
  y = RealInput@[clk]() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": -50, "y1": 800, "x2": 50, "y2": 900, "rot": 0}
      },
      "tags": []
    }
  }
  variable dummy::Real
relations
  initial dummy = 0.1
  dummy = ifelse(u < y, 0.1, 0.1)
metadata {
  "Dyad": {
    "icons": {"default": "dyad://DiscreteComponents/ClockPropagator.svg"},
    "doc": {"behavior": false}
  }
}
end
Flattened Source
"""
EXPERIMENTAL: a way to connect clocks of two signals but not their values.  

May be replaced soon with a Dyad language clock connector feature.
Clock-agnostic.
"""
component ClockPropagator
  u = RealInput@[clk]() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": -50, "y1": 100, "x2": 50, "y2": 200, "rot": 0}
      },
      "tags": []
    }
  }
  y = RealInput@[clk]() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": -50, "y1": 800, "x2": 50, "y2": 900, "rot": 0}
      },
      "tags": []
    }
  }
  variable dummy::Real
relations
  initial dummy = 0.1
  dummy = ifelse(u < y, 0.1, 0.1)
metadata {
  "Dyad": {
    "icons": {"default": "dyad://DiscreteComponents/ClockPropagator.svg"},
    "doc": {"behavior": false}
  }
}
end


Test Cases

No test cases defined.