Patents by Inventor Raymond C. Yeung

Raymond C. Yeung 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: 8768989
    Abstract: A funnel shifter includes an input, an output, and a multiplexer unit including a number of multiplexer levels. The multiplexer unit may perform one of a plurality of shift operations on an input value and to provide an output value in response to receiving a shift value and a shift operation value. A first multiplexer level may be configured to format and expand the input value into a larger intermediate value. At least a second multiplexer level may be configured to perform a linear shift of the intermediate value without wrapping any bits for creating the output value. At least some of the multiplexer levels may include multiplexer select signals that may be represented as a plurality of N-Nary one of N signals where N is greater than or equal to two, wherein each of the plurality of N-Nary signals being implemented on a set of physical wires.
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: July 1, 2014
    Assignee: Apple Inc.
    Inventors: Raymond C. Yeung, Lincoln R. Nunes, Geoffrey F. Oh
  • Patent number: 8482315
    Abstract: A one-of-n storage cell for use in an N-nary dynamic logic (NDL) circuit. The storage cell may accept an input value and provide a complemented output value that corresponds to the input value. However, if an input value that corresponds to a precharge input value is received, the output value remains the previous output value. The storage cell may be implemented to accept either inverted or non-inverted one-of-n NDL signals and to provide as an output either non-inverted or inverted one-of-N NDL signals, respectively, where N is greater than two.
    Type: Grant
    Filed: August 23, 2011
    Date of Patent: July 9, 2013
    Assignee: Apple Inc.
    Inventors: Michael R. Seningen, Raymond C. Yeung
  • Patent number: 8429580
    Abstract: A method for preparing an IC design that has been modified to be formally verified with a reference IC design. Because some formal verification tools cannot handle the complexity often associated with sequential equivalence checking at the top level of a circuit, the modified IC design may be instantiated into a number of different design versions, each having different levels of modification complexity. In addition, the reference IC design and the modified versions may be decomposed into a datapath and control path. The reference IC design and each of the modified IC design versions may also use wrappers to encapsulate various levels of hierarchy of the logic. Lastly, rather than having to verify each of the modified versions back to the reference IC design, the equivalence checking may be performed between each modified IC design version and a next modified IC design version having a greater modification computational complexity.
    Type: Grant
    Filed: August 19, 2011
    Date of Patent: April 23, 2013
    Assignee: Apple Inc.
    Inventors: Raymond C. Yeung, Irfan Waheed, Mark H. Nodine
  • Patent number: 8397190
    Abstract: A hardware description language representation of an original circuit block containing one or more hierarchies may be obtained. Some, or all of the hierarchies may be dissolved to access each circuit component within the original circuit block at a same level of hierarchy. Designated circuit components may then be grouped together to create new circuit blocks at a new level of hierarchy. Components and signals within each new circuit block may be renamed to match logically corresponding components and signals within each other new circuit block. Missing pins may be added for each new circuit block, and connected to respective associated signals within the new circuit block, and logically equivalent pins may be given the same name to ensure the new circuit blocks are logically equivalent to each other and have identical interfaces.
    Type: Grant
    Filed: August 2, 2011
    Date of Patent: March 12, 2013
    Assignee: Apple Inc.
    Inventors: Robert D. Kenney, Raymond C. Yeung, Paul K. Miller, Donald W. Glowka, Jeffrey B. Reed
  • Publication number: 20130049805
    Abstract: A one-of-n storage cell for use in an N-nary dynamic logic (NDL) circuit. The storage cell may accept an input value and provide a complemented output value that corresponds to the input value. However, if an input value that corresponds to a precharge input value is received, the output value remains the previous output value. The storage cell may be implemented to accept either inverted or non-inverted one-of-n NDL signals and to provide as an output either non-inverted or inverted one-of-N NDL signals, respectively, where N is greater than two.
    Type: Application
    Filed: August 23, 2011
    Publication date: February 28, 2013
    Inventors: Michael R. Seningen, Raymond C. Yeung
  • Publication number: 20120239717
    Abstract: A funnel shifter includes an input, an output, and a multiplexer unit including a number of multiplexer levels. The multiplexer unit may perform one of a plurality of shift operations on an input value and to provide an output value in response to receiving a shift value and a shift operation value. A first multiplexer level may be configured to format and expand the input value into a larger intermediate value. At least a second multiplexer level may be configured to perform a linear shift of the intermediate value without wrapping any bits for creating the output value. At least some of the multiplexer levels may include multiplexer select signals that may be represented as a plurality of N-Nary one of N signals where N is greater than or equal to two, wherein each of the plurality of N-Nary signals being implemented on a set of physical wires.
    Type: Application
    Filed: June 20, 2011
    Publication date: September 20, 2012
    Inventors: Raymond C. Yeung, Lincoln R. Nunes, Geoffrey F. Oh
  • Publication number: 20120192132
    Abstract: A hardware description language representation of an original circuit block containing one or more hierarchies may be obtained. Some, or all of the hierarchies may be dissolved to access each circuit component within the original circuit block at a same level of hierarchy. Designated circuit components may then be grouped together to create new circuit blocks at a new level of hierarchy. Components and signals within each new circuit block may be renamed to match logically corresponding components and signals within each other new circuit block. Missing pins may be added for each new circuit block, and connected to respective associated signals within the new circuit block, and logically equivalent pins may be given the same name to ensure the new circuit blocks are logically equivalent to each other and have identical interfaces.
    Type: Application
    Filed: August 2, 2011
    Publication date: July 26, 2012
    Inventors: Robert D. Kenney, Raymond C. Yeung, Paul K. Miller, Donald W. Glowka, Jeffrey B. Read
  • Publication number: 20110307848
    Abstract: A method for preparing an IC design that has been modified to be formally verified with a reference IC design. Because some formal verification tools cannot handle the complexity often associated with sequential equivalence checking at the top level of a circuit, the modified IC design may be instantiated into a number of different design versions, each having different levels of modification complexity. In addition, the reference IC design and the modified versions may be decomposed into a datapath and control path. The reference IC design and each of the modified IC design versions may also use wrappers to encapsulate various levels of hierarchy of the logic. Lastly, rather than having to verify each of the modified versions back to the reference IC design, the equivalence checking may be performed between each modified IC design version and a next modified IC design version having a greater modification computational complexity.
    Type: Application
    Filed: August 19, 2011
    Publication date: December 15, 2011
    Inventors: Raymond C. Yeung, Irfan Waheed, Mark H. Nodine
  • Patent number: 7395414
    Abstract: A method and apparatus for steering instructions dynamically, at issue time, so as to maximize the efficiency of use of execution units being shared by multiple threads being processed by an SMT processor. Resource vectors are used at issue time to redirect instructions, from threads being processed simultaneously, to shared resources for which the multiple threads are competing. The existing resource vectors for instructions that are queued for issuance are analyzed and, where appropriate, dynamically recalculated and modified for maximum efficiency.
    Type: Grant
    Filed: February 11, 2005
    Date of Patent: July 1, 2008
    Assignee: International Business Machines Corporation
    Inventors: Hung Q. Le, Dung Q. Nguyen, Brian W. Thompto, Raymond C. Yeung
  • Publication number: 20080133890
    Abstract: A method and apparatus for steering instructions dynamically, at issue time, so as to maximize the efficiency of use of execution units being shared by multiple threads being processed by an SMT processor. Resource vectors are used at issue time to redirect instructions, from threads being processed simultaneously, to shared resources for which the multiple threads are competing. The existing resource vectors for instructions that are queued for issuance are analyzed and, where appropriate, dynamically recalculated and modified for maximum efficiency.
    Type: Application
    Filed: January 14, 2008
    Publication date: June 5, 2008
    Applicant: International Business Machines Corporation
    Inventors: Hung Q. Le, Dung Q. Nguyen, Brian W. Thompto, Raymond C. Yeung
  • Patent number: 7188233
    Abstract: A system for performing floating point arithmetic operations including a plurality of stages making up a pipeline, the stages including a first stage and a last stage. The system also includes a register file adapted for receiving a store instruction for input to the pipeline, where the data associated with the store instruction is dependent on a previous operation still in the pipeline. The system further includes a store register adapted for outputting the data associated with the store instruction to memory and a control unit having instructions. The instructions are directed to inputting the store instruction into the pipeline and to providing a path for forwarding the data associated with the store instruction from the last stage in the pipeline to the store register for use by the store instruction if the previous operation immediately precedes the store operation in the pipeline and if there is a data type match between the store instruction and the previous operation.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: March 6, 2007
    Assignee: International Business Machines Corporation
    Inventors: Juergen Haess, Michael Kroener, Dung Quoc Nguyen, Lawrence J. Powell, Jr., Eric M. Schwarz, Son Dao-Trong, Raymond C. Yeung
  • Patent number: 7093106
    Abstract: A single rename register array is used in an SMT processor. Two bits are added to each register address of the rename register array, one for bit for thread zero (CTB0) and one bit for thread one (CTB1). The CTB bits are all set to a logic value on power on or start-up. A control instruction (CI) that sets control bits used by other instructions is assigned a register in the rename register array having an address designated as pointer (PTR) address. When a control instruction with an assigned entry with PTR address M completes, then the CTB bit at the PTR address M is flipped to its opposite logic state; likewise, its Valid bit is set to a “not” Valid state. The self resetting CTB bit is used to determine whether an issued instruction sources a register in the rename register array or a corresponding architected register.
    Type: Grant
    Filed: April 23, 2003
    Date of Patent: August 15, 2006
    Assignee: International Business Machines Corporation
    Inventors: Asit S. Ambekar, Dung Q. Nguyen, Raymond C. Yeung
  • Publication number: 20040215936
    Abstract: A single rename register array is used in an SMT processor. Two bits are added to each register address of the rename register array, one for bit for thread zero (CTB0) and one bit for thread one (CTB1). The CTB bits are all set to a logic value on power on or start-up. A control instruction (CI) that sets control bits used by other instructions is assigned a register in the rename register array having an address designated as pointer (PTR) address. When a control instruction with an assigned entry with PTR address M completes, then the CTB bit at the PTR address M is flipped to its opposite logic state; likewise, its Valid bit is set to a “not” Valid state. The self resetting CTB bit is used to determine whether an issued instruction sources a register in the rename register array or a corresponding architected register.
    Type: Application
    Filed: April 23, 2003
    Publication date: October 28, 2004
    Applicant: International Business Machines Corporation
    Inventors: Asit S. Ambekar, Dung Q. Nguyen, Raymond C. Yeung
  • Publication number: 20030182537
    Abstract: A method of handling instructions in a load/store unit of a processor by dispatching instructions to the load/store unit, filling all physical entries of a reorder queue with tags corresponding to the instructions, and further dispatching one or more additional instructions to the load/store unit while all of the physical entries in the reorder queue are still full, i.e., still contain tags for uncompleted instructions. The invention may be implemented in either a load reorder queue or a store reorder queue. Multiple logical instruction tags are assigned in a count greater than the number of physical entries in the reorder queue. Of the multiple logical instruction tags assigned to a single one of the physical entries in the reorder queue, only the tag for the oldest instruction is allowed to execute. At least one virtual bit (VT) is provided to tag allocations for the load/store unit. This VT bit is flipped when a corresponding tag allocation wraps.
    Type: Application
    Filed: March 21, 2002
    Publication date: September 25, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Hung Q. Le, Dung Q. Nguyen, Albert T. Williams, Raymond C. Yeung