object LFSR
Utilities related to psuedorandom number generation using Linear Feedback Shift Registers (LFSRs).
For example, to generate a pseudorandom 16-bit UInt that changes every cycle, you can use:
val pseudoRandomNumber = LFSR(16)
- Source
- LFSR.scala
- Alphabetic
- By Inheritance
- LFSR
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(width: Int, increment: Bool = true.B, seed: Option[BigInt] = Some(1)): UInt
Return a pseudorandom UInt generated using a FibonacciLFSR.
Return a pseudorandom UInt generated using a FibonacciLFSR. If you require a Galois LFSR, use GaloisLFSR.maxPeriod.
- width
the width of the LFSR
- increment
when asserted, the LFSR will increment
- seed
an initial seed (this cannot be zero)
- returns
a UInt that is the output of a maximal period LFSR of the requested width
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- lazy val tapsMaxPeriod: Map[Int, Seq[Set[Int]]]
A mapping of widths to a sequence of known LFSR taps that produce a maximal period LFSR.
A mapping of widths to a sequence of known LFSR taps that produce a maximal period LFSR. These work for either a Fibonacci LFSR or a Galois LFSR. Taps are available for bit widths of 2--786, 1024, 2048, and 4096.
Users can automatically generate LFSRs using these taps with LFSR.apply for a maximum period Fibonacci XOR LFSR or with MaxPeriodGaloisLFSR/GaloisLFSR.maxPeriod or MaxPeriodFibonacciLFSR/FibonacciLFSR.maxPeriod for more configuration options.
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
This is the documentation for Chisel.
Package structure
The chisel3 package presents the public API of Chisel. It contains the concrete core types
UInt,SInt,Bool,Clock, andReg, the abstract typesBits,Aggregate, andData, and the aggregate typesBundleandVec.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
utilpackage.The
testerspackage defines the basic interface for chisel testers.