R32V2020 Micro-Code

From Land Boards Wiki
Revision as of 13:01, 10 April 2022 by Blwikiadmin (talk | contribs) (Created page with "== 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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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)