Patents by Inventor Tai Ly

Tai Ly 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).

  • Publication number: 20170083299
    Abstract: System and method for performing correlation analysis. A program that includes multiple program structures and one or more data objects is stored. Each data object is shared by at least two of the program structures. For each program structure, decomposition effects on each of the data objects shared by the program structure resulting from each of a respective one or more optimizing transforms applied to the program structure are analyzed. One or more groups of correlated structures are determined based on the analyzing. Each group includes two or more program structures that share at least one data object, and at least one optimizing transform that is compatible with respect to the two or more program structures and the shared data object. For at least one group, the at least one optimizing transform is usable to transform the two or more program structures to meet a specified optimization objective.
    Type: Application
    Filed: September 27, 2016
    Publication date: March 23, 2017
    Inventors: Hojin Kee, Haoran Yi, Tai A. Ly, Newton G. Petersen, James M. Lewis, Dustyn K. Blasig, Adam T. Arnesen, Taylor L. Riche
  • Patent number: 9569119
    Abstract: Techniques are disclosed relating to self-addressing memory. In one embodiment, an apparatus includes a memory and addressing circuitry coupled to or comprised in the memory. In this embodiment, the addressing circuitry is configured to receive memory access requests corresponding to a specified sequence of memory accesses. In this embodiment, the memory access requests do not include address information. In this embodiment, the addressing circuitry is further configured to assign addresses to the memory access requests for the specified sequence of memory accesses. In some embodiments, the apparatus is configured to perform the memory access requests using the assigned addresses.
    Type: Grant
    Filed: October 24, 2014
    Date of Patent: February 14, 2017
    Assignee: NATIONAL INSTRUMENTS CORPORATION
    Inventors: Tai A. Ly, Swapnil D. Mhaske, Hojin Kee, Adam T. Arnesen, David C. Uliana, Newton G. Petersen
  • Publication number: 20160352458
    Abstract: Techniques are disclosed relating to encoding communications. In some embodiments, for different rows of an encoding matrix, the following operations are performed: generate a set of operations for entries in the row, where the set of operations includes respective operations to be performed on the entries for multiplication of the matrix by a vector, propagate values of entries in the encoding matrix into the set of operations, and simplify ones of the set of operations based on the propagated values to generate an output set of operations. In some embodiments, the output sets of operations are usable to encode input data for communication over a medium. In some embodiments, the disclosed techniques facilitate loop unrolling within compiler memory constraints. In some embodiments, an apparatus (e.g., a mobile device) is configured with the output sets of operations.
    Type: Application
    Filed: May 29, 2015
    Publication date: December 1, 2016
    Inventors: David C. Uliana, Newton G. Petersen, Tai A. Ly, Hojin Kee, Adam T. Arnesen, Dustyn K. Blasig, Gandiinaa Gumenjav
  • Publication number: 20160352457
    Abstract: Techniques are disclosed relating to LDPC encoding. In some embodiments, a set of operations is produced that is usable to generate an encoded message based on an input message. In some embodiments, the set of operations correspond to operations for entries in a smaller matrix representation that specifies locations of non-zero entries in an LDPC encoding matrix. In some embodiments, a mobile device is configured with the set of operations to perform LDPC encoding. Circuitry configured with the set of operations may perform LDPC encoding with high performance, relatively small area and/or low power consumption, in some embodiments.
    Type: Application
    Filed: May 29, 2015
    Publication date: December 1, 2016
    Inventors: David C. Uliana, Newton G. Petersen, Tai A. Ly, Qing Ruan, James C. Nagle, Swapnil D. Mhaske, Hojin Kee, Adam T. Arnesen
  • Publication number: 20160352355
    Abstract: Techniques are disclosed relating to implementation of LDPC encoding circuitry on a single integrated circuit (IC). In some embodiments, circuitry on a single IC includes message circuitry configured to receive or generate a message to be encoded, encode circuitry configured to perform low density parity check (LDPC) encoding on the message, noise circuitry configured to apply noise to the encoded message, and decode circuitry configured to perform LDPC decoding of the message. In some embodiments, the disclosed techniques may reduce production costs (e.g., by reducing overall chip area), facilitate LDPC testing, and/or provide multiple different functions relating to message transmission on a single chip.
    Type: Application
    Filed: May 29, 2015
    Publication date: December 1, 2016
    Inventors: David C. Uliana, James W. McCoy, Newton G. Petersen, Tai A. Ly, Hojin Kee, Adam T. Arnesen
  • Patent number: 9489181
    Abstract: System and method for performing correlation analysis. A program that includes multiple program structures and one or more data objects is stored. Each data object is shared by at least two of the program structures. For each program structure, decomposition effects on each of the data objects shared by the program structure resulting from each of a respective one or more optimizing transforms applied to the program structure are analyzed. One or more groups of correlated structures are determined based on the analyzing. Each group includes two or more program structures that share at least one data object, and at least one optimizing transform that is compatible with respect to the two or more program structures and the shared data object. For at least one group, the at least one optimizing transform is usable to transform the two or more program structures to meet a specified optimization objective.
    Type: Grant
    Filed: October 9, 2014
    Date of Patent: November 8, 2016
    Assignee: NATIONAL INSTRUMENTS CORPORATION
    Inventors: Hojin Kee, Haoran Yi, Tai A. Ly, Newton G. Petersen, James M. Lewis, Dustyn K. Blasig, Adam T. Arnesen, Taylor L. Riche
  • Publication number: 20160103664
    Abstract: System and method for performing correlation analysis. A program that includes multiple program structures and one or more data objects is stored. Each data object is shared by at least two of the program structures. For each program structure, decomposition effects on each of the data objects shared by the program structure resulting from each of a respective one or more optimizing transforms applied to the program structure are analyzed. One or more groups of correlated structures are determined based on the analyzing. Each group includes two or more program structures that share at least one data object, and at least one optimizing transform that is compatible with respect to the two or more program structures and the shared data object. For at least one group, the at least one optimizing transform is usable to transform the two or more program structures to meet a specified optimization objective.
    Type: Application
    Filed: October 9, 2014
    Publication date: April 14, 2016
    Inventors: Hojin Kee, Haoran Yi, Tai A. Ly, Newton G. Petersen, James M. Lewis, Dustyn K. Blasig, Adam T. Arnesen, Taylor L. Riche
  • Publication number: 20160070485
    Abstract: Techniques are disclosed relating to self-addressing memory. In one embodiment, an apparatus includes a memory and addressing circuitry coupled to or comprised in the memory. In this embodiment, the addressing circuitry is configured to receive memory access requests corresponding to a specified sequence of memory accesses. In this embodiment, the memory access requests do not include address information. In this embodiment, the addressing circuitry is further configured to assign addresses to the memory access requests for the specified sequence of memory accesses. In some embodiments, the apparatus is configured to perform the memory access requests using the assigned addresses.
    Type: Application
    Filed: October 24, 2014
    Publication date: March 10, 2016
    Inventors: Tai A. Ly, Swapnil D. Mhaske, Hojin Kee, Adam T. Arnesen, David C. Uliana, Newton G. Petersen
  • Publication number: 20160070662
    Abstract: Techniques are disclosed relating to reordering sequences of memory accesses. In one embodiment, a method includes storing a specified sequence of memory accesses that corresponds to a function to be performed. In this embodiment, the specified sequence of memory accesses has first memory access constraints. In this embodiment, the method further includes reordering the specified sequence of memory accesses to create a reordered sequence of memory accesses that has second, different memory access constraints. In this embodiment, the reordered sequence of memory accesses is usable to access a memory to perform the function. In some embodiments, performance estimates are determined for a plurality of reordered sequences of memory accesses, and one of the reordered sequences is selected based on the performance estimates. In some embodiments, the reordered sequence is used to compile a program usable to perform the function.
    Type: Application
    Filed: October 24, 2014
    Publication date: March 10, 2016
    Inventors: Tai A. Ly, Swapnil D. Mhaske, Hojin Kee, Adam T. Arnesen, David C. Uliana, Newton G. Petersen
  • Publication number: 20160070499
    Abstract: Techniques are disclosed relating to configuring an interlock memory system. In one embodiment, a method includes determining a sequence of memory access requests for a program and generating information specifying memory access constraints based on the sequence of memory accesses, where the information is usable to avoid memory access hazards for the sequence of memory accesses. In this embodiment, the method further includes configuring first circuitry using the information, where the first circuitry is included in or coupled to a memory. In this embodiment, after the configuring, the first circuitry is operable to perform memory access requests to the memory corresponding to the sequence of memory accesses while avoiding the memory access hazards, without receiving other information indicating the memory access hazards.
    Type: Application
    Filed: October 24, 2014
    Publication date: March 10, 2016
    Inventors: Tai A. Ly, Swapnil D. Mhaske, Hojin Kee, Adam T. Arnesen, David C. Uliana, Newton G. Petersen
  • Publication number: 20160070498
    Abstract: Techniques are disclosed relating to resolving memory access hazards. In one embodiment, an apparatus includes a memory and circuitry coupled to or comprised in the memory. In this embodiment, the circuitry is configured to receive a sequence of memory access requests for the memory, where the sequence of memory access requests is configured to access locations associated with entries in a matrix. In this embodiment, the circuitry is configured with memory access constraints for the sequence of memory access requests. In this embodiment, the circuitry is configured to grant the sequence of memory access requests subject to the memory access constraints, thereby avoiding memory access hazards for a sequence of memory accesses corresponding to the sequence of memory access requests.
    Type: Application
    Filed: October 24, 2014
    Publication date: March 10, 2016
    Inventors: Tai A. Ly, Swapnil D. Mhaske, Hojin Kee, Adam T. Arnesen, David C. Uliana, Newton G. Petersen
  • Publication number: 20160062750
    Abstract: System and method for convergence analysis. One or more state variables of a first program may be determined based on dependencies of variables in a first program. A second program corresponding to the first program is created based on the state variables and their dependencies, and executed multiple times. Each execution may include recording values of the state variables, determining an execution count, comparing the values to corresponding values from previous executions of the second program, and terminating the executing in response to the values matching corresponding values from at least one previous execution of the second program. A convergence property for the first program is determined based on the execution count, and indicating a number of executions of the first program required to generate all possible values of the one or more variables. The convergence property is stored, and may be useable to optimize the first program.
    Type: Application
    Filed: October 14, 2015
    Publication date: March 3, 2016
    Inventors: Taylor L. Riche, Newton G. Petersen, Hojin Kee, Adam T. Arnesen, Haoran Yi, Dustyn K. Blasig, Tai A. Ly
  • Patent number: 9189215
    Abstract: System and method for convergence analysis. One or more state variables of a first program may be determined based on dependencies of variables in a first program. A second program corresponding to the first program is created based on the state variables and their dependencies, and executed multiple times. Each execution may include recording values of the state variables, determining an execution count, comparing the values to corresponding values from previous executions of the second program, and terminating the executing in response to the values matching corresponding values from at least one previous execution of the second program. A convergence property for the first program is determined based on the execution count, and indicating a number of executions of the first program required to generate all possible values of the one or more variables. The convergence property is stored, and may be useable to optimize the first program.
    Type: Grant
    Filed: August 26, 2014
    Date of Patent: November 17, 2015
    Assignee: National Instruments Corporation
    Inventors: Taylor L. Riche, Newton G. Petersen, Hojin Kee, Adam T. Arnesen, Haoran Yi, Dustyn K. Blasig, Tai A. Ly
  • Publication number: 20150242193
    Abstract: When compiling high level, graphical code (e.g. LabVIEW™ code) representative of a design, parts of the code that do not depend on external input data may be executed during the compilation process. Specific variables and/or value traces of specific variables in the program, e.g. constant values and/or repeating patterns may be recorded then analyzed, and certain transformations may be applied in the compilation process according to the results of the analysis, thereby optimizing the design. In one approach, the graph may be dynamically stepped through one node at a time, and it may be determined whether all inputs to the stepped-through node are known. If those inputs are known, type conversion and the operation corresponding to the stepped-through node may be dynamically performed. In another approach, a subset of the graphical code not depending on external data may be compiled and executed, thereby obtaining the same results as described above.
    Type: Application
    Filed: May 5, 2015
    Publication date: August 27, 2015
    Inventors: Hojin Kee, Tai A. Ly, Newton G. Petersen, Jeffrey D. Washington, Haoran Yi, Dustyn K. Blasig
  • Patent number: 9081583
    Abstract: When compiling high level, graphical code (e.g. LabVIEW™ code) representative of a design, parts of the code that do not depend on external input data may be executed during the compilation process. Specific variables and/or value traces of specific variables in the program, e.g. constant values and/or repeating patterns may be recorded then analyzed, and certain transformations may be applied in the compilation process according to the results of the analysis, thereby optimizing the design. In one approach, the graph may be dynamically stepped through one node at a time, and it may be determined whether all inputs to the stepped-through node are known. If those inputs are known, type conversion and the operation corresponding to the stepped-through node may be dynamically performed. In another approach, a subset of the graphical code not depending on external data may be compiled and executed, thereby obtaining the same results as described above.
    Type: Grant
    Filed: August 23, 2012
    Date of Patent: July 14, 2015
    Assignee: National Instruments Corporation
    Inventors: Hojin Kee, Tai A. Ly, Newton G. Petersen, Jeffrey D. Washington, Haoran Yi, Dustyn K. Blasig
  • Patent number: 8914761
    Abstract: A circuit design that contains at least two clock domains is simulated using a novel system and method for injecting the effects of metastability. The system includes detectors for detecting, during simulation, when a clock in a transmit clock domain and a clock in a receive clock domain are aligned and when the input of a register receiving a clock-domain-crossing signal is changing. The system includes coverage monitors for measuring, during simulation, statistics related to metastability injection. The system accurately models the effects of metastability by, at appropriate times during simulation, pseudo-randomly inverting outputs of registers receiving clock-domain-crossing signals. By accurately modeling the effects of metastability, errors in the circuit design can be detected while simulating a pre-existing simulation test. The simulation with metastability effects injection is repeatable and requires no modification of pre-existing RTL design files or simulation test files.
    Type: Grant
    Filed: May 6, 2013
    Date of Patent: December 16, 2014
    Assignee: Mentor Graphics Corporation
    Inventors: Tai An Ly, Ka Kei Kwok, Vijaya Vardhan Gupta, Lawrence Curtis Widdoes, Jr.
  • Publication number: 20140059524
    Abstract: When compiling high level, graphical code (e.g. LabVIEW™ code) representative of a design, parts of the code that do not depend on external input data may be executed during the compilation process. Specific variables and/or value traces of specific variables in the program, e.g. constant values and/or repeating patterns may be recorded then analyzed, and certain transformations may be applied in the compilation process according to the results of the analysis, thereby optimizing the design. In one approach, the graph may be dynamically stepped through one node at a time, and it may be determined whether all inputs to the stepped-through node are known. If those inputs are known, type conversion and the operation corresponding to the stepped-through node may be dynamically performed. In another approach, a subset of the graphical code not depending on external data may be compiled and executed, thereby obtaining the same results as described above.
    Type: Application
    Filed: August 23, 2012
    Publication date: February 27, 2014
    Inventors: Hojin Kee, Tai A. Ly, Newton G. Petersen, Jeffrey D. Washington, Haoran Yi, Dustyn K. Blasig
  • Publication number: 20130246985
    Abstract: A circuit design that contains at least two clock domains is simulated using a novel system and method for injecting the effects of metastability. The system includes detectors for detecting, during simulation, when a clock in a transmit clock domain and a clock in a receive clock domain are aligned and when the input of a register receiving a clock-domain-crossing signal is changing. The system includes coverage monitors for measuring, during simulation, statistics related to metastability injection. The system accurately models the effects of metastability by, at appropriate times during simulation, pseudo-randomly inverting outputs of registers receiving clock-domain-crossing signals. By accurately modeling the effects of metastability, errors in the circuit design can be detected while simulating a pre-existing simulation test. The simulation with metastability effects injection is repeatable and requires no modification of pre-existing RTL design files or simulation test files.
    Type: Application
    Filed: May 6, 2013
    Publication date: September 19, 2013
    Applicant: Mentor Graphics Corporation
    Inventors: Tai An Ly, Ka Kei Kwok, Vijaya Vardhan Gupta, Lawrence Curtis Widdoes, JR.
  • Patent number: 8438516
    Abstract: A circuit design that contains at least two clock domains is simulated using a novel system and method for injecting the effects of metastability. The system includes detectors for detecting, during simulation, when a clock in a transmit clock domain and a clock in a receive clock domain are aligned and when the input of a register receiving a clock-domain-crossing signal is changing. The system includes coverage monitors for measuring, during simulation, statistics related to metastability injection. The system accurately models the effects of metastability by, at appropriate times during simulation, pseudo-randomly inverting outputs of registers receiving clock-domain-crossing signals. By accurately modeling the effects of metastability, errors in the circuit design can be detected while simulating a pre-existing simulation test. The simulation with metastability effects injection is repeatable and requires no modification of pre-existing RTL design files or simulation test files.
    Type: Grant
    Filed: May 4, 2010
    Date of Patent: May 7, 2013
    Assignee: Mentor Graphics Corporation
    Inventors: Tai An Ly, Ka Kei Kwok, Vijaya Vardhan Gupta, Lawrence Curtis Widdoes, Jr.
  • Patent number: 8271918
    Abstract: Methods and apparatus for performing automated formal clock domain crossing verification on a device are detailed. In various implementations of the invention, a device may be analyzed, wherein the clock domain crossing boundaries are identified. Subsequently, a formal clock domain crossing verification method may be applied to the identified clock domain crossing boundaries, resulting in clock domain crossing assertions being identified. After which the identified assertions may be promoted for post clock domain crossing analysis. With various implementations of the invention, a formal clock domain crossing method is provided, wherein the device components near an identified clock domain crossing are extracted. Assertions may then be synthesized and verified based upon the extracted components. Various implementations of the invention provide for clock domain crossing verification to be performed iteratively, wherein a larger and larger selection of the device is extracted during formal verification.
    Type: Grant
    Filed: September 14, 2009
    Date of Patent: September 18, 2012
    Assignee: Mentor Graphics Corporation
    Inventors: Ka-Kei Kwok, Bing Li, Tai An Ly, Rojer Raji Sabbagh