| 
					
	
	
	
	
				 | 
				
					
	
	 
		The operations here are x-y and y-x. So I assumed it was an error in either my negation or addition logic. What was confusing was that it passed prior separate negation and addition tests.
  Anyway I walked through every step by hand, and got the correct answer, so I felt the idea was solid, most likely then a coding error. Since I walked through every step, I was able to compare the internal pin values that I got by hand with the hardware simulator, and saw that the error was occurring after the addition step. I went through my ALU implementation and everything seemed correctly hooked up.
  So, despite my Add16 chip passing it's test when I made it, I moved it from the project file, forcing the ALU implementation to use the built-in Add16. The ALU then passed all the tests.
  So I went back to my Add16 chip and found a single typo (carrying the wrong bit in one of the adders). Apparently I had made a mistake in a particular area that had not tripped any tests up to this point.  So now that's fixed and everything works.
	
	
	
	 
				 |