Packages

o

firrtl

Utils

object Utils extends LazyLogging

Source
Utils.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Utils
  2. LazyLogging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class DeclarationNotFoundException(msg: String) extends FirrtlUserException with Product with Serializable
  2. type NodeMap = HashMap[String, Expression]

    Maps node name to value

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 BoolType: UIntType
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  7. def create_exps(e: Expression): Seq[Expression]
  8. def create_exps(n: String, t: Type): Seq[Expression]
  9. def dec2string(v: BigDecimal): String
  10. def diff(e1: Expression, e2: Expression): Seq[(Expression, Expression)]

    Walks two expression trees and returns a sequence of tuples of where they differ

  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def error(str: String, cause: Throwable = null): Nothing
  14. def expandPrefixes(name: String, prefixDelim: String = "_"): Seq[String]

    Expand a name into its prefixes, e.g., 'foo_barbaz' becomes 'Seq[foo_, foo_bar, foo_barbaz]'. This can be used to produce better names when generating prefix unique names.

    Expand a name into its prefixes, e.g., 'foo_barbaz' becomes 'Seq[foo_, foo_bar, foo_barbaz]'. This can be used to produce better names when generating prefix unique names.

    name

    a signal name

    prefixDelim

    a prefix delimiter (default is "_")

    returns

    the signal name and any prefixes

  15. def expandRef(e: Expression): Seq[Expression]

    Like create_exps, but returns intermediate Expressions as well

  16. def field_flip(v: Type, s: String): Orientation
  17. def field_type(v: Type, s: String): Type
  18. def flow(e: Expression): Flow
  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def getDeclaration(m: Module, expr: Expression): IsDeclaration

    Gets the root declaration of an expression

    Gets the root declaration of an expression

    m

    the firrtl.ir.Module to search

    expr

    the firrtl.ir.Expression that refers to some declaration

    returns

    the firrtl.ir.IsDeclaration of expr

    Exceptions thrown

    DeclarationNotFoundException if no declaration of expr is found

  21. def getKids(e: Expression): Seq[Expression]

    Returns children Expressions of e

  22. def getSIntWidth(s: BigInt): Int
  23. def getThrowable(maybeException: Option[Throwable], first: Boolean): Throwable

    Unwind the causal chain until we hit the initial exception (which may be the first).

    Unwind the causal chain until we hit the initial exception (which may be the first).

    maybeException

    - possible exception triggering the error,

    first

    - true if we want the first (eldest) exception in the chain,

    returns

    first or last Throwable in the chain.

  24. def getUIntWidth(u: BigInt): Int
  25. def get_field(v: Type, s: String): Field
  26. def get_flow(p: Port): Flow
  27. def get_flow(s: Statement): Flow
  28. def get_info(s: Statement): Info
  29. def get_point(e: Expression): Int
  30. def get_size(t: Type): Int
  31. def get_valid_points(t1: Type, t2: Type, flip1: Orientation, flip2: Orientation): Seq[(Int, Int)]
  32. def hasFlip(t: Type): Boolean

    Returns true if t, or any subtype, contains a flipped field

    Returns true if t, or any subtype, contains a flipped field

    t

    type firrtl.ir.Type to be checked

    returns

    if t contains firrtl.ir.Flip

  33. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  34. def indent(str: String): String

    Indent the results of ir.FirrtlNode.serialize

  35. def inline(nodeMap: NodeMap, stop: (String) ⇒ Boolean = x: String => false)(e: Expression): Expression

    Returns an inlined expression (replacing node references with values), stopping on a stopping condition or until the reference is not a node

  36. def isBitExtract(expr: Expression): Boolean

    Returns true if Expression is a Bits PrimOp, false otherwise

  37. def isBitExtract(op: PrimOp): Boolean

    Returns true if PrimOp is a BitExtraction, false otherwise

  38. def isCast(expr: Expression): Boolean

    Returns true if Expression is a casting PrimOp, false otherwise

  39. def isCast(op: PrimOp): Boolean

    Returns true if PrimOp is a cast, false otherwise

  40. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  41. def isTemp(str: String): Boolean
  42. def kind(e: Expression): Kind
  43. val logger: Logger
    Attributes
    protected
    Definition Classes
    LazyLogging
  44. def max(a: BigInt, b: BigInt): BigInt
  45. def mergeRef(root: Expression, body: Expression): Expression

    Adds a root reference to some SubField/SubIndex chain

  46. def min(a: BigInt, b: BigInt): BigInt
  47. def module_type(m: DefModule): BundleType
  48. def mux_type(t1: Type, t2: Type): Type
  49. def mux_type(e1: Expression, e2: Expression): Type
  50. def mux_type_and_widths(t1: Type, t2: Type): Type
  51. def mux_type_and_widths(e1: Expression, e2: Expression): Type
  52. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  53. def niceName(depth: Int)(e: Expression): String
  54. def niceName(e: Expression): String

    Provide a nice name to create a temporary *

  55. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  56. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  57. val one: UIntLiteral
  58. def pow_minus_one(a: BigInt, b: BigInt): BigInt
  59. def splitRef(e: Expression): (WRef, Expression)

    Splits an Expression into root Ref and tail

    Splits an Expression into root Ref and tail

    Examples:
    1. Given: SubField(SubIndex(SubField(Ref("a", UIntType(IntWidth(32))), "b"), 2), "c") Returns: (Ref("a"), SubField(SubIndex(Ref("b"), 2), "c")) a.b[2].c -> (a, b[2].c)

    2. ,
    3. Given: SubField(SubIndex(Ref("b"), 2), "c") Returns: (Ref("b"), SubField(SubIndex(EmptyExpression, 2), "c")) b[2].c -> (b, EMPTY[2].c)

    Note

    This function only supports WRef, WSubField, and WSubIndex

  60. def squashEmpty(s: Statement): Statement

    Removes all firrtl.ir.EmptyStmt statements and condenses firrtl.ir.Block statements.

  61. def sub_type(v: Type): Type
  62. def swap(f: Orientation): Orientation
  63. def swap(d: Direction): Direction
  64. def swap(g: Flow): Flow
  65. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  66. def throwInternalError(message: String = "", exception: Option[Exception] = None): Nothing

    Throw an internal error, possibly due to an exception.

    Throw an internal error, possibly due to an exception.

    message

    - possible string to emit,

    exception

    - possible exception triggering the error.

  67. def time[R](block: ⇒ R): (Double, R)
  68. def times(f1: Orientation, f2: Orientation): Orientation
  69. def times(flip: Orientation, g: Flow): Flow
  70. def times(g: Flow, flip: Orientation): Flow
  71. def times(d: Direction, g: Flow): Direction
  72. def times(g: Flow, d: Direction): Direction
  73. def times(d: Direction, flip: Orientation): Direction
  74. def toString(): String
    Definition Classes
    AnyRef → Any
  75. def toTarget(main: String, module: String)(expression: Expression): ReferenceTarget
  76. implicit def toWrappedExpression(x: Expression): WrappedExpression
  77. def to_dir(g: Flow): Direction
  78. def to_flip(g: Flow): Orientation
  79. def to_flip(d: Direction): Orientation
  80. def to_flow(d: Direction): Flow
  81. def trim(v: BigDecimal): BigDecimal
  82. val v_keywords: Set[String]
  83. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  84. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  85. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  86. val zero: UIntLiteral

Deprecated Value Members

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

    (Since version ) see corresponding Javadoc for more information.

  2. def get_flip(t: Type, i: Int, f: Orientation): Orientation
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) get_flip is fundamentally slow, use to_flip(flow(expr))

Inherited from LazyLogging

Inherited from AnyRef

Inherited from Any

Ungrouped