Patents by Inventor Shyam Ramji
Shyam Ramji has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 9495501Abstract: The disclosed herein relates to method for persistence during placement optimization of an integrated circuit design. The method comprises performing cluster operation by grouping of a plurality of cells into a plurality of mobs. The method further comprises performing a spreading operation by moving the plurality of mobs and the plurality of cells simultaneously to optimize empty space of the integrated circuit design.Type: GrantFiled: January 29, 2016Date of Patent: November 15, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Myung-Chul Kim, Shyam Ramji, Paul G. Villarrubia, Natarajan Viswanathan
-
Publication number: 20160300006Abstract: A method, executed by one or more processors, for optimizing placement of a logic network, includes partitioning a logic network into a set of logic partitions, launching a set of placement optimization threads that correspond to the logic partitions, and allocating memory that is accessible to the placement optimization threads to provide a globally accessible placement memory for reserving placement locations on the integrated circuit. Each placement optimization thread may be configured to conduct the operations of determining a desired location for a logic element, reserving a set of potential locations for the logic element, determining a best location from the set of potential locations, and placing the logic element to the best location. Each placement optimization thread may also be configured to release each of the potential locations that are not the best location. A corresponding computer program product and computer system are also disclosed herein.Type: ApplicationFiled: June 21, 2016Publication date: October 13, 2016Inventors: David J. Hathaway, Nathaniel D. Hieter, Shyam Ramji, Alexander J. Suess
-
Publication number: 20160283633Abstract: A method, executed by one or more processors, for optimizing placement of a logic network, includes partitioning a logic network into a set of logic partitions, launching a set of placement optimization threads that correspond to the logic partitions, and allocating memory that is accessible to the placement optimization threads to provide a globally accessible placement memory for reserving placement locations on the integrated circuit. Each placement optimization thread may be configured to conduct the operations of determining a desired location for a logic element, reserving a set of potential locations for the logic element, determining a best location from the set of potential locations, and placing the logic element to the best location. Each placement optimization thread may also be configured to release each of the potential locations that are not the best location. A corresponding computer program product and computer system are also disclosed herein.Type: ApplicationFiled: March 24, 2015Publication date: September 29, 2016Inventors: David J. Hathaway, Nathaniel D. Hieter, Shyam Ramji, Alexander J. Suess
-
Patent number: 9436791Abstract: A method, executed by one or more processors, for optimizing placement of a logic network, includes partitioning a logic network into a set of logic partitions, launching a set of placement optimization threads that correspond to the logic partitions, and allocating memory that is accessible to the placement optimization threads to provide a globally accessible placement memory for reserving placement locations on the integrated circuit. Each placement optimization thread may be configured to conduct the operations of determining a desired location for a logic element, reserving a set of potential locations for the logic element, determining a best location from the set of potential locations, and placing the logic element to the best location. Each placement optimization thread may also be configured to release each of the potential locations that are not the best location. A corresponding computer program product and computer system are also disclosed herein.Type: GrantFiled: March 24, 2015Date of Patent: September 6, 2016Assignee: International Business Machines CorporationInventors: David J. Hathaway, Nathaniel D. Hieter, Shyam Ramji, Alexander J. Suess
-
Patent number: 9418188Abstract: A method, executed by one or more processors, for optimizing placement of a logic network, includes partitioning a logic network into a set of logic partitions, launching a set of placement optimization threads that correspond to the logic partitions, and allocating memory that is accessible to the placement optimization threads to provide a globally accessible placement memory for reserving placement locations on the integrated circuit. Each placement optimization thread may be configured to conduct the operations of determining a desired location for a logic element, reserving a set of potential locations for the logic element, determining a best location from the set of potential locations, and placing the logic element to the best location. Each placement optimization thread may also be configured to release each of the potential locations that are not the best location. A corresponding computer program product and computer system are also disclosed herein.Type: GrantFiled: January 29, 2016Date of Patent: August 16, 2016Assignee: International Business Machines CorporationInventors: David J. Hathaway, Nathaniel D. Hieter, Shyam Ramji, Alexander J. Suess
-
Patent number: 9053285Abstract: Embodiments of the disclosure relate to methods for facilitating the design of an integrated circuit (IC) using thermally aware pin assignment and device placement. The method includes creating a layout for the IC, the layout including a plurality of macros each having devices and pin assignments and revising the layout for the IC by repositioning a macro or a device to meet a timing requirement of the IC. The method also includes creating a thermal map of the IC based on the layout for the IC and a workload model for the IC and identifying at least one thermally critical pin assignment based on the thermal map of the IC. The method includes revising the layout by repositioning a thermally critical pin assignment and a device.Type: GrantFiled: October 17, 2013Date of Patent: June 9, 2015Assignee: International Business Machines CorporationInventors: Randall J. Darden, Shyam Ramji, Sourav Saha
-
Publication number: 20150113496Abstract: Embodiments of the disclosure relate to methods for facilitating the design of an integrated circuit (IC) using thermally aware pin assignment and device placement. The method includes creating a layout for the IC, the layout including a plurality of macros each having devices and pin assignments and revising the layout for the IC by repositioning a macro or a device to meet a timing requirement of the IC. The method also includes creating a thermal map of the IC based on the layout for the IC and a workload model for the IC and identifying at least one thermally critical pin assignment based on the thermal map of the IC. The method includes revising the layout by repositioning a thermally critical pin assignment and a device.Type: ApplicationFiled: October 17, 2013Publication date: April 23, 2015Applicant: International Business Machines CorporationInventors: Randall J. Darden, Shyam Ramji, Sourav Saha
-
Patent number: 8954915Abstract: Integrated circuit design uses a library of structured soft blocks (SSBs) composed of pre-defined sets of cells with their logic implementation and placement templates with their relative placement information. A compiler receives a circuit description which includes an instance of an SSB and unfolds the instance according to the placement template to generate a modified circuit description which includes the relative placement information. The placement of circuit objects is optimized while maintaining relative locations for cells of the SSB instance according to the relative placement information. The SSB may be hierarchical. Gate resizing of cells in the SSB instance may result in a change in its bounds. A timing optimization procedure for the modified circuit description may be carried out while hiding internal details of the SSB instance. For example, buffers may be inserted in nets external to the SSB instance while preventing insertion of buffers in any internal nets.Type: GrantFiled: May 28, 2013Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Yiu-Hing Chan, Mark D. Mayo, Shyam Ramji, Paul G. Villarrubia
-
Patent number: 8954912Abstract: A latch placement tool determines a shape for a cluster of latches from a preliminary layout (or based on a netlist), including an aspect ratio of the shape, and generates a template for placement of the latches in conformity with the shape. Latches are placed around a local clock buffer (LCB) based on latch size, from largest latch first to smallest latch last, and based on their ideal locations given the target aspect ratio. The ideal locations may be further based on the clock driver pin configuration of the LCB. The final template preferably has an aspect ratio that is approximately equal to the aspect ratio of the shape of the cluster, but the latch placement may be constrained by clock routing topology. Latch placement within a cluster can be further optimized by swapping one of the latches with another to minimize total wirelength of the design.Type: GrantFiled: November 29, 2012Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Charles J. Alpert, Zhuo Li, Gi-Joon Nam, Shyam Ramji, Chin Ngai Sze, Paul G. Villarrubia, Natarajan Viswanathan
-
Patent number: 8930867Abstract: Scheduling of parallel processing for regionally-constrained object placement selects between different balancing schemes. For a small number of movebounds, computations are assigned by balancing the placeable objects. For a small number of objects per movebound, computations are assigned by balancing the movebounds. If there are large numbers of movebounds and objects per movebound, both objects and movebounds are balanced amongst the processors. For object balancing, movebounds are assigned to a processor until an amortized number of objects for the processor exceeds a first limit above an ideal number, or the next movebound would raise the amortized number of objects above a second, greater limit. For object and movebound balancing, movebounds are sorted into descending order, then assigned in the descending order to host processors in successive rounds while reversing the processor order after each round. The invention provides a schedule in polynomial-time while retaining high quality of results.Type: GrantFiled: October 4, 2013Date of Patent: January 6, 2015Assignee: International Business Machines CorporationInventors: Gi-Joon Nam, Shyam Ramji, Taraneh Taghavi, Paul G. Villarrubia
-
Publication number: 20140359546Abstract: Integrated circuit design uses a library of structured soft blocks (SSBs) composed of pre-defined sets of cells with their logic implementation and placement templates with their relative placement information. A compiler receives a circuit description which includes an instance of an SSB and unfolds the instance according to the placement template to generate a modified circuit description which includes the relative placement information. The placement of circuit objects is optimized while maintaining relative locations for cells of the SSB instance according to the relative placement information. The SSB may be hierarchical. Gate resizing of cells in the SSB instance may result in a change in its bounds. A timing optimization procedure for the modified circuit description may be carried out while hiding internal details of the SSB instance. For example, buffers may be inserted in nets external to the SSB instance while preventing insertion of buffers in any internal nets.Type: ApplicationFiled: May 28, 2013Publication date: December 4, 2014Applicant: International Business Machines CorporationInventors: Yiu-Hing Chan, Mark D. Mayo, Shyam Ramji, Paul G. Villarrubia
-
Patent number: 8782584Abstract: A computer implemented method for reworking a plurality of cells initially placed in a circuit design. An expander allocates cells to tiles. The expander determines a high detailed routing cost tile class, wherein the high detailed routing cost tile class is a class of tiles that has high detailed routing costs. The expander selects a cell within a tile of the high detailed routing cost tile class to form a selected cell in a selected tile. The expander applies multiple techniques to reposition these cells at new locations to improve the detailed routability. The expander can place an expanded bounding box around the selected cell, wherein the bounding box extends to at least one tile adjacent the selected tile, and repositions the selected cell within the bounding box to form a modified design to improve the detailed routability. The expander may also inflate and legalize those cells.Type: GrantFiled: May 24, 2013Date of Patent: July 15, 2014Assignee: International Business Machines CorporationInventors: Charles J Alpert, Zhuo D Li, Gi-Joon Nam, Shyam Ramji, Lakshmi N Reddy, Jarrod A Roy, Taraneh E Taghavi, Paul G Villarrubia, Natarajan Viswanathan
-
Patent number: 8769457Abstract: After a global placement phase of physical design of an integrated circuit, a data processing system iteratively refines local placement of a plurality of modules comprising the integrated circuit within a die area based on density of the plurality of modules and separately refines local wirelength for the plurality of modules in individual subareas among a plurality of subareas of the die area. The data processing system thereafter performs detailed placement of modules in the plurality of subareas.Type: GrantFiled: June 30, 2012Date of Patent: July 1, 2014Assignee: International Business Machines CorporationInventors: Charles J. Alpert, Myung-Chul Kim, Gi-Joon Nam, Shyam Ramji, Natarajan Viswanathan
-
Publication number: 20140149957Abstract: A latch placement tool determines a shape for a cluster of latches from a preliminary layout (or based on a netlist), including an aspect ratio of the shape, and generates a template for placement of the latches in conformity with the shape. Latches are placed around a local clock buffer (LCB) based on latch size, from largest latch first to smallest latch last, and based on their ideal locations given the target aspect ratio. The ideal locations may be further based on the clock driver pin configuration of the LCB. The final template preferably has an aspect ratio that is approximately equal to the aspect ratio of the shape of the cluster, but the latch placement may be constrained by clock routing topology. Latch placement within a cluster can be further optimized by swapping one of the latches with another to minimize total wirelength of the design.Type: ApplicationFiled: November 29, 2012Publication date: May 29, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Charles J. Alpert, Zhuo Li, Gi-Joon Nam, Shyam Ramji, Chin Ngai Sze, Paul G. Villarrubia, Natarajan Viswanathan
-
Patent number: 8683411Abstract: A global placer receives a plurality of regions, each region occupying a sub-area of a design area. receives a plurality of movebound objects, each movebound object associated with a region. The global placer receives a plurality of unconstrained objects, each unconstrained object associated with no region. The global placer receives a tolerance, wherein the placement tolerance defines a coronal fringe to at least one region. The global placer initially placing the plurality of movebound objects and unconstrained objects. The global placer iterates over objects without preference to region-affiliation to select an object, wherein the objects are comprised of the plurality of movebound objects and plurality of unconstrained objects. The global placer determines whether movebound object is within the tolerance of a region associated with the movebound object.Type: GrantFiled: August 27, 2010Date of Patent: March 25, 2014Assignee: International Business Machines CorporationInventors: Charles J. Alpert, John L. McCann, Gi-Joon Nam, Shyam Ramji, Taraneh Taghavi, Natarajan Viswanathan
-
Publication number: 20140033154Abstract: Scheduling of parallel processing for regionally-constrained object placement selects between different balancing schemes. For a small number of movebounds, computations are assigned by balancing the placeable objects. For a small number of objects per movebound, computations are assigned by balancing the movebounds. If there are large numbers of movebounds and objects per movebound, both objects and movebounds are balanced amongst the processors. For object balancing, movebounds are assigned to a processor until an amortized number of objects for the processor exceeds a first limit above an ideal number, or the next movebound would raise the amortized number of objects above a second, greater limit. For object and movebound balancing, movebounds are sorted into descending order, then assigned in the descending order to host processors in successive rounds while reversing the processor order after each round. The invention provides a schedule in polynomial-time while retaining high quality of results.Type: ApplicationFiled: October 4, 2013Publication date: January 30, 2014Applicant: International Business Machines CorporationInventors: Gi-Joon Nam, Shyam Ramji, Taraneh Taghavi, Paul G. Villarrubia
-
Publication number: 20140007036Abstract: After a global placement phase of physical design of an integrated circuit, a data processing system iteratively refines local placement of a plurality of modules comprising the integrated circuit within a die area based on density of the plurality of modules and separately refines local wirelength for the plurality of modules in individual subareas among a plurality of subareas of the die area. The data processing system thereafter performs detailed placement of modules in the plurality of subareas.Type: ApplicationFiled: June 30, 2012Publication date: January 2, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Charles J. Alpert, Myung-Chul Kim, Gi-Joon Nam, Shyam Ramji, Natarajan Viswanathan
-
Publication number: 20130346938Abstract: A computer implemented method for reworking a plurality of cells initially placed in a circuit design. An expander allocates cells to tiles. The expander determines a high detailed routing cost tile class, wherein the high detailed routing cost tile class is a class of tiles that has high detailed routing costs. The expander selects a cell within a tile of the high detailed routing cost tile class to form a selected cell in a selected tile. The expander applies multiple techniques to reposition these cells at new locations to improve the detailed routability. The expander can place an expanded bounding box around the selected cell, wherein the bounding box extends to at least one tile adjacent the selected tile, and repositions the selected cell within the bounding box to form a modified design to improve the detailed routability. The expander may also inflate and legalize those cells.Type: ApplicationFiled: May 24, 2013Publication date: December 26, 2013Applicant: International Business Machines CorporationInventors: Charles J Alpert, Zhuo D Li, Gi-Joon Nam, Shyam Ramji, Lakshmi N Reddy, Jarrod A Roy, Taraneh E Taghavi, Paul G Villarrubia, Natarajan Viswanathan
-
Patent number: 8595675Abstract: A global placement phase of physical design of an integrated circuit includes iteratively spreading a plurality of modules comprising the integrated circuit within a die area based on density of the plurality of modules and optimizing module placement by preserving global module density while improving a local objective, such as local wirelength and/or local density, in individual subareas among a plurality of subareas of the die area. After global placement, detailed placement of modules in the plurality of subareas is performed.Type: GrantFiled: June 30, 2012Date of Patent: November 26, 2013Assignee: International Business Machines CorporationInventors: Charles J. Alpert, Myung-Chul Kim, Gi-Joon Nam, Shyam Ramji, Natarajan Viswanathan
-
Patent number: 8578315Abstract: Scheduling of parallel processing for regionally-constrained object placement selects between different balancing schemes. For a small number of movebounds, computations are assigned by balancing the placeable objects. For a small number of objects per movebound, computations are assigned by balancing the movebounds. If there are large numbers of movebounds and objects per movebound, both objects and movebounds are balanced amongst the processors. For object balancing, movebounds are assigned to a processor until an amortized number of objects for the processor exceeds a first limit above an ideal number, or the next movebound would raise the amortized number of objects above a second, greater limit. For object and movebound balancing, movebounds are sorted into descending order, then assigned in the descending order to host processors in successive rounds while reversing the processor order after each round. The invention provides a schedule in polynomial-time while retaining high quality of results.Type: GrantFiled: July 17, 2012Date of Patent: November 5, 2013Assignee: International Business Machines CorporationInventors: Gi-Joon Nam, Shyam Ramji, Taraneh Taghavi, Paul G. Villarrubia