Hi,
I designed a project in a software simulator (LogicCircuit). It's a very simple 'computer' (limited to six operations).
I'm hoping that someone will be interested in looking at the design. I'd really like guidance on improvements and corrections. I didn't design this based on any standard design/architecture and my purpose in creating it was to demonstrate some simple principles of electronics.
I want to improve the design but not necessarily add anything to it.
Thanks!
-- Details --
I've attached the LogicCircuit project and the program can be downloaded here.
I wanted to build the RAM from scratch but I used a ROM component for commands and a sensor to cycle through the bytes.
There are six commands:
Pass (no operation)
LoadX #v (with 4-bit value v)
LoadY #v (with 4-bit value v)
Mul (Multiply X and Y, result in A)
Add (Add X and Y, result in A)
Store v (A to 2-bit address v)
The connected ROM has this list of instructions:
I designed a project in a software simulator (LogicCircuit). It's a very simple 'computer' (limited to six operations).
I'm hoping that someone will be interested in looking at the design. I'd really like guidance on improvements and corrections. I didn't design this based on any standard design/architecture and my purpose in creating it was to demonstrate some simple principles of electronics.
I want to improve the design but not necessarily add anything to it.
Thanks!
-- Details --
I've attached the LogicCircuit project and the program can be downloaded here.
I wanted to build the RAM from scratch but I used a ROM component for commands and a sensor to cycle through the bytes.
There are six commands:
Pass (no operation)
LoadX #v (with 4-bit value v)
LoadY #v (with 4-bit value v)
Mul (Multiply X and Y, result in A)
Add (Add X and Y, result in A)
Store v (A to 2-bit address v)
The connected ROM has this list of instructions:
Code:
0000 00: Pass
0001 18: LoadX #8
0002 95: LoadY #5
0003 20: Add
0004 30: Store 0
0005 60: Mul
0006 00: Pass
0007 31: Store 1
0008 17: LoadX #7
0009 92: LoadY #2
000A 20: Add
000B 32: Store 2
000C 60: Mul
000D 00: Pass
000E 33: Store 3
000F 10: LoadX #0
0010 90: LoadY #0
0011 20: Add
0012 30: Store 0
0013 31: Store 1
0014 32: Store 2
0015 33: Store 3
0016 11: LoadX #1
0017 92: LoadY #2
0018 20: Add
0019 00: Pass
001A 00: Pass
001B 00: Pass
001C 00: Pass
001D 00: Pass
001E 00: Pass
001F 00: Pass
Attachments
Last edited: