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: 8768989Abstract: 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: GrantFiled: June 20, 2011Date of Patent: July 1, 2014Assignee: Apple Inc.Inventors: Raymond C. Yeung, Lincoln R. Nunes, Geoffrey F. Oh
-
Patent number: 8482315Abstract: 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: GrantFiled: August 23, 2011Date of Patent: July 9, 2013Assignee: Apple Inc.Inventors: Michael R. Seningen, Raymond C. Yeung
-
Patent number: 8429580Abstract: 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: GrantFiled: August 19, 2011Date of Patent: April 23, 2013Assignee: Apple Inc.Inventors: Raymond C. Yeung, Irfan Waheed, Mark H. Nodine
-
Patent number: 8397190Abstract: 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: GrantFiled: August 2, 2011Date of Patent: March 12, 2013Assignee: Apple Inc.Inventors: Robert D. Kenney, Raymond C. Yeung, Paul K. Miller, Donald W. Glowka, Jeffrey B. Reed
-
Publication number: 20130049805Abstract: 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: ApplicationFiled: August 23, 2011Publication date: February 28, 2013Inventors: Michael R. Seningen, Raymond C. Yeung
-
Publication number: 20120239717Abstract: 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: ApplicationFiled: June 20, 2011Publication date: September 20, 2012Inventors: Raymond C. Yeung, Lincoln R. Nunes, Geoffrey F. Oh
-
Publication number: 20120192132Abstract: 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: ApplicationFiled: August 2, 2011Publication date: July 26, 2012Inventors: Robert D. Kenney, Raymond C. Yeung, Paul K. Miller, Donald W. Glowka, Jeffrey B. Read
-
Publication number: 20110307848Abstract: 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: ApplicationFiled: August 19, 2011Publication date: December 15, 2011Inventors: Raymond C. Yeung, Irfan Waheed, Mark H. Nodine
-
Patent number: 7395414Abstract: 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: GrantFiled: February 11, 2005Date of Patent: July 1, 2008Assignee: International Business Machines CorporationInventors: Hung Q. Le, Dung Q. Nguyen, Brian W. Thompto, Raymond C. Yeung
-
Publication number: 20080133890Abstract: 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: ApplicationFiled: January 14, 2008Publication date: June 5, 2008Applicant: International Business Machines CorporationInventors: Hung Q. Le, Dung Q. Nguyen, Brian W. Thompto, Raymond C. Yeung
-
Patent number: 7188233Abstract: 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: GrantFiled: February 9, 2005Date of Patent: March 6, 2007Assignee: International Business Machines CorporationInventors: Juergen Haess, Michael Kroener, Dung Quoc Nguyen, Lawrence J. Powell, Jr., Eric M. Schwarz, Son Dao-Trong, Raymond C. Yeung
-
Patent number: 7093106Abstract: 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: GrantFiled: April 23, 2003Date of Patent: August 15, 2006Assignee: International Business Machines CorporationInventors: Asit S. Ambekar, Dung Q. Nguyen, Raymond C. Yeung
-
Publication number: 20040215936Abstract: 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: ApplicationFiled: April 23, 2003Publication date: October 28, 2004Applicant: International Business Machines CorporationInventors: Asit S. Ambekar, Dung Q. Nguyen, Raymond C. Yeung
-
Publication number: 20030182537Abstract: 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: ApplicationFiled: March 21, 2002Publication date: September 25, 2003Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Hung Q. Le, Dung Q. Nguyen, Albert T. Williams, Raymond C. Yeung