Last active
June 12, 2026 10:11
-
-
Save Swyter/6a72c558e1f1484f1efebb4c7f85cb9f to your computer and use it in GitHub Desktop.
Some notes I typed a while ago on my phone trying to kind-of reverse engineer (guess) and understand the public (but blurry as heck) GlobalFoundries 180 nanometer standard cell layout images. See the comment below.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| https://gf180mcu-pdk.readthedocs.io/en/latest/digital/standard_cells/gf180mcu_fd_sc_mcu9t5v0/cells/addh/gf180mcu_fd_sc_mcu9t5v0__addh_1.html | |
| nand A B | |
| 0 0 1 (+) | O | (+) (OR, eithr side 0) | |
| 0 1 1 | | | |
| 1 0 1 | | | |
| 1 1 0 (--) | | O (AND, both 1 | |
| to cross = Out (-)) | |
| nor B A | |
| 0 0 1 (+) | | O (AND, both 1 to | |
| 0 1 0 | | cross = Out (+)) | |
| 1 0 0 | | | |
| 1 1 0 (--) | O | (--) (OR, eithr side 0) | |
| invert A | |
| 0 1 O | (+) (toggles on wh A=0) | |
| 1 0 | | |
| | | |
| O | (--) (toggles on wh A=1) | |
| com_nand=nand(a, b) | |
| remaind=invert(com_nand) | |
| sum=invert(block(com_nand, nor(a, b))) | |
| block=invert the nand, and use as gate to set the nor 1 1 0 to 1 1 1 so we get xnor |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| https://gf180mcu-pdk.readthedocs.io/en/latest/digital/standard_cells/gf180mcu_fd_sc_mcu9t5v0/cells/aoi21/gf180mcu_fd_sc_mcu9t5v0__aoi21_1.html | |
| b a1 a2 zh | |
| 0 0 0 1 it needs at least one zero | |
| 0 0 1 1 from a1 or a2, and b being | |
| 0 1 0 1 always zero to output 1 | |
| 0 1 1 0 | |
| 1 0 0 0 | |
| 1 0 1 0 | |
| 1 1 0 0 | |
| 1 1 1 0 | |
| (inv(a1) OR inv(a2)) AND inv(b) |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Here are some notes I typed a while ago on my phone trying to kind-of reverse engineer (well, guess) and intuitively understand those public (but blurry as heck) GlobalFoundries 180 nanometer standard cell layout images in a visual way without any math crap.
The idea was to go backwards, to understand the mess of wires in a half-adder logic cell (see at the bottom of the notes) starting from the inverter, which seems like the simplest CMOS transistor but it doesn't intuitively make sense until you visualize it with a diagram, then from that the NAND and NOR gates, which are the main blocks a physical adder has. I think I kind of understand CMOS logic now, and why it's like that. I'm no teacher or expert, but it more or less clicks for me like this:
Hope someone else finds the diagrams interesting, and hope it helps.