top of page

Object Oriented in System Verilog

We often use a lot of object oriented concepts.  

But sometimes, we tend to forget the concepts and reasoning behind why we use them and such. 

Here, i have compiled some key concepts in a way that you can never forget. 

Let's go through each concepts below:

​

  1. Objects: Think of objects as your favorite toys, like a teddy bear or a toy car. Each toy has its own special features and things it can do.

  2. Classes: Imagine that there is a special book that tells you how to create different toys. This book is like a class. It gives you the instructions for making a teddy bear or a toy car.

  3. Encapsulation: When you have a special toy, it may have some secret buttons or hidden parts that you can't see. Encapsulation is like hiding those secrets inside the toy and only letting you play with the buttons that are meant to be pressed.

  4. Inheritance: Sometimes, toys have families. For example, a big teddy bear can have baby teddy bears that look just like it. Inheritance is when the baby teddy bears get some of the special features and abilities from their big teddy bear family.

  5. Polymorphism: Polymorphism is like having toys that can change their shape or do different things. For example, a toy robot can transform into a car or a dinosaur. It's like having one toy that can be many different things.

  6. Abstraction: Imagine you have a coloring book with pictures of different toys. Abstraction is like seeing the pictures of the toys without worrying about how they are made or what they can do. You can still enjoy coloring them!

  7. Modularity: Modularity is like having different parts of a toy that you can take apart and put together easily. Each part does its own special job, and you can mix and match them to make different toys.

  8. Association: Sometimes, toys like to play together and share things. Association is when toys have a special connection and can interact with each other. They can be friends and do things together.

​

I hope this helps you remember all the concepts. Next tutorial onwards, we will try to apply the concepts of object oriented programming and also try to build our very own processor. 

bottom of page