System and method for hybrid cloud computing for electronic design automation
Abstract
Described herein are systems and methods for a partitioned extraction-simulation technique that efficiently combines a partitioned extraction technique and a partitioned simulation technique by removing and not performing particular steps of the techniques to provide a more efficient netlist extraction and circuit simulation process. In some embodiments, a plurality of circuit simulators directly receive and process a plurality of sub-region netlists that are based on a spatial partitioning of the IC layout. In further embodiments, an EDA hybrid cloud system is implemented using pipelining and serializing of memory data. In these embodiments, an overall EDA process is divided into a plurality of pipelined stages to accelerate the computational speed of the overall EDA process. In further embodiments, EDA data is transferred, over a network, from a memory of one computer system directly to a memory of another computer system by serializing the EDA data.
Claims
exact text as granted — not AI-modified1 . A system for performing an overall electronic design automation (EDA) process on an EDA storage object, comprising EDA data, using a plurality of EDA applications, the system comprising:
a client system configured for: dividing the overall EDA process into a plurality of pipelined EDA stages, each EDA stage comprising a corresponding EDA application configured for performing the EDA stage; assigning at least one EDA stage to a first server system for performing the assigned EDA stage; loading EDA data of the EDA storage object to a memory; serializing the EDA data in memory to produce serialized EDA data; and transmitting, over a network, the serialized EDA data to a memory of the first server system; and the first server system connected with the client system through the network, the first server system configured for: deserializing the serialized EDA data to produce EDA data in memory; and performing at least one assigned EDA stage by using at least one corresponding EDA application for processing the EDA data in memory, wherein the at least one corresponding EDA application begins processing the EDA data before transmitting of the serialized EDA data to the first server system is completed.
2 . The system of claim 1 , wherein the EDA data is stored as an EDA memory data structure in the memory of the client and first server systems.
3 . The system of claim 1 , wherein:
the client system is assigned to perform at least one EDA stage; the client system is further configured for: before serializing the EDA data in memory, performing the at least one assigned EDA stage by using at least one corresponding EDA application for processing the EDA data in memory.
4 . The system of claim 1 , wherein the client system is further configured for:
assigning a particular EDA stage to a second server system for performing the particular EDA stage, the particular EDA stage having a previous stage before the particular EDA stage; and transmitting, over the network, the serialized EDA data to a memory of the second server system, wherein the serializing and transmitting the serialized EDA data begins without waiting for the execution or serialization of EDA data the previous stage to complete, wherein the serialized EDA data is transmitted through multiple connections to the first and second server systems.
5 . The system of claim 4 , further comprising:
the second server system connected with the client system through the network, the first server system configured for:
deserializing the serialized EDA data to produce EDA data in memory; and
performing the particular EDA stage by using at least one corresponding EDA application for processing the EDA data in memory, wherein the at least one corresponding EDA application begins processing the EDA data before transmitting of the serialized EDA data to the second server system is completed.
6 . The system of claim 1 , wherein the client system is further configured for:
assigning a same EDA stage to at least two different server systems for performing the assigned EDA stage in parallel.
7 . The system of claim 1 , wherein the client system is further configured for:
transmitting a message to the first server system, the message specifying each EDA stage assigned to the first server system and a sequence ordering of the assigned EDA stages.
8 . The system of claim 1 , wherein:
the EDA storage object comprises EDA-based formatting; and loading EDA data of the EDA storage object to the memory comprises:
parsing the EDA storage object to extract the EDA data from the EDA-based formatting of the storage object; and
storing the EDA data in memory as an EDA memory data structure.
9 . The system of claim 1 , wherein:
each EDA application produces a plurality of serialized outputs, each serialized output comprising serialized EDA data received by one or more receiving EDA applications executing on one or more systems, wherein the one or more receiving EDA applications begin processing of the serialized EDA data before serializing of all the EDA data is completed.
10 . non-transitory computer readable medium having instructions stored thereon when executed by a processor, perform an overall electronic design automation (EDA) process on an EDA storage object, comprising EDA data, using a plurality of EDA applications, the non-transitory computer readable medium comprising instructions for:
configuring a client system for:
dividing the overall EDA process into a plurality of pipelined EDA stages, each EDA stage comprising a corresponding EDA application configured for performing the EDA stage;
assigning at least one EDA stage to a first server system for performing the assigned EDA stage;
loading EDA data of the EDA storage object to a memory;
serializing the EDA data in memory to produce serialized EDA data; and
transmitting, over a network, the serialized EDA data to a memory of the first server system; and
configuring the first server system for:
deserializing the serialized EDA data to produce EDA data in memory; and
performing at least one assigned EDA stage by using at least one corresponding EDA application for processing the EDA data in memory, wherein the at least one corresponding EDA application begins processing the EDA data before transmitting of the serialized EDA data to the first server system is completed.
11 . The non-transitory computer readable medium of claim 10 , wherein the EDA data is stored as an EDA memory data structure in the memory of the client and first server systems.
12 . The non-transitory computer readable medium of claim 10 , wherein:
the client system is assigned to perform at least one EDA stage; the client system is further configured for:
before serializing the EDA data in memory, performing the at least one assigned EDA stage by using at least one corresponding EDA application for processing the EDA data in memory.
13 . The non-transitory computer readable medium of claim 10 , wherein the client system is further configured for:
assigning a particular EDA stage to a second server system for performing the particular EDA stage, the particular EDA stage having a previous stage before the particular EDA stage; and transmitting, over the network, the serialized EDA data to a memory of the second server system, wherein the serializing and transmitting the serialized EDA data begins without waiting for the execution or serialization of EDA data the previous stage to complete, wherein the serialized EDA data is transmitted through multiple connections to the first and second server systems.
14 . The non-transitory computer readable medium of claim 13 , further comprising instructions for:
configuring the second server system for:
deserializing the serialized EDA data to produce EDA data in memory; and
performing the particular EDA stage by using at least one corresponding EDA application for processing the EDA data in memory, wherein the at least one corresponding EDA application begins processing the EDA data before transmitting of the serialized EDA data to the second server system is completed.
15 . The non-transitory computer readable medium of claim 10 , wherein the client system is further configured for:
assigning a same EDA stage to at least two different server systems for performing the assigned EDA stage in parallel.
16 . The non-transitory computer readable medium of claim 10 , wherein the client system is further configured for:
transmitting a message to the first server system, the message specifying each EDA stage assigned to the first server system and a sequence ordering of the assigned EDA stages.
17 . The non-transitory computer readable medium of claim 10 , wherein:
the EDA storage object comprises EDA-based formatting; and loading EDA data of the EDA storage object to the memory comprises:
parsing the EDA storage object to extract the EDA data from the EDA based formatting of the storage object; and
storing the EDA data in memory as an EDA memory data structure.
18 . The non-transitory computer readable medium of claim 10 , wherein:
each EDA application produces a plurality of serialized outputs, each serialized output comprising serialized EDA data received by one or more receiving EDA applications executing on one or more systems, wherein the one or more receiving EDA applications begin processing of the serialized EDA data before serializing of all the EDA data is completed.
19 - 24 . (canceled)Join the waitlist — get patent alerts
Track US2015379183A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.