This is one of the most common questions I get from my top students. You learn a fancy new Skill script or the array command and want to use it everywhere. But the best layout artists are like master carpenters: they know exactly which tool to pick for each specific cut. That’s why understanding the balance between Advanced Editing Features vs. Manual Editing is essential for every serious layout engineer.
The golden rule is simple: Use advanced features for repetition and structure. Use manual editing for precision and exception.
Let’s break this down with real-world examples you’ll face on the job.
When to Unleash Advanced Editing (The Power Tools)
Use these when the task is repetitive, rule-based, or structural. The goal is speed, consistency, and avoiding human error.
Creating Device Arrays: This is the textbook use case.
What to use: The Create -> Array command.
When to use: You need 50 identical capacitor units for a DAC. You need a row of 100 standard cell inverters for a digital block. You need multiple dummy metal fills in an empty area.
Why: It’s perfectly aligned, evenly spaced, and DRC-clean by construction. Doing this manually would take forever and likely have minor misalignments.
Global, Repetitive Changes: When you need to change the same thing everywhere.
What to use: Edit -> Hierarchy -> Global Find and Replace or a simple Skill script.
When to use: The circuit designer changed the width of a critical bus from 0.5μm to 0.8μm. You’ve already routed this bus across the entire chip. A global find-and-replace can modify all instances of that wire’s width in seconds.
Why: Manually selecting hundreds of wire segments is error-prone and mind-numbingly tedious.
Structuring and Floorplanning:
What to use: Create -> Derive -> Cell (Abstract / Black-Box view).
When to use: You are working on a top-level chip that contains 20 analog macros. You need to move these blocks around to optimize the floorplan.
Why: Instead of fighting with thousands of polygons from a flattened block, you work with a single, simple rectangle. It preserves hierarchy, keeps the database light, and allows for easy snapping and alignment.
Creating Complex, Repetitive Shapes:
What to use: Edit -> Copy To Layer with array options.
When to use: Creating a custom, regular pattern for a capacitor or a shield. Adding a large area of dummy metal fill with a specific pitch.
Why: Achieves perfect uniformity that is impossible to do by hand without immense effort.
When to Stick to Manual Editing (The Scalpel)
Use manual editing when the task requires an analog layout engineer’s judgment. This is where you add the value that a script never could.
Critical Matching Structures:
What to use: Manual placement and editing (with stretch, move, copy).
When to use: Placing the devices for a common centroid differential pair or a current mirror. While the overall array might be structured, the final placement of dummies, the routing of interconnections, and the alignment within the guard rings often need a human touch.
Why: You need to visually inspect and ensure perfect symmetry, consider proximity effects, and balance parasitic gradients. Blindly arraying devices can sometimes create unintended asymmetries.
Routing Sensitive Analog Nets:
What to use: Manual routing with precise wire tool settings.
When to use: Routing the net between the input differential pair. Routing a high-impedance node in a feedback loop. Shielding a critical clock line.
Why: You are making constant decisions based on context: “Should I use M2 or M3 here for lower capacitance?” “How do I avoid crossing this noisy digital line?” “I need to snake this wire to match the length of its counterpart.” This requires real-time problem-solving.
Dealing with Exceptions and DRC Oddities:
What to use: Manual move, stretch, and reshape.
When to use: The DRC tool shows a error in a tight, congested area. The auto-generated fill has created a tiny notch that violates a complex design rule.
Why: These are one-off, unique problems. Writing a script to fix it would take longer than just manually adjusting the three polygons involved. Your eye for detail is faster here.
Creating and Editing Guard Rings:
What to use: Manual path or shape creation and editing.
When to use: Drawing a multi-layer guard ring around a sensitive LDO or a VCO.
Why: Guard rings often need to snake around other structures, have varying widths, and require a specific number of contacts/vias per segment. This is a custom, context-aware task.
The Final, Simple Rule of Thumb
Before you start any task, ask yourself: “Am I thinking, or am I doing?”
If you are doing a repetitive, boring task (like placing 100 caps), AUTOMATE IT. Use the power tools.
If you are thinking about performance, matching, noise, or reliability, DO IT MANUALLY. Use the scalpel.
The best engineers seamlessly switch between the two. They write a script to create the initial structure of 100 capacitors and then manually fine-tune the placement of the first and last few to optimize the surrounding layout and routing. This balance of Advanced Editing Features vs. Manual Editing is what separates a drafter from a true Layout Architect.
This ability to choose the right tool is what makes you not just a layout drafter, but a Layout Architect. Mastering the balance of Advanced Editing Features vs. Manual Editing is the true mark of expertise in VLSI layout design.
Semionics, Your Partner in semiconductor space , connecting industry needs with skilled professionals in Analog & Mixed-Signal IC Layout Design and Physical Verification ."from Basics to Brilliance .. A path to Semiconductor Industry!!"
We use cookies to improve your experience on our site. By using our site, you consent to cookies.
This website uses cookies
Websites store cookies to enhance functionality and personalise your experience. You can manage your preferences, but blocking some cookies may impact site performance and services.
Essential cookies enable basic functions and are necessary for the proper function of the website.
Name
Description
Duration
Cookie Preferences
This cookie is used to store the user's cookie consent preferences.
30 days
These cookies are needed for adding comments on this website.
Name
Description
Duration
comment_author
Used to track the user across multiple sessions.
Session
comment_author_email
Used to track the user across multiple sessions.
Session
comment_author_url
Used to track the user across multiple sessions.
Session
Statistics cookies collect information anonymously. This information helps us understand how visitors use our website.
Google Analytics is a powerful tool that tracks and analyzes website traffic for informed marketing decisions.
Contains information related to marketing campaigns of the user. These are shared with Google AdWords / Google Ads when the Google Ads and Google Analytics accounts are linked together.
90 days
__utma
ID used to identify users and sessions
2 years after last activity
__utmt
Used to monitor number of Google Analytics server requests
10 minutes
__utmb
Used to distinguish new sessions and visits. This cookie is set when the GA.js javascript library is loaded and there is no existing __utmb cookie. The cookie is updated every time data is sent to the Google Analytics server.
30 minutes after last activity
__utmc
Used only with old Urchin versions of Google Analytics and not with GA.js. Was used to distinguish between new sessions and visits at the end of a session.
End of session (browser)
__utmz
Contains information about the traffic source or campaign that directed user to the website. The cookie is set when the GA.js javascript is loaded and updated when data is sent to the Google Anaytics server
6 months after last activity
__utmv
Contains custom information set by the web developer via the _setCustomVar method in Google Analytics. This cookie is updated every time new data is sent to the Google Analytics server.
2 years after last activity
__utmx
Used to determine whether a user is included in an A / B or Multivariate test.
18 months
_ga
ID used to identify users
2 years
_gali
Used by Google Analytics to determine which links on a page are being clicked
30 seconds
_ga_
ID used to identify users
2 years
_gid
ID used to identify users for 24 hours after last activity
24 hours
_gat
Used to monitor number of Google Analytics server requests when using Google Tag Manager
1 minute
SourceBuster is used by WooCommerce for order attribution based on user source.
Name
Description
Duration
sbjs_session
The number of page views in this session and the current page path
30 minutes
sbjs_udata
Information about the visitor’s user agent, such as IP, the browser, and the device type
session
sbjs_first
Traffic origin information for the visitor’s first visit to your store (only applicable if the visitor returns before the session expires)
session
sbjs_current
Traffic origin information for the visitor’s current visit to your store
session
sbjs_first_add
Timestamp, referring URL, and entry page for your visitor’s first visit to your store (only applicable if the visitor returns before the session expires)
session
sbjs_current_add
Timestamp, referring URL, and entry page for your visitor’s current visit to your store
session
sbjs_migrations
Technical data to help with migrations between different versions of the tracking feature