summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/BoolFactory.scala
blob: 1d96659f6ea13d8f366174a04ac2d08da3fdcb9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// SPDX-License-Identifier: Apache-2.0

package chisel3

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

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)
  }
}