summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3/BoolFactory.scala
blob: bccd6414f32f163bcaff87409d6153f9a0f0cb48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// See LICENSE for license details.

package chisel3

import chisel3.internal.firrtl.{ULit, Width}

// scalastyle:off method.name

trait BoolFactory {
  /** Creates an empty Bool.
   */
  def apply(): Bool = new Bool()

  /** Creates Bool literal.
   */
  protected[chisel3] def Lit(x: Boolean): Bool = {
    val result = new Bool()
    val lit = ULit(if (x) 1 else 0, Width(1))
    // Ensure we have something capable of generating a name.
    lit.bindLitArg(result)
  }
}