A Summer of Innovation: My Internship Experience at Cadence Design Systems
My summer internship at Cadence Design Systems in Noida was an exciting and enriching experience. I was thrilled to have the opportunity to contribute to real-world projects within such a prestigious company. From day one, I was immersed in a dynamic environment that fostered learning, innovation, and collaboration. This article will delve into the projects I worked on, the skills I developed, and the overall impact of this transformative internship.
Initial Warm-up: Python Proficiency
The first day at Cadence Design Systems was a great warm-up. I was given a set of 10 Python questions to solve. These questions covered various topics, including data structures, algorithms, and programming paradigms. Solving these problems tested my coding skills and provided a strong foundation for the tasks that awaited me.
Digital Alarm Clock Design: Verilog and SystemVerilog
On the second day, I was assigned an intriguing project involving Verilog and SystemVerilog to design a digital alarm clock. This project implements a digital clock with alarm functionality. The clock displays the current time, and the user can set the alarm time. When the alarm time matches the current time, an alarm is triggered, and a light is turned on. The alarm is sensitive to motion. It turns off as soon as motion is detected. The clock has functionality for displaying the weather (sunny, cloudy, rainy, stormy) in one character format.
The task required me to perform verification using a basic testbench. This project exposed me to hardware verification methodologies, allowing me to enhance my understanding of digital design.
Logic Simulator
One aspect of the project that added to my excitement was the simulation using the Logic Simulator. It was a new tool for me, and I eagerly embraced the opportunity to learn and work with it. I was able to simulate the clock design and observe its behavior and analyze the outputs. The experience with this tool broadened my skillset and exposed me to cutting-edge verification methodologies.
Read also: Cadence Academy Preschool: A Tuition Overview
Advanced Verification Concepts
I had the opportunity to learn about advanced verification concepts such as Transaction Class, Generator Class, Interface, Environment Class, Monitor, and Scoreboard. These concepts play a crucial role in ensuring the correctness and efficiency of hardware designs. As part of the learning process, I created a memory module for address and data, which gave me hands-on experience with these powerful verification constructs. I included the implementation of all these concepts and created a better testbench for my project.
Test Optimisation Project: Python Scripting
My next assignment involved working on the Python script for a Test Optimisation project. I made several corrections and modifications to the Python wrapper file to enhance its functionality of calling and running the main files with error handling.
Python GUI Development: Enhancing User Experience
One of the most exciting parts of my internship was creating a Python GUI for tool using the Tkinter library. The objective was to make the existing GUI more user-friendly and reduce the number of pages. I enjoyed working on the graphical aspects and implementing functionalities to enhance the overall user experience. I resolved all the compatibility issues with the Linux machine, and the GUI started working flawlessly.
As the development of the Python GUI progressed, I added more features, such as a directory tree view and frames, in each section to provide a neater and more organised look. Additionally, I implemented error handling for selecting files from the tree view. I displayed the full path of the selected files, addressing the limitations of the previous version of the GUI.
Innovative Ideas: ANN Model and Web-App
As I delved deeper into developing the Python GUI, I was inspired by the possibilities and potential it presented. Working on this project sparked new ideas in my mind, two of which stood out and piqued my curiosity:
Read also: UCLA DMA Program
Artificial Neural Network (ANN) Model
The ANN model, a powerful machine learning technique, could learn from historical data of test cases and identify patterns associated with errors or problematic test scenarios. Once trained, the ANN model could quickly detect potential issues in new test cases, providing valuable insights for further optimisation and debugging. This could significantly reduce manual effort and increase the overall efficiency of the testing process, resulting in more robust and reliable software.
Web-App
A Web-App would allow users to access the same functionality through a web browser, making it platform-independent and eliminating the need for software installation. This approach could attract a broader user base and simplify the deployment process, making the tool more accessible to individuals and teams working on diverse projects.
Moreover, with a Web-App, we could also explore the possibility of cloud-based deployment, enabling seamless collaboration and sharing of test cases among team members across different locations.
I chose the frontend as ReactJS and implemented the backend using NodeJS and ExpressJS. I also tried the exact implementation using Flask to gain more confidence with the framework.
Having come up with these exciting new ideas, I was eager to share them with my manager, Shobhit Kapoor and senior manager, Amit Kohli. On the presentation day, I showcased my ideas - ANN model, Web App, and Python GUI. I demonstrated the frontend and backend working of the Web App, highlighting how user-entered data was processed and responded to by the backend. During the presentation, I also emphasised the need for a large dataset to train the ANN model, which could significantly enhance the tool’s capabilities.
Read also: Landing an Industrial Design Internship
Mentorship and Guidance
Throughout my internship, I was fortunate to have two exceptional mentors, who played pivotal roles in guiding me through each project. Shobhit Sir, my manager, was incredibly supportive and approachable. He provided me with the necessary resources and tools. Whenever I faced challenges, he patiently listened to my ideas and offered valuable suggestions to improve. I am grateful for his unwavering support.
Amit Sir, my senior manager, welcomed my ideas and consistently supported me throughout my journey. His approachable demeanor and encouragement to think differently gave me the confidence to pursue my ideas. I owe a great deal of my success during the internship to the guidance provided by him.
Team Collaboration and Corporate Culture
I also had the opportunity to attend a team meeting. The experience was inspiring and gave me a glimpse into the corporate culture and how people handle projects at a larger scale. Seeing how different teams collaborated, shared ideas, and worked towards a common goal was fascinating.
In the subsequent days, I focused on finalising the Python GUI, implementing various examples of ANN (ranging from a simple Perceptron model to Keras Sequential APIs and Functional APIs), and refining the Web App’s functionality. I added the functionality to upload files to the backend, enabling users to run any file by specifying its path from the frontend and view its output.
Aspects of Cadence I Admire
One of the standout aspects of my experience at Cadence, Noida, was the people. The company’s employees are not only skilled professionals but also friendly, welcoming, and helpful. From day one, I felt like a part of the team, and the supportive environment made the learning process fulfilling.
I also admire Cadence’s approach towards work-life balance. During Global Recharge Days, Cadence encourages employees to take a break from their regular work routines. The company strongly emphasises employee well-being and acknowledges the importance of maintaining a healthy work-life balance.
Whenever an employee has their work anniversary, their cubicle is decorated with balloons. Colleagues would gather around to congratulate and share the happiness of the milestone. This also exemplifies the strong sense of camaraderie that flourishes within the Cadence community.
During my time at the Noida office, there were numerous events that brought the entire office together. The “Ice Cream Days,” and “Biryani Days” were a favorite among everyone, creating a joyful and refreshing atmosphere. Moreover, special Yoga Day Sessions were organized. These delightful moments showcased Cadence’s commitment to creating an enjoyable workplace for its employees.
Cadence: A Place to Grow and Innovate
Cadence prides itself on creating and sustaining a company culture that drives innovation and business success. From the first day at Cadence, the interns are expected to develop high-performance capabilities. They are encouraged and supported to take charge of their learning and leverage this opportunity fully to learn and develop their skills. The interns are assigned a mentor/manager who continually helps and guides them during this learning process. During this training, the interns get an opportunity to work on multiple live assignments to learn the workings of the actual tool. Based on reviews, Interns at Cadence Design Systems experience a structured career progression, starting with hands-on training in cutting-edge technologies and gradually advancing to more complex responsibilities.
Cadence plays a critical role in creating the technologies that modern life depends on. Interns are empowered to bring new ideas and learn from the best in the industry. Beginning your career at Cadence allows you to explore and impact the entire electronics design chain, developing tools and IP, from chip design to packaging to boards and systems. You’ll work with our customers and partners, utilizing emerging technologies like machine learning, to build solutions for growing markets such as autonomous cars, 5G, and AI. "The support from leadership is amazing!"
tags: #cadence #design #systems #internship #overview

