summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/BoolFactory.scala
blob: 787f1e5ec1a9ee17b2c40accdf33f93bf1219466 (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)
  }
}