会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • System and method of computation in a programmable logic device using virtual instructions
    • 使用虚拟指令的可编程逻辑器件中的系统和计算方法
    • US06421817B1
    • 2002-07-16
    • US09541530
    • 2000-04-03
    • Sundararajarao MohanStephen M. Trimberger
    • Sundararajarao MohanStephen M. Trimberger
    • G06F1750
    • G06F15/7867
    • An FPGA configuration provides a virtual instruction. In a generic computation, the output pattern of a first instruction is compared to the input pattern of a second instruction. If the input and output patterns of the first and second instructions do not match, then a pattern manipulation instruction is inserted between the first and second instructions. At this point, the input and output patterns of the first and second instructions should match and the computation task can be completed. The method of providing virtual instructions is applicable to any FPGA. In a standard FPGA, the data stored in the storage elements of the FPGA, such as flip-flops, is retained for the next configuration of the FPGA. In this manner, successive configurations can communicate data using the patterns of the storage elements, thereby allowing standard FPGAs to implement virtual instructions. Alternatively, a standard FPGA could write out data to an external memory using a predetermined pattern of addresses. In a subsequent configuration of the FPGA, the device could read data back from this pattern of addresses in the external memory. This embodiment allows various patterns of addresses, corresponding to data, to be used in any appropriate subsequent configuration of the FPGA. In this manner, the plurality of memory planes, previously provided on the dynamically reconfigurable FPGA, can be implemented off-chip.
    • FPGA配置提供虚拟指令。 在通用计算中,将第一指令的输出模式与第二指令的输入模式进行比较。 如果第一和第二指令的输入和输出模式不匹配,则在第一和第二指令之间插入模式操作指令。 此时,第一和第二指令的输入和输出模式应该匹配,并且可以完成计算任务。 提供虚拟指令的方法适用于任何FPGA。 在标准FPGA中,存储在FPGA的存储元件(例如触发器)中的数据被保留用于FPGA的下一个配置。 以这种方式,连续配置可以使用存储元件的模式来传送数据,从而允许标准FPGA实现虚拟指令。 或者,标准FPGA可以使用预定的地址模式将数据写入外部存储器。 在FPGA的后续配置中,器件可以从外部存储器中的这种地址模式读取数据。 该实施例允许在FPGA的任何适当的后续配置中使用与数据相对应的各种地址模式。 以这种方式,先前提供在动态可重构FPGA上的多个存储器平面可以在片外实现。
    • 2. 发明授权
    • Method for configuring FPGA memory planes for virtual hardware
computation
    • 用于配置虚拟硬件计算的FPGA存储器平面的方法
    • US6047115A
    • 2000-04-04
    • US865386
    • 1997-05-29
    • Sundararajarao MohanStephen M. Trimberger
    • Sundararajarao MohanStephen M. Trimberger
    • G06F15/78G06F17/00
    • G06F15/7867
    • A dynamically reconfigurable FPGA includes an array of tiles on a logic plane and a plurality of memory planes. Each tile has associated storage elements on each memory plane, called local memory. This local memory allows large amounts of data to pass from one FPGA configuration (memory plane) to another with no external memory access, thereby transferring data to/from the storage elements in the logic plane at very high speed. Typically, all the local memory can be simultaneously transferred to/from other memory planes in one cycle. Each FPGA configuration provides a virtual instruction. The present invention uses two different types of virtual instructions: computational and pattern manipulation instructions. Computational instructions perform some computation with data stored in some pre-defined local memory pattern. Pattern manipulation instructions move the local data into different memory locations to create the pattern required by the next instruction. A virtual computation may be accomplished by a sequence of instructions.
    • 动态可重构FPGA包括逻辑平面上的瓦片阵列和多个存储器平面。 每个瓦片在每个存储器平面上具有关联的存储元件,称为本地存储器。 该本地存储器允许大量数据从一个FPGA配置(存储器平面)传递到另一个没有外部存储器访问的数据,从而以非常高的速度向逻辑平面中的存储元件传输数据。 通常,所有本地存储器可以在一个周期内同时传送到其他存储器平面。 每个FPGA配置提供虚拟指令。 本发明使用两种不同类型的虚拟指令:计算和模式操纵指令。 计算指令使用存储在某些预定义的本地存储器模式中的数据执行一些计算。 模式操作指令将本地数据移动到不同的存储器位置,以创建下一条指令所需的模式。 虚拟计算可以通过一系列指令来实现。
    • 3. 发明授权
    • Method and apparatus for authenticating a programmable device bitstream
    • 用于认证可编程设备比特流的方法和装置
    • US08966253B1
    • 2015-02-24
    • US12791668
    • 2010-06-01
    • Stephen M. Trimberger
    • Stephen M. Trimberger
    • H04L29/06G06F9/30
    • H04L63/123G06F9/30145G06F21/572G06F21/76
    • 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中的对应的一个不相同,之后不执行存储器中的任何剩余指令 。
    • 5. 发明授权
    • Copy protection without non-volatile memory
    • 复制保护,不带非易失性存储器
    • US08416950B1
    • 2013-04-09
    • US13082271
    • 2011-04-07
    • Stephen M. Trimberger
    • Stephen M. Trimberger
    • H04L29/06
    • 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.
    • 集成电路包括指纹元件和解密电路。 指纹元件产生指纹,其中指纹是可重现的,并且表示集成电路设备独有的固有制造工艺特性。 解密电路使用基于指纹的解密密钥解密加密数据,以提取数据。 在一个实施例中,各种电路元件的传播延迟被用于产生指纹。 在另一个实施例中,使用振荡器的特定频率来生成指纹。 在另一个实施例中,使用可测量值的比例来生成指纹。 在另一个实施例中,晶体管阈值电压的差异用于产生指纹。 在另一个实施例中,使用线宽的变化来生成指纹。
    • 6. 发明授权
    • System and methods for reducing clock power in integrated circuits
    • 集成电路中降低时钟功率的系统和方法
    • US08104012B1
    • 2012-01-24
    • US12363721
    • 2009-01-31
    • Matthew H. KleinEdward S. McGettiganStephen M. TrimbergerJames M. SimkinsBrian D. PhilofskySubodh Gupta
    • Matthew H. KleinEdward S. McGettiganStephen M. TrimbergerJames M. SimkinsBrian D. PhilofskySubodh Gupta
    • G06F17/50
    • G06F17/505G06F17/5054G06F2217/62
    • 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工具上执行该方法的系统。 可以将这些方法提供为存储在计算机可读介质上的可执行指令,其使可编程处理器执行该方法。
    • 7. 发明授权
    • Computer-readable storage media comprising data streams having mixed mode data correction capability
    • 包括具有混合模式数据校正能力的数据流的计算机可读存储介质
    • US07979826B1
    • 2011-07-12
    • US11820938
    • 2007-06-21
    • Stephen M. Trimberger
    • Stephen M. Trimberger
    • G06F17/50H03M13/00
    • 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可以返回并纠正配置数据中的错误位。
    • 8. 发明授权
    • Methods of using one of a plurality of configuration bitstreams for an integrated circuit
    • 使用多个配置比特流中的一个用于集成电路的方法
    • US07853916B1
    • 2010-12-14
    • US11974355
    • 2007-10-11
    • Stephen M. TrimbergerBabak Ehteshami
    • Stephen M. TrimbergerBabak Ehteshami
    • G06F17/50H03K19/00H03K17/693
    • 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.
    • 公开了在集成电路中使用多个配置比特流中的一个的方法。 一种示例性方法包括分析设计的多个实现以确定实现中的定时的初始变化; 修改实现以减少实现中的时序变化; 以及输出多个配置比特流,用于具有相对于初始定时变化而减小的定时变化的实现。 另一种方法包括为设计生成多个实现; 基于从所述多个实现中的至少两个导出的成本(例如,冲突惩罚),为所述设计生成成本函数; 根据成本函数确定每个实现的成本; 通过最小化实施成本来优化设计的实施; 为所述多个实现产生多个配置比特流; 并输出多个配置比特流。
    • 10. 发明授权
    • Trust controller for detecting unauthorized logic in a circuit design
    • 用于在电路设计中检测未授权逻辑的信任控制器
    • US07656189B1
    • 2010-02-02
    • US11888198
    • 2007-07-31
    • Stephen M. Trimberger
    • Stephen M. Trimberger
    • G06F7/38H03K19/173H01L25/00
    • H03K19/17768G06F21/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根据电路设计操作时,第一时间,控制器从存储器单元的子集读取第一数据集。 存储器单元的子集存储电路设计的状态信息。 控制器确定第一数据集是否与第二数据集不同。 响应于第一数据集与第二数据集不同,控制器输出指示电路设计中存在未授权逻辑的威胁信号。