Method of flexible clock placement for integrated circuit designs using integer linear programming
    1.
    发明授权
    Method of flexible clock placement for integrated circuit designs using integer linear programming 有权
    使用整数线性规划的集成电路设计的灵活时钟放置方法

    公开(公告)号:US07353485B1

    公开(公告)日:2008-04-01

    申请号:US11200627

    申请日:2005-08-10

    IPC分类号: G06F17/50

    摘要: A method of global clock placement for a circuit design to be implemented on a programmable logic device (PLD) can include identifying clock properties for the circuit design and identifying physical clock region attributes for the PLD. The method further can include specifying an Integer Linear Programming formulation (ILP) of a clock placement problem for the circuit design from the clock properties and the physical clock region attributes. The ILP formulation can be solved to determine whether a feasible clock placement exists for the circuit design.

    摘要翻译: 要在可编程逻辑器件(PLD)上实现的电路设计的全局时钟放置方法可以包括识别电路设计的时钟属性并识别PLD的物理时钟区域属性。 该方法还可以包括根据时钟属性和物理时钟区域属性指定用于电路设计的时钟布置问题的整数线性规划公式(ILP)。 可以解决ILP公式,以确定电路设计中是否存在可行的时钟布局。

    Assignment of I/O objects with multiple I/O standards to virtual I/O banks using integer linear programming
    2.
    发明授权
    Assignment of I/O objects with multiple I/O standards to virtual I/O banks using integer linear programming 有权
    使用整数线性规划将具有多个I / O标准的I / O对象分配给虚拟I / O组

    公开(公告)号:US07299439B1

    公开(公告)日:2007-11-20

    申请号:US11135980

    申请日:2005-05-24

    IPC分类号: G06F17/50

    CPC分类号: G06F17/505

    摘要: A method of input/output (I/O) assignment for a circuit design for a programmable logic device (PLD) can include determining I/O types for I/O objects specified by the circuit design, defining a plurality of virtual I/O bank-groups, wherein each virtual I/O bank-group includes at least one virtual I/O bank, and binding I/O objects of the circuit design into I/O groups according to the I/O types. A binary compatibility matrix can be created. The binary compatibility matrix can indicate the compatibility between the virtual I/O bank-groups and the I/O groups based upon the I/O types of I/O objects within each I/O group. A determination can be made as to whether a feasible solution exists for I/O assignment of the I/O objects of the circuit design according to a plurality of constraints and the binary compatibility matrix.

    摘要翻译: 用于可编程逻辑器件(PLD)的电路设计的输入/输出(I / O)分配的方法可以包括确定由电路设计指定的I / O对象的I / O类型,定义多个虚拟I / O 银行组,其中每个虚拟I / O组组包括至少一个虚拟I / O组,并且根据I / O类型将电路设计的I / O对象绑定到I / O组中。 可以创建二进制兼容性矩阵。 二进制兼容性矩阵可以基于每个I / O组内的I / O对象的I / O类型来指示虚拟I / O组组与I / O组之间的兼容性。 可以确定根据多个约束和二进制兼容性矩阵是否存在针对电路设计的I / O对象的I / O分配的可行解决方案。

    Assignment of select input/output blocks to banks for integrated circuits using integer linear programming with proximity optimization
    3.
    发明授权
    Assignment of select input/output blocks to banks for integrated circuits using integer linear programming with proximity optimization 有权
    使用具有邻近优化的整数线性规划将选择输入/输出块分配给集成电路组

    公开(公告)号:US08010924B1

    公开(公告)日:2011-08-30

    申请号:US12184108

    申请日:2008-07-31

    IPC分类号: G06F17/50

    CPC分类号: G06F17/5054

    摘要: A method of assigning a plurality of input/output (I/O) objects of a circuit design to banks of a programmable integrated circuit (IC) using integer linear programming can include storing a plurality of constraints that depend upon a plurality of variables, wherein the plurality of constraints regulate assignment of each of the plurality of I/O objects to banks of the programmable IC (125-184), and storing a linear function that depends upon the plurality of constraints and a plurality of cost metrics, wherein each cost metric imposes a penalty when a selected I/O object of the circuit design is assigned to a bank of the programmable IC that is different from a bank to which the selected I/O object is assigned within a reference solution that is infeasible (190). A result indicating whether a feasible solution exists for assignment of the plurality of I/O objects of the circuit design to banks of the target programmable IC can be determined by minimizing the linear function (192) subject to the plurality of constraints and outputting the result (196, 198).

    摘要翻译: 使用整数线性规划将电路设计的多个输入/输出(I / O)对象分配给可编程集成电路(IC)的组的方法可以包括存储取决于多个变量的多个约束,其中 所述多个约束调节所述多个I / O对象中的每一个到所述可编程IC(125-184)的存储体的分配,以及存储取决于所述多个约束和多个成本度量的线性函数,其中每个成本 当电路设计的所选择的I / O对象被分配给可编程IC的存储体时,在不可执行的参考解决方案中将所选择的I / O对象分配给不同于存储体的存储体(190) 。 可以通过使受限于多个约束的线性函数(192)最小化并输出结果来确定是否存在用于将电路设计的多个I / O对象分配给目标可编程IC的组的可行解的结果 (196,198)。

    Simultaneous assignment of select I/O objects and clock I/O objects to banks using integer linear programming
    4.
    发明授权
    Simultaneous assignment of select I/O objects and clock I/O objects to banks using integer linear programming 有权
    使用整数线性编程将选择的I / O对象和时钟I / O对象同时分配给存储区

    公开(公告)号:US07451422B1

    公开(公告)日:2008-11-11

    申请号:US11500524

    申请日:2006-08-08

    IPC分类号: G06F17/50

    摘要: A method of assigning I/O objects to banks of a target device can include concurrently assigning I/O objects, including select I/O objects and clock I/O objects, of the circuit design to I/O groups according to an I/O standard associated with each I/O object. Each I/O group can include only I/O objects of a same I/O standard. The method also can include establishing a plurality of linear constraints for regulating assignment of the I/O groups to banks of the target device. The linear constraints can include range constraints indicating I/O banks capable of hosting clock I/O objects. The method also can include defining mutual relationships among selected ones of the linear constraints. An indication as to whether a feasible solution exists for assignment of the I/O groups to banks of the target device can be provided by minimizing a linear objective function while observing the linear constraints and the mutual relationships.

    摘要翻译: 将I / O对象分配给目标设备的银行的方法可以包括根据I / O组向I / O组同时分配电路设计的I / O对象,包括I / O对象和时钟I / O对象, O标准与每个I / O对象相关联。 每个I / O组只能包含相同I / O标准的I / O对象。 该方法还可以包括建立多个线性约束,用于调节I / O组对目标设备的组的分配。 线性约束可以包括指示能承载时钟I / O对象的I / O组的范围约束。 该方法还可以包括定义线性约束的选定线之间的相互关系。 可以通过在观察线性约束和相互关系的同时最小化线性目标函数来提供是否存在用于将I / O组分配给目标设备的银行的可行解决方案的指示。

    Assignment of select I/O objects to banks with mixed capacities using integer linear programming
    5.
    发明授权
    Assignment of select I/O objects to banks with mixed capacities using integer linear programming 有权
    使用整数线性规划将选定的I / O对象分配给具有混合容量的库

    公开(公告)号:US07480884B1

    公开(公告)日:2009-01-20

    申请号:US11501155

    申请日:2006-08-08

    IPC分类号: G06F17/50

    CPC分类号: G06F17/5045 G06F2217/08

    摘要: A method of assigning input/output (I/O) objects of a circuit design to banks of a target device using integer linear programming can include assigning the I/O objects of the circuit design to I/O groups according to compatibility among the I/O objects, and establishing a plurality of relationships, comprising measures of bank capacity, regulating assignment of the I/O objects of I/O groups to banks of the target device. Each measure of bank capacity can indicate a maximum number of I/O objects from a selected I/O group that can be assigned to a selected bank of the target device. The method also can include determining whether a feasible solution exists for assignment of the I/O objects of the circuit design to banks of the target device by minimizing an object function while observing the plurality of relationships.

    摘要翻译: 使用整数线性规划将电路设计的输入/输出(I / O)对象分配给目标设备的组的方法可以包括根据I中的兼容性将电路设计的I / O对象分配给I / O组 / O对象,以及建立多个关系,包括银行容量的度量,调整I / O组的I / O对象对目标设备的存储体的分配。 每个银行容量的度量可以指示可以分配给目标设备的选定库的所选I / O组的最大数量的I / O对象。 该方法还可以包括通过在观察多个关系的同时最小化对象功能来确定是否存在用于将电路设计的I / O对象分配给目标设备的存储体的可行解决方案。

    Placement of I/O blocks within I/O banks using an integer linear programming formulation
    6.
    发明授权
    Placement of I/O blocks within I/O banks using an integer linear programming formulation 有权
    使用整数线性规划公式在I / O库中放置I / O块

    公开(公告)号:US07958480B1

    公开(公告)日:2011-06-07

    申请号:US12106564

    申请日:2008-04-21

    IPC分类号: G06F17/50

    CPC分类号: G06F17/5072

    摘要: A method of input/output (I/O) block placement assigned to an input/output bank includes formulating a placement algorithm using integer linear programming (ILP) and simultaneously placing single groups and Relatively Placed Module (RPM) groups of I/O blocks in the I/O bank. The method further includes determining a placeability matrix P and a binary assignment matrix X used for the ILP. The method can further eliminate all assignment matrix elements of X equal to 0 in the integer linear programming and re-index any remaining elements. The method can further place all I/O blocks according to a solution if solving of the standard ILP formulation results in a feasible solution. Optionally, the method generates a placement solution that is as close as possible to an external reference solution specified by designer. Optionally, the method analyzes which constraints were violated and generates useful error information.

    摘要翻译: 分配给输入/输出组的输入/输出(I / O)块布局的方法包括使用整数线性规划(ILP)制定放置算法,同时放置单组和相对放置模块(RPM)组的I / O块 在I / O银行。 该方法还包括确定可用性矩阵P和用于ILP的二进制分配矩阵X. 该方法可以进一步消除整数线性规划中X等于0的所有分配矩阵元素,并重新索引任何剩余的元素。 如果解决标准ILP公式导致可行的解决方案,则该方法可以根据解决方案进一步放置所有I / O块。 可选地,该方法生成尽可能接近由设计者指定的外部参考解决方案的放置解决方案。 可选地,该方法分析哪些约束被违反并且产生有用的错误信息。

    Cost-independent critically-based target location selection for combinatorial optimization
    7.
    发明授权
    Cost-independent critically-based target location selection for combinatorial optimization 有权
    与成本无关的基于组合优化的目标位置选择

    公开(公告)号:US07194722B1

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

    申请号:US11009260

    申请日:2004-12-09

    IPC分类号: G06F17/50

    摘要: A method of physical design for a programmable logic device can include associating target locations for movable objects with criticality measures and calculating the criticality measure for each target location. A probability for each target location can be calculated. The probability of the target location can be dependent upon the criticality measure for that target location. The method further can include selecting a target location for one of the movable objects for controlled movement during a simulated annealing process. The target location can be selected according to the probability corresponding to each target location.

    摘要翻译: 可编程逻辑器件的物理设计方法可以包括将可移动对象的目标位置与关键性度量相关联并且计算每个目标位置的临界度度量。 可以计算每个目标位置的概率。 目标位置的概率可以取决于该目标位置的临界度度量。 该方法还可以包括在模拟退火过程期间选择可移动物体中的一个用于受控移动的目标位置。 可以根据与每个目标位置对应的概率来选择目标位置。

    Cost-independent criticality-based move selection for simulated annealing
    8.
    发明授权
    Cost-independent criticality-based move selection for simulated annealing 有权
    用于模拟退火的与成本无关的基于关键性的移动选择

    公开(公告)号:US07194721B1

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

    申请号:US10868956

    申请日:2004-06-15

    IPC分类号: G06F17/50

    CPC分类号: G06F17/5072

    摘要: A method of physical design for a programmable logic device (PLD) can include associating movable objects of the PLD with a criticality measure that is dependent upon timing information for a configuration of the PLD (115). The method further can include calculating the criticality measure for each movable object (125) and calculating a probability for each movable object (130). The probability can depend upon the criticality measure for the movable object. The method also can include selecting one or more of the movable objects for controlled move generation within a simulated annealing process (135). Movable objects are selected for controlled move generation according to the probabilities assigned to the movable objects.

    摘要翻译: 可编程逻辑器件(PLD)的物理设计方法可以包括将PLD的可移动对象与依赖于PLD(115)的配置的定时信息的关键性度量相关联。 该方法还可以包括计算每个可移动对象(125)的关键度测量并计算每个可移动对象(130)的概率。 概率可以取决于可移动物体的临界度测量。 该方法还可以包括在模拟退火过程(135)内选择用于受控移动生成的一个或多个可移动对象。 可移动物体根据分配给可移动物体的概率被选择用于受控移动生成。