Multi-threaded Global Routing for Semiconductor Chips
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current semiconductor chip design routing processes, particularly global routing, are inefficient due to interdependencies between global nets, making it difficult to implement multi-threading for concurrent execution without conflicts.
Innovation Solution
A multi-threaded approach is applied by selecting a subset of global nets (window) for concurrent routing, with a self-adjusting window size, prioritizing nets based on priority schemes, and geographically dispersing them to minimize conflicts, using graph theory to resolve conflicts and adapt the window size based on detected issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If multi-threading is applied to global routing, then routing time is reduced, but conflicts arise between threads due to interdependencies between global nets
Solution Approach 1:
The patent segments the global routing process into multiple independent windows, where each window contains a subset of global nets that can be routed by separate threads without conflicts. This segmentation is achieved by dividing the complete net list into smaller manageable portions, allowing concurrent execution while maintaining thread independence and avoiding conflicts between threads.
2Device complexity
If a fixed window size is used for multi-threaded routing, then implementation is simplified, but routing efficiency decreases due to inability to adapt to different routing scenarios
Solution Approach 1:
The patent implements a dynamic window size mechanism that automatically adjusts the number of global nets per window based on routing progress and detected conflicts. The window size can increase or decrease during the routing process, allowing the system to adapt to different routing scenarios and optimize performance without requiring complex manual configuration.
Solution Approach 2:
The patent incorporates feedback mechanisms that monitor routing progress and conflict detection to dynamically adjust window size. When conflicts are detected or routing efficiency changes, the system receives feedback and automatically modifies the window size to optimize performance, creating a self-regulating routing system.
Data Source
AI summary
A method is described for routing a semiconductor chip's global nets. The method includes identifying a subset of the global nets and routing the subset of global nets using multiple threads, where, each of the global nets within the subset are routed by one of the threads in isolation of the subset's other global nets. The method further includes identifying a second subset of the global nets and routing the second subset of global nets using the multiple threads, where, each of the global nets within the second subset are routed by one of the threads in isolation of the second subset's other global nets but in respect of the routes of first subset of global nets.


