US2015379183A1PendingUtilityA1

System and method for hybrid cloud computing for electronic design automation

Assignee: GEAR DESIGN SOLUTIONSPriority: Mar 15, 2013Filed: Jun 8, 2015Published: Dec 31, 2015
Est. expiryMar 15, 2033(~6.7 yrs left)· nominal 20-yr term from priority
G06F 30/33G06F 2111/02G06F 17/5077G06F 17/5072G06F 30/392G06F 30/394G06F 30/3308
44
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
1 . 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.