I am reading a paper "Static Implementation of QDI Asynchronous Primitives" by P. Maurine, J.B. Rigaud, F. Bouesse, G. Sicard, and M. Renaudin.

They designed a cell library using AO222 gate, What is that exactly? Can anyone point to any document that shed a bit of light on this "AO222" term which I never heard of.


1 Answer 1


AO222 just means And-Or 2 2 2 which logically means: 3 2-input ands feeding into 1 3-input or.

Most inverting complex gates are actually implemented in a single CMOS stage, but non-inverting gates, like the one you mention, need at least two stages. AO222 is most likely made from a AOI222 and an inverter.

AOI222 = 3 2-input ands feeding into one 3-input or feeding into an inverter. Implemented usually with a single stage complex CMOS gate.

Other examples are OAI32 (or and invert) or ao21 (the one just converts into skipping the first stage, so a single input goes to the or, the other two inputs go into an and gate, then the or).

Below is a picture with a few logic diagrams to help explain: a few complex gate examples

  • \$\begingroup\$ Ops! I got it. Now all those magic numbers make sense. Is there a reference to all these abbreviations ? I will accept your answer. \$\endgroup\$
    – Ehsan
    Jul 18, 2016 at 8:45
  • 1
    \$\begingroup\$ Not as far as I know, because the naming convention becomes pretty explanatory once you get the hang of it. There is not a 'complete list' because you could technically create an AOI999 or something crazy. Of course in a single stage, such a complex gate would require a stack of 9 FET's, which is too much to function properly. But the naming convention CAN define it. \$\endgroup\$
    – jbord39
    Jul 18, 2016 at 15:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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