Computer Engineering

By Justin Zhou

Peer-reviewed article Navigating the Seismic Shift of Post-Moore Computer Systems Design

Many in the field of computing may be familiar with Moore’s Law, the observation that transistor count in integrated circuits doubles roughly every two years. In recent years, however, the pattern has started to break down. As transistors begin to reach smaller sizes that push against the boundaries of physics, it has become increasingly difficult to pack more transistors and exponentiate the performance of new chips. In light of these concerns, some design optimizations have been made. Companies have replaced singular powerful CPU cores with an increased number of lightweight processors, and manufacturers have begun dedicating over half the surface area of chips to accelerators. These improvements come with their own challenges, however; rapidly evolving computer architecture offers less portability from software from one generation to another, which opens the floor to reliability and security concerns.

As of now, the National Science Foundation (NSF) is taking measures to mitigate this dramatic shift in Moore’s Law. Funding is already being directed into research endeavors surrounding scalability, special purpose integrated circuits, and cybersecurity.


Platform C/C++

Created in 1972 by Dennis Ritchie, C historically has been one of the most widely used programming languages. Its applications lie primarily in operating systems code, device drivers, and protocol stacks, where it can be found in devices ranging from microcontrollers and embedded systems to supercomputers. Unlike languages like Python, C is a low-level, meaning it provides closer access to underlying hardware and memory. Its standout features are being a compiled language that offers direct management of memory, optimizing it for fast execution times.

C++ builds upon C to offer object-oriented capabilities, adding features like classes, inheritance, and polymorphism. Because of its better structure and flexibility, C++ is more suitable for much larger, complex software projects that require high performance, such as game development.

Within Computer Engineering, C/C++ offer a balance between low-level and high-level programming to interface directly with computer hardware. From building basic projects with an Arduino microcontroller to designing firmware for the circuit boards inside a $200,000 solar car, C/C++ plays an important role in developing ECE products and is a valuable language to learn.


Platform KiCAD

KiCAD is a free electronic design automation (EDA) program used to design electronic hardware that can be manufactured into printed circuit boards (PCBs). First created in 1992, it has since gone through numerous updates to expand its features and capabilities. It is now most prominently used among hobbyists and educational teams.

Applications of KiCAD range from designing a simple circuit using a microcontroller to taking on more robust and comprehensive projects involving hundreds of circuit components and large volumes of electricity. There are two primary design tools in KiCAD: the schematic editor and PCB layout tool. Creating schematics on KiCAD can be likened to drawing circuit diagrams on paper using common symbols; its purpose is to create a blueprint of a circuit before it is actually built. Once a schematic is finished, it can be exported to the PCB layout where users can construct the layout of physical components and send their final design to a PCB manufacturer, where a green circuit board will be constructed and shipped to them.

Though there are alternative paid EDA software more widely used in industry, like Altium or EAGLE, KiCAD stands as one of the most versatile and comprehensive free EDAs. It is fully capable of designing electrical projects both large and small, making it a valuable program to add to an engineer’s skillset.

Schematics made in KiCAD

Schematic 1
Schematic 1

PCB layouts in KiCAD

Schematic 1

Glossary Term IC and VLSI

IC refers to integrated circuits, or small chips comprised of multiple electronic components (transistors, resistors, capacitors) etched onto semiconductor material. They are fabricated via photolithography, a process by which UV light transfers patterns onto a single unit of silicon wafer. As opposed to using discrete circuit components, photolithography allows for a high density of transistors in a small form factor, allowing ICs to offer incredibly high performance. They can be found in virtually all modern devices because of their low manufacturing cost and efficiency.

VLSI, or very-large-scale integration, refers to integrated circuits with millions or billions of components on a single chip, enabling the functionality of a CPU, ROM, and RAM among others to be localized in a condensed package. Every new generation of high-end processing devices like graphics cards and CPUs relies on adding more transistors or optimizing layout in VLSI. As small electronic components start to reach their physical limits, however, new means of improving chips are required.

A VLSI integrated-circuit


Glossary Term FPGAs

FPGAs, or Field Programmable Gate Arrays, are integrated circuits that can have their hardware reconfigured for specific use cases “in the field”. They are comprised of Configurable Logic Blocks, or CLBs, which contain registers, memory, and function generators that enable them to behave like logic gates. To reconfigure an FPGA, an engineer typically can place and route components by programming in a hardware description language (HDL) like Verilog. These languages generally have preexisting libraries that define complex functions for the programmers to use, expediting the the reconfiguration process significantly.

FPGAs are used in a variety of applications that range from automobiles to space avionics. Especially for satellites and other spacecraft in orbit, the FPGAs become incredibly useful for reconfiguring their hardware systems remotely. FPGAs are also power efficient and can offer real-time response, making them well suited for safety applications like blind spot warning and cruise control. Due to their prevalence in hardware systems that aren’t explicitly related to computer chips, knowing how to program and use an FPGA is highly sought after.


Social/cultural way to engage within the discipline Makerspaces (the Hive)

One of the best environments to engage with computer engineering is building projects at the Hive, Georgia Tech’s ECE makerspace. The facility is equipped with a variety of tools, ranging from soldering irons to 3D printers to oscilloscopes. They also have an inventory of electronic components that are free to take—like resistors or capacitors—as well as more specialized components can be checked out with a Buzzcard. Open Mondays to Fridays from 10AM to 6PM, the Hive staffs a number of peer instructors who are capable of supporting you in any project. Any student seeking to get hands-on experience in ECE skills can come to the Hive to get started

Every now and then the Peer instructors host workshops that students can RSVP to attend. These cover a wide array of subjects; beyond teaching common ECE topics like how to use an Arduino, they lead miscellaneous lessons like how to make a candle or learn the inner workings of a combination lock. For any student out there, computer engineering or not, the Hive is a fantastic, free cultural means of engaging with the fundamentals of ECE.

A project made at the Hive

A Hive project example


Works Cited

Banerjee, Anindya, et al. “Navigating the Seismic Shift of Post-Moore Computer Systems Design | IEEE Journals & Magazine | IEEE Xplore.” IEEE, 22 Nov. 2021, https://ieeexplore.ieee.org/document/9623405/.

“Explore.” The Hive Makerspace, https://hive.ece.gatech.edu/explore/.

Gregerson, Erik. “C.” Encyclopedia Britannica, https://www.britannica.com/technology/C-computer-programming-language.

“KiCad EDA - A Cross Platform and Open Source Electronics Design Automation Suite.” KiCAD, https://www.kicad.org/.

Ltd., Arm. “What Is an FPGA?”YouTube, https://www.arm.com/glossary/fpga .

MicroscopyChannel. “ZOOMING TO SEE THE TRANSISTORS IN CPU!”Arm,16 Sept. 2020, https://www.youtube.com/watch?v=7d1eyZBpLn8.

Pawale, Vaibhav. “Integrated Circuits: SSI, MSI, LSI, VLSI, Ulsi.” Medium, Medium, 26 May 2021, https://vaibhav-pawale19.medium.com/integrated-circuits-ssi-msi-lsi-vlsi-ulsi-eb8eea61e6a5.

Schneider, Josh, and Ian Smalley. “What Is a Field Programmable Gate Array (FPGA)?” IBM, 8 May 2024, https://www.ibm.com/think/topics/field-programmable-gate-arrays.

Volle, Adam. “C++.” Encyclopedia Britannica, https://www.britannica.com/technology/C-computer-language.