o

Chisel

# LFSR16 

#### object LFSR16

LFSR16 generates a 16-bit linear feedback shift register, returning the register contents. This is useful for generating a pseudo-random sequence.

The example below, taken from the unit tests, creates two 4-sided dice using `LFSR16` primitives:

Source
compatibility.scala
Example:
1. ```val bins = Reg(Vec(8, UInt(32.W)))

// Create two 4 sided dice and roll them each cycle.
// Use tap points on each LFSR so values are more independent
val die0 = Cat(Seq.tabulate(2) { i => LFSR16()(i) })
val die1 = Cat(Seq.tabulate(2) { i => LFSR16()(i + 2) })

val rollValue = die0 +& die1  // Note +& is critical because sum will need an extra bit.

bins(rollValue) := bins(rollValue) + 1.U```
Linear Supertypes
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. LFSR16
2. AnyRef
3. Any
1. Hide All
2. Show All
Visibility
1. Public
2. All

### Value Members

1. final def !=(arg0: Any)
Definition Classes
AnyRef → Any
2. final def ##(): Int
Definition Classes
AnyRef → Any
3. final def ==(arg0: Any)
Definition Classes
AnyRef → Any
4. def apply(increment: Bool = true.B): UInt

Generates a 16-bit linear feedback shift register, returning the register contents.

Generates a 16-bit linear feedback shift register, returning the register contents.

increment

optional control to gate when the LFSR updates.

Annotations
()
5. final def asInstanceOf[T0]: T0
Definition Classes
Any
6. def clone()
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()
7. final def eq(arg0: AnyRef)
Definition Classes
AnyRef
8. def equals(arg0: Any)
Definition Classes
AnyRef → Any
9. def finalize(): Unit
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
10. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
Annotations
@native()
11. def hashCode(): Int
Definition Classes
AnyRef → Any
Annotations
@native()
12. final def isInstanceOf[T0]
Definition Classes
Any
13. final def ne(arg0: AnyRef)
Definition Classes
AnyRef
14. final def notify(): Unit
Definition Classes
AnyRef
Annotations
@native()
15. final def notifyAll(): Unit
Definition Classes
AnyRef
Annotations
@native()
16. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
17. def toString()
Definition Classes
AnyRef → Any
18. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
19. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
20. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()