Distributed EDA Architecture for Design Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In electronic design automation, synchronizing multiple designer workstations on a shared design across a network is challenging due to data transmission overhead, potential rounding errors, and conflicts from asynchronous edits, which can lead to inefficient performance and inconvenient edit reversals.
Innovation Solution
A system where design change commands from multiple clients are queued and forwarded to all clients in the same order by a server, ensuring that each client resets its parameters to match the originating client's settings before executing commands, thereby maintaining design consistency and preventing conflicts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If frequent synchronization of local design copies is performed to keep designers aware of latest changes, then design consistency is improved, but network data transmission increases and system performance deteriorates
Solution Approach 1:
The patent extracts only the essential change information (commands) from the full design data and transmits only these commands across the network. Instead of synchronizing complete design copies frequently, the system extracts and transmits only the delta changes, significantly reducing network bandwidth while maintaining design consistency.
Solution Approach 2:
The patent uses command copying where design changes are represented as executable commands that are copied to all client systems. These commands replicate the exact sequence of operations needed to achieve the same design state, ensuring consistency without requiring full data synchronization.
2Productivity
If edits to local design copies are performed independently without strict ordering control, then editing speed is improved, but rounding errors accumulate and copies become non-identical
Solution Approach 1:
The patent segments the design change process into discrete, ordered commands that are applied sequentially. By dividing the edit history into sequential command units and enforcing their execution in order across all clients, the system maintains dimensional precision while allowing parallel editing initiation.
Solution Approach 2:
The patent implements preliminary action by establishing a command queue that orders operations before execution. The server receives commands from multiple clients and forwards them in a controlled sequence, ensuring that rounding errors are minimized by applying changes in a consistent order across all copies.
3Productivity
If designers can edit local copies simultaneously without coordination, then productivity is improved, but conflicting edits occur requiring reversals
Solution Approach 1:
The patent implements feedback mechanisms where clients receive acknowledgment of received commands and can detect conflicts before executing them. The system provides feedback about the current state of the design and potential conflicts, allowing designers to adjust their edits proactively rather than reacting to reversals after conflicts occur.
Solution Approach 2:
The patent uses preliminary action by checking for conflicts before allowing edits to be applied. The command queue system preliminarily orders and validates commands to ensure that simultaneous edits do not conflict, preventing the need for reversals while maintaining high productivity.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
A copy of a design is stored at each of multiple clients. When a client user provides input indicating a wish to modify the design in some way, the input is captured and one or more commands created. The commands are forwarded to a server, which queues commands received from all of the clients and then forwards each of those commands back to each of the clients. Upon receiving commands from the server, each of the clients executes those commands in the order received. Each client also maintains data indicating settings for all clients in a current editing session. Before executing a design changing command, each client adjusts its settings to match those of the client from which that command originated.