L0rgalCPU

RedstonerBuilding → L0rgalCPU

SHOWCASE

After about a week and a half of working with @LogalDeveloper, we have (nearly) completed a fully functional 16-bit CPU capable of running programs off of multiple preset PROMs (including loops), performing 8 different mathematical operations with an instant-carry ALU, and using LogalNet 2.0 to send and receive information from other addresses either manually or as part of a program. It also has 32 Bytes of RAM and 4 Primary Registers.

Its instructions are each attached to a 4-bit address, totaling 16 possible instructions, and are listed as follows:

0000 — END — Halts Program Execution 0001 — JUMP — Jumps to a PROM address (used for program loops) 0010 — SEND — Sends loaded packets to LogalNet 0011 — RAM -> Register — Copies data from a selected RAM address to a selected register 0100 — Register -> RAM — Copies data from a selected register to a selected RAM address 0101 — Register -> ALUA — Copies data from a selected register to the first ALU port 0110 — Register -> ALUB — Copies data from a selected register to the second ALU port 0111 — ALU -> Register — Copies data from the ALU output to a selected register 1000 — UI -> Register — Copies data from the UI Input into a selected register 1001 — WAIT — Clears the LogalNet receiver and pauses the program until data is received 1010 — LNDA -> Register — Copies address packet from the LogalNet receiver to a selected register 1011 — LNDD -> Register — Copies data packet from the LogalNet receiver to a selected register 1100 — Register -> LNEA — Copies address packet from a selected register to the LogalNet encoder 1101 — Register -> LNDD — Copies data packet from a selected register to the LogalNet encoder 1110 — Reserved for Additional Modules 1111 — Reserved for Additional Modules

ALU Operations are addressed independently of instructions, and are as follows:

000 — OR 001 — AND 010 — XOR 011 — NAND 100 — RSHIFT 101 — ADD 110 — ADD +1 111 — Subtract +1 (What we consider “normal” subtraction)

The CPU is available on display to the public (but not for public use yet) on /p h:3 LogalDeveloper

Feel free to ask me or Logal if you have any questions about the CPU! Right now it is hooked up to a looping program that infinitely calculates the Fibonacci sequence, though we hope to add a few more program ROMS for it to use as well in the near future!