3
\$\begingroup\$

In their CMOS VLSI Design, Weste and Harris seem to use a naming convention for logic gates which I cannot quite seem to define in my head. Ill give the two examples they use and hopefully someone knows about it or can point me to standard source:

(1) \$Y = \overline{AB + CD}\$. They call this an AND-OR-Invert-22, or AOI22 gate because "it performs the NOR of a pair of 2-input ANDs"

(2) \$Y = \overline{(A+B + C)D}\$. They call this an OAI31 gate.

What is the crux of this naming convention with respect to the numbers used in particular? I had initially thought that the numbers were (A) the number of inputs to each "sub-gate". For example, in case (1) with the AOI22 gate we have two inputs to the AND gates at the first level, and 2 inputs to the OR at the second level. However, this fails for case (2). Next, I thought (B) that the first number was for the number of inputs to the gate at the first level (2 in AOI22 for the 2-input ANDs, 3 for the the three-input OR) and the second number is for the number of gates at the first level (2 ANDs and 1 OR). This seems to work for both cases. However, it seems to fail to uniquely name a gate (consider e.g. \$Y = \overline{(A+B + C)DE}\$ which would also seem to get the OAI31 moniker under this rubric) and so I wasn't sure what the deal was.

\$\endgroup\$
4
  • \$\begingroup\$ It's likely just a naming convention provided by the author for future references in his book. I've never heard that of nomenclature before. If I had to guess, the numbers likely indicate the number of inputs on a particular combined operation. \$\endgroup\$
    – user319168
    Commented Dec 12, 2023 at 16:22
  • \$\begingroup\$ It may not be intended to be extensible, just a way for the authors to describe the expressions used in their book. \$\endgroup\$
    – Hearth
    Commented Dec 12, 2023 at 16:30
  • \$\begingroup\$ I don't understand the close votes here. Sure this is about logic gates that you're not going to see if you aren't doing ASIC design, but there is a method to the madness, and it is an industry standard. \$\endgroup\$
    – W5VO
    Commented Dec 12, 2023 at 17:47
  • \$\begingroup\$ It appears to be their shorhand for common compound gates. Used primarily to allow for the authors to reference specific compound gates. Think of it like an abbreviation. p330 shows it breaking down for complex compound gates. \$\endgroup\$ Commented Dec 14, 2023 at 11:51

1 Answer 1

4
\$\begingroup\$

I believe the hang-up is on the "1" input case. Each number refers to the size of the first type of input gate. An AOI432 would be three AND gates, with 4, 3, and 2 inputs respectively, ORed together, then INVerted. Following the numbering scheme, the following logical equation shouldn't be too controversial:

$$Y=\overline{(ABCD)+(EFG)+(HK)}$$

When we get down to one input, it effectively passes the input unaltered. The operations "AND" and "OR" do not alter a single bit, and the reasoning for that can be traced back to Boolean logic rules: $$A+A=A\cdot A=A$$

If I reduce the number of inputs for each gate down to an AOI321, then maybe it would be more clear if we kept the signal names from the previous example.

$$Y=\overline{(ABC)+(EF)+(H)}$$

Revisiting your example equation of \$Y = \overline{(A+B + C)DE}\$, you would consider that gate to be an "OAI311"

\$\endgroup\$
3
  • \$\begingroup\$ Crystal clear, thank you so much! To your point in the comments above...is this indeed an industry standard? Thanks again! \$\endgroup\$
    – EE18
    Commented Dec 12, 2023 at 18:01
  • \$\begingroup\$ @EE18 I don't have a reference for where I picked it up. A lot of this stuff gets hidden behind NDAs, the one real example that I can give is from SkyWater in their Sky130 open IC design kit - they mention that they have many many AO/OA/AOI/OAI gates (skywater-pdk.readthedocs.io/…) in each logic style. You could download the open PDK and find examples of the gates in that library. \$\endgroup\$
    – W5VO
    Commented Dec 13, 2023 at 15:24
  • \$\begingroup\$ Got it. Thank you again for your help here! \$\endgroup\$
    – EE18
    Commented Dec 13, 2023 at 22:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.