Skip to main content
added link for CPU project
Source Link

I'm trying to make a homebrew CPU but having problems with the 74LS181 ALU, which I'm simulating in Logisim software before diving into real ICs and breadboards.

I've cascaded two 74181 following instructions found in many sites such as [this] 1.

This works fine with most of addings I tried, but some don't work.

For example:

0010 0111 (39 in decimal) + 0000 0001 (1)

leads to a 0010 0000 (32) result.

I know it should have something to do with the fact that 74181 uses signed numbers represented in two's complement. The least significant nibble in the example (0111) represents the max positive number with 4 bits, so when incremented by one goes to zero...

Is there any way to make 74181 work with only positive numbers? Or solve this issue in any other way.

I'm frustrated because with this problem the ALU is completelly usesless.

link for 74181 datasheet

link for project (has image of error on simulated ALU) - link on comment bellow

I'm trying to make a homebrew CPU but having problems with the 74LS181 ALU, which I'm simulating in Logisim software before diving into real ICs and breadboards.

I've cascaded two 74181 following instructions found in many sites such as [this] 1.

This works fine with most of addings I tried, but some don't work.

For example:

0010 0111 (39 in decimal) + 0000 0001 (1)

leads to a 0010 0000 (32) result.

I know it should have something to do with the fact that 74181 uses signed numbers represented in two's complement. The least significant nibble in the example (0111) represents the max positive number with 4 bits, so when incremented by one goes to zero...

Is there any way to make 74181 work with only positive numbers? Or solve this issue in any other way.

I'm frustrated because with this problem the ALU is completelly usesless.

I'm trying to make a homebrew CPU but having problems with the 74LS181 ALU, which I'm simulating in Logisim software before diving into real ICs and breadboards.

I've cascaded two 74181 following instructions found in many sites such as [this] 1.

This works fine with most of addings I tried, but some don't work.

For example:

0010 0111 (39 in decimal) + 0000 0001 (1)

leads to a 0010 0000 (32) result.

I know it should have something to do with the fact that 74181 uses signed numbers represented in two's complement. The least significant nibble in the example (0111) represents the max positive number with 4 bits, so when incremented by one goes to zero...

Is there any way to make 74181 work with only positive numbers? Or solve this issue in any other way.

I'm frustrated because with this problem the ALU is completelly usesless.

link for 74181 datasheet

link for project (has image of error on simulated ALU) - link on comment bellow

Source Link

74181 ALU not working properly cascaded to add 8 bit numbers

I'm trying to make a homebrew CPU but having problems with the 74LS181 ALU, which I'm simulating in Logisim software before diving into real ICs and breadboards.

I've cascaded two 74181 following instructions found in many sites such as [this] 1.

This works fine with most of addings I tried, but some don't work.

For example:

0010 0111 (39 in decimal) + 0000 0001 (1)

leads to a 0010 0000 (32) result.

I know it should have something to do with the fact that 74181 uses signed numbers represented in two's complement. The least significant nibble in the example (0111) represents the max positive number with 4 bits, so when incremented by one goes to zero...

Is there any way to make 74181 work with only positive numbers? Or solve this issue in any other way.

I'm frustrated because with this problem the ALU is completelly usesless.