Comment Re:University Assignments. (Score 2, Interesting) 683
On the turn-in day, everyone turned in their huge heaps of paper that covered their design - again, practically impossible for the professor to 100% go through. Included also was a printout of everyone's signals within the chip - intermediate ones, and the final output. And of course, >95% of the things turned in gave the correct output and had everything correct inside.
So the professor starts his lecture, and then stops and says "OK, everyone up!" And we headed to the computer lab, where he made everyone sit down in front of a computer, one by one, load up their chip, and gave a new input string (maybe 300-400 bits), and made each person run it.
Approximately half the class had the output of their chip be the same output for the original "sample" input he had given so people could test - that is, their entire big ASIC (because it had to LOOK complex or it would be too obvious it didn't do anything) was essentially a giant set of fake elements which actually did nothing except give the appropriate output - for the ONE sample input.
I have to admit, mine worked for the original input, but when he gave the new input, my output was correct for the first 399 bits - but the 400th was incorrect. It should have been a 1, I had a 0. It seems that no matter what the input was, my last bit (regardless of the number of input bits) had a stuck-at-0 fault. But since his sole sample input had a 0 as the final output bit, I never detected the fault. However, in this "second sample", the last 30 or so output bits were all 1's, and the difference between 29 '1" bits in a row and 30 "1" bits in a row in terms of looking at a long line quickly (as the professor was) is not noticeable. I saw it, but the professor didn't, and I got credit for the chip.