Packages

p

vexiiriscv

package vexiiriscv

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. class ParamSimple extends AnyRef

    ParamSimple is a data class which can be used to generate a collection of properly configured plugins for VexiiRiscv.

    ParamSimple is a data class which can be used to generate a collection of properly configured plugins for VexiiRiscv. - you create an instance of ParamSimple - you configure it - you ask it to provide the list of VexiiRiscv plugins - you instanciate VexiiRiscv with that list of plugin - Thenthen you should get a functional VexiiRiscv.

  2. class VexiiRiscv extends Component

    This is the VexiiRiscv toplevel, it doesn't define/generate any hardware by itself, it is just a framework to register/execute plugins and bind a database to share global variables

Value Members

  1. object Generate extends App
  2. object GenerateTilelink extends App
  3. object Global extends AreaRoot

    Define global variables for plugin to share in non-verbose ways

    Define global variables for plugin to share in non-verbose ways

    A few notes about physical/virtual/mixed addresses, as they are a tricky thing if you try to scrap away any unecessary bit : In RISC-V, the addresses manipulated by the CPU before the MMU can be physical or virtual. The thing is that Physical addresses are unsigned, while virtual addresses are signed (so sign extended to XLEN). So let's say you have : - 32 bits physical address width - 39 bits virtual address width Then, addresses in the CPU before the MMU (mixed addresses) need to have 40 bits (39 bits + 1 bit of sign extension), that allow for instance : - physical address trap at 0x40_0000_0000 to be stored in let's say MEPC to store that address while avoiding the sign extension

  4. object ParamSimple
  5. object VexiiRiscv