I am an Electrical Engineering studentโกat The University of British Columbia, where I learn the fundamentals of circuits, signals, systems, firmware and computer architecture๐. My interests include silicon engineering, computer architecture, and mixed-signal circuit design ๐ก.
I was previously a Mixed-Signal Verification Engineer Intern at Synopsys ๐. My duties included running mixed-signal analog and digital simulations ๐งช, writing Python scripts ๐ to automate the verification process, and analyzing waveforms and test results ๐.
๐น UBC Thunderbots (Soccer Playing Robots)
Position: Electrical Team Member
Location: University of British Columbia
Details
- Collaborated with team members to enhance and redesign multi-signal PCBs using Altium Designer. - Contributing to the redesign of the team's motor driver board, involving analog and digital circuit design, including SPI communication protocol integration. - Proficient in soldering and electronic assembly, ensuring precise construction of PCBs. - Conducted thorough testing and debugging of assembled boards using tools like oscilloscopes and multimeters, and implemented necessary fixes. - Implemented motor control firmware in C for STM microcontrollers using STM32CubeIDE and STM32CubeMx, and tested using STM32 Motor Pilot. - Contributed to the team's growth by conducting interviews and reviewing applications.๐น Text Editor App (Personal Project)
Details
- Developed a robust Text Editor Program in C for the Linux Terminal, featuring keypress handling, text input, cursor navigation, file opening, and saving. - Added horizontal and vertical scrolling for seamless navigation through long documents. - Implemented functions to process text and reformat it for optimal screen display, refreshing after each keypress. - Incorporated BASH commands within the program to add core functionality, and utilized Makefiles for debugging. - Continuously adding new features to enhance the app.๐น Laser Animation Robot (UBCโs ELEC 391 Project)
Details
- Collaborated with a team of three to develop a two-axis robotic system that uses a laser to draw animations on a surface, including control, mechanical, and electrical subsystems. - Configured an FPGA using System Verilog to decode motor optical encoders, count pulses, and transmit data to the microcontroller via serial communication. - Assisted in designing the analog circuit, including PCB layout, signal routing, motor driver circuits, buck converters, and linear regulators. - Integrated analog and digital circuits with the microcontroller to ensure the firmware-controlled system operated correctly. - Soldered and assembled PCBs using a reflow oven and a stencil, and did touch-ups with a soldering iron, flux, and a heat gun.๐น RC4 Decryption Circuit on FPGA (UBCโs CPEN 311)
Details
- Developed an RC4 Decryption Finite State Machine using glitch-less FSM design in System Verilog on an FPGA and tested the design using ModelSim and Quartus. - Implemented a comprehensive approach to explore all possible key combinations using FPGA switches in the absence of user input. - Engineered and coordinated multiple decryption cores running in parallel to enhance the decryption process for increased speed and efficiency. - Instantiated memory blocks on the FPGA to manage data during the decryption process, using ROM for reading the encrypted message and RAM for storing intermediate algorithm results and the final decrypted message.๐น Simple iPod with Volume Meter (UBCโs CPEN 311)
Details
- Developed a Finite State Machine in System Verilog to retrieve and play songs stored in flash memory through the FPGA's speaker and tested the design using ModelSim and Quartus. - Implemented functionality for rewind, pause, play, and restart song operations using an external keyboard. - Integrated a volume meter using PicoBlaze assembly language, executed on a soft-core PicoBlaze processor instantiated within the FPGA. - Developed clock domain crossing logic to ensure seamless communication between different clock domains, allowing the FSM to function without issues.๐น Synopsys Inc
Details
**Position:** Mixed-Signal Verification Engineer Intern- Conduct mixed-signal simulations, process data, and analyze results to ensure power consumption meets expectations within SERDES products.
- Developed Python scripts to automate verification processes, including error reporting, data collection, power consumption analysis, and SystemVerilog file generation for register writing.
- Currently working on an optimization project to reduce analog simulation run times by running SPICE simulations on analog circuits and analyzing waveform results.
Thanks for visiting my profile! ๐ Feel free to reach out to discuss projects, opportunities, or just to connect.