AUTOMATIC MULTI-CLOCK CIRCUIT GENERATION
    1.
    发明申请

    公开(公告)号:US20190066626A1

    公开(公告)日:2019-02-28

    申请号:US15688196

    申请日:2017-08-28

    Abstract: Hardware may be created with different clock speeds used for different components of the system. Clock and throughput requirements on the interface circuitry of hardware components may set limits which are lower requirements for functional components. It may be advantageous to use more or fewer of some functional blocks or interface circuits in order to reduce cost, increase performance or reliability, reduce the requirements for additional parts, or other beneficial factors. Accordingly, it may be advantageous to generate hardware utilizing more than a single clock frequency. Generating instructions which indicate different clock frequencies for separate components may be difficult or time consuming; generating these instructions automatically may provide significant benefits in time savings, increased productivity, increased performance of hardware, or other benefits.

    Correlation analysis of program structures

    公开(公告)号:US09898267B2

    公开(公告)日:2018-02-20

    申请号:US15277660

    申请日:2016-09-27

    CPC classification number: G06F8/443 G06F8/20 G06F8/34

    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.

    Value transfer between program variables using dynamic memory resource mapping

    公开(公告)号:US09733911B2

    公开(公告)日:2017-08-15

    申请号:US14938649

    申请日:2015-11-11

    CPC classification number: G06F8/443 G06F8/34

    Abstract: System and method for creating a program. A program may be compiled, including determining one or more value transfer operations in the program. Each value transfer operation may specify a value transfer between a respective one or more source variables and a destination variable. For each of the one or more value transfer operations, the value transfer operation may be implemented, where the implementation of the value transfer operation may be executable to assign each variable of the value transfer operation to a respective memory resource, thereby mapping the variables to the memory resources, and dynamically change the mapping, including assigning the destination variable to the memory resource of a first source variable of the one or more source variables, thereby transferring the value from the first source variable to the destination variable without copying the value between the memory resources.

    Convergence analysis of program variables
    4.
    发明授权
    Convergence analysis of program variables 有权
    程序变量的收敛分析

    公开(公告)号:US09189215B1

    公开(公告)日:2015-11-17

    申请号:US14468935

    申请日:2014-08-26

    CPC classification number: G06F8/433 G06F8/443

    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.

    Abstract translation: 收敛分析的系统和方法 可以基于第一程序中的变量的依赖性来确定第一程序的一个或多个状态变量。 基于状态变量及其依赖性创建与第一程序相对应的第二程序,并执行多次。 每个执行可以包括状态变量的记录值,确定执行计数,将值与先前执行的第二程序的对应值进行比较,并且响应于与来自所述第二程序的至少一个先前执行的对应值匹配的值终止执行 第二个程序。 基于执行次数确定第一程序的收敛性,并且指示生成所述一个或多个变量的所有可能值所需的第一程序的执行次数。 收敛性被存储,并可用于优化第一程序。

    Incremental loop modification for LDPC encoding

    公开(公告)号:US10367525B2

    公开(公告)日:2019-07-30

    申请号:US14725914

    申请日:2015-05-29

    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.

    Program variable convergence analysis

    公开(公告)号:US09921815B2

    公开(公告)日:2018-03-20

    申请号:US14883449

    申请日:2015-10-14

    CPC classification number: G06F8/433 G06F8/443

    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.

    Value Transfer between Program Variables using Dynamic Memory Resource Mapping

    公开(公告)号:US20170131984A1

    公开(公告)日:2017-05-11

    申请号:US14938649

    申请日:2015-11-11

    CPC classification number: G06F8/443 G06F8/34

    Abstract: System and method for creating a program. A program may be compiled, including determining one or more value transfer operations in the program. Each value transfer operation may specify a value transfer between a respective one or more source variables and a destination variable. For each of the one or more value transfer operations, the value transfer operation may be implemented, where the implementation of the value transfer operation may be executable to assign each variable of the value transfer operation to a respective memory resource, thereby mapping the variables to the memory resources, and dynamically change the mapping, including assigning the destination variable to the memory resource of a first source variable of the one or more source variables, thereby transferring the value from the first source variable to the destination variable without copying the value between the memory resources.

    Correlation Analysis of Program Structures

    公开(公告)号:US20170083299A1

    公开(公告)日:2017-03-23

    申请号:US15277660

    申请日:2016-09-27

    CPC classification number: G06F8/443 G06F8/20 G06F8/34

    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.

    Correlation analysis of program structures
    9.
    发明授权
    Correlation analysis of program structures 有权
    程序结构的相关分析

    公开(公告)号:US09489181B2

    公开(公告)日:2016-11-08

    申请号:US14510441

    申请日:2014-10-09

    CPC classification number: G06F8/443 G06F8/20 G06F8/34

    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.

    Abstract translation: 执行相关分析的系统和方法。 存储包括多个程序结构和一个或多个数据对象的程序。 每个数据对象由至少两个程序结构共享。 对于每个程序结构,分析由应用于程序结构的相应的一个或多个优化变换中的每一个产生的由程序结构共享的每个数据对象的分解效果。 基于分析确定一组或多组相关结构。 每个组包括共享至少一个数据对象的两个或更多个程序结构,以及与两个或多个程序结构和共享数据对象兼容的至少一个优化变换。 对于至少一个组,所述至少一个优化变换可用于变换所述两个或多个程序结构以满足指定的优化目标。

    Configuring Circuitry with Memory Access Constraints for a Program
    10.
    发明申请
    Configuring Circuitry with Memory Access Constraints for a Program 有权
    配置电路与程序的内存访问约束

    公开(公告)号:US20160070499A1

    公开(公告)日:2016-03-10

    申请号:US14523039

    申请日:2014-10-24

    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.

    Abstract translation: 公开了关于配置互锁存储器系统的技术。 在一个实施例中,一种方法包括确定程序的存储器访问请求的序列,以及基于所述存储器访问序列产生指定存储器访问约束的信息,其中所述信息可用于避免所述存储器访问序列的存储器访问危险。 在该实施例中,该方法还包括使用该信息配置第一电路,其中第一电路被包括在存储器中或耦合到存储器。 在该实施例中,在配置之后,第一电路可操作以在不接收指示存储器访问危险的其它信息的同时避免存储器访问危险的同时对与存储器访问序列相对应的存储器执行存储器访问请求。

Patent Agency Ranking