US12050852B2ActiveUtilityA1

Signal pre-routing in an integrated circuit design

47
Assignee: IBMPriority: Sep 7, 2021Filed: Sep 7, 2021Granted: Jul 30, 2024
Est. expirySep 7, 2041(~15.2 yrs left)· nominal 20-yr term from priority
G06F 30/333G06F 30/394G06F 30/327G06F 30/392G06F 2115/02G06F 30/33
47
PatentIndex Score
0
Cited by
100
References
20
Claims

Abstract

Based on a directive in a control file, a processor pre-routes, within a hierarchical integrated circuit design, a signal through one or more levels of design hierarchy between a signal source at a higher level of the design hierarchy and an entity instance at a lower level of the design hierarchy. The processor processes entity instances in the design hierarchy in a bottom-up manner to insert technology-specific structures into the hierarchical integrated circuit design. During the processing, the processor inserts into a particular entity instance of the design hierarchy a technology-specific structure and connects the technology-specific structure to the signal pre-routed to the particular entity instance by the pre-routing.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method of simulating operation of an integrated circuit design in a data processing system including a processor and data storage, the method comprising:
 the processor of the data processing system constructing, within the data storage, a hierarchical integrated circuit design for an integrated circuit containing millions of transistors through execution of one or more electronic design automation (EDA) tools, wherein the hierarchical integrated circuit design includes a design hierarchy including a plurality of entity instances organized hierarchically in a plurality of levels including a lower level, one or more intermediate levels, and a higher level, and wherein the constructing includes:
 the processor pre-routing, within the hierarchical integrated circuit design, a signal through the one or more intermediate levels of the design hierarchy between a particular signal sourced at the higher level of the design hierarchy and a particular entity instance among the plurality of entity instances at the lower level of the design hierarchy, wherein the pre-routing includes pre-routing the particular signal based on a directive in a control file, said directive specifying the particular signal and the particular entity instance; 
 the processor performing default routing of a plurality of signals other than the particular signal in the hierarchical integrated circuit design; 
 after the pre-routing, the processor processing entity instances in the design hierarchy in a bottom-up manner to insert technology-specific structures into the hierarchical integrated circuit design, wherein the processing includes the processor inserting into the particular entity instance of the design hierarchy a technology-specific structure and connecting the technology-specific structure to the particular signal pre-routed to the particular entity instance by the pre-routing, such that routing of the particular signal to the technology-specific structure is determined by the pre-routing rather than the default routing; and 
 
 the processor performing logic synthesis on the hierarchical integrated circuit design, compiling the hierarchical integrated circuit design to obtain a technology-elaborated simulation model, and simulating operation of the hierarchical integrated circuit design utilizing the technology-elaborated simulation model. 
 
     
     
       2. The method of  claim 1 , wherein the pre-routing includes forming a port for the particular signal on the particular entity instance. 
     
     
       3. The method of  claim 2 , wherein the pre-routing includes placing a temporary anchor point for the particular signal within the particular entity instance. 
     
     
       4. The method of  claim 3 , wherein the pre-routing includes cloning, at the higher level of the design hierarchy, multiple copies of the temporary anchor point connected to the particular signal and specifying a respective one of a plurality of different signal routes for each of the temporary anchor points through one or more levels of the design hierarchy. 
     
     
       5. The method of  claim 1 , wherein:
 the particular entity instance is a first entity instance; and 
 the pre-routing includes establishing an input port and an output port for the particular signal on a second entity instance at the same lower level of the design hierarchy as the first entity instance. 
 
     
     
       6. The method of  claim 5 , wherein:
 the second entity instance is an instance of a given design entity; 
 the design hierarchy includes a third entity instance that is an instance of the given design entity; and 
 the pre-routing includes modifying the design hierarchy by making the second entity instance an instance of another design entity different than the given design entity. 
 
     
     
       7. The method of  claim 1 , wherein:
 the technology-specific structure includes a storage element configurable to function in a scan chain; and 
 the particular signal is a scan chain signal. 
 
     
     
       8. A program product, comprising:
 a storage device; and 
 program code stored within the storage device and executable by a processor to cause the processor to simulate operation of an integrated circuit design by performing:
 constructing, within data storage, a hierarchical integrated circuit design for an integrated circuit containing millions of transistors through execution of one or more electronic design automation (EDA) tools, wherein the hierarchical integrated circuit design includes a design hierarchy including a plurality of entity instances organized hierarchically in a plurality of levels including a lower level, one or more intermediate levels, and a higher level, and wherein the constructing includes:
 pre-routing, within the hierarchical integrated circuit design, a signal through the one or more intermediate levels of the design hierarchy between a signal sourced at the higher level of the design hierarchy and a particular entity instance among the plurality of entity instances at the lower level of the design hierarchy, wherein the pre-routing includes pre-routing the particular signal based on a directive in a control file, said directive specifying the particular signal and the particular entity instance; 
 performing default routing of a plurality of signals other than the particular signal in the hierarchical integrated circuit design; 
 after the pre-routing, processing entity instances in the design hierarchy in a bottom-up manner to insert technology-specific structures into the hierarchical integrated circuit design, wherein the processing includes inserting into the particular entity instance of the design hierarchy a technology-specific structure and connecting the technology-specific structure to the particular signal pre-routed to the particular entity instance by the pre-routing, such that routing of the particular signal to the technology-specific structure is determined by the pre-routing rather than the default routing; and 
 
 performing logic synthesis on the hierarchical integrated circuit design, compiling the hierarchical integrated circuit design to obtain a technology-elaborated simulation model, and simulating operation of the hierarchical integrated circuit design utilizing the technology- elaborated simulation model. 
 
 
     
     
       9. The program product of  claim 8 , wherein the pre-routing includes forming a port for the particular signal on the particular entity instance. 
     
     
       10. The program product of  claim 9 , wherein the pre-routing includes placing a temporary anchor point for the particular signal within the particular entity instance. 
     
     
       11. The program product of  claim 10 , wherein the pre-routing includes cloning, at the higher level of the design hierarchy, multiple copies of the temporary anchor point connected to the particular signal and specifying a respective one of a plurality of different signal routes for each of the temporary anchor points through one or more levels of the design hierarchy. 
     
     
       12. The program product of  claim 8 , wherein:
 the particular entity instance is a first entity instance; and 
 the pre-routing includes establishing an input port and an output port for the particular signal on a second entity instance at the same lower level of the design hierarchy as the first entity instance. 
 
     
     
       13. The program product of  claim 12 , wherein:
 the second entity instance is an instance of a given design entity; 
 the design hierarchy includes a third entity instance that is an instance of the given design entity; and 
 the pre-routing includes modifying the design hierarchy by making the second entity instance an instance of another design entity different than the given design entity. 
 
     
     
       14. The program product of  claim 8 , wherein:
 the technology-specific structure includes a storage element configurable to function in a scan chain; and 
 the particular signal is a scan chain signal. 
 
     
     
       15. A data processing system, comprising:
 a processor; and 
 data storage coupled to the processor, wherein the data storage includes program code executable by the processor to cause the processor to simulate operation of an integrated circuit design by performing:
 constructing, within data storage, a hierarchical integrated circuit design for an integrated circuit containing millions of transistors through execution of one or more electronic design automation (EDA) tools, wherein the hierarchical integrated circuit design includes a design hierarchy including a plurality of entity instances organized hierarchically in a plurality of levels including a lower level, one or more intermediate levels, and a higher level, and wherein the constructing includes:
 pre-routing, within the hierarchical integrated circuit design, a signal through the one or more intermediate levels of the design hierarchy between a signal sourced at the higher level of the design hierarchy and a particular entity instance among the plurality of entity instances at the lower level of the design hierarchy, wherein the pre-routing includes pre-routing the particular signal based on a directive in a control file, said directive specifying the particular signal and the particular entity instance; 
 performing default routing of a plurality of signals other than the particular signal in the hierarchical integrated circuit design; 
 after the pre-routing, processing entity instances in the design hierarchy in a bottom-up manner to insert technology-specific structures into the hierarchical integrated circuit design, wherein the processing includes inserting into the particular entity instance of the design hierarchy a technology-specific structure and connecting the technology-specific structure to the particular signal pre-routed to the particular entity instance by the pre-routing, such that routing of the particular signal to the technology-specific structure is determined by the pre-routing rather than the default routing; and 
 
 performing logic synthesis on the hierarchical integrated circuit design, compiling the hierarchical integrated circuit design to obtain a technology-elaborated simulation model, and simulating operation of the hierarchical integrated circuit design utilizing the technology-elaborated simulation model. 
 
 
     
     
       16. The data processing system of  claim 15 , wherein the pre-routing includes forming a port for the particular signal on the particular entity instance. 
     
     
       17. The data processing system of  claim 16 , wherein the pre-routing includes placing a temporary anchor point for the particular signal within the particular entity instance. 
     
     
       18. The data processing system of  claim 17 , wherein the pre-routing includes cloning, at the higher level of the design hierarchy, multiple copies of the temporary anchor point connected to the particular signal and specifying a respective one of a plurality of different signal routes for each of the temporary anchor points through one or more levels of the design hierarchy. 
     
     
       19. The data processing system of  claim 15 , wherein:
 the particular entity instance is a first entity instance; and 
 the pre-routing includes establishing an input port and an output port for the particular signal on a second entity instance at the same lower level of the design hierarchy as the first entity instance. 
 
     
     
       20. The data processing system of  claim 19 , wherein:
 the second entity instance is an instance of a given design entity; 
 the design hierarchy includes a third entity instance that is an instance of the given design entity; and 
 the pre-routing includes modifying the design hierarchy by making the second entity instance an instance of another design entity different than the given design entity.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.