Access Modifiers
Access Modifiers Through object-oriented programming, Python gives us the ability to control Access Modifiers which allow us to restrict the access of selected variables and functions within a class or an object. There are 3 Access Modifiers that we can use and they are common for most programming languages, they are: Public Protected Private Access…
Inheritance
Inheritance Inheritance is the concept of creating a new class by reusing an existing class which allows us to get rid of repetitious code and allows us to modify properties from the “parent” (or original) class or add a specific property that will be unique to each “child” (or derived) class. We use the terms…
Concept of Constructor and Destructors
Constructors Constructors are a crucial part of OOP and are functions that get executed when we instantiate an object of a class. We can use this to our advantage to initialize desired values for an object. We used constructors in our earlier code, which is the __init__() function. Consider an example class Test_Function: def __init__(self,…
Miscellaneous Topics in Pre-Placement
Miscellaneous topics in Pre-Placement Insertion of Decap Cells(Not everyone follows this) As mentioned, decap cells are leaky and need to be used effectively, insertion of these cells is not mandatorily followed by all designers. It depends on the top-level team to decide to use them in layout or not. Magnet Placement Here fixed objects are…
Pre-Placement
Pre-Placement Before the process of placement getting started, few steps were performed here in this stage generally called as Pre-Placement Stage. In this stage following things are implemented: Physical-Only Cells(Well Taps and Endcaps) These cells present in the library which connect only to power and ground rails and do not have any signal connectivity. Endcap…
Important Terms Related to Placement
What is ECO(Engineering Change Order)? This process is performed when there is, Some functionality enhancement of the existing device. This functionality enhancement change might be very small to undergo all the process steps again. There might be some design bug that needs to be fixed which was caught very late in the design cycle. As…
Placement
Placement Placement is the stage where the Standard Cells are placed in the design. Previously in floorplan Macro placement is done. This stage is the process of giving a suitable physical location for all cells in the block. The tool only determines the location of each standard cell on the die based on algorithms used…
Classes
Classes We explored OOP in an earlier blog and we touched on classes, so in this blog let’s explore classes in a greater length. Classes provide a way to package together data types and methods or functions, that are interrelated. Let’s consider the syntax of creating a class: class <class_name>: ….–code— class First_Class: variable1 =…
Map, Filter & Reduce
We learned about anonymous functions, but let’s explore 3 of Python’s most powerful anonymous functions and these are map(), filter(), and reduce(). These 3 enable us to approach programming with a functional paradigm {which is another way of saying we use functions}. Map We can use the map() function to use all of the provided…
Introduction to OOP
Introduction to OOP OOP stands for Object-Oriented Programming; it is a programming paradigm (or concept) that is aimed at making our program more readable and structured by grouping together all of the related variables and functions into a class. A class provides a blueprint of related variables and functions, and we create an object or…