Forums - Open Redstone Engineers
The Nibble Byte - A Hex CPU - Printable Version

+- Forums - Open Redstone Engineers (https://forum.openredstone.org)
+-- Forum: ORE General (https://forum.openredstone.org/forum-39.html)
+--- Forum: Projects & Inventions (https://forum.openredstone.org/forum-19.html)
+---- Forum: In Progress (https://forum.openredstone.org/forum-20.html)
+---- Thread: The Nibble Byte - A Hex CPU (/thread-15487.html)



The Nibble Byte - A Hex CPU - IAmLesbian - 11-05-2019

The Plan
- Include Multiplier and Divider Circuits (Divider also outputs Modulo)
- RISC because easier hardware (First CPU so easy is good)
- 29 Total Operations currently (I'll post a link to my ISA eventually)
  - 5 Arithmetic
  - 8 Bitwise Logic
  - 6 Memory (Includes send and receive mentioned further down)
  - 5 Control Logic
- 8 Hex Bits (Equivalent to 32 Bin Bits)
- 16 Registers (1 Hex Bit)
  - 4 Registers are used for the display (Basically just simple output)
- Functionality to send and receive data (IntOREnet now a thing)
- Not pipelined (Again this is my first CPU)

Main Roadblocks (Trying to design all circuits from scratch)
- Hex Multiplier is only 1 hex bit
- No Hex Divider design
- No Hex ALU design
- No Hex PROM design (Probably not too hard tho)

Other Stuff
- The CPU is being built on my second plot (/p v IAmLesbian 2)
- I'll put updates here (assuming I remember to)
- Any advice is appreciated and I'm open to questions and constructive criticism


That's all I've got, hopefully I actually get stuff done


RE: Hex CPU - IAmLesbian - 11-05-2019

Minor Update: The Hex Adder now fits the way I wanted for the multiplier, so that's no longer an issue


RE: Hex CPU - Angry_Salmon - 11-05-2019

Huh


RE: Hex CPU - IAmLesbian - 11-05-2019

(11-05-2019, 11:33 PM)Angry_Salmon Wrote: Huh

Honestly same


RE: Hex CPU - PabloDons - 11-06-2019

I'd really like to hear what you got for the hex multiplier concept. That sounds incredibly interesting.

Also how in the world would a hex ALU even??


RE: Hex CPU - IAmLesbian - 11-06-2019

(11-06-2019, 12:32 AM)PabloDons Wrote: I'd really like to hear what you got for the hex multiplier concept. That sounds incredibly interesting.

Also how in the world would a hex ALU even??

The hex multiplier works on the same principle as a binary multiplier.  Just do 1 bit multiplication for all bits between the 2 numbers then add them all up.

As for the Hex ALU, I'm probably either going to convert to binary (less likely) or ditch a lot of logic and only use the logic I need (more likely).  What I mean by that is I'd go for comparison logic more relevant to hex values like an operation to tell me if A > B or B > A or A = B, things like that.


RE: Hex CPU - Angry_Salmon - 11-06-2019

How are you going to do bitwise operations like OR? Are you going to decode from hex to binary?


RE: Hex CPU - IAmLesbian - 11-06-2019

(11-06-2019, 02:48 AM)Angry_Salmon Wrote: How are you going to do bitwise operations like OR? Are you going to decode from hex to binary?

In my last reply on the post I mentioned I'm probably going to just ignore the logic functions and instead just have functions that do things like A>B A<B and A=B.


RE: Hex CPU - IAmLesbian - 11-06-2019

Minor Update: I chose a name and made a 2 versions of logo for it.  I'm going with Nibble Byte because each Hex bit is a nibble and the CPU is 8 Hex bits so a byte.


RE: Hex CPU - IAmLesbian - 11-06-2019

Update: Combinational Multipliers for Hex are decently slow and huge so I'm considering either not including a Multiplier or having a sequential one rather than a combinational one. The issue with a sequential one is that it has the potential to be very slow depending on the inputs.


RE: Hex CPU - IAmLesbian - 11-06-2019

(11-06-2019, 07:09 PM)IAmLesbian Wrote: Update: Combinational Multipliers for Hex are decently slow and huge so I'm considering either not including a Multiplier or having a sequential one rather than a combinational one.  The issue with a sequential one is that it has the potential to be very slow depending on the inputs.

Reconsidering my Combinational Multiplier design, I've found a few good places to optimize to improve the speed.  It'll be big either way but this should also make it a bit smaller too.


RE: Hex CPU - IAmLesbian - 11-06-2019

Update: Finished making a 1 Bit Combinational Hex Multiplier.  Speed isn't anything crazy but I'm proud of it.  I'm considering just having this in the CPU and letting the software deal with the specifics of how to actually multiply stuff together.  Primarily because I'd need 64 of this to actually get the 8 Hex Bit Multiplier I'm after.  Not quite sure how that would work in software though so I'll have to figure it out.


RE: The Nibble Byte - A Hex CPU - IAmLesbian - 11-08-2019

Update: Found a really compact Hex to 7 Segment Display by Powsi and Aminotreal, as much as I want to make everything myself there's literally no way I could make something this compact without a lot more time than I'm willing to spend on it.


RE: The Nibble Byte - A Hex CPU - IAmLesbian - 11-08-2019

Update: Learned about The Karatsuba Multiplication Algorithm today and it might be useful to cutting down the amount of hardware I need.
https://en.wikipedia.org/wiki/Karatsuba_algorithm


RE: The Nibble Byte - A Hex CPU - IAmLesbian - 11-24-2019

From the lack of updates you can safely assume the project is on hold for the time being. I don't have anything much to say about that, I'm kinda just feeling unmotivated atm but I'll likely pick it back up later.


RE: The Nibble Byte - A Hex CPU - IAmLesbian - 01-04-2020

Been ignoring this project for a while, I think I'll work on it a bit rn.