The excessively large designs were exact implementations of an XOR gate from the most basic logic-level design. We thought that designing a more complex IC-level gate from it's most basic logic-level design would help to utilized our basic building block library of NANDs, NORs, and inverters. In terms of complexity, it turned out that the design we decided on fell in the middle of the previous two, and is shown below:
And the corresponding IC layout is:
The above design is referred to as a pass-gate XOR, because of it's use of transmission gates. It works very well, and it's very fast. Response times for this gate ranged from 1ns to 3ns for falltimes and risetimes, respectively. So, we're talking about roughly 300 Mhz to 1 Ghz, not too bad. And it meets the MOSIS space constraints with 16 cascaded XORs.
The outputs of the XORs give us an indication of whether or not corresponding matrix elements were equal. If the corresponding squares stayed the same color, then the XOR outputs a 0. If they change, then the XOR will output a 1.
So, how do we figure out how many of the squares changed? These 16 parallel XOR outputs are then taken to the counter.
Page designed and maintained by Chris Tassone:tassone@bucknell.edu