Difference between revisions of "IOP16 Register File"

From Land Boards Wiki
Jump to navigation Jump to search
Line 13: Line 13:
 
== Configuring Number of Registers ==
 
== Configuring Number of Registers ==
  
 +
* The number if GPIO registers can be configured
 +
** 4 GP registers plus 0x08, 0x09 0x0F constants
 +
** 8 GP registers plus 0x08, 0x09 0x0F constants
 +
** 16 GP registers including 0x08, 0x09 0x0F constants
 
* Register count configured by NUM_REGS value in cpu_001.vhd
 
* Register count configured by NUM_REGS value in cpu_001.vhd
  

Revision as of 11:28, 19 April 2022

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 if GPIO registers can be configured
    • 4 GP registers plus 0x08, 0x09 0x0F constants
    • 8 GP registers plus 0x08, 0x09 0x0F constants
    • 16 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