Difference between revisions of "IOP16 Register File"

From Land Boards Wiki
Jump to navigation Jump to search
(Created page with "* Instruction encodes 4-bits for the register number * 8 General Purpose (GP) Registers ** Registers numbered 0x0-0x7 * Special Purpose Registers hard-coded values ** Register...")
 
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
= Register File =
 +
 +
<video type="youtube">qPvwggaQ4w0</video>
 +
 
* Instruction encodes 4-bits for the register number
 
* Instruction encodes 4-bits for the register number
* 8 General Purpose (GP) Registers
 
** Registers numbered 0x0-0x7
 
 
* Special Purpose Registers hard-coded values
 
* Special Purpose Registers hard-coded values
** Register 0x8 has value 0x00
+
** Register 0x8 has constant value 0x00
** Register 0x9 has value 0x01
+
** Register 0x9 has constant value 0x01
** Register 0xF has value 0xFF
+
** 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
 +
 
 +
<pre>
 +
RegFile : ENTITY work.RegisterFile
 +
GENERIC map (
 +
NUM_REGS => 4 -- 4, 8. or 16
 +
)
 +
</pre>
 +
 
 +
= Resources =
 +
 
 +
* 4 registers
 +
** 19 ALMs
 +
** 32 registers
 +
* 8 registers
 +
** 34 ALMs
 +
** 64 registers
 +
* 16 registers (13 are GP)
 +
** 42 ALMs
 +
** 104 registers

Latest revision as of 14:11, 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 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