Object

firrtl

Utils

Related Doc: package firrtl

Permalink

object Utils extends LazyLogging

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 FIRRTLException with Product with Serializable

    Permalink
  2. type NodeMap = HashMap[String, Expression]

    Permalink

    Maps node name to value

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val BoolType: UIntType

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def ceilLog2(x: BigInt): Int

    Permalink
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def create_exps(e: Expression): Seq[Expression]

    Permalink
  9. def create_exps(n: String, t: Type): Seq[Expression]

    Permalink
  10. def diff(e1: Expression, e2: Expression): Seq[(Expression, Expression)]

    Permalink

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

  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def error(str: String, cause: Throwable = null): Nothing

    Permalink
  14. def expandPrefixes(name: String, prefixDelim: String = "_"): Seq[String]

    Permalink

    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 field_flip(v: Type, s: String): Orientation

    Permalink
  16. def field_type(v: Type, s: String): Type

    Permalink
  17. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def gender(e: Expression): Gender

    Permalink
  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. def getDeclaration(m: Module, expr: Expression): IsDeclaration

    Permalink

    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]

    Permalink

    Returns children Expressions of e

  22. def getThrowable(maybeException: Option[Throwable], first: Boolean): Throwable

    Permalink

    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.

  23. def get_field(v: Type, s: String): Field

    Permalink
  24. def get_flip(t: Type, i: Int, f: Orientation): Orientation

    Permalink
  25. def get_gender(p: Port): Gender

    Permalink
  26. def get_gender(s: Statement): Gender

    Permalink
  27. def get_info(s: Statement): Info

    Permalink
  28. def get_point(e: Expression): Int

    Permalink
  29. def get_size(t: Type): Int

    Permalink
  30. def get_valid_points(t1: Type, t2: Type, flip1: Orientation, flip2: Orientation): Seq[(Int, Int)]

    Permalink
  31. def hasFlip(t: Type): Boolean

    Permalink

    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

  32. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  33. def indent(str: String): String

    Permalink

    Indent the results of ir.FirrtlNode.serialize

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

    Permalink

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

  35. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  36. def isTemp(str: String): Boolean

    Permalink
  37. def kind(e: Expression): Kind

    Permalink
  38. val logger: Logger

    Permalink
    Definition Classes
    LazyLogging
  39. def max(a: BigInt, b: BigInt): BigInt

    Permalink
  40. def mergeRef(root: Expression, body: Expression): Expression

    Permalink

    Adds a root reference to some SubField/SubIndex chain

  41. def min(a: BigInt, b: BigInt): BigInt

    Permalink
  42. def module_type(m: DefModule): Type

    Permalink
  43. def mux_type(t1: Type, t2: Type): Type

    Permalink
  44. def mux_type(e1: Expression, e2: Expression): Type

    Permalink
  45. def mux_type_and_widths(t1: Type, t2: Type): Type

    Permalink
  46. def mux_type_and_widths(e1: Expression, e2: Expression): Type

    Permalink
  47. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  48. def niceName(depth: Int)(e: Expression): String

    Permalink
  49. def niceName(e: Expression): String

    Permalink

    Provide a nice name to create a temporary *

  50. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  51. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  52. val one: UIntLiteral

    Permalink
  53. def pow_minus_one(a: BigInt, b: BigInt): BigInt

    Permalink
  54. def splitRef(e: Expression): (WRef, Expression)

    Permalink

    Splits an Expression into root Ref and tail

    Splits an Expression into root Ref and tail

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

    2. ,
    3. 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)

    Note

    This function only supports WRef, WSubField, and WSubIndex

  55. def squashEmpty(s: Statement): Statement

    Permalink

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

  56. def sub_type(v: Type): Type

    Permalink
  57. def swap(f: Orientation): Orientation

    Permalink
  58. def swap(d: Direction): Direction

    Permalink
  59. def swap(g: Gender): Gender

    Permalink
  60. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  61. def throwInternalError(message: String = "", exception: Option[Exception] = None): Nothing

    Permalink

    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.

  62. def times(f1: Orientation, f2: Orientation): Orientation

    Permalink
  63. def times(flip: Orientation, g: Gender): Gender

    Permalink
  64. def times(g: Gender, flip: Orientation): Gender

    Permalink
  65. def times(d: Direction, g: Gender): Direction

    Permalink
  66. def times(g: Gender, d: Direction): Direction

    Permalink
  67. def times(d: Direction, flip: Orientation): Direction

    Permalink
  68. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  69. implicit def toWrappedExpression(x: Expression): WrappedExpression

    Permalink
  70. def to_dir(g: Gender): Direction

    Permalink
  71. def to_flip(g: Gender): Orientation

    Permalink
  72. def to_flip(d: Direction): Orientation

    Permalink
  73. def to_gender(d: Direction): Gender

    Permalink
  74. val v_keywords: Set[String]

    Permalink
  75. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  76. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  77. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  78. val zero: UIntLiteral

    Permalink

Inherited from LazyLogging

Inherited from AnyRef

Inherited from Any

Ungrouped