Packages

p

vexiiriscv

decode

package decode

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. decode
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class AccessKeys(rfa: RfAccess, physWidth: Int, rfMapping: Seq[RegfileSpec]) extends Area with Product with Serializable
  2. class AlignerPlugin extends FiberPlugin with AlignerService with InjectorService

    This plugin will deserialize the aligned fetched words into instructions.

    This plugin will deserialize the aligned fetched words into instructions. - withBuffer => A Fetch.WORD sized buffer will be added to allow unaligned instruction to be read - !withBuffer => Fetch lanes directly feed Decode lanes without muxes. This doesn't support RVC - Warning, if the plugin start to hold stats => you need to notify TrapService when flush a is pending

    Here are the challenges : - When RVC is enabled, 32 bits instruction can be unaligned, so one instruction my need 2 fetch word - Branch prediction (ex: from a BTB) may produce a broken stream of fetched word on 32 bits unaligned instruction aswell producing predictions which aren't aligned with the real instruction layout (ex prediction from fetched word slice 2, while slice 2 isn't the last slice of a instruction) - Handeling all the corner cases while keeping the combinatorial path low

  3. trait AlignerService extends AnyRef

    Provide an API which allows other plugin to carry pipeline payload from Fetch to Decode.

    Provide an API which allows other plugin to carry pipeline payload from Fetch to Decode. The payload carried can be specified to come from the first or the last fetch-word of a given instruction. This is used by plugins like branch prediction to carry data through the different pipelines

  4. type DecodeListType = Seq[(Payload[_ <: BaseType], Any)]
  5. class DecodePipelinePlugin extends FiberPlugin with PipelineService

    Provide a decode pipeline skeleton, used by other plugins to compose the decode pipeline.

  6. class DecoderPlugin extends FiberPlugin with DecoderService with CompletionService with ForgetSource
  7. trait DecoderService extends AnyRef

    Provide an API which allows other plugins to ask additional instruction decoding in the decode pipeline, providing decoded values in the DecodePipeline payloads

  8. class DecodingCtx extends AnyRef
  9. trait InjectorService extends AnyRef

    Provide an API which allows to inject an instruction in the CPU pipeline.

    Provide an API which allows to inject an instruction in the CPU pipeline. This is used by the PrivilegedPlugin to implement the RISC-V External Debug Support spec.

Value Members

  1. def DecodeList(e: (Payload[_ <: BaseType], Any)*): List[(NamedType[_ <: BaseType], Any)]
  2. object Decode extends AreaObject