R32V2020 Micro-Code

From Land Boards Wiki
Jump to navigation Jump to search

R32V2020 Microcode

  • Each R32V2020 instruction executes 4 clocks of microcode
  • Slots are w_OneHotState[0..3]
  • 50 MHz clock rate
  • 4 clocks = 12.5 MIPS

Bottleneck

  • Pull from stack operation is the bottleneck
    • Due to pre-decrement

Signals asserted during w_OneHotState[]

  • w_OneHotState[0]
    • o_clkInstrRomAddr
    • increment CPU cycle counter
  • w_OneHotState[1]
    • i_Op_PULL
  • w_OneHotState[2]
    • w_holdHaltCatchFire
    • o_writeStackRamEn
  • o_writeToDataRamEnable
  • w_OneHotState[3]
    • i_wrRegFile
    • o_peripheralRdStrobe
    • o_peripheralWrStrobe
    • i_save_CCR_bits
    • i_Op_PUSH
    • i_OP_BSR
    • i_Op_LPBP
    • i_Op_SPBP
    • i_Op_LPSP
    • i_Op_SPSP
    • i_Op_LPLP
    • i_Op_SPLP
    • i_Op_LDBP
    • i_Op_SDBP
    • i_Op_LDSP
    • i_Op_SDSP
    • i_Op_LDLP
    • i_Op_SDLP
    • Load Program Counter (pull PC)