G06F5/16

Fixed-point and floating-point arithmetic operator circuits in specialized processing blocks
10042606 · 2018-08-07 · ·

The present embodiments relate to circuitry that efficiently performs floating-point arithmetic operations and fixed-point arithmetic operations. Such circuitry may be implemented in specialized processing blocks. If desired, the specialized processing blocks may include configurable interconnect circuitry to support a variety of different use modes. For example, the specialized processing block may efficiently perform a fixed-point or floating-point addition operation or a portion thereof, a fixed-point or floating-point multiplication operation or a portion thereof, a fixed-point or floating-point multiply-add operation or a portion thereof, just to name a few. In some embodiments, two or more specialized processing blocks may be arranged in a cascade chain and perform together more complex operations such as a recursive mode dot product of two vectors of floating-point numbers or a Radix-2 Butterfly circuit, just to name a few.

Fixed-point and floating-point arithmetic operator circuits in specialized processing blocks
10042606 · 2018-08-07 · ·

The present embodiments relate to circuitry that efficiently performs floating-point arithmetic operations and fixed-point arithmetic operations. Such circuitry may be implemented in specialized processing blocks. If desired, the specialized processing blocks may include configurable interconnect circuitry to support a variety of different use modes. For example, the specialized processing block may efficiently perform a fixed-point or floating-point addition operation or a portion thereof, a fixed-point or floating-point multiplication operation or a portion thereof, a fixed-point or floating-point multiply-add operation or a portion thereof, just to name a few. In some embodiments, two or more specialized processing blocks may be arranged in a cascade chain and perform together more complex operations such as a recursive mode dot product of two vectors of floating-point numbers or a Radix-2 Butterfly circuit, just to name a few.

Boosting linked list throughput
12120037 · 2024-10-15 · ·

Multiple listlets function as a single master linked list to manage data packets across one or more banks of memory in a first-in first-out (FIFO) order, while allowing multiple push and/or pop functions to be performed per cycle. Each listlet can be a linked list that tracks pointers and is stored in a different memory bank. The nodes can include a pointer to a data packet, a pointer to the next node in the listlet and a next listlet identifier that identifies the listlet that contains the next node in the master linked list. The head and tail of each listlet, as well as an identifier each to track the head and tail of the master linked list, can be maintained in cache. The individual listlets are updated accordingly to maintain order of the master linked list as pointers are pushed and popped from the master linked list.

Boosting linked list throughput
12120037 · 2024-10-15 · ·

Multiple listlets function as a single master linked list to manage data packets across one or more banks of memory in a first-in first-out (FIFO) order, while allowing multiple push and/or pop functions to be performed per cycle. Each listlet can be a linked list that tracks pointers and is stored in a different memory bank. The nodes can include a pointer to a data packet, a pointer to the next node in the listlet and a next listlet identifier that identifies the listlet that contains the next node in the master linked list. The head and tail of each listlet, as well as an identifier each to track the head and tail of the master linked list, can be maintained in cache. The individual listlets are updated accordingly to maintain order of the master linked list as pointers are pushed and popped from the master linked list.

MULTI-PRODUCER SINGLE CONSUMER QUEUE SYSTEMS AND METHODS
20180088947 · 2018-03-29 · ·

Systems and methods associated with a multi-producer single consumer lock-free queue capable of accumulating traces is described herein. In a non-limiting embodiment, data is determined to be allocated, and a first head/tail pair indicating a location along a queue is received, the location indicating where a data bucket is able to be placed. A first data bucket to use for storing the data is determined, and the data is stored using the first data bucket. The first data bucket is then placed on the queue, and a first instruction to decrement a first reference count for the first head/tail pair is generated.

Multi-input multi-output first-in first-out buffer circuit that reads out multiple data flits at once, and electronic circuits having same
12175207 · 2024-12-24 · ·

Disclosed is a MIMO FIFO buffer circuit that reads out data flits at once as many as an internal pointer increment value. The MIMO FIFO buffer circuit includes a MIMO FIFO storage array including Y storage blocks, and an internal pointer generator that generates an internal pointer based on an internal pointer increment value indicating the number of data flits to read out at once from among KX data flits stored in K storage blocks out of the Y storage blocks. Each of the Y and the K is a natural number, and the K is equal to or less than the Y, and each of the K storage blocks stores X data flits.

Multi-input multi-output first-in first-out buffer circuit that reads out multiple data flits at once, and electronic circuits having same
12175207 · 2024-12-24 · ·

Disclosed is a MIMO FIFO buffer circuit that reads out data flits at once as many as an internal pointer increment value. The MIMO FIFO buffer circuit includes a MIMO FIFO storage array including Y storage blocks, and an internal pointer generator that generates an internal pointer based on an internal pointer increment value indicating the number of data flits to read out at once from among KX data flits stored in K storage blocks out of the Y storage blocks. Each of the Y and the K is a natural number, and the K is equal to or less than the Y, and each of the K storage blocks stores X data flits.

BOOSTING LINKED LIST THROUGHPUT
20250007855 · 2025-01-02 ·

Multiple listlets function as a single master linked list to manage data packets across one or more banks of memory in a first-in first-out (FIFO) order, while allowing multiple push and/or pop functions to be performed per cycle. Each listlet can be a linked list that tracks pointers and is stored in a different memory bank. The nodes can include a pointer to a data packet, a pointer to the next node in the listlet and a next listlet identifier that identifies the listlet that contains the next node in the master linked list. The head and tail of each listlet, as well as an identifier each to track the head and tail of the master linked list, can be maintained in cache. The individual listlets are updated accordingly to maintain order of the master linked list as pointers are pushed and popped from the master linked list.

BOOSTING LINKED LIST THROUGHPUT
20250007855 · 2025-01-02 ·

Multiple listlets function as a single master linked list to manage data packets across one or more banks of memory in a first-in first-out (FIFO) order, while allowing multiple push and/or pop functions to be performed per cycle. Each listlet can be a linked list that tracks pointers and is stored in a different memory bank. The nodes can include a pointer to a data packet, a pointer to the next node in the listlet and a next listlet identifier that identifies the listlet that contains the next node in the master linked list. The head and tail of each listlet, as well as an identifier each to track the head and tail of the master linked list, can be maintained in cache. The individual listlets are updated accordingly to maintain order of the master linked list as pointers are pushed and popped from the master linked list.

Clock circuit and clock signal transmission method thereof
09800243 · 2017-10-24 · ·

A clock circuit includes a buffer module, N multiplexers, and N clock gating cells. The buffer module includes an input end and N output ends, and is configured to enhance a driving capability of a clock signal received by the input end, and output the clock signal from the N output ends, and the N output ends are connected to data ends of the N clock gating cells one to one. Output ends of the N first multiplexers are connected to enabling ends of the N clock gating cells one to one. Each clock gating cell outputs a clock signal from an output end according to a frequency division logic signal or a gating logic signal received by an enabling end from an output end of a corresponding multiplexer and the clock signal received by a data end from an output end of the buffer module.