Packages

p

vexiiriscv

prediction

package prediction

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. class BtbPlugin extends FiberPlugin with FetchWordPrediction with InitService

    Implement the Branch Target Buffer in the fetch stages, aswell as the Return Address Stack.

    Implement the Branch Target Buffer in the fetch stages, aswell as the Return Address Stack. See https://spinalhdl.github.io/VexiiRiscv-RTD/master/VexiiRiscv/BranchPrediction/index.html#btbplugin for more doc. in particular to understand the chunk topology.

  2. trait FetchConditionalPrediction extends AnyRef

    Implemented by the GSharePlugin, allows the BtbPlugin to access the branch prediction at a given stage.

  3. trait FetchWordPrediction extends AnyRef

    Used just to signal the functionality presence

  4. case class ForgetCmd() extends Bundle with Product with Serializable

    Interface used by the DecodePlugin to make the BtbPlugin forget a given prediction entry, as that entry produced a prediction which is incompatible with the instruction (ex predicted a branch from a instruction which is a memory load)

  5. trait ForgetSource extends AnyRef
  6. class GSharePlugin extends FiberPlugin with FetchConditionalPrediction with HistoryUser with InitService

    Implements conditional branch prediction using a RAM of taken/non-taken bias indexed by the PC xor branch history

  7. case class HistoryJump(laneAgeWidth: Int) extends Bundle with Product with Serializable
  8. class HistoryPlugin extends FiberPlugin

    This the plugin in change of handeling the branch history state, provide ports to modify it, and inject it in the fetch pipeline

  9. trait HistoryUser extends AnyRef

    Allows branch prediction plugins to specify how many bits of history they need

  10. case class LearnCmd(hmElements: Seq[NamedType[_ <: Data]]) extends Bundle with Product with Serializable

    Interface used to get traces of the branch/jump instruction execution.

    Interface used to get traces of the branch/jump instruction execution. This is used by the BtbPlugin/GSharePlugin to learn patterns

  11. class LearnPlugin extends FiberPlugin with LearnService
  12. trait LearnService extends AnyRef

    Provide an API allowing plugins to access the LearnCmd interface (used by BtbPlugin/GSharePlugin), aswell as a way to specify additional execute pipeline payload which should be collected and feeded to the LearnCmd

  13. trait LearnSource extends AnyRef

Value Members

  1. object Prediction extends AreaObject

    Used to define a few signal which travel on the fetch pipeline for prediction purposes