Patents Assigned to Cradle Technologies, Inc.
  • Publication number: 20100005470
    Abstract: A direct memory access (DMA) engine schedules data transfer requests of a system-on-chip data processing system according to both an assigned transfer priority and the deadline for completing a transfer. Transfer priority is based on a hardness representing the penalty for missing a deadline. Priorities are also assigned to zero-deadline transfer requests in which there is a penalty no matter how early the transfer completes. If desired, transfer requests may be scheduled in timeslices according to priority in order to bound the latency of lower priority requests, with the highest priority hard real-time transfers wherein the penalty for missing a deadline is severe are given the largest timeslice. Service requests for preparing a next data transfer are posted while a current transaction is in progress for maximum efficiency. Current transfers may be preempted whenever a higher urgency request is received.
    Type: Application
    Filed: July 2, 2008
    Publication date: January 7, 2010
    Applicant: CRADLE TECHNOLOGIES, INC.
    Inventors: Moshe B. Simon, Erik P. Machnicki, David A. Harrison
  • Publication number: 20100005250
    Abstract: A size and retry programmable multi-synchronous FIFO. In one embodiment, a multi-synchronous FIFO memory generally comprises a selectable number of addressable memory locations for storing information; read control means synchronized by a read clock for controlling pop transactions configured to read from one or more of the selected number of addressable memory locations; write control means synchronized by a write clock asynchronous to the read clock for controlling push transactions to write to one or more of the selected number of addressable memory locations; and selectable transaction retry control means configured to cause read control means to repeat selected pop transactions and/or cause write control means to repeat selected push transactions.
    Type: Application
    Filed: July 2, 2008
    Publication date: January 7, 2010
    Applicant: CRADLE TECHNOLOGIES, INC.
    Inventors: Moshe B. Simon, Erik P. Machnicki, Mark Longley
  • Publication number: 20100005332
    Abstract: A global timebase system and method for a system-on-chip synchronizes multiple clock domains in each of a plurality of receiver modules by broadcasting a global timebase count value as Gray code over a global timebase bus. A global timebase generator includes a binary counter and a binary-to-Gray-code converter. Each receiver module registers the global timebase count value with its own local clock and includes a Gray-code-to-binary converter. The converted value, in binary form, may be used as least significant bits of a globally synchronized local timebase. Most significant bits may be generated by a local binary counter incremented at each 1-to-0 transition of the most significant bit of the global timebase count value.
    Type: Application
    Filed: July 2, 2008
    Publication date: January 7, 2010
    Applicant: CRADLE TECHNOLOGIES, INC.
    Inventors: Moshe B. Simon, Erik P. Machnicki
  • Patent number: 7249202
    Abstract: A method and system for DMA transfer of data in scatter/gather mode. A table of buffer descriptors may be used to determine the next buffer to be used when a current buffer storing data that has been transferred or will be transferred and may be used in automatic buffer switching, which does not require processor intervention. Entries in the table of buffer descriptors are entered programmatically. The method and system also provide for hardware writing to table of packet descriptors which describes location and size of incoming data and can indicate whether a packet of data straddles two or more buffers, thus decoupling packet sizes from buffer sizes.
    Type: Grant
    Filed: July 26, 2004
    Date of Patent: July 24, 2007
    Assignee: Cradle Technologies, Inc.
    Inventors: Moshe B. Simon, Erik P. Machnicki, Mark Longley
  • Patent number: 7043518
    Abstract: A multiply accumulate unit (“MAC”) that performs operations on packed integer data. In one embodiment, the MAC receives 2 32-bit data words which, depending on the specified mode of operation, each contain either four 8-bit operands, two 16-bit operands, or one 32-bit operand. Depending on the mode of operation, the MAC performs either sixteen 8×8 operations, four 16×16 operations, or one 32×32 operation. Results may be individually retrieved from registers and the corresponding accumulator cleared after the read cycle. In addition, the accumulators may be globally initialized. Two results from the 8×8 operations may be packed into a single 32-bit register. The MAC may also shift and saturate the products as required.
    Type: Grant
    Filed: February 9, 2004
    Date of Patent: May 9, 2006
    Assignee: Cradle Technologies, Inc.
    Inventors: Moshe B. Simon, Erik P. Machnicki, David A. Harrison, Rakesh K. Singh
  • Patent number: 6931466
    Abstract: Disclosed is a reprogrammable I/O system for a chip or board system that can be reprogrammed to simulate many I/O interfaces in firmware. The reprogrammable I/O system comprises an I/O cluster, an I/O bus, I/O pins, and logic at the I/O pins. The I/O pins are arranged logically in a row and are grouped into pin groups of eight pins. Each pin group also includes a pin state machine (PSM) and a data FIFO coupled together. Each PSM has chain connections to the two neighboring PSM's. Each data FIFO has chain connections to the two neighbor data FIFO's. The reprogrammable I/O system allows firmware to organize the I/O pins into I/O interfaces. The firmware in PSM's and the I/O cluster that control the operations of the I/O pins can be changed (reprogrammed) so that the I/O system can perform other different interfaces.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: August 16, 2005
    Assignee: Cradle Technologies, Inc.
    Inventor: David C. Wyland
  • Patent number: 6912673
    Abstract: A Bus Analyzer Unit (BAU) for performing trace analysis on either or both the global bus (GBus) or the I/O bus of a semiconductor chip. The BAU has a GBus trace unit and an I/O bus trace unit, each with its own trace logic. Each unit has filters and comparators which determine what data is recorded and when it is recorded. Trace data recorded by the units is written to a programmable, circular trace buffer in local memory or an SDRAM. Each trace unit has two registers holding the start and end addresses of the trace buffer. Each unit has a next address register containing the next address to which data may be written. As data is written, the next address register is incremented. When the next address register equals the value in the end address register, the next address register is reloaded with the address in the start register.
    Type: Grant
    Filed: February 1, 2002
    Date of Patent: June 28, 2005
    Assignee: Cradle Technologies, Inc.
    Inventor: David C. Wyland
  • Patent number: 6874049
    Abstract: Disclosed is a multiprocessor system including a semaphore register and a semaphore interrupt register. In addition, for each processor in the multiprocessor system, there is a semaphore interrupt enable register. If a first processor finds that a semaphore cell of the semaphore register holds a “1” indicating that an associated shared resource is being accessed by a second processor, the first processor sets a corresponding semaphore interrupt enable cell of the semaphore interrupt enable register to “1” so as to enable semaphore interrupt. When the second processor finishes with the shared resource, the second processor writes a 0 into the semaphore cell, causing a corresponding semaphore interrupt cell of the semaphore interrupt register to hold a “1”. This, combined with the fact that the semaphore interrupt enable cell also holds a “1”, causes an interrupt to the first processor. In response, the first processor services the interrupt and accesses the shared resource.
    Type: Grant
    Filed: February 1, 2002
    Date of Patent: March 29, 2005
    Assignee: Cradle Technologies, Inc.
    Inventor: David C. Wyland
  • Patent number: 6836869
    Abstract: An error checking circuit that performs RS encoding and decoding operations and also generates CRC codes includes a configurable two-stage combinatorial circuit that carries out selected finite-field arithmetic operations associated with RS and CRC coding. Input registers store the generator polynomial and operand coefficients associated with the data blocks or packets being encoded or decoded, and an output register holds the intermediate working result and at the end the final result of the finite-field arithmetic operation. Each stage of the combinatorial circuit includes sets of AND and XOR gates performing bitwise finite-field multiply and add on the operand bits, and the connections between registers and gates and between gates in the two stages are configured by multiplexer units responsive to RS and CRC instructions. The two-stage combinatorial block can be replicated into a 4-stage or 8-stage arithmetic circuit for CRC mode.
    Type: Grant
    Filed: February 1, 2002
    Date of Patent: December 28, 2004
    Assignee: Cradle Technologies, Inc.
    Inventor: David C. Wyland
  • Patent number: 6810455
    Abstract: Disclosed is a bus arbitration system and method which assume that each operation using the bus requires from one to five bus clock cycles. Each potential bus master has a dedicated bus request line and a dedicated bus grant line, both of which are connected to a centralized bus arbiter in the bus arbitration system of the present invention. When a potential bus master wants to use the bus for, for instance, three bus clock cycles, the bus master activates its dedicated bus request line for the same number of bus clock cycles as it would need of bus use (i.e. three bus clock cycles). This three clock wide bus request pulse is recorded in a bus request recording circuit in the centralized bus arbiter. Access to the bus can be granted by the centralized bus arbiter to a winning bus master under any bus arbitration policies.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: October 26, 2004
    Assignee: Cradle Technologies, Inc.
    Inventor: David C. Wyland
  • Patent number: 6738837
    Abstract: A digital system having a split transaction memory access. The digital system can access data from a system memory through a read buffer (FIFO) located between the processor of the digital system and the system bus. The read buffer is implemented with two FIFOs, a first incoming data FIFO for reading data, and a second outgoing address FIFO for transmitting read requests. The processor of the digital system can access the data FIFO and read data while the data transfer is still in progress. This decreases the processing latency, which allows the processor to be free to perform additional tasks.
    Type: Grant
    Filed: February 1, 2002
    Date of Patent: May 18, 2004
    Assignee: Cradle Technologies, Inc.
    Inventor: David C. Wyland
  • Patent number: 6711655
    Abstract: A system and method for finding available memory space associated with an inactive memory transfer controller and activating the inactive memory transfer controller using indexed addressing. A memory transfer engine includes a plurality of memory transfer controllers, each configured to move data from a source address to a destination address. An active memory transfer controller can execute an instruction to find an inactive memory transfer controller associated with available memory space. The inactive memory transfer controller is activated by writing to its hardware registers, thereby assigning it a task, using indexed addressing.
    Type: Grant
    Filed: February 1, 2002
    Date of Patent: March 23, 2004
    Assignee: Cradle Technologies, Inc.
    Inventor: David C. Wyland
  • Patent number: 6708259
    Abstract: Methods for waking up an idle memory transfer controller (MTC) in response to an event from an external source. The first mechanism, Parameter List Pointer (PLP) FIFO Wake Up, wakes up an MTC after an external agent writes to an MTC's PLP FIFO. This activates the MTC's run bit, making the MTC eligible to execute instructions if chosen to do so by the memory transfer engine arbiter. This mechanism allows the MTC to distinguish between multiple possible originators of multiple possible wake-up events; wake-up events may be queued. Events may be directed to particular MTCs or to the next MTC available to process the event. The second mechanism wakes up an MTC after an external agent writes to an MTC's external wake-up address. This sets the MTC's run bit, making the MTC eligible to execute instructions if chosen to do so by the memory transfer engine arbiter. This approach only recognizes one event and one source. Events may not be queued using this approach.
    Type: Grant
    Filed: February 1, 2002
    Date of Patent: March 16, 2004
    Assignee: Cradle Technologies, Inc.
    Inventor: David C. Wyland
  • Patent number: 6701398
    Abstract: An integrated multi-processor system with clusters of processors on a high speed split transaction bus uses a transaction acknowledge (TACK), by a target device in response to receiving a request from a master device on the bus. The master and target devices connect to the bus via a global bus interface with FIFO registers acting as buffers, and the target interface includes a TACK generator that flips the state of the global bus' TACK line upon determining that a broadcast request is addressed to its target device. A bus idle default device (BIDD) generates a TACK signal when no device is on the bus, and also detects the absence of any TACK response by monitoring the state of the TACK line, thereby indicating that a master device bus attempted to address a nonexistent target a device. The BIDD then generates a dummy response for the requesting master device with data flags set to invalid data.
    Type: Grant
    Filed: April 6, 2000
    Date of Patent: March 2, 2004
    Assignee: Cradle Technologies, Inc.
    Inventor: David C. Wyland
  • Patent number: 6647450
    Abstract: A multiprocessor computer system in which each processor being used as a target device has a FIFO (first in first out) buffer for receiving and storing transfer commands from a split transactional global bus for later execution. The transfer commands are put in the FIFO of the target device in the order of their arrival and are taken out of the FIFO and executed by the target device in the same order. This eliminates the wasting of bus time that occurs when busy signals are sent from target devices to master devices and when transfer commands are resent from master devices to target devices. Therefore, the present invention eliminates the wasting of bus time related to transfer commands being rejected.
    Type: Grant
    Filed: October 6, 2000
    Date of Patent: November 11, 2003
    Assignee: Cradle Technologies, Inc.
    Inventor: Cecil H. Kaplinsky