10-19-2013, 11:09 PM
(This post was last modified: 10-19-2013, 11:16 PM by iRobLiquorStores.)
I just finished creating my first legit ALU which is 8-bits but extremely slow :p
By first I just mean that its the only complete ALU I've made before, as the rest were either RCA or not filled with any functions and stuffs.
Pics: http://imgur.com/a/e2eoB
It was really a learning project for me because I was building and learning at the same time, as it was my first attempt at ICA and also getting flags like A==B, A>B, A<B which I've never done before.
I'd like to thank epic_skypilot and embizone for helping me get in the right direction for making the flags, ice for improving its speed (and getting cut carry to work). And various sites that I'm too lazy to list.
It is rather slow when comparing A and B though, for example A==B takes 14 ticks D: longer than any other operation ._. I also had to take the MSB (8th bit) and use it as the sign because for some reason the design doesn't have Cout lit when negative numbers are displayed therfore limiting me to 127 thru -127
edit: o yah and to the functions..
0001 XOR
0010 XNOR
0011 AND
0100 NAND
0101 OR
0110 NOR
0111 SUB
1000 SHIFT R
1001 A<B
1010 A>B
1011 A==B
By first I just mean that its the only complete ALU I've made before, as the rest were either RCA or not filled with any functions and stuffs.
Pics: http://imgur.com/a/e2eoB
It was really a learning project for me because I was building and learning at the same time, as it was my first attempt at ICA and also getting flags like A==B, A>B, A<B which I've never done before.
I'd like to thank epic_skypilot and embizone for helping me get in the right direction for making the flags, ice for improving its speed (and getting cut carry to work). And various sites that I'm too lazy to list.
It is rather slow when comparing A and B though, for example A==B takes 14 ticks D: longer than any other operation ._. I also had to take the MSB (8th bit) and use it as the sign because for some reason the design doesn't have Cout lit when negative numbers are displayed therfore limiting me to 127 thru -127
edit: o yah and to the functions..
0001 XOR
0010 XNOR
0011 AND
0100 NAND
0101 OR
0110 NOR
0111 SUB
1000 SHIFT R
1001 A<B
1010 A>B
1011 A==B