Automatic isolation of a defect in a programmable logic device
    1.
    发明授权
    Automatic isolation of a defect in a programmable logic device 有权
    自动隔离可编程逻辑器件中的缺陷

    公开(公告)号:US07795901B1

    公开(公告)日:2010-09-14

    申请号:US12468638

    申请日:2009-05-19

    IPC分类号: G01R31/28 H03K19/00

    摘要: A defect is automatically isolated in an integrated circuit device having programmable logic and interconnect circuits. A sequence of configurations is created to route data in a pattern through the programmable logic and interconnect circuits. Each configuration within the sequence is determined (e.g., generated or selected from a plurality of pre-generated configurations) as a function of output data from a prior configuration in the sequence. For each configuration in the sequence, the programmable logic and interconnect circuits are configured with the configuration and an automatic test instrument routes data in the pattern through the programmable logic and interconnect circuits. For each configuration in the sequence, the output data from the programmable logic and interconnect circuits is assessed. For each configuration in the sequence, the assessed output data isolates the defect to a portion of the pattern for the configuration that is within the portion for a prior configuration in the sequence.

    摘要翻译: 在具有可编程逻辑和互连电路的集成电路器件中,自动隔离缺陷。 创建一系列配置以通过可编程逻辑和互连电路以图案路由数据。 根据序列中的先前配置的输出数据确定序列内的每个配置(例如,从多个预先生成的配置中生成或选择)。 对于序列中的每个配置,可编程逻辑和互连电路配置为配置,自动测试仪器通过可编程逻辑和互连电路对图案中的数据进行路由。 对于序列中的每个配置,评估来自可编程逻辑和互连电路的输出数据。 对于序列中的每个配置,评估的输出数据将缺陷隔离到用于在序列中先前配置的部分内的配置的模式的一部分。

    Methods of enabling functions of a design to be implemented in an integrated circuit device and a computer program product
    2.
    发明授权
    Methods of enabling functions of a design to be implemented in an integrated circuit device and a computer program product 有权
    使设计功能能够在集成电路装置和计算机程序产品中实现的方法

    公开(公告)号:US08155907B1

    公开(公告)日:2012-04-10

    申请号:US12480488

    申请日:2009-06-08

    IPC分类号: G06F11/00 G06F19/00 G06F17/40

    摘要: Methods of enabling functions of a design to be implemented in an integrated circuit device are disclosed. An exemplary method comprises applying test data to a plurality of dice having different element types for implementing circuits, wherein the plurality of dice have a common layout of the different element types for implementing the circuits; receiving output data from the plurality of dice in response to applying the test data to the plurality of dice; analyzing the output data from the plurality of dice; transforming by a computer the output data to characterization data comprising timing data associated with the different element types for implementing circuits, wherein the characterization data comprises data associated with regions of the dice, and storing the characterization data. A computer program product for enabling functions of a design to be implemented in an integrated circuit device is also disclosed.

    摘要翻译: 公开了在集成电路装置中实现设计功能的方法。 示例性方法包括将测试数据应用于具有用于实现电路的不同元件类型的多个骰子,其中所述多个骰子具有用于实现电路的不同元件类型的公共布局; 响应于将所述测试数据应用于所述多个骰子,从所述多个骰子接收输出数据; 分析来自多个骰子的输出数据; 通过计算机将输出数据转换成包括与用于实现电路的不同元件类型相关联的定时数据的表征数据,其中表征数据包括与骰子区域相关联的数据,并存储表征数据。 还公开了一种用于使得能够在集成电路器件中实现设计功能的计算机程序产品。

    Method and apparatus for authenticating a programmable device bitstream
    3.
    发明授权
    Method and apparatus for authenticating a programmable device bitstream 有权
    用于认证可编程设备比特流的方法和装置

    公开(公告)号:US08966253B1

    公开(公告)日:2015-02-24

    申请号:US12791668

    申请日:2010-06-01

    IPC分类号: H04L29/06 G06F9/30

    摘要: A method and apparatus for authenticating a bitstream used to configure programmable devices are described. In an example, the bitstream is received via a configuration port of the programmable device, the bitstream including instructions for programming configuration registers of the programmable device and at least one embedded message authentication code (MAC). At least a portion of the instructions is initially stored in a memory of the programmable device without programming the configuration registers. At least one actual MAC is computed based on the bitstream using a hash algorithm. The at least one actual MAC is compared with the at least one embedded MAC, respectively. Each instruction stored in the memory is executed to program the configuration registers until any one of the at least one actual MAC is not the same as a corresponding one of the at least one embedded MAC, after which any remaining instructions in the memory are not executed.

    摘要翻译: 描述用于认证用于配置可编程设备的比特流的方法和装置。 在一个示例中,经由可编程设备的配置端口接收比特流,比特流包括用于编程可编程设备的配置寄存器和至少一个嵌入式消息认证码(MAC)的指令。 指令的至少一部分最初被存储在可编程设备的存储器中,而不对配置寄存器进行编程。 使用散列算法基于比特流计算至少一个实际的MAC。 将至少一个实际的MAC分别与至少一个嵌入式MAC进行比较。 执行存储在存储器中的每个指令以对配置寄存器进行编程,直到至少一个实际MAC中的任何一个与至少一个嵌入式MAC中的对应的一个不相同,之后不执行存储器中的任何剩余指令 。

    Programmable integrated circuit and a method of enabling the detection of tampering with data provided to a programmable integrated circuit
    4.
    发明授权
    Programmable integrated circuit and a method of enabling the detection of tampering with data provided to a programmable integrated circuit 有权
    可编程集成电路和一种能够检测篡改提供给可编程集成电路的数据的方法

    公开(公告)号:US08909941B1

    公开(公告)日:2014-12-09

    申请号:US13077814

    申请日:2011-03-31

    IPC分类号: G06F21/00

    摘要: A method of enabling detection of tampering with data provided to a programmable integrated circuit is described. The method comprises modifying a portion of the data to establish randomness in the data; and inserting, by a computer, a redundancy check value in the portion, wherein the redundancy check value is based upon the modified portion of the data. A programmable integrated circuit is also described.

    摘要翻译: 描述了能够检测到提供给可编程集成电路的数据的篡改的方法。 该方法包括修改数据的一部分以在数据中建立随机性; 并且由计算机插入所述部分中的冗余校验值,其中所述冗余校验值基于所述数据的修改部分。 还描述了可编程集成电路。

    Copy protection without non-volatile memory
    5.
    发明授权
    Copy protection without non-volatile memory 有权
    复制保护,不带非易失性存储器

    公开(公告)号:US08416950B1

    公开(公告)日:2013-04-09

    申请号:US13082271

    申请日:2011-04-07

    IPC分类号: H04L29/06

    CPC分类号: H04L9/0866

    摘要: An integrated circuit includes a fingerprint element and a decryption circuit. The fingerprint element generates a fingerprint, where the fingerprint is reproducible and represents an inherent manufacturing process characteristic unique to the integrated circuit device. The decryption circuit decrypts, using a decryption key that is based on the fingerprint, an encrypted data in order to extract data. In one embodiment, the propagation delay of various circuit elements are used to generate the fingerprint. In another embodiment, the specific frequency of an oscillator is used to generate the fingerprint. In yet another embodiment, a ratio of measurable values is used to generate the fingerprint. In another embodiment, differences in transistor threshold voltages are used to generate the fingerprint. In yet another embodiment, variations in line widths are used to generate the fingerprint.

    摘要翻译: 集成电路包括指纹元件和解密电路。 指纹元件产生指纹,其中指纹是可重现的,并且表示集成电路设备独有的固有制造工艺特性。 解密电路使用基于指纹的解密密钥解密加密数据,以提取数据。 在一个实施例中,各种电路元件的传播延迟被用于产生指纹。 在另一个实施例中,使用振荡器的特定频率来生成指纹。 在另一个实施例中,使用可测量值的比例来生成指纹。 在另一个实施例中,晶体管阈值电压的差异用于产生指纹。 在另一个实施例中,使用线宽的变化来生成指纹。

    System and methods for reducing clock power in integrated circuits
    6.
    发明授权
    System and methods for reducing clock power in integrated circuits 有权
    集成电路中降低时钟功率的系统和方法

    公开(公告)号:US08104012B1

    公开(公告)日:2012-01-24

    申请号:US12363721

    申请日:2009-01-31

    IPC分类号: G06F17/50

    摘要: Dynamic power savings and efficient use of resources are achieved in a programmable logic device (PLD) such as a field programmable gate array (FPGA) or complex programmable logic device (CPLD) by receiving a design netlist specifying a circuit including clock signals, clock buffers, clock enable signals and synchronous elements, examining the design netlist to identify synchronous elements coupled to common clock and clock enable signals, cutting the clock signals to the synchronous elements to form a modified design netlist, inserting gated clock buffers into the modified netlist to output gated clock signals to the synchronous elements, responsive to the clock enable signals, and performing placement and routing on the modified netlist. A system for performing the method on an EDA tool is provided. The methods may be provided as executable instructions stored on a computer readable medium which cause a programmable processor to perform the methods.

    摘要翻译: 在诸如现场可编程门阵列(FPGA)或复杂可编程逻辑器件(CPLD)的可编程逻辑器件(PLD)中实现动态功率节省和资源的有效利用,通过接收指定包括时钟信号,时钟缓冲器的电路的设计网表 ,时钟使能信号和同步元件,检查设计网表以识别耦合到公共时钟和时钟使能信号的同步元件,将时钟信号切割到同步元件以形成修改后的设计网表,将门控时钟缓冲器插入修改的网表以输出 门控时钟信号到同步元件,响应于时钟使能信号,并在修改的网表上执行放置和布线。 提供了一种用于在EDA工具上执行该方法的系统。 可以将这些方法提供为存储在计算机可读介质上的可执行指令,其使可编程处理器执行该方法。

    Computer-readable storage media comprising data streams having mixed mode data correction capability
    7.
    发明授权
    Computer-readable storage media comprising data streams having mixed mode data correction capability 有权
    包括具有混合模式数据校正能力的数据流的计算机可读存储介质

    公开(公告)号:US07979826B1

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

    申请号:US11820938

    申请日:2007-06-21

    IPC分类号: G06F17/50 H03M13/00

    CPC分类号: G06F17/5054

    摘要: Methods of providing error correction in configuration bitstreams for programmable logic devices (PLDs). While any error correction method can be used, in one embodiment a Hamming code is applied to instructions in the configuration bitstream, while a product code is applied to configuration data. Thus, the higher overhead required for a Hamming code applies to only a few words in the bitstream. The instructions are corrected on receipt of the word that includes the Hamming code, so the instructions are executed correctly even if a transmission error has occurred. However, configuration data can be stored in the configuration memory without correction. With a product code, the exact location of an erroneous bit is not known until the end of the transmission, when a parity word is received. At this time, the PLD can go back and correct erroneous bits in the configuration data prior to enabling the newly loaded design.

    摘要翻译: 在可编程逻辑器件(PLD)的配置比特流中提供纠错的方法。 虽然可以使用任何纠错方法,但是在一个实施例中,将汉明码应用于配置比特流中的指令,同时将产品代码应用于配置数据。 因此,汉明码所需的较高开销仅适用于比特流中的几个字。 在接收到包含汉明码的单词时纠正指令,因此即使发生传输错误,指令也能正确执行。 然而,配置数据可以存储在配置存储器中而不进行校正。 使用产品代码,当接收到奇偶校验字时,直到发送结束,才知道错误位的确切位置。 此时,在启用新加载的设计之前,PLD可以返回并纠正配置数据中的错误位。

    Methods of using one of a plurality of configuration bitstreams for an integrated circuit
    8.
    发明授权
    Methods of using one of a plurality of configuration bitstreams for an integrated circuit 有权
    使用多个配置比特流中的一个用于集成电路的方法

    公开(公告)号:US07853916B1

    公开(公告)日:2010-12-14

    申请号:US11974355

    申请日:2007-10-11

    CPC分类号: H03K17/693

    摘要: Methods of using one of a plurality of configuration bitstreams in an integrated circuit are disclosed. An exemplary method comprises analyzing the plurality of implementations of a design to determine initial variations in timing among the implementations; modifying the implementations to reduce the variations in timing among the implementations; and outputting a plurality of configuration bitstreams for the implementations having variations in timing that are reduced relative to the initial variations in timing. Another method comprises generating a plurality of implementations for the design; generating a cost function for the design based upon costs (e.g., collision penalties) derived from at least two of the plurality of implementations; determining a cost for each implementation based upon the cost function; optimizing an implementation of the design by minimizing the cost of the implementation; generating a plurality of configuration bitstreams for the plurality of implementations; and outputting the plurality of configuration bitstreams.

    摘要翻译: 公开了在集成电路中使用多个配置比特流中的一个的方法。 一种示例性方法包括分析设计的多个实现以确定实现中的定时的初始变化; 修改实现以减少实现中的时序变化; 以及输出多个配置比特流,用于具有相对于初始定时变化而减小的定时变化的实现。 另一种方法包括为设计生成多个实现; 基于从所述多个实现中的至少两个导出的成本(例如,冲突惩罚),为所述设计生成成本函数; 根据成本函数确定每个实现的成本; 通过最小化实施成本来优化设计的实施; 为所述多个实现产生多个配置比特流; 并输出多个配置比特流。

    Methods of enabling the validation of an integrated circuit adapted to receive one of a plurality of configuration bitstreams
    9.
    发明授权
    Methods of enabling the validation of an integrated circuit adapted to receive one of a plurality of configuration bitstreams 有权
    允许验证适合于接收多个配置比特流中的一个的集成电路的方法

    公开(公告)号:US07810059B1

    公开(公告)日:2010-10-05

    申请号:US11974387

    申请日:2007-10-11

    IPC分类号: G06F17/50 G06F9/45

    CPC分类号: G06F17/5054

    摘要: Methods of enabling the validation of an integrated circuit adapted to receive one of a plurality of configuration bitstreams for a circuit design is disclosed. The method comprises analyzing a plurality of implementations for the circuit design; determining minimum timing constraints based upon all of the implementations for the circuit design; generating a representative implementation, based upon the plurality of implementations, which meets the determined minimum timing constraints for all of the implementations of the circuit design; and outputting the representative implementation.

    摘要翻译: 公开了能够验证适合于接收电路设计的多个配置比特流中的一个的集成电路的方法。 该方法包括分析用于电路设计的多个实施方式; 基于电路设计的所有实现来确定最小时序约束; 基于满足所确定的电路设计的所有实现的最小时序约束的多个实现来生成代表性实现; 并输出代表性的实现。

    Trust controller for detecting unauthorized logic in a circuit design
    10.
    发明授权
    Trust controller for detecting unauthorized logic in a circuit design 有权
    用于在电路设计中检测未授权逻辑的信任控制器

    公开(公告)号:US07656189B1

    公开(公告)日:2010-02-02

    申请号:US11888198

    申请日:2007-07-31

    IPC分类号: G06F7/38 H03K19/173 H01L25/00

    CPC分类号: H03K19/17768 G06F21/76

    摘要: Various approaches for detection of an unwanted function implemented in an integrated circuit (IC) are described. A controller is implemented on the IC, and at a first time while the IC is operating according to a circuit design, the controller reads a first data set from a subset of memory cells. The subset of memory cells stores state information of the circuit design. The controller determines whether the first data set is different from a second data set. In response to the first data set being different from the second data set, the controller outputs a threat signal that indicates the presence of unauthorized logic in the circuit design.

    摘要翻译: 描述用于检测集成电路(IC)中实现的不期望功能的各种方法。 在IC上实现控制器,并且当IC根据电路设计操作时,第一时间,控制器从存储器单元的子集读取第一数据集。 存储器单元的子集存储电路设计的状态信息。 控制器确定第一数据集是否与第二数据集不同。 响应于第一数据集与第二数据集不同,控制器输出指示电路设计中存在未授权逻辑的威胁信号。