Real-Time DRC Assistance for Manual IC Layout Editing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional design rule checking (DRC) systems are inefficient for real-time manual layout editing in electronic design automation, particularly for analog, RF, and custom circuit designs, due to the complexity and number of design rules, leading to laborious and time-consuming processes.
Innovation Solution
A system that enables real-time interactive manual layout editing by calculating and enforcing design rule clean positions, allowing shape movements to be blocked before DRC errors occur, and adjusting the 'push through value' for high-altitude editing, using edge speed ratios and corner data structures to ensure compliance with design rules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional DRC systems are used for manual layout editing, then design rule checking can be performed, but the process becomes laborious and time-consuming due to the complexity and number of design rules
Solution Approach 1:
The system performs preliminary DRC analysis by pre-calculating valid position ranges for shape edges before the user completes the editing action. This allows the system to provide real-time feedback and prevent violations before they occur, rather than detecting them after the fact.
Solution Approach 2:
The system provides continuous real-time feedback to the user during manual editing operations. By monitoring shape positions and calculating valid ranges dynamically, the system immediately informs users when a violation would occur, allowing them to adjust their editing actions accordingly.
2Productivity
If real-time DRC checking is implemented during manual editing, then immediate feedback is provided, but the computational complexity and processing overhead increase significantly
Solution Approach 1:
The DRC checking process is segmented into independent directional checks (horizontal and vertical). Each direction is processed separately by dedicated processing circuits, allowing parallel execution and reducing overall computational complexity. The segmentation also allows the system to focus on only the relevant dimension for each editing operation.
Solution Approach 2:
Valid position ranges for shape edges are pre-calculated based on design rules and neighboring shape positions before the user completes the editing action. This preliminary calculation avoids the need for complex real-time simulation during the actual editing operation.
3Reliability
If the system blocks shape movements to prevent DRC violations, then design rule compliance is maintained, but the ease of operation is reduced due to movement restrictions
Solution Approach 1:
The system dynamically adjusts the level of constraint applied to shape movements based on the current editing context. Instead of rigidly blocking all potentially violating movements, the system provides guidance through valid position range calculations, allowing users flexibility within acceptable boundaries while preventing violations.
Solution Approach 2:
The system acts as an intermediary between the user's editing intentions and the final shape positions. By calculating and presenting valid position ranges, the system mediates the conflict between user freedom and design rule compliance, allowing users to make informed decisions rather than being outright blocked.
Data Source
AI summary
Roughly described, while manually dragging shapes during IC layout editing, editing operations determine which edges of which shapes are moving at what speed ratios. Based on the edge information and the DRC rules, the system calculates and keeps track of the minimum of the maximum distance the edges are allowed to move with the cursor without violating DRC rules, in four linear directions and all corner directions. Once a next cursor destination point is known, a DRC clean destination point is calculated based on the linear and corner bounds. If the next cursor position is beyond a the push-through distance ahead of the new DRC clean point, the editing objects are moved to the user's destination point. Otherwise, the editing objects are moved to the new DRC clean destination point, thereby stopping movement at that point.


