IOP16 Register File

From Land Boards Wiki
Jump to navigation Jump to search

Register File

  • Instruction encodes 4-bits for the register number
  • Special Purpose Registers hard-coded values
    • Register 0x8 has constant value 0x00
    • Register 0x9 has constant value 0x01
    • Register 0xF has constant value 0xFF
  • 4, 8, or 13 General Purpose (GP) Registers
    • Registers numbered 0x0-0x7, 0x0A-0xE

Configuring Number of Registers

  • The number of GP registers can be configured
    • 4 = 4 GP registers plus 0x08, 0x09 0x0F constants
    • 8 = 8 GP registers plus 0x08, 0x09 0x0F constants
    • 16 = 13 GP registers including 0x08, 0x09 0x0F constants
  • Register count configured by NUM_REGS value in cpu_001.vhd
RegFile : ENTITY work.RegisterFile
GENERIC map (
	NUM_REGS => 4	-- 4, 8. or 16
)

Resources

  • 4 registers
    • 19 ALMs
    • 32 registers
  • 8 registers
    • 34 ALMs
    • 64 registers
  • 16 registers (13 are GP)
    • 42 ALMs
    • 104 registers