FOLDING DUPLICATE INSTANCES OF MODULES IN A CIRCUIT DESIGN

    公开(公告)号:US20170161419A1

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

    申请号:US14960176

    申请日:2015-12-04

    Applicant: Xilinx, Inc.

    CPC classification number: G06F17/5072 G06F17/5045 G06F17/505 G06F17/5054

    Abstract: Disclosed approaches for processing a circuit design include identifying duplicate instances of a module in a representation of the circuit design. A processor circuit performs folding operations for at least one pair of the duplicate instances of the module. One instance of the duplicates is removed from the circuit design, and a multiplexer is inserted. The multiplexer receives and selects one of the input signals to the duplicate instances and provides the selected input signal to the remaining instance. For each flip-flop in the remaining instance, a pipelined flip-flop is inserted. Connections to a first clock signal in the remaining instance are replaced with connections to a second clock signal having twice the frequency of the first clock signal. An alignment circuit is inserted to receive the output signal from the first instance and provide concurrent first and second output signals.

    Compact and efficient circuit implementation of dynamic ranges in hardware description languages
    22.
    发明授权
    Compact and efficient circuit implementation of dynamic ranges in hardware description languages 有权
    硬件描述语言中动态范围的紧凑高效电路实现

    公开(公告)号:US09268891B1

    公开(公告)日:2016-02-23

    申请号:US14535267

    申请日:2014-11-06

    Applicant: Xilinx, Inc.

    CPC classification number: G06F17/5045 G01R31/31703 G01R31/3177

    Abstract: Compiling a circuit design includes receiving the circuit design specified in a hardware description language, detecting, using a processor, a slice of a vector within the circuit design, and determining that the slice is defined by a left slice boundary variable and a right slice boundary variable. A hardware description is generated from the circuit design using the processor by including a first shifter circuit receiving the left slice boundary variable as an input signal, a second shifter circuit receiving the right slice boundary variable as an input signal, a control signal generator coupled to the first and second shifter circuits, and an output stage. The output stage, responsive to a control signal dependent upon an output from the first shifter circuit and an output from second shifter circuit, generates an output signal including newly received values from a data signal only for bit locations of the output signal corresponding to the slice.

    Abstract translation: 编译电路设计包括接收以硬件描述语言指定的电路设计,使用处理器检测电路设计内的向量片,以及确定该片由左片边界变量和右片段边界定义 变量。 通过包括接收左边界边界变量的第一移位器电路作为输入信号,接收右边界边界变量的第二移位器电路作为输入信号,通过使用处理器的电路设计产生硬件描述,控制信号发生器耦合到 第一和第二移位器电路以及输出级。 响应于取决于第一移位器电路的输出的控制信号和来自第二移位器电路的输出的输出级产生包括仅针对对应于切片的输出信号的位位置的来自数据信号的新接收值的输出信号 。

    Neural network processing system having multiple processors and a neural network accelerator

    公开(公告)号:US11222256B2

    公开(公告)日:2022-01-11

    申请号:US15785685

    申请日:2017-10-17

    Applicant: Xilinx, Inc.

    Abstract: At least one neural network accelerator performs operations of a first subset of layers of a neural network on an input data set, generates an intermediate data set, and stores the intermediate data set in a shared memory queue in a shared memory. A first processor element of a host computer system provides input data to the neural network accelerator and signals the neural network accelerator to perform the operations of the first subset of layers of the neural network on the input data set. A second processor element of the host computer system reads the intermediate data set from the shared memory queue, performs operations of a second subset of layers of the neural network on the intermediate data set, and generates an output data set while the neural network accelerator is performing the operations of the first subset of layers of the neural network on another input data set.

    Dynamically structured single instruction, multiple data (SIMD) instructions

    公开(公告)号:US10824434B1

    公开(公告)日:2020-11-03

    申请号:US16204991

    申请日:2018-11-29

    Applicant: Xilinx, Inc.

    Abstract: Examples described herein relate to dynamically structured single instruction, multiple data (SIMD) instructions, and systems and circuits implementing such dynamically structured SIMD instructions. An example is a method for processing data. A first SIMD structure is determined by a processor. A characteristic of the first SIMD structure is altered by the processor to obtain a second SIMD structure. An indication of the second SIMD structure is communicated from the processor to a numerical engine. Data is packed by the numerical engine into an SIMD instruction according to the second SIMD structure. The SIMD instruction is transmitted from the numerical engine.

    Local retiming optimization for circuit designs

    公开(公告)号:US10678983B1

    公开(公告)日:2020-06-09

    申请号:US15987372

    申请日:2018-05-23

    Applicant: Xilinx, Inc.

    Abstract: Local retiming for a circuit design includes determining, using computer hardware, a load of a synchronous circuit element within the circuit design tagged for forward retiming, traversing, using the computer hardware, each input of the load backward through the circuit design until a sequential circuit element or a primary input is reached, and adding, using the computer hardware, each synchronous circuit element encountered in the traversing to a forward retiming list. In response to determining that forward retiming criteria is met for the forward retiming list, the computer hardware modifies the circuit design by creating a new synchronous circuit element at an output of the load.

    Inline image preprocessing for convolution operations using a matrix multiplier on an integrated circuit

    公开(公告)号:US10460416B1

    公开(公告)日:2019-10-29

    申请号:US15786244

    申请日:2017-10-17

    Applicant: Xilinx, Inc.

    Abstract: An example preprocessor circuit for formatting image data into a plurality of streams of image samples includes: a plurality of memory banks configured to store the image data; multiplexer circuitry coupled to the memory banks; a first plurality of registers coupled to the multiplexer circuitry; a second plurality of registers coupled to the first plurality of registers, outputs of the second plurality of registers configured to provide the plurality of streams of image samples; and control circuitry configured to generate addresses for the plurality of memory banks, control the multiplexer circuitry to select among outputs of the plurality of memory banks, control the first plurality of registers to store outputs of the second plurality of multiplexers, and control the second plurality of registers to store outputs of the first plurality of registers.

    Circuit arrangements and methods for dividing a three-dimensional input feature map

    公开(公告)号:US10411709B1

    公开(公告)日:2019-09-10

    申请号:US16045657

    申请日:2018-07-25

    Applicant: Xilinx, Inc.

    Abstract: Disclosed circuits and methods include N line buffers. Each line buffer is configured for storage of M data elements of a three-dimensional (3-D) input feature map (IFM). A request generator circuit is coupled to the N line buffers and to a memory configured for storage of the 3-D IFM. The request generator circuit is divides the 3-D IFM into a plurality of IFM sub-volumes based on values of N, M, and dimensions of the 3-D IFM. The request generator circuit reads from the memory, data elements at addresses of an unprocessed one of the IFM sub-volumes and stores the data elements of the unprocessed one of the IFM sub-volumes in the N line buffers. In response to a completion signal, the request generator circuit repeats the reading of an unprocessed one of the IFM sub-volumes and storing the data elements in the N line buffers.

Patent Agency Ranking