Patents by Inventor Steven L. Gregor

Steven L. Gregor 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: 11971818
    Abstract: A memory view generator evaluates a Liberty file characterizing an NVM module to generate a memory view file for the NVM module. The memory view file includes a port alias identifying ports of the NVM module. The port alias for a set of ports of the NVM module characterizes a type of port in the set of ports. The memory view file includes a port action identifying ports of the NVM module that have a static value and a port access identifying ports of the NVM module that have a dynamic value. The memory view file has an address limit characterizing a number of words in the NVM module and an address partition characterizing address bits and data bits. The memory view file includes a read delay that defines a number of clock cycles needed to hold an address bus stable after a strobe port transitions to an inactive state.
    Type: Grant
    Filed: July 13, 2022
    Date of Patent: April 30, 2024
    Assignee: Cadence Design Systems, Inc.
    Inventors: Steven L. Gregor, Puneet Arora
  • Patent number: 11966633
    Abstract: An NVM algorithm generator that evaluates a Liberty file characterizing an NVM module and a memory view of the NVM module that identifies ports and associated operations of the NVM module to generate a control algorithm. The control algorithm includes a read algorithm that includes an order of operations for assigning values to ports of the NVM module to assert a read condition of a strobe port, executing a memory read on the NVM module and setting values to the ports on the NVM module to assert a complement of a program condition. The control algorithm also includes a program algorithm that includes an order of operations for assigning values to ports of the NVM module to assert the program condition of the strobe port, executing a memory write and setting values to the ports on the NVM module to assert the complement of the program condition.
    Type: Grant
    Filed: July 13, 2022
    Date of Patent: April 23, 2024
    Assignee: Cadence Design Systems, Inc.
    Inventors: Steven L. Gregor, Puneet Arora
  • Patent number: 8296703
    Abstract: A method for modeling state-retention logic includes: specifying a circuit that includes an arrangement of circuit elements, wherein a portion of the circuit is organized into a power domain with a power-domain control for effecting power variations within the power domain, and the power domain includes a state-retention cell that includes a retention element with a retention-element control for saving state-retention-cell values in the retention element during power variations in the power domain; determining one or more pattern faults for detecting defects in state-retention operation of the circuit by associating circuit element values with values for the power-domain control or the retention-element control; and saving one or more values for the one or more pattern faults.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: October 23, 2012
    Assignee: Cadence Design Systems, Inc.
    Inventors: Krishna Chakravadhanula, Steven L. Gregor, Brion L. Keller, Vivek Chickermane
  • Patent number: 8271226
    Abstract: A method of testing an Integrated Circuit (IC) includes: loading a sequence of data into a chain of circuit elements that hold data values, where outputs of at least some circuit elements are connected to inputs of adjacent circuit elements so values move sequentially through the chain between a chain input for loading values and a chain output for unloading values, and a first circuit element includes a retention element for saving values during power variations related to the IC. The method further includes: saving a value from the data sequence in the retention element; and accessing the retention element for verifying an accuracy of the saved value from the data sequence.
    Type: Grant
    Filed: June 26, 2008
    Date of Patent: September 18, 2012
    Assignee: Cadence Design Systems, Inc.
    Inventors: Krishna Chakravadhanula, Patrick Gallagher, Vivek Chickermane, Steven L. Gregor, Puneet Arora
  • Publication number: 20090326854
    Abstract: A method of testing an Integrated Circuit (IC) includes: loading a sequence of data into a chain of circuit elements that hold data values, where outputs of at least some circuit elements are connected to inputs of adjacent circuit elements so values move sequentially through the chain between a chain input for loading values and a chain output for unloading values, and a first circuit element includes a retention element for saving values during power variations related to the IC. The method further includes: saving a value from the data sequence in the retention element; and accessing the retention element for verifying an accuracy of the saved value from the data sequence.
    Type: Application
    Filed: June 26, 2008
    Publication date: December 31, 2009
    Applicant: CADENCE DESIGN SYSTEMS, INC.
    Inventors: Krishna CHAKRAVADHANULA, Patrick Gallagher, Vivek Chickermane, Steven L. Gregor, Puneet Arora
  • Patent number: 7168005
    Abstract: A microcode programmable built-in-self-test (BIST) circuit and method for testing a multiported memory via multiple ports, either simultaneously or sequentially, as directed by a microcode instruction word. The microcode instruction word contains a plurality of executable subinstructions and one bit of information that controls whether the test operations prescribed in the plurality of subinstructions shall be executed in parallel or in series. The executable subinstructions are dispatched by a primary controller to subcontrollers which perform test operations at each port according to the subinstructions. The microcode programable BIST architecture flexibly facilitates the testing of multiple devices, multiported devices, including multiported memory structures and complex dependent multiported memory structures. The BIST supports in-situ testing of the functionality of the memory at wafer, module, and burn-in, as well as system-level testing.
    Type: Grant
    Filed: January 30, 2003
    Date of Patent: January 23, 2007
    Assignee: Cadence Design Systems, Inc.
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Kamran Zarrineh
  • Patent number: 7032144
    Abstract: A method and system for testing multiported memories, especially when one or more of the ports are not directly accessible without intervening logic. The method and system segregates the multiported memory into at least two portions which are then used for testing the one or more ports which are not directly accessible.
    Type: Grant
    Filed: April 28, 2003
    Date of Patent: April 18, 2006
    Assignee: Cadence Design Systems Inc.
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Kamran Zarrineh
  • Patent number: 7003704
    Abstract: A system and methodology for testing memory in an integrated circuit implementing BIST testing to calculate row and column redundancy and enable replacement of a defective row or column of memory cells. The system comprises circuitry for detecting a first single memory cell failure in a row; and, recording the I/O value of the first Single Cell Fail (SCF). A circuit is provided for detecting whether more than one single cell failure has occurred for a tested row, and, in response to detecting a second SCF, comparing recorded I/O value of the subsequent tested row, with the I/O value associated with the first failed memory cell. Upon detection of defective bits, the defective column and row of memory having corresponding defective bits set is replaced.
    Type: Grant
    Filed: November 12, 2002
    Date of Patent: February 21, 2006
    Assignee: International Business Machines Corporation
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Garrett S. Koch
  • Patent number: 6907554
    Abstract: A built-in self test system (124) and method for two-dimensional memory redundancy allocation. The built-in self test system is adapted to allocate two redundant columns (116) and one redundant row (120) to an embedded memory (104) as needed to repair single cell failures (SCFs) within the rows (108) and columns of the memory. The self-test system includes a left-priority encoder (136), a right-priority encoder (140), and a greater-than-two detector (144). The left-priority encoder encodes the location of the first SCF most proximate the most-significant bit of the corresponding word. The right-priority encoder encodes the location of the first SCF most proximate the least-significant bit of the corresponding word. The greater-than-two detector determines whether a word contains more than two SCFs.
    Type: Grant
    Filed: May 9, 2003
    Date of Patent: June 14, 2005
    Assignee: International Business Machines Corporation
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Gary S. Koch
  • Patent number: 6874111
    Abstract: The functionality of a programmable memory built-in self-test (BIST) arrangement for testing an embedded memory structure of an integrated circuit is extended to system level testing to ascertain operability of the system after the integrated circuits and boards including them have been placed in service in larger systems, by generating default test signals which are loaded in an instruction store module when test instructions are not provided from an external tester. This additional utility of the BIST arrangement, increases efficiency of chip space utilization and improves the system level test. Loading of test instructions from an external tester during chip manufacture and/or board assembly is unaffected.
    Type: Grant
    Filed: July 26, 2000
    Date of Patent: March 29, 2005
    Assignee: International Business Machines Corporation
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Kamran Zarrineh
  • Publication number: 20040225939
    Abstract: A built-in self test system (124) and method for two-dimensional memory redundancy allocation. The built-in self test system is adapted to allocate two redundant columns (116) and one redundant row (120) to an embedded memory (104) as needed to repair single cell failures (SCFs) within the rows (108) and columns of the memory. The self-test system includes a left-priority encoder (136), a right-priority encoder (140), and a greater-than-two detector (144). The left-priority encoder encodes the location of the first SCF most proximate the most-significant bit of the corresponding word. The right-priority encoder encodes the location of the first SCF most proximate the least-significant bit of the corresponding word. The greater-than-two detector determines whether a word contains more than two SCFs.
    Type: Application
    Filed: May 9, 2003
    Publication date: November 11, 2004
    Applicant: International Business Machines Corporation
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Gary S. Koch
  • Publication number: 20040093540
    Abstract: A system and methodology for testing memory in an integrated circuit implementing BIST testing to calculate row and column redundancy and enable replacement of a defective row or column of memory cells. The system comprises circuitry for detecting a first single memory cell failure in a row; and, an encoder device for determining a bit location of a first single memory cell failed. An encoded value representing the bit location of the detected failed memory cell is stored in a register. A circuit is provided for detecting whether more than one single cell failure has occurred for a tested row, and, in response to detecting more than one single cell failure for a tested row, the circuit generates a bit indicating that tested row as a defective row to be replaced.
    Type: Application
    Filed: November 12, 2002
    Publication date: May 13, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Garrett S. Koch
  • Publication number: 20040006727
    Abstract: A method and system for testing multiported memories, especially when one or more of the ports are not directly accessible without intervening logic. The method and system segregates the multiported memory into at least two portions which are then used for testing the one or more ports which are not directly accessible.
    Type: Application
    Filed: April 28, 2003
    Publication date: January 8, 2004
    Applicant: Cadence Design Systems, Inc.
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Kamran Zarrineh
  • Patent number: 6651201
    Abstract: A finite state machine (FSM) is used to generate, in real time, potentially long sequences of signals which control generation of signals for application to a memory structure during a self-test procedure which is provided in hardware on the same chip with the memory structure. The FSM-based instruction generator requires much less area than is required for storage of a corresponding number of microcode instructions and allows the built-in self-test (BIST) controller to have a modular architecture permitting re-use of hardware designs for the BIST arrangement with consequent reduction of elimination of design costs of the BIST arrangement to accommodate new memory designs. The sequential nature of the operation of a finite state machine as it progresses through a desired sequence of states is particularly well-suited to controlling capture of signals where access to high. speed data transfer circuits cannot otherwise be accommodated.
    Type: Grant
    Filed: July 26, 2000
    Date of Patent: November 18, 2003
    Assignee: International Business Machines Corporation
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Kamran Zarrineh
  • Publication number: 20030120974
    Abstract: A microcode programmable built-in-self-test (BIST) circuit and method for testing a multiported memory via multiple ports, either simultaneously or sequentially, as directed by a microcode instruction word. The microcode instruction word contains a plurality of executable subinstructions and one bit of information that controls whether the test operations prescribed in the plurality of subinstructions shall be executed in parallel or in series. The executable subinstructions are dispatched by a primary controller to subcontrollers which perform test operations at each port according to the subinstructions. The microcode programable BIST architecture flexibly facilitates the testing of multiple devices, multiported devices, including multiported memory structures and complex dependent multiported memory structures. The BIST supports in-situ testing of the functionality of the memory at wafer, module, and burn-in, as well as system-level testing.
    Type: Application
    Filed: January 30, 2003
    Publication date: June 26, 2003
    Applicant: Cadence Design Systems, Inc.
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Kamran Zarrineh
  • Patent number: 6557127
    Abstract: A method and system for testing multiported memories, especially when one or more of the ports are not directly accessible without intervening logic. The method and system segregates the multiported memory into at least two portions which are then used for testing the one or more ports which are not directly accessible.
    Type: Grant
    Filed: February 28, 2000
    Date of Patent: April 29, 2003
    Assignee: Cadence Design Systems, Inc.
    Inventors: R. Dean Adams, Thomas J. Eckenrode, Steven L. Gregor, Kamran Zarrineh
  • Patent number: 5553305
    Abstract: A method and system for synchronizing execution by a processing element of threads within a process. Before execution of a thread commences, a determination is made as to whether all of the required resources for execution of the thread are available in a cache local to the processing element. If the resources are not available, then the resources are fetched from main storage and stored in one or more local caches before execution begins. If the resources are available, then execution of the thread may begin. During execution of the thread and, in particular, an instruction within the thread, the instruction may require data in order to successfully complete its execution. When this occurs, a determination is made as to whether the necessary data is available. If the data is available, the result of the instruction execution is stored and execution of the thread continues. However, if the data is unavailable, then the thread is deferred until the data becomes available and a new thread is processed.
    Type: Grant
    Filed: July 15, 1992
    Date of Patent: September 3, 1996
    Assignee: International Business Machines Corporation
    Inventors: Steven L. Gregor, Robert A. Iannucci
  • Patent number: 5450563
    Abstract: The cache system comprises a level one (L1) data cache, a level one (L1) key cache for storing a plurality of access keys for respective pages or blocks of data referenced by the central processor. A level three (L3) storage stores the data requested by the central processor and an access key array including the plurality of access keys. A level two (L2) data cache is coupled between the L3 storage and the L1 data cache and stores a copy of data fetched from the L3 storage for the L1 data cache pursuant to a read request and data written by the central processor. The level two (L2) key cache is coupled between the L3 storage access key array and the L1 key cache and stores the plurality of access keys for respective pages or blocks of data in the L2 data cache.
    Type: Grant
    Filed: October 30, 1992
    Date of Patent: September 12, 1995
    Assignee: International Business Machines Corporation
    Inventor: Steven L. Gregor
  • Patent number: 5313613
    Abstract: A cache storage system having hardware for in-cache execution of storage-storage and storage-immediate instructions thereby obviating the need for data to be moved from the cache to a separate execution unit and back to cache.
    Type: Grant
    Filed: July 15, 1993
    Date of Patent: May 17, 1994
    Assignee: International Business Machines Corporation
    Inventor: Steven L. Gregor
  • Patent number: 5276848
    Abstract: A multilevel cache buffer for a multiprocessor system in which each processor has a level one cache storage unit which interfaces with a level two cache unit and main storage unit shared by all processors. The multiprocessors share the level two cache according to a priority algorithm. When data in the level two cache is updated, corresponding data in level one caches is invalidated until it is updated.
    Type: Grant
    Filed: August 20, 1991
    Date of Patent: January 4, 1994
    Assignee: International Business Machines Corporation
    Inventors: Patrick W. Gallagher, Steven L. Gregor, Stephen M. Reeve