top of page

ABOUT ME

My name is John “Jackie” Mac Hale and I’m from Cupertino, California in the heart of the Silicon Valley. I come from a family of immigrants from Ireland and China, so I had an international upbringing and can speak Chinese fluently. My interests include exploring how emulation works to preserve old technology on modern hardware and tinkering with electronics to create fun projects. I play the piano as a hobby with a preference for playing baroque and classical music. I also used to compete in abacus and mental arithmetic (珠心算) competitions with speed and accuracy being the main criteria for winning. The amount of dedication and practice required to stay proficient in mental arithmetic has taught me how to strive for higher and more challenging goals which includes my goal of getting an internship.

As an Eagle Scout, I’ve held many different roles with responsibilities and mentored younger scouts on their own scouting journey. My eagle project totaled 141 man-hours and 23 people to build two bookshelves and two carts for a local elementary school, replacing the older, unsafe equipment that the school had still been using.

Piano_Playing.jpg

Playing at a piano concert

Eagle Project Photo.jpg

My two finished bookshelves

About: About

SKILLS

Programming: Java, C, C++, JavaScript, SystemVerilog, VHDL, RISC-V assembly

Hardware: Arduino & STM32 microcontrollers, Oscilloscopes, DE10-Standard &                        PYNQ-Z1 FPGAs, UART, Motors

Software: Git, GitHub, Autodesk Eagle, KiCad, Vivado, Arduino, Mbed, Jira,                            Confluence, Bamboo, Quartus Prime, Ubuntu, Icarus Verilog 

Languages: English, Chinese

About: Text

CAREER GOALS

I am on track to graduate in December 2024 with my Bachelor of Science degree in Computer Engineering. To become a Computer Architect or a computer chip design engineer, I plan to pursue a Master’s in Electrical and Computer Engineering with a concentration on computer architecture or VLSI design.

https://www.bu.edu/caadlab/img/Computer_Arch.f56ff915.jpg
About: Image

COURSEWORK

ECE 4804 - VLSI Design: Theory to Tapeout

I'm learning how to design, verify, and test a fabricated CMOS digital VLSI design. This involves using SystemVerilog to synthesize hardware, implement circuits with place-and-route (SAPR), and validate that the silicon fully works after the chip is taped out.

CS 3510 - Design and Analysis of Algorithms

I'm learning how to design and analyze efficient algorithms using techniques such as divide-and-conquer, dynamic programming, greedy algorithms, and local search for standard computational problems (graphs, hashing, sorting, optimization, etc.). I will also learn the theory of NP-completeness.

ECE 4130 - Advanced VLSI Systems

In this course, I'm learning how to analyze, design, and test VLSI systems and how they're incorporated into a silicon environment. This includes content on interconnects, different memory types, physical design, VLSI clocking, how to supply power, I/O, and current & future challenges in VLSI design.

ECE 3058 - Architecture, Systems, Concurrency, and Energy in Computation

I learned about computer architecture and how pipelined processors are designed to increase the throughput of a CPU. I also learned about memory hierarchy from SRAM caches to an SSD, I/O mechanisms including DMA and interrupts, and basic operating system constructs including multithreading.

bottom of page