c

midas.targetutils.xdc

XDCAnnotation

case class XDCAnnotation(destinationFile: XDCDestinationFile, formatString: String, argumentList: ReferenceTarget*) extends Annotation with XDCAnnotationConstants with HasSerializationHints with DontTouchAllTargets with Product with Serializable

Encode a string to be emitted to an XDC file with specifiers derived from ReferenceTargets (RTs). RTs are called out in the format string using "{}" a la Python. This makes the emitted XDC more robust against the module hierarchy manipulations (such as promotion/extraction and linking) that Golden Gate performs.

For example: XDCAnnotation("get_pins -of [get_clocks {}]", clockRT)

Would eventually emit: get_pins -of [get_clocks absolute/path/to/clock]

Here the emission pass by default creates a full instance path to the reference to avoid multiple matches.

Restrictions: 1. Multiple specifiers in a string are permitted. However, to simplify emission under more complex duplication conditions, all RTs must share the same explicit root module (i.e their module parameter is the same). . 2. Specifiers currently cannot point at aggregates. This will be resolved in a future PR.

Linear Supertypes
Serializable, DontTouchAllTargets, HasDontTouches, HasSerializationHints, XDCAnnotationConstants, Annotation, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. XDCAnnotation
  2. Serializable
  3. DontTouchAllTargets
  4. HasDontTouches
  5. HasSerializationHints
  6. XDCAnnotationConstants
  7. Annotation
  8. Product
  9. Equals
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new XDCAnnotation(destinationFile: XDCDestinationFile, formatString: String, argumentList: ReferenceTarget*)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val argumentList: ReferenceTarget*
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  7. val destinationFile: XDCDestinationFile
  8. def dontTouches: Iterable[ReferenceTarget]
    Definition Classes
    DontTouchAllTargets → HasDontTouches
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. val formatString: String
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  12. def getTargets: Seq[Target]
    Definition Classes
    Annotation
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  17. def productElementNames: Iterator[String]
    Definition Classes
    Product
  18. def serialize: String
    Definition Classes
    Annotation
  19. val specifierRegex: Regex
    Definition Classes
    XDCAnnotationConstants
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def typeHints: Seq[Class[_]]
    Definition Classes
    XDCAnnotation → HasSerializationHints
  22. def update(renames: RenameMap): Seq[Annotation]
    Definition Classes
    XDCAnnotation → Annotation
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. val xdcHeader: String
    Definition Classes
    XDCAnnotationConstants

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from DontTouchAllTargets

Inherited from HasDontTouches

Inherited from HasSerializationHints

Inherited from XDCAnnotationConstants

Inherited from Annotation

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped