US20040130367A1 - Clock distribution system - Google Patents
Clock distribution system Download PDFInfo
- Publication number
- US20040130367A1 US20040130367A1 US10/468,168 US46816804A US2004130367A1 US 20040130367 A1 US20040130367 A1 US 20040130367A1 US 46816804 A US46816804 A US 46816804A US 2004130367 A1 US2004130367 A1 US 2004130367A1
- Authority
- US
- United States
- Prior art keywords
- clock
- functional block
- bus
- delay
- insertion delay
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
Definitions
- the invention relates to a clock distribution system, and in particular, to a clock distribution system for an integrated circuit.
- Integrated circuits require a clocking scheme in order to execute instructions and transfer data between functional blocks on the integrated circuit in a synchronised manner.
- the aim of conventional integrated circuits is for the clock signals to arrive at every circuit element or module simultaneously, so that the circuit elements operate in synchronism.
- Integrated circuits are therefore typically designed so that the clock signal is distributed in a symmetrical manner across the chip from a centrally located clock reference.
- the balanced clock tree described above is a standard part of synchronous design methodology.
- a further disadvantage of this technique is that all registers across the whole chip are updated by the arrival of the clock edge, which results in a massive spike in the current drawn by the chip.
- This current surge is undesirable from a number of viewpoints. For example, the current surges cause unwanted electromagnetic emissions and can also lead to reliability problems due to electromigration failures.
- a further disadvantage is that the track sizes have to be larger than necessary to deal with the large current surges. In addition, areas of silicon must be left unused so that the top-level clock drivers can be inserted.
- the aim of the present invention is to provide a clock distribution system for an integrated circuit which is tolerable to clock skew, and which simplifies the process of designing large integrated circuits.
- a clock distribution system for an integrated circuit comprising a plurality of regions connected by a communications bus, each region comprising a functional block and at least one bus node for connecting the functional block to the communications bus, characterised in that a distributed clock signal is allowed to skew between regions, and wherein the clock signal is synchronised within respective regions.
- the clock signal is distributed to each functional block and bus node, and a predetermined clock insertion delay is inserted in each functional block and bus node.
- a method of distributing a clock signal to a plurality of regions on an integrated circuit comprising the steps of: allowing the clock to skew between regions on the integrated circuit; and synchronising the clock within respective regions on the integrated circuit.
- an integrated circuit comprising a plurality of regions; a bus for connecting the plurality of regions; a clock distribution network configured to route a clock signal to the plurality of regions; characterised in that the clock distribution network is configured to route the clock signal in a synchronised manner within respective regions, and in a skewed manner between respective regions.
- a method of reducing peak current in an integrated circuit comprising the steps of partitioning the integrated circuit into a plurality of functional blocks, distributing a clock signal to the respective functional blocks such that at least two functional blocks operate using clock signals which are skewed relative to one another, thereby reducing peak power in the integrated circuit.
- a method of designing an integrated circuit comprising the steps of: partitioning the integrated circuit into a plurality of regions, each region having a functional block and at least one bus node; connecting the regions using a communications bus; distributing a clock signal to the respective functional blocks alongside the communications bus; and assigning a predetermined clock insertion delay to each functional block and bus node.
- FIGS. 1A and 1B illustrate the problems associated with clock skew
- FIG. 2 shows the potential hold-time violation due to clock skew
- FIG. 3 shows a conventional method of compensating for clock skew
- FIG. 4 shows a clock distribution system according to a first embodiment of the present invention
- FIG. 5 shows a clock distribution system according to a second embodiment of the present invention
- FIG. 6 shows the phase relationship between clock signals in the second embodiment of FIG. 5;
- FIG. 7 shows an example of a clock bridge of the second embodiment of FIG. 5;
- FIG. 8 shows a clock distribution system according to a third embodiment of the present invention.
- FIGS. 1A and 1B illustrate an example of one of the problems associated with clock skew in an integrated circuit.
- the clock signal 1 is travelling in the same direction as the data signal 3 as shown in FIG. 1A, this results in positive skew and can lead to hold-time problems.
- the clock signal 1 is travelling in an opposite direction to the data signal 3 , as shown in FIG. 1B, this results in negative skew.
- there are no hold-time problems associated with negative skew it has the drawback of reducing the effective clock period.
- FIG. 2 illustrates the problem in greater detail.
- the data is travelling in the same direction as that in which the clock is being distributed.
- FIG. 4 shows a clock distribution system according to a first aspect of the present invention.
- a plurality of functional blocks 10 a, 10 b, 10 c are interconnected by a communication bus 12 .
- the bus is a pipelined bus.
- the term “functional block” is taken to mean a virtual processing block, for example one of a plurality of reusable on-chip functional blocks or virtual component blocks.
- the functional blocks are sometimes referred to as “System on Chip” blocks.
- Each functional block 10 a, 10 b, 10 c is connected to the communication bus 12 by a respective bus node 14 a, 14 b, 14 c.
- the functional blocks 10 a, 10 b, 10 c communicate with one another via the bus nodes 14 a, 14 b, 14 c and communication bus 12 .
- the bus nodes 14 a, 14 b, 14 c act as the interface between the functional blocks 10 a, 10 b, 10 c and the bus 12 , and deal with, for example, the handling of address decoding and protocol translation.
- a clock signal 16 is connected to the various functional blocks 10 a, 10 b, 10 c, preferably alongside the communications bus 12 , allowing the clock signal 16 to skew as it travels between functional blocks.
- the skew is schematically represented in FIG. 4 by delay elements 18 .
- Each functional block 10 a, 10 b, 10 c is provided with a clock insertion delay 20 a, 20 b, 20 c, respectively.
- each bus node 14 a, 14 b, 14 c is also provided with a clock insertion delay 22 a, 22 b, 22 c.
- the clock insertion delay 20 a of functional block 10 a is assigned a value which is substantially equal to the clock insertion delay 22 a of bus node 14 a.
- a delay of 3.4ns can be chosen as the clock insertion delay for functional block 10 a and bus node 14 a. This means that functional block 10 a is synchronised with its respective bus node 14 a.
- the clock insertion delay 20 b of functional block 10 b is assigned a clock insertion delay substantially equal to the clock insertion delay 22 b of bus node 14 b.
- the clock insertion delay 20 c of functional block 10 c is assigned a clock insertion delay substantially equal to the clock insertion delay 22 c of bus node 14 c.
- the clock insertion delays 20 a, 20 b, 20 c of functional blocks 10 a, 10 b and 10 c, and the clock insertion delays 22 a, 22 b, 22 c of bus nodes 14 a, 14 b, 14 c will be assigned the same clock insertion delay.
- each functional block and associated bus node is assigned the same clock insertion delay
- a separate functional block and its associated bus node may be assigned a clock insertion delay which is a multiple of the clock period plus the insertion delay. For example, if the clock period is 2.5ns and the insertion delay of functional block 10 a is 3.4ns, then the clock insertion delay of other blocks can be assigned clock insertion delays of:
- N 2.5ns +3.4ns where n is a positive integer greater than, or equal to zero.
- other nodes may be clocked by a clock signal which, in real time, is several clock cycles downstream of the clock signal being used to clock a first functional block, provided the clock edge at the other nodes is synchronised to within acceptable limits of the clock edge at the first functional block.
- the bus nodes are skewed relative to their neighbours by some amount, for example less than 300ps (being the time taken for a signal to propagate approximately 1mm). It is noted that the skew between a first pair of nodes can vary in relation to the skew between a second pair of nodes. The skew is dealt with by setting the clock uncertainty to be greater than, for example, 300ps for all signals between bus nodes.
- the clock at functional block 10 c is skewed by 600ps relative to the clock at functional block 10 a, this does not affect the operation of the circuit provided that the clock uncertainty is set to be greater than 300ps, since each functional block 10 a and 10 c is in synchronisation with respect to its own bus node 14 a, 14 c.
- Setting the clock uncertainty involves providing a synthesis tool the information so that it can calculate the worst case timing relationships between two clock edges, with the appropriate timings being used to direct the synthesis of logic such that setup and hold times are not violated.
- FIG. 5 shows an example of a clock distribution system in accordance with a second aspect of the present invention.
- the circuit of FIG. 5 shows a larger functional block 30 which has a plurality of interfaces to the communications bus via a plurality of bus nodes 33 a, 33 b, 33 c.
- the clock signal 16 is distributed to the functional block 30 and each of the bus nodes 33 a, 33 b, 33 c, preferably alongside the bus 12 .
- the functional block 30 is assigned a clock insertion delay 39 which is substantially equal to the clock insertion delay 37 a assigned to the bus node 33 a.
- the clock insertion delay 37 b, 37 c of bus nodes 33 b, 33 c are assigned the same value of clock insertion delay as that of bus node 33 a.
- clock insertion delays 37 b, 37 c may be multiples of the clock period plus the clock insertion delay 37 a, as described above in relation to FIG. 4.
- the clock insertion delay has to be increased accordingly.
- a clock insertion delay of 5.9ns may be assigned tq each of the clock insertion delay means 39 , 37 a, 37 b and 37 c.
- the clock insertion delays 37 b and 37 c may be multiples of the clock period.
- the minimum possible insertion delay for a large functional block (such as the functional block 30 ) will be higher than that for a bus node, so the insertion delay figure chosen must be long enough to accommodate the largest functional block in the system.
- the bus node 33 a is in synchronism with the functional block 30 , because both elements have the same insertion delay.
- a clock bridge 35 b, 35 c is provided for the bus nodes 33 b and 33 c, respectively, which are not in synchronism with the functional block 30 .
- the clock bridges 35 b and 35 c are standard blocks that can be inserted in the circuit design wherever they are needed.
- FIG. 7 shows an example of how the clock bridge 35 b, 35 c may be implemented.
- the clock bridge shown is bidirectional, and for simplicity shows a single-bit data path in each direction. It will be appreciated that the same method applies to wider data paths. In this example, the clocks are skewed by 600ps, but this could be greater, as long as it is less than half of the clock period (with some safety margin).
- the adjacent latch 41 is closed, preventing data D from “shooting through”.
- the latch 43 is not necessary when the data is travelling in the opposite direction (from lagging to leading clock), but it is preferably included so that the unit is symmetrical. This means that the clock bridge will still work when it is connected the wrong way around.
- latches 47 , 49 and 51 are opaque when the clock signal from bus node 33 b is high, thereby preventing data from “shooting through”.
- the introduction of latches 41 , 43 , 47 , 49 presents problems in the design tool flow, for example in the formal verification. It is difficult to know the designer's intent when latches are used. In the case of the clock bridge, it is one component that can be carefully checked, and is then used throughout the chip.
- logic gates can be used to create the necessary delay.
- this approach has the disadvantage of consuming more power, and using more area on the integrated circuit.
- the solution proposed so far allows multiple bus nodes to interface to one functional block.
- the example described in FIG. 5 shows the clock in the functional block 30 being matched with that of the first bus node 33 a.
- the clock in the functional block 30 can be matched with the bus node which is closest to the centre of the functional block 30 , i.e. bus node 33 b in the example of FIG. 5. This has the advantage of increasing the amount of overall skew that can be tolerated.
- the clock distribution system according to the second aspect of the invention as described above has a limit to the amount of skew that can be tolerated. For example, for a very large functional block (e.g. greater than 6-8mm between interfaces), it will become difficult to manage the clock skew. Furthermore, the additional of clock bridges 35 b and 35 c adds cycles of clock latency at the bus interfaces.
- FIG. 8 shows an example of a clock distribution system according to the third aspect of the invention.
- the clock is allowed to skew in the first region, i.e. in the sections of the integrated circuit where functional blocks 50 a, 50 c and bus nodes 53 a, 53 e are located.
- Functional block 50 a has an insertion delay 51 of 5.8ns which matches the insertion delay 51 of its corresponding bus node 53 a, (i.e. which also has an insertion delay of 5.8ns).
- functional block 50 c has an insertion delay of 5.8ns which matches the insertion delay of its corresponding bus node 53 e.
- this embodiment uses top-level insertion to balance the bus nodes 53 b, 53 c, 53 d belonging to the functional block 50 b.
- the bus nodes 53 b, 53 c, 53 d are arranged to have insertion delays of 3.3ns (shown as 55 b, 55 c, 55 d ).
- Synchronisation between each of the bus nodes 53 b, 53 c, 53 d and the functional block 50 b is achieved by top-level insertion of a delay buffer 65 providing an insertion delay of 2.5ns.
- the 2.5ns delay of buffer 65 combines with the insertion delay of 3.3ns in each of the bus nodes 53 b, 53 c, 53 d to achieve an effective insertion delay of 5.8ns, i.e. corresponding to that of the functional block 30 b. It is noted that, in the example provided above, the clock insertion delay of buffer 65 matches the clock period, i.e. 2.5ns. Thus, when bus node 55 d talks to bus node 55 e the difference between them is the relative clock skew, (closest clock edges being compared rather than the absolute clock edges).
- the clock distribution system within this area of the integrated circuit uses the conventional “tree” method.
- the clock is still allowed to skew as it travels alongside the bus, until it reaches a large functional block 50 b.
- the bus nodes 53 b, 53 c, 53 d connected to the functional block 50 b have balanced clocks (less than 100ps).
- the clock signal that is distributed downstream from this segment is then allowed to start skewing again.
- space needs to be reserved in the bus nodes connected to functional block 50 b, to allow space for the clock buffer 65 that balances the clock into functional block 50 b and the clocks into the bus nodes.
- the circuit maintains most of the benefit of the improved clock distribution system, in that most of the clock insertion is done in advance, with only minimal balancing needed at the “back-end” for the very large functional blocks, i.e. for functional blocks that are too large to use the skewed method.
- This embodiment has the advantage of allowing the clock to be smeared so that peak power is reduced, but without having the latency overhead introduced by clock bridges.
- an integrated circuit may have any combination of solutions disclosed above.
- one region may have one bus node assigned per functional block, while another region has multiple bus nodes assigned per functional block.
- the system can choose between the use of the “clock bridge” method described in FIG. 5, or the “balanced tree” method described in FIG. 8, or a combination of both systems on the same integrated circuit.
- the embodiments described above enable an integrated circuit to be developed with reduced top-level clocking structures.
- the bus nodes and functional blocks contain the necessary components to distribute the clock signal, allowing the bus nodes and functional blocks to be connected together in a simple manner, with the clock bridges providing the necessary interfaces.
- Larger functional blocks are dealt with by providing space in the circuit design for top-level clock structures, but this is a much smaller overhead than balancing the clock tree across an entire chip.
- the invention has the advantage of tolerating clock skew, rather than trying to eliminate it. This results in different registers on the chip having different clock edges, thereby smoothing the large current peaks which are normally drawn. As a consequence, power distribution is eased, which allows track sizes to be narrowed. In addition, reduced current density through the metal tracks will improve reliability, particularly with regard to electromigration failures.
- a further advantage of the clock distribution system is re-use.
- the same piece of layout can be re-used across multiple chips, provided they have the same clock frequency and use the same rule for insertion delays.
- clock insertion delay of a functional node being chosen to be substantially equal to the clock insertion delay of its corresponding bus node
- these clock insertion delays can also be offset in the manner described above in relation to the various functional blocks, i.e. whereby a clock insertion delay is offset from a first clock insertion delay by +/ ⁇ N clock periods, where N is zero or a positive integer, plus the clock insertion delay.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Logic Circuits (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
- Peptides Or Proteins (AREA)
Abstract
Description
- The invention relates to a clock distribution system, and in particular, to a clock distribution system for an integrated circuit.
- Integrated circuits require a clocking scheme in order to execute instructions and transfer data between functional blocks on the integrated circuit in a synchronised manner. The aim of conventional integrated circuits is for the clock signals to arrive at every circuit element or module simultaneously, so that the circuit elements operate in synchronism. Integrated circuits are therefore typically designed so that the clock signal is distributed in a symmetrical manner across the chip from a centrally located clock reference.
- Despite the symmetry associated with prior art clock distribution schemes, imperfections in circuit conductors and variations introduced in the manufacturing process introduce clock skew between circuit elements or modules.
- Existing development tools for designing integrated circuits have an automated process for distributing a balanced clock across a chip, so that each of the functional units on the chip operate in synchronism. The automated process for balancing the clock involves a two-stage process. Firstly, a clock tree is inserted into each functional block. Each block has a different insertion delay. Once the functional blocks are placed on the layout floorplan, the second stage of the process involves balancing the clock tree in order to reduce clock skew to within acceptable limits. This involves inserting additional buffers in each path to balance the skew at all clock inputs to every register on the chip. Using this technique the clock tree can be balanced to within 200-300ps.
- The conventional process described above has a number of drawbacks. For example, although the task of inserting the clock buffers into each path to the functional units is relatively automated, the second stage of the process requires more manual intervention, i.e. the tools must be directed as to where the additional clock buffers are to be inserted. This process is time consuming and it is difficult to determine whether the clock skew is within the acceptable tolerance levels. The constant desire to increase clock frequencies means that the problems mentioned above become even more relevant. As a consequence, it becomes difficult to simulate a large integrated circuit within a reasonable time-frame.
- The balanced clock tree described above is a standard part of synchronous design methodology. However, a further disadvantage of this technique is that all registers across the whole chip are updated by the arrival of the clock edge, which results in a massive spike in the current drawn by the chip. This current surge is undesirable from a number of viewpoints. For example, the current surges cause unwanted electromagnetic emissions and can also lead to reliability problems due to electromigration failures.
- A further disadvantage is that the track sizes have to be larger than necessary to deal with the large current surges. In addition, areas of silicon must be left unused so that the top-level clock drivers can be inserted.
- The aim of the present invention is to provide a clock distribution system for an integrated circuit which is tolerable to clock skew, and which simplifies the process of designing large integrated circuits.
- According to a first aspect of the invention, there is provided a clock distribution system for an integrated circuit comprising a plurality of regions connected by a communications bus, each region comprising a functional block and at least one bus node for connecting the functional block to the communications bus, characterised in that a distributed clock signal is allowed to skew between regions, and wherein the clock signal is synchronised within respective regions.
- Preferably, the clock signal is distributed to each functional block and bus node, and a predetermined clock insertion delay is inserted in each functional block and bus node.
- According to a second aspect of the invention, there is provided a method of distributing a clock signal to a plurality of regions on an integrated circuit, the regions being connected by a bus, each region comprising a functional block and at least one bus node, the method comprising the steps of: allowing the clock to skew between regions on the integrated circuit; and synchronising the clock within respective regions on the integrated circuit.
- According to a third aspect of the invention, there is provided an integrated circuit comprising a plurality of regions; a bus for connecting the plurality of regions; a clock distribution network configured to route a clock signal to the plurality of regions; characterised in that the clock distribution network is configured to route the clock signal in a synchronised manner within respective regions, and in a skewed manner between respective regions.
- According to a fourth aspect of the invention, there is provided a method of reducing peak current in an integrated circuit, the method comprising the steps of partitioning the integrated circuit into a plurality of functional blocks, distributing a clock signal to the respective functional blocks such that at least two functional blocks operate using clock signals which are skewed relative to one another, thereby reducing peak power in the integrated circuit.
- According to a fifth aspect of the invention, there is provided a method of designing an integrated circuit, the method comprising the steps of: partitioning the integrated circuit into a plurality of regions, each region having a functional block and at least one bus node; connecting the regions using a communications bus; distributing a clock signal to the respective functional blocks alongside the communications bus; and assigning a predetermined clock insertion delay to each functional block and bus node.
- FIGS. 1A and 1B illustrate the problems associated with clock skew;
- FIG. 2 shows the potential hold-time violation due to clock skew;
- FIG. 3 shows a conventional method of compensating for clock skew;
- FIG. 4 shows a clock distribution system according to a first embodiment of the present invention;
- FIG. 5 shows a clock distribution system according to a second embodiment of the present invention;
- FIG. 6 shows the phase relationship between clock signals in the second embodiment of FIG. 5;
- FIG. 7 shows an example of a clock bridge of the second embodiment of FIG. 5;
- FIG. 8 shows a clock distribution system according to a third embodiment of the present invention.
- FIGS. 1A and 1B illustrate an example of one of the problems associated with clock skew in an integrated circuit. When the
clock signal 1 is travelling in the same direction as thedata signal 3 as shown in FIG. 1A, this results in positive skew and can lead to hold-time problems. When theclock signal 1 is travelling in an opposite direction to thedata signal 3, as shown in FIG. 1B, this results in negative skew. Although there are no hold-time problems associated with negative skew, it has the drawback of reducing the effective clock period. - There is therefore the danger that, when data is travelling in the same direction as the clock signal, there is a possibility that the data may arrive at the next register in time to cause a hold violation. To eliminate this risk, conventional techniques aim to ensure that there is enough logic delay between registers to prevent this problem.
- FIG. 2 illustrates the problem in greater detail. The data is travelling in the same direction as that in which the clock is being distributed. For the circuit to work:
- Tclk-q +tlogic −thold >tskew
- For reliable operation, the worst case (i.e. highest) value of tskew must be known, as well as the values of Tclk-q and tlogic under “fast” conditions. The maximum value for thold should be used.
- This approach assumes that clock skew is simply tolerated and is masked by logic delay. To cope with the skews between clock signals distributed to different registers within the same functional block, it is common practice to provide a clock uncertainty figure to the logic synthesis software. The design tools will then look for potential hold-time violations and make sure that there is enough logic delay to prevent this from happening.
- Although this technique is tolerable for intra functional block clock distribution, it is necessary to insert a large-amount of logic to tolerate larger skews. A known method of overcoming this problem is to use half-latches as shown in FIG. 3. When a positive edge of clock A occurs, the latch closes (i.e. is opaque). This prevents the data from overtaking the clock signal and causing a hold-violation. This technique can be used to cover up to one-half clock cycle of skew.
- FIG. 4 shows a clock distribution system according to a first aspect of the present invention. A plurality of
functional blocks communication bus 12. Preferably the bus is a pipelined bus. It is noted that the term “functional block” is taken to mean a virtual processing block, for example one of a plurality of reusable on-chip functional blocks or virtual component blocks. The functional blocks are sometimes referred to as “System on Chip” blocks. Eachfunctional block communication bus 12 by arespective bus node bus nodes communication bus 12. Thebus nodes functional blocks bus 12, and deal with, for example, the handling of address decoding and protocol translation. - According to the present invention, a
clock signal 16 is connected to the variousfunctional blocks communications bus 12, allowing theclock signal 16 to skew as it travels between functional blocks. The skew is schematically represented in FIG. 4 bydelay elements 18. - Each
functional block clock insertion delay bus node clock insertion delay clock insertion delay 20 a offunctional block 10 a is assigned a value which is substantially equal to theclock insertion delay 22 a ofbus node 14 a. For example, if the skew between adjacentfunctional blocks functional block 10 a andbus node 14 a. This means thatfunctional block 10 a is synchronised with itsrespective bus node 14 a. - Likewise, the
clock insertion delay 20 b offunctional block 10 b is assigned a clock insertion delay substantially equal to theclock insertion delay 22 b ofbus node 14 b. Theclock insertion delay 20 c offunctional block 10 c is assigned a clock insertion delay substantially equal to theclock insertion delay 22 c ofbus node 14 c. - Preferably, the clock insertion delays20 a, 20 b, 20 c of
functional blocks bus nodes - Alternatively, whereas each functional block and associated bus node is assigned the same clock insertion delay, a separate functional block and its associated bus node may be assigned a clock insertion delay which is a multiple of the clock period plus the insertion delay. For example, if the clock period is 2.5ns and the insertion delay of
functional block 10 a is 3.4ns, then the clock insertion delay of other blocks can be assigned clock insertion delays of: - N ×2.5ns +3.4ns where n is a positive integer greater than, or equal to zero.
- In other words, other nodes may be clocked by a clock signal which, in real time, is several clock cycles downstream of the clock signal being used to clock a first functional block, provided the clock edge at the other nodes is synchronised to within acceptable limits of the clock edge at the first functional block. The bus nodes are skewed relative to their neighbours by some amount, for example less than 300ps (being the time taken for a signal to propagate approximately 1mm). It is noted that the skew between a first pair of nodes can vary in relation to the skew between a second pair of nodes. The skew is dealt with by setting the clock uncertainty to be greater than, for example, 300ps for all signals between bus nodes. Thus, although the clock at
functional block 10 c is skewed by 600ps relative to the clock atfunctional block 10 a, this does not affect the operation of the circuit provided that the clock uncertainty is set to be greater than 300ps, since eachfunctional block own bus node - FIG. 5 shows an example of a clock distribution system in accordance with a second aspect of the present invention. Whereas the
functional blocks bus node functional block 30 which has a plurality of interfaces to the communications bus via a plurality ofbus nodes - As above, the
clock signal 16 is distributed to thefunctional block 30 and each of thebus nodes bus 12. Thefunctional block 30 is assigned aclock insertion delay 39 which is substantially equal to theclock insertion delay 37 a assigned to thebus node 33 a. Preferably, theclock insertion delay bus nodes bus node 33 a. Alternatively, clock insertion delays 37 b, 37 c may be multiples of the clock period plus theclock insertion delay 37 a, as described above in relation to FIG. 4. - Since the
functional block 30 is larger than thefunctional block 10 a of FIG. 4, the clock insertion delay has to be increased accordingly. For example, assuming that the skew betweenbus nodes 33 a/33 b and 33 b/33 c is less than 300ps, a clock insertion delay of 5.9ns may be assigned tq each of the clock insertion delay means 39, 37 a, 37 b and 37 c. Alternatively, the clock insertion delays 37 b and 37 c may be multiples of the clock period. The minimum possible insertion delay for a large functional block (such as the functional block 30) will be higher than that for a bus node, so the insertion delay figure chosen must be long enough to accommodate the largest functional block in the system. - Communication between the
functional block 30 andrespective bus nodes - Referring to FIG. 6, it can be seen that the
bus node 33 a is in synchronism with thefunctional block 30, because both elements have the same insertion delay. In order to allowmultiple bus nodes functional block 30, aclock bridge bus nodes functional block 30. Preferably, the clock bridges 35 b and 35 c are standard blocks that can be inserted in the circuit design wherever they are needed. - FIG. 7 shows an example of how the
clock bridge functional block 30 is high, the adjacent latch 41 is closed, preventing data D from “shooting through”. Thelatch 43 is not necessary when the data is travelling in the opposite direction (from lagging to leading clock), but it is preferably included so that the unit is symmetrical. This means that the clock bridge will still work when it is connected the wrong way around. In a similar manner, the clock signal frombus node 33 b is connected to latches 47, 49 and 51.Latch 51 is opaque when the clock signal frombus node 33 b is high, thereby preventing data from “shooting through”. The introduction oflatches - Alternatively, logic gates can be used to create the necessary delay. However, this approach has the disadvantage of consuming more power, and using more area on the integrated circuit.
- The solution proposed so far allows multiple bus nodes to interface to one functional block. The example described in FIG. 5 shows the clock in the
functional block 30 being matched with that of thefirst bus node 33 a. Alternatively, the clock in thefunctional block 30 can be matched with the bus node which is closest to the centre of thefunctional block 30, i.e.bus node 33 b in the example of FIG. 5. This has the advantage of increasing the amount of overall skew that can be tolerated. - The clock distribution system according to the second aspect of the invention as described above has a limit to the amount of skew that can be tolerated. For example, for a very large functional block (e.g. greater than 6-8mm between interfaces), it will become difficult to manage the clock skew. Furthermore, the additional of clock bridges35 b and 35 c adds cycles of clock latency at the bus interfaces.
- FIG. 8 shows an example of a clock distribution system according to the third aspect of the invention. The clock is allowed to skew in the first region, i.e. in the sections of the integrated circuit where
functional blocks bus nodes Functional block 50 a has aninsertion delay 51 of 5.8ns which matches theinsertion delay 51 of its correspondingbus node 53 a, (i.e. which also has an insertion delay of 5.8ns). Similarly,functional block 50 c has an insertion delay of 5.8ns which matches the insertion delay of its correspondingbus node 53 e. - Instead of using clock bridges between the bus nodes53 c/53 d and the
functional block 50 b, this embodiment uses top-level insertion to balance thebus nodes 53 b, 53 c, 53 d belonging to thefunctional block 50 b. For example, iffunctional block 50 b has aninsertion delay 57 of 5.8ns, thebus nodes 53 b, 53 c, 53 d are arranged to have insertion delays of 3.3ns (shown as 55 b, 55 c, 55 d). Synchronisation between each of thebus nodes 53 b, 53 c, 53 d and thefunctional block 50 b is achieved by top-level insertion of adelay buffer 65 providing an insertion delay of 2.5ns. The 2.5ns delay ofbuffer 65 combines with the insertion delay of 3.3ns in each of thebus nodes 53 b, 53 c, 53 d to achieve an effective insertion delay of 5.8ns, i.e. corresponding to that of the functional block 30 b. It is noted that, in the example provided above, the clock insertion delay ofbuffer 65 matches the clock period, i.e. 2.5ns. Thus, whenbus node 55 d talks to bus node 55 e the difference between them is the relative clock skew, (closest clock edges being compared rather than the absolute clock edges). - Thus, the clock distribution system within this area of the integrated circuit uses the conventional “tree” method. The clock is still allowed to skew as it travels alongside the bus, until it reaches a large
functional block 50 b. Thebus nodes 53 b, 53 c, 53 d connected to thefunctional block 50 b have balanced clocks (less than 100ps). The clock signal that is distributed downstream from this segment is then allowed to start skewing again. According to this embodiment, space needs to be reserved in the bus nodes connected tofunctional block 50 b, to allow space for theclock buffer 65 that balances the clock intofunctional block 50 b and the clocks into the bus nodes. - According to the third aspect of the invention, the circuit maintains most of the benefit of the improved clock distribution system, in that most of the clock insertion is done in advance, with only minimal balancing needed at the “back-end” for the very large functional blocks, i.e. for functional blocks that are too large to use the skewed method. This embodiment has the advantage of allowing the clock to be smeared so that peak power is reduced, but without having the latency overhead introduced by clock bridges.
- It will be appreciated that an integrated circuit may have any combination of solutions disclosed above. For example, one region may have one bus node assigned per functional block, while another region has multiple bus nodes assigned per functional block. Furthermore, where multiple bus nodes are assigned per functional block, the system can choose between the use of the “clock bridge” method described in FIG. 5, or the “balanced tree” method described in FIG. 8, or a combination of both systems on the same integrated circuit.
- The embodiments described above enable an integrated circuit to be developed with reduced top-level clocking structures. The bus nodes and functional blocks contain the necessary components to distribute the clock signal, allowing the bus nodes and functional blocks to be connected together in a simple manner, with the clock bridges providing the necessary interfaces. Larger functional blocks are dealt with by providing space in the circuit design for top-level clock structures, but this is a much smaller overhead than balancing the clock tree across an entire chip.
- As mentioned earlier, the invention has the advantage of tolerating clock skew, rather than trying to eliminate it. This results in different registers on the chip having different clock edges, thereby smoothing the large current peaks which are normally drawn. As a consequence, power distribution is eased, which allows track sizes to be narrowed. In addition, reduced current density through the metal tracks will improve reliability, particularly with regard to electromigration failures.
- A further advantage of the clock distribution system is re-use. The same piece of layout can be re-used across multiple chips, provided they have the same clock frequency and use the same rule for insertion delays.
- It is noted that, although the preferred embodiments show the clock insertion delay of a functional node being chosen to be substantially equal to the clock insertion delay of its corresponding bus node, these clock insertion delays can also be offset in the manner described above in relation to the various functional blocks, i.e. whereby a clock insertion delay is offset from a first clock insertion delay by +/−N clock periods, where N is zero or a positive integer, plus the clock insertion delay.
Claims (41)
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0103678.9 | 2001-02-14 | ||
GB0103678A GB0103678D0 (en) | 2001-02-14 | 2001-02-14 | Network processing |
GB0103687A GB0103687D0 (en) | 2001-02-14 | 2001-02-14 | Network processing-architecture II |
GB0103687.0 | 2001-02-14 | ||
GB0121790A GB0121790D0 (en) | 2001-02-14 | 2001-09-10 | Network processing systems |
GB0121790.0 | 2001-09-10 | ||
PCT/GB2002/000668 WO2002065259A1 (en) | 2001-02-14 | 2002-02-14 | Clock distribution system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20040130367A1 true US20040130367A1 (en) | 2004-07-08 |
US7290162B2 US7290162B2 (en) | 2007-10-30 |
Family
ID=27256074
Family Applications (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/074,019 Abandoned US20020161926A1 (en) | 2001-02-14 | 2002-02-14 | Method for controlling the order of datagrams |
US10/468,168 Expired - Fee Related US7290162B2 (en) | 2001-02-14 | 2002-02-14 | Clock distribution system |
US10/468,167 Abandoned US20040114609A1 (en) | 2001-02-14 | 2002-02-14 | Interconnection system |
US10/074,022 Abandoned US20020159466A1 (en) | 2001-02-14 | 2002-02-14 | Lookup engine |
US10/073,948 Expired - Fee Related US7856543B2 (en) | 2001-02-14 | 2002-02-14 | Data processing architectures for packet handling wherein batches of data packets of unpredictable size are distributed across processing elements arranged in a SIMD array operable to process different respective packet protocols at once while executing a single common instruction stream |
US11/151,271 Expired - Fee Related US8200686B2 (en) | 2001-02-14 | 2005-06-14 | Lookup engine |
US11/151,292 Abandoned US20050242976A1 (en) | 2001-02-14 | 2005-06-14 | Lookup engine |
US11/752,299 Expired - Fee Related US7818541B2 (en) | 2001-02-14 | 2007-05-23 | Data processing architectures |
US11/752,300 Expired - Fee Related US7917727B2 (en) | 2001-02-14 | 2007-05-23 | Data processing architectures for packet handling using a SIMD array |
US12/965,673 Expired - Fee Related US8127112B2 (en) | 2001-02-14 | 2010-12-10 | SIMD array operable to process different respective packet protocols simultaneously while executing a single common instruction stream |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/074,019 Abandoned US20020161926A1 (en) | 2001-02-14 | 2002-02-14 | Method for controlling the order of datagrams |
Family Applications After (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/468,167 Abandoned US20040114609A1 (en) | 2001-02-14 | 2002-02-14 | Interconnection system |
US10/074,022 Abandoned US20020159466A1 (en) | 2001-02-14 | 2002-02-14 | Lookup engine |
US10/073,948 Expired - Fee Related US7856543B2 (en) | 2001-02-14 | 2002-02-14 | Data processing architectures for packet handling wherein batches of data packets of unpredictable size are distributed across processing elements arranged in a SIMD array operable to process different respective packet protocols at once while executing a single common instruction stream |
US11/151,271 Expired - Fee Related US8200686B2 (en) | 2001-02-14 | 2005-06-14 | Lookup engine |
US11/151,292 Abandoned US20050242976A1 (en) | 2001-02-14 | 2005-06-14 | Lookup engine |
US11/752,299 Expired - Fee Related US7818541B2 (en) | 2001-02-14 | 2007-05-23 | Data processing architectures |
US11/752,300 Expired - Fee Related US7917727B2 (en) | 2001-02-14 | 2007-05-23 | Data processing architectures for packet handling using a SIMD array |
US12/965,673 Expired - Fee Related US8127112B2 (en) | 2001-02-14 | 2010-12-10 | SIMD array operable to process different respective packet protocols simultaneously while executing a single common instruction stream |
Country Status (6)
Country | Link |
---|---|
US (10) | US20020161926A1 (en) |
JP (2) | JP2004525449A (en) |
CN (2) | CN100367730C (en) |
AU (1) | AU2002233500A1 (en) |
GB (5) | GB2374442B (en) |
WO (2) | WO2002065700A2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097381A1 (en) * | 2003-10-31 | 2005-05-05 | Li Tsai | Clock circuitry on plural integrated circuits |
US20070255974A1 (en) * | 2006-05-01 | 2007-11-01 | Arm Limited | System for checking clock-signal correspondence |
US20070268053A1 (en) * | 2006-05-17 | 2007-11-22 | Freescale Semiconductor, Inc. | Delay configurable device and methods thereof |
US7516437B1 (en) * | 2006-07-20 | 2009-04-07 | Xilinx, Inc. | Skew-driven routing for networks |
WO2009134223A1 (en) * | 2008-04-30 | 2009-11-05 | Hewlett-Packard Development Company, L.P. | Intentionally skewed optical clock signal distribution |
US9595308B1 (en) | 2016-03-31 | 2017-03-14 | Altera Corporation | Multiple-die synchronous insertion delay measurement circuit and methods |
Families Citing this family (273)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7174452B2 (en) * | 2001-01-24 | 2007-02-06 | Broadcom Corporation | Method for processing multiple security policies applied to a data packet structure |
US7549056B2 (en) | 1999-03-19 | 2009-06-16 | Broadcom Corporation | System and method for processing and protecting content |
GB2374442B (en) | 2001-02-14 | 2005-03-23 | Clearspeed Technology Ltd | Method for controlling the order of datagrams |
US7107478B2 (en) * | 2002-12-05 | 2006-09-12 | Connex Technology, Inc. | Data processing system having a Cartesian Controller |
US7383421B2 (en) * | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
US20030078997A1 (en) * | 2001-10-22 | 2003-04-24 | Franzel Kenneth S. | Module and unified network backplane interface for local networks |
FI113113B (en) | 2001-11-20 | 2004-02-27 | Nokia Corp | Method and device for time synchronization of integrated circuits |
US7055123B1 (en) * | 2001-12-31 | 2006-05-30 | Richard S. Norman | High-performance interconnect arrangement for an array of discrete functional modules |
US6836808B2 (en) * | 2002-02-25 | 2004-12-28 | International Business Machines Corporation | Pipelined packet processing |
US7376755B2 (en) * | 2002-06-11 | 2008-05-20 | Pandya Ashish A | TCP/IP processor and engine using RDMA |
US7415723B2 (en) * | 2002-06-11 | 2008-08-19 | Pandya Ashish A | Distributed network security system and a hardware processor therefor |
US7408957B2 (en) * | 2002-06-13 | 2008-08-05 | International Business Machines Corporation | Selective header field dispatch in a network processing system |
US8015303B2 (en) * | 2002-08-02 | 2011-09-06 | Astute Networks Inc. | High data rate stateful protocol processing |
US7684400B2 (en) * | 2002-08-08 | 2010-03-23 | Intel Corporation | Logarithmic time range-based multifield-correlation packet classification |
US7360007B2 (en) * | 2002-08-30 | 2008-04-15 | Intel Corporation | System including a segmentable, shared bus |
US20040066779A1 (en) * | 2002-10-04 | 2004-04-08 | Craig Barrack | Method and implementation for context switchover |
US8037224B2 (en) | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US9088474B2 (en) * | 2002-10-08 | 2015-07-21 | Broadcom Corporation | Advanced processor with interfacing messaging network to a CPU |
US7924828B2 (en) * | 2002-10-08 | 2011-04-12 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for fast packet queuing operations |
US7984268B2 (en) | 2002-10-08 | 2011-07-19 | Netlogic Microsystems, Inc. | Advanced processor scheduling in a multithreaded system |
US7334086B2 (en) * | 2002-10-08 | 2008-02-19 | Rmi Corporation | Advanced processor with system on a chip interconnect technology |
US8478811B2 (en) | 2002-10-08 | 2013-07-02 | Netlogic Microsystems, Inc. | Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip |
US7961723B2 (en) | 2002-10-08 | 2011-06-14 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for enforcing ordering between information sent on two independent networks |
US8176298B2 (en) | 2002-10-08 | 2012-05-08 | Netlogic Microsystems, Inc. | Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline |
US20050033831A1 (en) * | 2002-10-08 | 2005-02-10 | Abbas Rashid | Advanced processor with a thread aware return address stack optimally used across active threads |
US20050044324A1 (en) * | 2002-10-08 | 2005-02-24 | Abbas Rashid | Advanced processor with mechanism for maximizing resource usage in an in-order pipeline with multiple threads |
US7346757B2 (en) | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
US8015567B2 (en) | 2002-10-08 | 2011-09-06 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for packet distribution at high line rate |
US7627721B2 (en) | 2002-10-08 | 2009-12-01 | Rmi Corporation | Advanced processor with cache coherency |
US7814218B1 (en) | 2002-10-17 | 2010-10-12 | Astute Networks, Inc. | Multi-protocol and multi-format stateful processing |
US7596621B1 (en) * | 2002-10-17 | 2009-09-29 | Astute Networks, Inc. | System and method for managing shared state using multiple programmed processors |
US8151278B1 (en) | 2002-10-17 | 2012-04-03 | Astute Networks, Inc. | System and method for timer management in a stateful protocol processing system |
DE60233145D1 (en) * | 2002-10-31 | 2009-09-10 | Alcatel Lucent | Method for processing data packets on layer three in a telecommunication device |
US7715392B2 (en) * | 2002-12-12 | 2010-05-11 | Stmicroelectronics, Inc. | System and method for path compression optimization in a pipelined hardware bitmapped multi-bit trie algorithmic network search engine |
JP4157403B2 (en) * | 2003-03-19 | 2008-10-01 | 株式会社日立製作所 | Packet communication device |
US8477780B2 (en) * | 2003-03-26 | 2013-07-02 | Alcatel Lucent | Processing packet information using an array of processing elements |
US8539089B2 (en) * | 2003-04-23 | 2013-09-17 | Oracle America, Inc. | System and method for vertical perimeter protection |
EP1623330A2 (en) | 2003-05-07 | 2006-02-08 | Koninklijke Philips Electronics N.V. | Processing system and method for transmitting data |
US7558268B2 (en) * | 2003-05-08 | 2009-07-07 | Samsung Electronics Co., Ltd. | Apparatus and method for combining forwarding tables in a distributed architecture router |
US7500239B2 (en) * | 2003-05-23 | 2009-03-03 | Intel Corporation | Packet processing system |
US20050108518A1 (en) * | 2003-06-10 | 2005-05-19 | Pandya Ashish A. | Runtime adaptable security processor |
US7349958B2 (en) * | 2003-06-25 | 2008-03-25 | International Business Machines Corporation | Method for improving performance in a computer storage system by regulating resource requests from clients |
US7174398B2 (en) * | 2003-06-26 | 2007-02-06 | International Business Machines Corporation | Method and apparatus for implementing data mapping with shuffle algorithm |
US7702882B2 (en) * | 2003-09-10 | 2010-04-20 | Samsung Electronics Co., Ltd. | Apparatus and method for performing high-speed lookups in a routing table |
CA2442803A1 (en) * | 2003-09-26 | 2005-03-26 | Ibm Canada Limited - Ibm Canada Limitee | Structure and method for managing workshares in a parallel region |
US7886307B1 (en) * | 2003-09-26 | 2011-02-08 | The Mathworks, Inc. | Object-oriented data transfer system for data sharing |
US7634500B1 (en) | 2003-11-03 | 2009-12-15 | Netlogic Microsystems, Inc. | Multiple string searching using content addressable memory |
US6954450B2 (en) * | 2003-11-26 | 2005-10-11 | Cisco Technology, Inc. | Method and apparatus to provide data streaming over a network connection in a wireless MAC processor |
EP1687998B1 (en) * | 2003-11-26 | 2017-09-20 | Cisco Technology, Inc. | Method and apparatus to inline encryption and decryption for a wireless station |
US7340548B2 (en) * | 2003-12-17 | 2008-03-04 | Microsoft Corporation | On-chip bus |
US7058424B2 (en) * | 2004-01-20 | 2006-06-06 | Lucent Technologies Inc. | Method and apparatus for interconnecting wireless and wireline networks |
GB0403237D0 (en) * | 2004-02-13 | 2004-03-17 | Imec Inter Uni Micro Electr | A method for realizing ground bounce reduction in digital circuits adapted according to said method |
US7903777B1 (en) | 2004-03-03 | 2011-03-08 | Marvell International Ltd. | System and method for reducing electromagnetic interference and ground bounce in an information communication system by controlling phase of clock signals among a plurality of information communication devices |
US20050216625A1 (en) * | 2004-03-09 | 2005-09-29 | Smith Zachary S | Suppressing production of bus transactions by a virtual-bus interface |
US7478109B1 (en) * | 2004-03-15 | 2009-01-13 | Cisco Technology, Inc. | Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes |
KR100990484B1 (en) * | 2004-03-29 | 2010-10-29 | 삼성전자주식회사 | Transmission clock signal generator for serial bus communication |
US20050254486A1 (en) * | 2004-05-13 | 2005-11-17 | Ittiam Systems (P) Ltd. | Multi processor implementation for signals requiring fast processing |
DE102004035843B4 (en) * | 2004-07-23 | 2010-04-15 | Infineon Technologies Ag | Router Network Processor |
GB2417105B (en) | 2004-08-13 | 2008-04-09 | Clearspeed Technology Plc | Processor memory system |
US7913206B1 (en) * | 2004-09-16 | 2011-03-22 | Cadence Design Systems, Inc. | Method and mechanism for performing partitioning of DRC operations |
US7508397B1 (en) * | 2004-11-10 | 2009-03-24 | Nvidia Corporation | Rendering of disjoint and overlapping blits |
US8170019B2 (en) * | 2004-11-30 | 2012-05-01 | Broadcom Corporation | CPU transmission of unmodified packets |
US20060156316A1 (en) * | 2004-12-18 | 2006-07-13 | Gray Area Technologies | System and method for application specific array processing |
US20060212426A1 (en) * | 2004-12-21 | 2006-09-21 | Udaya Shakara | Efficient CAM-based techniques to perform string searches in packet payloads |
US7769858B2 (en) * | 2005-02-23 | 2010-08-03 | International Business Machines Corporation | Method for efficiently hashing packet keys into a firewall connection table |
US7818705B1 (en) * | 2005-04-08 | 2010-10-19 | Altera Corporation | Method and apparatus for implementing a field programmable gate array architecture with programmable clock skew |
WO2006127596A2 (en) | 2005-05-20 | 2006-11-30 | Hillcrest Laboratories, Inc. | Dynamic hyperlinking approach |
WO2006128459A1 (en) * | 2005-06-01 | 2006-12-07 | Teklatech A/S | A method and an apparatus for providing timing signals to a number of circuits, an integrated circuit and a node |
US7373475B2 (en) * | 2005-06-21 | 2008-05-13 | Intel Corporation | Methods for optimizing memory unit usage to maximize packet throughput for multi-processor multi-threaded architectures |
JP4797482B2 (en) * | 2005-07-20 | 2011-10-19 | ブラザー工業株式会社 | Wiring board and method of manufacturing wiring board |
US20070086456A1 (en) * | 2005-08-12 | 2007-04-19 | Electronics And Telecommunications Research Institute | Integrated layer frame processing device including variable protocol header |
US8325768B2 (en) | 2005-08-24 | 2012-12-04 | Intel Corporation | Interleaving data packets in a packet-based communication system |
US7904852B1 (en) | 2005-09-12 | 2011-03-08 | Cadence Design Systems, Inc. | Method and system for implementing parallel processing of electronic design automation tools |
US8218770B2 (en) * | 2005-09-13 | 2012-07-10 | Agere Systems Inc. | Method and apparatus for secure key management and protection |
US7353332B2 (en) * | 2005-10-11 | 2008-04-01 | Integrated Device Technology, Inc. | Switching circuit implementing variable string matching |
US7551609B2 (en) * | 2005-10-21 | 2009-06-23 | Cisco Technology, Inc. | Data structure for storing and accessing multiple independent sets of forwarding information |
US7451293B2 (en) * | 2005-10-21 | 2008-11-11 | Brightscale Inc. | Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing |
US7835359B2 (en) * | 2005-12-08 | 2010-11-16 | International Business Machines Corporation | Method and apparatus for striping message payload data over a network |
US20070188505A1 (en) * | 2006-01-10 | 2007-08-16 | Lazar Bivolarski | Method and apparatus for scheduling the processing of multimedia data in parallel processing systems |
US20070162531A1 (en) * | 2006-01-12 | 2007-07-12 | Bhaskar Kota | Flow transform for integrated circuit design and simulation having combined data flow, control flow, and memory flow views |
JP2009524952A (en) * | 2006-01-27 | 2009-07-02 | エフテーエス コンピューターテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング | Time-controlled secure communication |
KR20070088190A (en) * | 2006-02-24 | 2007-08-29 | 삼성전자주식회사 | Subword parallelism for processing multimedia data |
US8106912B2 (en) * | 2006-03-30 | 2012-01-31 | Nec Corporation | Parallel image processing system control method and apparatus |
US8041929B2 (en) * | 2006-06-16 | 2011-10-18 | Cisco Technology, Inc. | Techniques for hardware-assisted multi-threaded processing |
JP2008004046A (en) * | 2006-06-26 | 2008-01-10 | Toshiba Corp | Resource management device, and program for the same |
US7584286B2 (en) | 2006-06-28 | 2009-09-01 | Intel Corporation | Flexible and extensible receive side scaling |
US8448096B1 (en) | 2006-06-30 | 2013-05-21 | Cadence Design Systems, Inc. | Method and system for parallel processing of IC design layouts |
CN1909418B (en) * | 2006-08-01 | 2010-05-12 | 华为技术有限公司 | Clock distributing equipment for universal wireless interface and method for realizing speed switching |
US20080040214A1 (en) * | 2006-08-10 | 2008-02-14 | Ip Commerce | System and method for subsidizing payment transaction costs through online advertising |
JP4846486B2 (en) * | 2006-08-18 | 2011-12-28 | 富士通株式会社 | Information processing apparatus and control method thereof |
CA2557343C (en) * | 2006-08-28 | 2015-09-22 | Ibm Canada Limited-Ibm Canada Limitee | Runtime code modification in a multi-threaded environment |
US20080059762A1 (en) * | 2006-09-01 | 2008-03-06 | Bogdan Mitu | Multi-sequence control for a data parallel system |
US20080055307A1 (en) * | 2006-09-01 | 2008-03-06 | Lazar Bivolarski | Graphics rendering pipeline |
US9563433B1 (en) | 2006-09-01 | 2017-02-07 | Allsearch Semi Llc | System and method for class-based execution of an instruction broadcasted to an array of processing elements |
US20080059763A1 (en) * | 2006-09-01 | 2008-03-06 | Lazar Bivolarski | System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data |
US20080059764A1 (en) * | 2006-09-01 | 2008-03-06 | Gheorghe Stefan | Integral parallel machine |
US20080244238A1 (en) * | 2006-09-01 | 2008-10-02 | Bogdan Mitu | Stream processing accelerator |
US20080059467A1 (en) * | 2006-09-05 | 2008-03-06 | Lazar Bivolarski | Near full motion search algorithm |
US7657856B1 (en) | 2006-09-12 | 2010-02-02 | Cadence Design Systems, Inc. | Method and system for parallel processing of IC design layouts |
US7783654B1 (en) | 2006-09-19 | 2010-08-24 | Netlogic Microsystems, Inc. | Multiple string searching using content addressable memory |
JP4377899B2 (en) * | 2006-09-20 | 2009-12-02 | 株式会社東芝 | Resource management apparatus and program |
US8010966B2 (en) * | 2006-09-27 | 2011-08-30 | Cisco Technology, Inc. | Multi-threaded processing using path locks |
US8179896B2 (en) * | 2006-11-09 | 2012-05-15 | Justin Mark Sobaje | Network processors and pipeline optimization methods |
US7996348B2 (en) | 2006-12-08 | 2011-08-09 | Pandya Ashish A | 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters |
US9141557B2 (en) | 2006-12-08 | 2015-09-22 | Ashish A. Pandya | Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine |
JP4249780B2 (en) * | 2006-12-26 | 2009-04-08 | 株式会社東芝 | Device and program for managing resources |
US7676444B1 (en) | 2007-01-18 | 2010-03-09 | Netlogic Microsystems, Inc. | Iterative compare operations using next success size bitmap |
ATE508415T1 (en) * | 2007-03-06 | 2011-05-15 | Nec Corp | DATA TRANSFER NETWORK AND CONTROL DEVICE FOR A SYSTEM HAVING AN ARRAY OF PROCESSING ELEMENTS EACH EITHER SELF-CONTROLLED OR JOINTLY CONTROLLED |
JP2009086733A (en) * | 2007-09-27 | 2009-04-23 | Toshiba Corp | Information processor, control method of information processor and control program of information processor |
US20090089234A1 (en) * | 2007-09-28 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Automated code generation for simulators |
US7801710B2 (en) * | 2007-09-28 | 2010-09-21 | Rockwell Automation Technologies, Inc. | Simulation controls for model variability and randomness |
US8548777B2 (en) * | 2007-09-28 | 2013-10-01 | Rockwell Automation Technologies, Inc. | Automated recommendations from simulation |
US8069021B2 (en) * | 2007-09-28 | 2011-11-29 | Rockwell Automation Technologies, Inc. | Distributed simulation and synchronization |
US20090089031A1 (en) * | 2007-09-28 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Integrated simulation of controllers and devices |
US20090089029A1 (en) * | 2007-09-28 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Enhanced execution speed to improve simulation performance |
US7995618B1 (en) * | 2007-10-01 | 2011-08-09 | Teklatech A/S | System and a method of transmitting data from a first device to a second device |
US8515052B2 (en) * | 2007-12-17 | 2013-08-20 | Wai Wu | Parallel signal processing system and method |
US9596324B2 (en) | 2008-02-08 | 2017-03-14 | Broadcom Corporation | System and method for parsing and allocating a plurality of packets to processor core threads |
US8250578B2 (en) * | 2008-02-22 | 2012-08-21 | International Business Machines Corporation | Pipelining hardware accelerators to computer systems |
US8726289B2 (en) * | 2008-02-22 | 2014-05-13 | International Business Machines Corporation | Streaming attachment of hardware accelerators to computer systems |
US20090271532A1 (en) * | 2008-04-24 | 2009-10-29 | Allison Brian D | Early header CRC in data response packets with variable gap count |
US20090268736A1 (en) * | 2008-04-24 | 2009-10-29 | Allison Brian D | Early header CRC in data response packets with variable gap count |
US20090268727A1 (en) * | 2008-04-24 | 2009-10-29 | Allison Brian D | Early header CRC in data response packets with variable gap count |
JP2009271724A (en) * | 2008-05-07 | 2009-11-19 | Toshiba Corp | Hardware engine controller |
EP3413206B1 (en) | 2008-05-30 | 2020-10-28 | Advanced Micro Devices, Inc. | Local and global data share |
US8958419B2 (en) * | 2008-06-16 | 2015-02-17 | Intel Corporation | Switch fabric primitives |
US8566487B2 (en) | 2008-06-24 | 2013-10-22 | Hartvig Ekner | System and method for creating a scalable monolithic packet processing engine |
US8311057B1 (en) | 2008-08-05 | 2012-11-13 | Xilinx, Inc. | Managing formatting of packets of a communication protocol |
US8160092B1 (en) | 2008-08-05 | 2012-04-17 | Xilinx, Inc. | Transforming a declarative description of a packet processor |
US7949007B1 (en) | 2008-08-05 | 2011-05-24 | Xilinx, Inc. | Methods of clustering actions for manipulating packets of a communication protocol |
US7804844B1 (en) * | 2008-08-05 | 2010-09-28 | Xilinx, Inc. | Dataflow pipeline implementing actions for manipulating packets of a communication protocol |
WO2010016015A1 (en) * | 2008-08-06 | 2010-02-11 | Nxp B.V. | Simd parallel processor architecture |
CN101355482B (en) * | 2008-09-04 | 2011-09-21 | 中兴通讯股份有限公司 | Equipment, method and system for implementing identification of embedded device address sequence |
US8493979B2 (en) | 2008-12-30 | 2013-07-23 | Intel Corporation | Single instruction processing of network packets |
JP5238525B2 (en) * | 2009-01-13 | 2013-07-17 | 株式会社東芝 | Device and program for managing resources |
KR101553652B1 (en) * | 2009-02-18 | 2015-09-16 | 삼성전자 주식회사 | Apparatus and method for compiling instruction for heterogeneous processor |
US8140792B2 (en) * | 2009-02-25 | 2012-03-20 | International Business Machines Corporation | Indirectly-accessed, hardware-affine channel storage in transaction-oriented DMA-intensive environments |
US9461930B2 (en) | 2009-04-27 | 2016-10-04 | Intel Corporation | Modifying data streams without reordering in a multi-thread, multi-flow network processor |
US8874878B2 (en) * | 2010-05-18 | 2014-10-28 | Lsi Corporation | Thread synchronization in a multi-thread, multi-flow network communications processor architecture |
US8170062B2 (en) * | 2009-04-29 | 2012-05-01 | Intel Corporation | Packetized interface for coupling agents |
US8743877B2 (en) * | 2009-12-21 | 2014-06-03 | Steven L. Pope | Header processing engine |
CN101807288B (en) * | 2010-03-12 | 2014-09-10 | 中兴通讯股份有限公司 | Scenic spot guide system and implementation method thereof |
US8332460B2 (en) * | 2010-04-14 | 2012-12-11 | International Business Machines Corporation | Performing a local reduction operation on a parallel computer |
JP2013541748A (en) * | 2010-07-19 | 2013-11-14 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Data processing using on-chip memory in a multiprocessing unit. |
US8880507B2 (en) * | 2010-07-22 | 2014-11-04 | Brocade Communications Systems, Inc. | Longest prefix match using binary search tree |
US8904115B2 (en) * | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
RU2436151C1 (en) * | 2010-11-01 | 2011-12-10 | Федеральное государственное унитарное предприятие "Российский Федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики" (ФГУП "РФЯЦ-ВНИИЭФ") | Method of determining structure of hybrid computer system |
US9667539B2 (en) * | 2011-01-17 | 2017-05-30 | Alcatel Lucent | Method and apparatus for providing transport of customer QoS information via PBB networks |
US8869162B2 (en) | 2011-04-26 | 2014-10-21 | Microsoft Corporation | Stream processing on heterogeneous hardware devices |
US9020892B2 (en) * | 2011-07-08 | 2015-04-28 | Microsoft Technology Licensing, Llc | Efficient metadata storage |
US8880494B2 (en) | 2011-07-28 | 2014-11-04 | Brocade Communications Systems, Inc. | Longest prefix match scheme |
US8923306B2 (en) | 2011-08-02 | 2014-12-30 | Cavium, Inc. | Phased bucket pre-fetch in a network processor |
WO2013020002A1 (en) * | 2011-08-02 | 2013-02-07 | Cavium, Inc. | Incremental update of rules for packet classification |
US8910178B2 (en) | 2011-08-10 | 2014-12-09 | International Business Machines Corporation | Performing a global barrier operation in a parallel computer |
US9154335B2 (en) * | 2011-11-08 | 2015-10-06 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for transmitting data on a network |
US10157060B2 (en) * | 2011-12-29 | 2018-12-18 | Intel Corporation | Method, device and system for control signaling in a data path module of a data stream processing engine |
US9542236B2 (en) | 2011-12-29 | 2017-01-10 | Oracle International Corporation | Efficiency sequencer for multiple concurrently-executing threads of execution |
US9495135B2 (en) | 2012-02-09 | 2016-11-15 | International Business Machines Corporation | Developing collective operations for a parallel computer |
US9178730B2 (en) | 2012-02-24 | 2015-11-03 | Freescale Semiconductor, Inc. | Clock distribution module, synchronous digital system and method therefor |
US20130229290A1 (en) * | 2012-03-01 | 2013-09-05 | Eaton Corporation | Instrument panel bus interface |
WO2013141290A1 (en) * | 2012-03-23 | 2013-09-26 | 株式会社Mush-A | Data processing device, data processing system, data structure, recording medium, storage device and data processing method |
JP2013222364A (en) * | 2012-04-18 | 2013-10-28 | Renesas Electronics Corp | Signal processing circuit |
US8775727B2 (en) | 2012-08-31 | 2014-07-08 | Lsi Corporation | Lookup engine with pipelined access, speculative add and lock-in-hit function |
US9082078B2 (en) | 2012-07-27 | 2015-07-14 | The Intellisis Corporation | Neural processing engine and architecture using the same |
CN103631315A (en) * | 2012-08-22 | 2014-03-12 | 上海华虹集成电路有限责任公司 | Clock design method facilitating timing sequence repair |
US9185057B2 (en) * | 2012-12-05 | 2015-11-10 | The Intellisis Corporation | Smart memory |
US9639371B2 (en) * | 2013-01-29 | 2017-05-02 | Advanced Micro Devices, Inc. | Solution to divergent branches in a SIMD core using hardware pointers |
US9391893B2 (en) * | 2013-02-26 | 2016-07-12 | Dell Products L.P. | Lookup engine for an information handling system |
US20140269690A1 (en) * | 2013-03-13 | 2014-09-18 | Qualcomm Incorporated | Network element with distributed flow tables |
US9185003B1 (en) * | 2013-05-02 | 2015-11-10 | Amazon Technologies, Inc. | Distributed clock network with time synchronization and activity tracing between nodes |
US20150012679A1 (en) * | 2013-07-03 | 2015-01-08 | Iii Holdings 2, Llc | Implementing remote transaction functionalities between data processing nodes of a switched interconnect fabric |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
PL3055127T3 (en) * | 2013-10-11 | 2018-03-30 | Wpt Gmbh | Elastic floor covering in the form of a web product that can be rolled up |
US20150120224A1 (en) | 2013-10-29 | 2015-04-30 | C3 Energy, Inc. | Systems and methods for processing data relating to energy usage |
CN105794234A (en) * | 2013-11-29 | 2016-07-20 | 日本电气株式会社 | Apparatus, system and method for mtc |
US9547553B1 (en) | 2014-03-10 | 2017-01-17 | Parallel Machines Ltd. | Data resiliency in a shared memory pool |
US9372724B2 (en) * | 2014-04-01 | 2016-06-21 | Freescale Semiconductor, Inc. | System and method for conditional task switching during ordering scope transitions |
US9372723B2 (en) * | 2014-04-01 | 2016-06-21 | Freescale Semiconductor, Inc. | System and method for conditional task switching during ordering scope transitions |
US9781027B1 (en) | 2014-04-06 | 2017-10-03 | Parallel Machines Ltd. | Systems and methods to communicate with external destinations via a memory network |
US9690713B1 (en) | 2014-04-22 | 2017-06-27 | Parallel Machines Ltd. | Systems and methods for effectively interacting with a flash memory |
US9477412B1 (en) | 2014-12-09 | 2016-10-25 | Parallel Machines Ltd. | Systems and methods for automatically aggregating write requests |
US9529622B1 (en) | 2014-12-09 | 2016-12-27 | Parallel Machines Ltd. | Systems and methods for automatic generation of task-splitting code |
US9733981B2 (en) | 2014-06-10 | 2017-08-15 | Nxp Usa, Inc. | System and method for conditional task switching during ordering scope transitions |
US9753873B1 (en) | 2014-12-09 | 2017-09-05 | Parallel Machines Ltd. | Systems and methods for key-value transactions |
US9639473B1 (en) | 2014-12-09 | 2017-05-02 | Parallel Machines Ltd. | Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location |
US9690705B1 (en) | 2014-12-09 | 2017-06-27 | Parallel Machines Ltd. | Systems and methods for processing data sets according to an instructed order |
US9781225B1 (en) | 2014-12-09 | 2017-10-03 | Parallel Machines Ltd. | Systems and methods for cache streams |
US9552327B2 (en) | 2015-01-29 | 2017-01-24 | Knuedge Incorporated | Memory controller for a network on a chip device |
US10061531B2 (en) | 2015-01-29 | 2018-08-28 | Knuedge Incorporated | Uniform system wide addressing for a computing system |
US9749225B2 (en) * | 2015-04-17 | 2017-08-29 | Huawei Technologies Co., Ltd. | Software defined network (SDN) control signaling for traffic engineering to enable multi-type transport in a data plane |
EP3278213A4 (en) | 2015-06-05 | 2019-01-30 | C3 IoT, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
US20160381136A1 (en) * | 2015-06-24 | 2016-12-29 | Futurewei Technologies, Inc. | System, method, and computer program for providing rest services to fine-grained resources based on a resource-oriented network |
CN106326967B (en) * | 2015-06-29 | 2023-05-05 | 四川谦泰仁投资管理有限公司 | RFID chip with interactive switch input port |
US10313231B1 (en) * | 2016-02-08 | 2019-06-04 | Barefoot Networks, Inc. | Resilient hashing for forwarding packets |
US10063407B1 (en) | 2016-02-08 | 2018-08-28 | Barefoot Networks, Inc. | Identifying and marking failed egress links in data plane |
US10027583B2 (en) | 2016-03-22 | 2018-07-17 | Knuedge Incorporated | Chained packet sequences in a network on a chip architecture |
US10346049B2 (en) | 2016-04-29 | 2019-07-09 | Friday Harbor Llc | Distributed contiguous reads in a network on a chip architecture |
US10402168B2 (en) | 2016-10-01 | 2019-09-03 | Intel Corporation | Low energy consumption mantissa multiplication for floating point multiply-add operations |
US10664942B2 (en) * | 2016-10-21 | 2020-05-26 | Advanced Micro Devices, Inc. | Reconfigurable virtual graphics and compute processor pipeline |
US10084687B1 (en) | 2016-11-17 | 2018-09-25 | Barefoot Networks, Inc. | Weighted-cost multi-pathing using range lookups |
US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10404619B1 (en) | 2017-03-05 | 2019-09-03 | Barefoot Networks, Inc. | Link aggregation group failover for multicast |
US10237206B1 (en) | 2017-03-05 | 2019-03-19 | Barefoot Networks, Inc. | Equal cost multiple path group failover for multicast |
US10296351B1 (en) * | 2017-03-15 | 2019-05-21 | Ambarella, Inc. | Computer vision processing in hardware data paths |
US10243882B1 (en) | 2017-04-13 | 2019-03-26 | Xilinx, Inc. | Network on chip switch interconnect |
CN107679620B (en) * | 2017-04-19 | 2020-05-26 | 赛灵思公司 | Artificial neural network processing device |
CN107704922B (en) | 2017-04-19 | 2020-12-08 | 赛灵思公司 | Artificial neural network processing device |
CN107679621B (en) * | 2017-04-19 | 2020-12-08 | 赛灵思公司 | Artificial neural network processing device |
US10514719B2 (en) * | 2017-06-27 | 2019-12-24 | Biosense Webster (Israel) Ltd. | System and method for synchronization among clocks in a wireless system |
US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US10380063B2 (en) | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
CN107831824B (en) * | 2017-10-16 | 2021-04-06 | 北京比特大陆科技有限公司 | Clock signal transmission method and device, multiplexing chip and electronic equipment |
GB2568087B (en) * | 2017-11-03 | 2022-07-20 | Imagination Tech Ltd | Activation functions for deep neural networks |
US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US10673745B2 (en) | 2018-02-01 | 2020-06-02 | Xilinx, Inc. | End-to-end quality-of-service in a network-on-chip |
US10503690B2 (en) | 2018-02-23 | 2019-12-10 | Xilinx, Inc. | Programmable NOC compatible with multiple interface communication protocol |
JP2019153909A (en) * | 2018-03-02 | 2019-09-12 | 株式会社リコー | Semiconductor integrated circuit and clock supply method |
US10621129B2 (en) | 2018-03-27 | 2020-04-14 | Xilinx, Inc. | Peripheral interconnect for configurable slave endpoint circuits |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US10505548B1 (en) | 2018-05-25 | 2019-12-10 | Xilinx, Inc. | Multi-chip structure having configurable network-on-chip |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US10838908B2 (en) | 2018-07-20 | 2020-11-17 | Xilinx, Inc. | Configurable network-on-chip for a programmable device |
US10824505B1 (en) | 2018-08-21 | 2020-11-03 | Xilinx, Inc. | ECC proxy extension and byte organization for multi-master systems |
US11176281B2 (en) * | 2018-10-08 | 2021-11-16 | Micron Technology, Inc. | Security managers and methods for implementing security protocols in a reconfigurable fabric |
US10963460B2 (en) | 2018-12-06 | 2021-03-30 | Xilinx, Inc. | Integrated circuits and methods to accelerate data queries |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
US10796040B2 (en) * | 2019-02-05 | 2020-10-06 | Arm Limited | Integrated circuit design and fabrication |
US10936486B1 (en) | 2019-02-21 | 2021-03-02 | Xilinx, Inc. | Address interleave support in a programmable device |
US10680615B1 (en) | 2019-03-27 | 2020-06-09 | Xilinx, Inc. | Circuit for and method of configuring and partially reconfiguring function blocks of an integrated circuit device |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US11386038B2 (en) * | 2019-05-09 | 2022-07-12 | SambaNova Systems, Inc. | Control flow barrier and reconfigurable data processor |
US10891414B2 (en) | 2019-05-23 | 2021-01-12 | Xilinx, Inc. | Hardware-software design flow for heterogeneous and programmable devices |
US10891132B2 (en) | 2019-05-23 | 2021-01-12 | Xilinx, Inc. | Flow convergence during hardware-software design for heterogeneous and programmable devices |
US11188312B2 (en) | 2019-05-23 | 2021-11-30 | Xilinx, Inc. | Hardware-software design flow with high-level synthesis for heterogeneous and programmable devices |
US11301295B1 (en) | 2019-05-23 | 2022-04-12 | Xilinx, Inc. | Implementing an application specified as a data flow graph in an array of data processing engines |
US11288244B2 (en) * | 2019-06-10 | 2022-03-29 | Akamai Technologies, Inc. | Tree deduplication |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US10977018B1 (en) | 2019-12-05 | 2021-04-13 | Xilinx, Inc. | Development environment for heterogeneous devices |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
US11320885B2 (en) | 2020-05-26 | 2022-05-03 | Dell Products L.P. | Wide range power mechanism for over-speed memory design |
US11496418B1 (en) | 2020-08-25 | 2022-11-08 | Xilinx, Inc. | Packet-based and time-multiplexed network-on-chip |
US12086080B2 (en) | 2020-09-26 | 2024-09-10 | Intel Corporation | Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits |
CN114528246A (en) * | 2020-11-23 | 2022-05-24 | 深圳比特微电子科技有限公司 | Operation core, calculation chip and encrypted currency mining machine |
US11336287B1 (en) | 2021-03-09 | 2022-05-17 | Xilinx, Inc. | Data processing engine array architecture with memory tiles |
US11520717B1 (en) | 2021-03-09 | 2022-12-06 | Xilinx, Inc. | Memory tiles in data processing engine array |
KR20220127601A (en) | 2021-03-11 | 2022-09-20 | 삼성전자주식회사 | Memory system, memory device of performing internal processing operations with interface, operation method of the memory device having the same |
US11768714B2 (en) | 2021-06-22 | 2023-09-26 | Microsoft Technology Licensing, Llc | On-chip hardware semaphore array supporting multiple conditionals |
WO2023023480A1 (en) | 2021-08-20 | 2023-02-23 | Xilinx, Inc. | Multiple overlays for use with a data processing array |
US11797480B2 (en) * | 2021-12-31 | 2023-10-24 | Tsx Inc. | Storage of order books with persistent data structures |
US11848670B2 (en) | 2022-04-15 | 2023-12-19 | Xilinx, Inc. | Multiple partitions in a data processing array |
US12079158B2 (en) | 2022-07-25 | 2024-09-03 | Xilinx, Inc. | Reconfigurable neural engine with extensible instruction set architecture |
US12079510B2 (en) | 2022-09-08 | 2024-09-03 | Samsung Electronics Co., Ltd. | Systems and methods for executing data processing functions |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4145961A (en) * | 1976-06-23 | 1979-03-27 | Lolli & C., S.P.A. | Diffusers for air conditioning equipments |
USD259208S (en) * | 1979-04-23 | 1981-05-12 | Mccullough John R | Roof vent |
US4641571A (en) * | 1985-07-15 | 1987-02-10 | Enamel Products & Plating Co. | Turbo fan vent |
US5112679A (en) * | 1988-10-13 | 1992-05-12 | Fuji Photo Film Co., Ltd. | Magnetic disk |
US5398262A (en) * | 1991-12-27 | 1995-03-14 | Intel Corporation | Skew-free clock signal distribution network in a microprocessor of a computer system |
US5822779A (en) * | 1992-12-11 | 1998-10-13 | National Semiconductor Corporation | Microprocessor-based data processing apparatus that commences a next overlapping cycle when a ready signal is detected not to be active |
US5828870A (en) * | 1997-06-30 | 1998-10-27 | Adaptec, Inc. | Method and apparatus for controlling clock skew in an integrated circuit |
US5969559A (en) * | 1997-06-09 | 1999-10-19 | Schwartz; David M. | Method and apparatus for using a power grid for clock distribution in semiconductor integrated circuits |
USD428484S (en) * | 1999-08-03 | 2000-07-18 | Zirk Todd A | Copper roof vent cover |
US6218861B1 (en) * | 1997-07-08 | 2001-04-17 | Kabushiki Kaisha Toshiba | Functional block and semiconductor integrated circuit architected by a plurality of functional blocks in combination |
US6240524B1 (en) * | 1997-06-06 | 2001-05-29 | Nec Corporation | Semiconductor integrated circuit |
US6305001B1 (en) * | 1998-06-18 | 2001-10-16 | Lsi Logic Corporation | Clock distribution network planning and method therefor |
USD453960S1 (en) * | 2001-01-30 | 2002-02-26 | Molded Products Company | Shroud for a fan assembly |
USD471624S1 (en) * | 2001-03-20 | 2003-03-11 | Flettner Ventilator Limited | Ventilation rotor |
USD471971S1 (en) * | 2001-03-20 | 2003-03-18 | Flettner Ventilator Limited | Ventilation cover |
Family Cites Families (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8401805D0 (en) * | 1984-01-24 | 1984-02-29 | Int Computers Ltd | Data processing apparatus |
JPS61156338A (en) * | 1984-12-27 | 1986-07-16 | Toshiba Corp | Multiprocessor system |
US4850027A (en) * | 1985-07-26 | 1989-07-18 | International Business Machines Corporation | Configurable parallel pipeline image processing system |
JP2564805B2 (en) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | Information processing device |
JPH0771111B2 (en) * | 1985-09-13 | 1995-07-31 | 日本電気株式会社 | Packet exchange processor |
US5021947A (en) * | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
GB8618943D0 (en) * | 1986-08-02 | 1986-09-10 | Int Computers Ltd | Data processing apparatus |
DE3751412T2 (en) * | 1986-09-02 | 1995-12-14 | Fuji Photo Film Co Ltd | Method and device for image processing with gradation correction of the image signal. |
US5418970A (en) * | 1986-12-17 | 1995-05-23 | Massachusetts Institute Of Technology | Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content |
GB8723203D0 (en) * | 1987-10-02 | 1987-11-04 | Crosfield Electronics Ltd | Interactive image modification |
DE3742941A1 (en) * | 1987-12-18 | 1989-07-06 | Standard Elektrik Lorenz Ag | PACKAGE BROKERS |
JPH02105910A (en) * | 1988-10-14 | 1990-04-18 | Hitachi Ltd | Logic integrated circuit |
AU620994B2 (en) * | 1989-07-12 | 1992-02-27 | Digital Equipment Corporation | Compressed prefix matching database searching |
US5212777A (en) * | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
US5218709A (en) * | 1989-12-28 | 1993-06-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Special purpose parallel computer architecture for real-time control and simulation in robotic applications |
US5426610A (en) * | 1990-03-01 | 1995-06-20 | Texas Instruments Incorporated | Storage circuitry using sense amplifier with temporary pause for voltage supply isolation |
JPH04219859A (en) * | 1990-03-12 | 1992-08-10 | Hewlett Packard Co <Hp> | Harware distributor which distributes series-instruction-stream data to parallel processors |
US5327159A (en) * | 1990-06-27 | 1994-07-05 | Texas Instruments Incorporated | Packed bus selection of multiple pixel depths in palette devices, systems and methods |
US5121198A (en) * | 1990-06-28 | 1992-06-09 | Eastman Kodak Company | Method of setting the contrast of a color video picture in a computer controlled photographic film analyzing system |
US5765011A (en) | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5625836A (en) | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
US5963746A (en) | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
US5752067A (en) | 1990-11-13 | 1998-05-12 | International Business Machines Corporation | Fully scalable parallel processing system having asynchronous SIMD processing |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5367643A (en) * | 1991-02-06 | 1994-11-22 | International Business Machines Corporation | Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets |
US5285528A (en) * | 1991-02-22 | 1994-02-08 | International Business Machines Corporation | Data structures and algorithms for managing lock states of addressable element ranges |
WO1992015960A1 (en) * | 1991-03-05 | 1992-09-17 | Hajime Seki | Electronic computer system and processor elements used for this system |
US5313582A (en) * | 1991-04-30 | 1994-05-17 | Standard Microsystems Corporation | Method and apparatus for buffering data within stations of a communication network |
US5224100A (en) * | 1991-05-09 | 1993-06-29 | David Sarnoff Research Center, Inc. | Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors |
JPH07500702A (en) * | 1991-07-01 | 1995-01-19 | テルストラ コーポレイション リミテッド | Fast exchange architecture |
US5404550A (en) * | 1991-07-25 | 1995-04-04 | Tandem Computers Incorporated | Method and apparatus for executing tasks by following a linked list of memory packets |
US5155484A (en) * | 1991-09-13 | 1992-10-13 | Salient Software, Inc. | Fast data compressor with direct lookup table indexing into history buffer |
JP2750968B2 (en) * | 1991-11-18 | 1998-05-18 | シャープ株式会社 | Data driven information processor |
US5603028A (en) * | 1992-03-02 | 1997-02-11 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for data distribution |
JPH0696035A (en) | 1992-09-16 | 1994-04-08 | Sanyo Electric Co Ltd | Processing element and parallel processing computer using the same |
US5579223A (en) * | 1992-12-24 | 1996-11-26 | Microsoft Corporation | Method and system for incorporating modifications made to a computer program into a translated version of the computer program |
US5640551A (en) * | 1993-04-14 | 1997-06-17 | Apple Computer, Inc. | Efficient high speed trie search process |
GB2277235B (en) * | 1993-04-14 | 1998-01-07 | Plessey Telecomm | Apparatus and method for the digital transmission of data |
US5420858A (en) * | 1993-05-05 | 1995-05-30 | Synoptics Communications, Inc. | Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium |
JP2629568B2 (en) * | 1993-07-30 | 1997-07-09 | 日本電気株式会社 | ATM cell switching system |
US5918061A (en) * | 1993-12-29 | 1999-06-29 | Intel Corporation | Enhanced power managing unit (PMU) in a multiprocessor chip |
US5524223A (en) | 1994-01-31 | 1996-06-04 | Motorola, Inc. | Instruction accelerator for processing loop instructions with address generator using multiple stored increment values |
US5423003A (en) * | 1994-03-03 | 1995-06-06 | Geonet Limited L.P. | System for managing network computer applications |
EP0680179B1 (en) * | 1994-04-28 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Multicasting apparatus |
DE69519449T2 (en) * | 1994-05-05 | 2001-06-21 | Conexant Systems, Inc. | Space pointer data path |
CA2165076C (en) | 1994-05-06 | 2000-11-21 | Michael J. Schellinger | Call routing system for a wireless data device |
US5463732A (en) * | 1994-05-13 | 1995-10-31 | David Sarnoff Research Center, Inc. | Method and apparatus for accessing a distributed data buffer |
US5659781A (en) * | 1994-06-29 | 1997-08-19 | Larson; Noble G. | Bidirectional systolic ring network |
US5682480A (en) * | 1994-08-15 | 1997-10-28 | Hitachi, Ltd. | Parallel computer system for performing barrier synchronization by transferring the synchronization packet through a path which bypasses the packet buffer in response to an interrupt |
US5586119A (en) * | 1994-08-31 | 1996-12-17 | Motorola, Inc. | Method and apparatus for packet alignment in a communication system |
US5949781A (en) * | 1994-08-31 | 1999-09-07 | Brooktree Corporation | Controller for ATM segmentation and reassembly |
US5754584A (en) * | 1994-09-09 | 1998-05-19 | Omnipoint Corporation | Non-coherent spread-spectrum continuous-phase modulation communication system |
JPH10508714A (en) * | 1994-11-07 | 1998-08-25 | テンプル ユニヴァーシティ − オブ ザ カモン ウェルス システム オブ ハイヤー エデュケイション | Multicomputer system and method |
US5651099A (en) * | 1995-01-26 | 1997-07-22 | Hewlett-Packard Company | Use of a genetic algorithm to optimize memory space |
JPH08249306A (en) * | 1995-03-09 | 1996-09-27 | Sharp Corp | Data driven type information processor |
US5634068A (en) * | 1995-03-31 | 1997-05-27 | Sun Microsystems, Inc. | Packet switched cache coherent multiprocessor system |
US5835095A (en) * | 1995-05-08 | 1998-11-10 | Intergraph Corporation | Visible line processor |
JP3515263B2 (en) * | 1995-05-18 | 2004-04-05 | 株式会社東芝 | Router device, data communication network system, node device, data transfer method, and network connection method |
US5689677A (en) | 1995-06-05 | 1997-11-18 | Macmillan; David C. | Circuit for enhancing performance of a computer for personal use |
US6147996A (en) * | 1995-08-04 | 2000-11-14 | Cisco Technology, Inc. | Pipelined multiple issue packet switch |
US6115802A (en) * | 1995-10-13 | 2000-09-05 | Sun Mircrosystems, Inc. | Efficient hash table for use in multi-threaded environments |
US5612956A (en) * | 1995-12-15 | 1997-03-18 | General Instrument Corporation Of Delaware | Reformatting of variable rate data for fixed rate communication |
US5822606A (en) * | 1996-01-11 | 1998-10-13 | Morton; Steven G. | DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word |
IL116989A (en) * | 1996-01-31 | 1999-10-28 | Galileo Technology Ltd | Switching ethernet controller |
DE69627893T2 (en) | 1996-02-06 | 2004-05-13 | International Business Machines Corp. | PARALLEL IMMEDIATE PROCESSING OF FIXED LENGTH CELLS |
US5781549A (en) * | 1996-02-23 | 1998-07-14 | Allied Telesyn International Corp. | Method and apparatus for switching data packets in a data network |
US6035193A (en) | 1996-06-28 | 2000-03-07 | At&T Wireless Services Inc. | Telephone system having land-line-supported private base station switchable into cellular network |
US6101176A (en) | 1996-07-24 | 2000-08-08 | Nokia Mobile Phones | Method and apparatus for operating an indoor CDMA telecommunications system |
US5828858A (en) * | 1996-09-16 | 1998-10-27 | Virginia Tech Intellectual Properties, Inc. | Worm-hole run-time reconfigurable processor field programmable gate array (FPGA) |
US6088355A (en) * | 1996-10-11 | 2000-07-11 | C-Cube Microsystems, Inc. | Processing system with pointer-based ATM segmentation and reassembly |
US6791947B2 (en) * | 1996-12-16 | 2004-09-14 | Juniper Networks | In-line packet processing |
JPH10271132A (en) * | 1997-03-27 | 1998-10-09 | Toshiba Corp | Flow control system for packet exchange network |
US6047304A (en) * | 1997-07-29 | 2000-04-04 | Nortel Networks Corporation | Method and apparatus for performing lane arithmetic to perform network processing |
WO1999014893A2 (en) * | 1997-09-17 | 1999-03-25 | Sony Electronics Inc. | Multi-port bridge with triplet architecture and periodical update of address look-up table |
JPH11194850A (en) * | 1997-09-19 | 1999-07-21 | Lsi Logic Corp | Clock distribution network for integrated circuit, and clock distribution method |
US6009488A (en) * | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US5872993A (en) * | 1997-12-01 | 1999-02-16 | Advanced Micro Devices, Inc. | Communications system with multiple, simultaneous accesses to a memory |
US6081523A (en) * | 1997-12-05 | 2000-06-27 | Advanced Micro Devices, Inc. | Arrangement for transmitting packet data segments from a media access controller across multiple physical links |
US6219796B1 (en) * | 1997-12-23 | 2001-04-17 | Texas Instruments Incorporated | Power reduction for processors by software control of functional units |
US6301603B1 (en) * | 1998-02-17 | 2001-10-09 | Euphonics Incorporated | Scalable audio processing on a heterogeneous processor array |
JP3490286B2 (en) | 1998-03-13 | 2004-01-26 | 株式会社東芝 | Router device and frame transfer method |
JPH11272629A (en) * | 1998-03-19 | 1999-10-08 | Hitachi Ltd | Data processor |
US6052769A (en) * | 1998-03-31 | 2000-04-18 | Intel Corporation | Method and apparatus for moving select non-contiguous bytes of packed data in a single instruction |
US6275508B1 (en) * | 1998-04-21 | 2001-08-14 | Nexabit Networks, Llc | Method of and system for processing datagram headers for high speed computer network interfaces at low clock speeds, utilizing scalable algorithms for performing such network header adaptation (SAPNA) |
WO1999057858A1 (en) * | 1998-05-07 | 1999-11-11 | Cabletron Systems, Inc. | Multiple priority buffering in a computer network |
US6131102A (en) * | 1998-06-15 | 2000-10-10 | Microsoft Corporation | Method and system for cost computation of spelling suggestions and automatic replacement |
DE69840947D1 (en) | 1998-09-10 | 2009-08-13 | Ibm | Packet switching adapter for variable length data packets |
US6393026B1 (en) * | 1998-09-17 | 2002-05-21 | Nortel Networks Limited | Data packet processing system and method for a router |
EP0992895A1 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Hardware accelerator for data processing systems |
JP3504510B2 (en) * | 1998-10-12 | 2004-03-08 | 日本電信電話株式会社 | Packet switch |
JP3866425B2 (en) * | 1998-11-12 | 2007-01-10 | 株式会社日立コミュニケーションテクノロジー | Packet switch |
US6272522B1 (en) | 1998-11-17 | 2001-08-07 | Sun Microsystems, Incorporated | Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture |
US6256421B1 (en) * | 1998-12-07 | 2001-07-03 | Xerox Corporation | Method and apparatus for simulating JPEG compression |
JP3704438B2 (en) * | 1998-12-09 | 2005-10-12 | 株式会社日立製作所 | Variable-length packet communication device |
US6338078B1 (en) * | 1998-12-17 | 2002-01-08 | International Business Machines Corporation | System and method for sequencing packets for multiprocessor parallelization in a computer network system |
US6366584B1 (en) * | 1999-02-06 | 2002-04-02 | Triton Network Systems, Inc. | Commercial network based on point to point radios |
JP3587076B2 (en) | 1999-03-05 | 2004-11-10 | 松下電器産業株式会社 | Packet receiver |
AU4651000A (en) * | 1999-04-23 | 2000-11-10 | Z-Dice, Inc. | Gaming apparatus and method |
GB2352536A (en) * | 1999-07-21 | 2001-01-31 | Element 14 Ltd | Conditional instruction execution |
GB2352595B (en) * | 1999-07-27 | 2003-10-01 | Sgs Thomson Microelectronics | Data processing device |
US6631422B1 (en) | 1999-08-26 | 2003-10-07 | International Business Machines Corporation | Network adapter utilizing a hashing function for distributing packets to multiple processors for parallel processing |
US6404752B1 (en) * | 1999-08-27 | 2002-06-11 | International Business Machines Corporation | Network switch using network processor and methods |
US6631419B1 (en) * | 1999-09-22 | 2003-10-07 | Juniper Networks, Inc. | Method and apparatus for high-speed longest prefix and masked prefix table search |
US6963572B1 (en) * | 1999-10-22 | 2005-11-08 | Alcatel Canada Inc. | Method and apparatus for segmentation and reassembly of data packets in a communication switch |
US6487651B1 (en) * | 1999-10-26 | 2002-11-26 | Assabet Ventures | MIMD arrangement of SIMD machines |
JP2001177574A (en) * | 1999-12-20 | 2001-06-29 | Kddi Corp | Transmission controller in packet exchange network |
GB2357601B (en) * | 1999-12-23 | 2004-03-31 | Ibm | Remote power control |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
BRPI0015717B8 (en) * | 2000-01-07 | 2020-05-26 | Ibm | method and system for frame and protocol classification |
US20030093613A1 (en) * | 2000-01-14 | 2003-05-15 | David Sherman | Compressed ternary mask system and method |
JP2001202345A (en) * | 2000-01-21 | 2001-07-27 | Hitachi Ltd | Parallel processor |
DE60026229T2 (en) * | 2000-01-27 | 2006-12-14 | International Business Machines Corp. | Method and apparatus for classifying data packets |
US20020107903A1 (en) * | 2000-11-07 | 2002-08-08 | Richter Roger K. | Methods and systems for the order serialization of information in a network processing environment |
US6704794B1 (en) * | 2000-03-03 | 2004-03-09 | Nokia Intelligent Edge Routers Inc. | Cell reassembly for packet based networks |
JP2001251349A (en) * | 2000-03-06 | 2001-09-14 | Fujitsu Ltd | Packet processor |
US7139282B1 (en) * | 2000-03-24 | 2006-11-21 | Juniper Networks, Inc. | Bandwidth division for packet processing |
US7089240B2 (en) * | 2000-04-06 | 2006-08-08 | International Business Machines Corporation | Longest prefix match lookup using hash function |
US7107265B1 (en) * | 2000-04-06 | 2006-09-12 | International Business Machines Corporation | Software management tree implementation for a network processor |
US6718326B2 (en) * | 2000-08-17 | 2004-04-06 | Nippon Telegraph And Telephone Corporation | Packet classification search device and method |
DE10059026A1 (en) | 2000-11-28 | 2002-06-13 | Infineon Technologies Ag | Unit for the distribution and processing of data packets |
GB2370381B (en) * | 2000-12-19 | 2003-12-24 | Picochip Designs Ltd | Processor architecture |
US6832261B1 (en) | 2001-02-04 | 2004-12-14 | Cisco Technology, Inc. | Method and apparatus for distributed resequencing and reassembly of subdivided packets |
GB2407673B (en) | 2001-02-14 | 2005-08-24 | Clearspeed Technology Plc | Lookup engine |
GB2374442B (en) | 2001-02-14 | 2005-03-23 | Clearspeed Technology Ltd | Method for controlling the order of datagrams |
JP4475835B2 (en) * | 2001-03-05 | 2010-06-09 | 富士通株式会社 | Input line interface device and packet communication device |
US6687715B2 (en) * | 2001-06-28 | 2004-02-03 | Intel Corporation | Parallel lookups that keep order |
US6922716B2 (en) | 2001-07-13 | 2005-07-26 | Motorola, Inc. | Method and apparatus for vector processing |
US7257590B2 (en) * | 2001-08-29 | 2007-08-14 | Nokia Corporation | Method and system for classifying binary strings |
US7283538B2 (en) * | 2001-10-12 | 2007-10-16 | Vormetric, Inc. | Load balanced scalable network gateway processor architecture |
US7317730B1 (en) * | 2001-10-13 | 2008-01-08 | Greenfield Networks, Inc. | Queueing architecture and load balancing for parallel packet processing in communication networks |
US6941446B2 (en) | 2002-01-21 | 2005-09-06 | Analog Devices, Inc. | Single instruction multiple data array cell |
US7382782B1 (en) | 2002-04-12 | 2008-06-03 | Juniper Networks, Inc. | Packet spraying for load balancing across multiple packet processors |
US20030231627A1 (en) * | 2002-06-04 | 2003-12-18 | Rajesh John | Arbitration logic for assigning input packet to available thread of a multi-threaded multi-engine network processor |
US7200137B2 (en) * | 2002-07-29 | 2007-04-03 | Freescale Semiconductor, Inc. | On chip network that maximizes interconnect utilization between processing elements |
US8015567B2 (en) | 2002-10-08 | 2011-09-06 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for packet distribution at high line rate |
GB0226249D0 (en) * | 2002-11-11 | 2002-12-18 | Clearspeed Technology Ltd | Traffic handling system |
US7656799B2 (en) | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
US7620050B2 (en) | 2004-09-10 | 2009-11-17 | Canon Kabushiki Kaisha | Communication control device and communication control method |
US7787454B1 (en) | 2007-10-31 | 2010-08-31 | Gigamon Llc. | Creating and/or managing meta-data for data storage devices using a packet switch appliance |
JP5231926B2 (en) | 2008-10-06 | 2013-07-10 | キヤノン株式会社 | Information processing apparatus, control method therefor, and computer program |
US8493979B2 (en) * | 2008-12-30 | 2013-07-23 | Intel Corporation | Single instruction processing of network packets |
US8014295B2 (en) | 2009-07-14 | 2011-09-06 | Ixia | Parallel packet processor with session active checker |
-
2002
- 2002-02-14 GB GB0203633A patent/GB2374442B/en not_active Expired - Fee Related
- 2002-02-14 CN CNB028081242A patent/CN100367730C/en not_active Expired - Fee Related
- 2002-02-14 WO PCT/GB2002/000662 patent/WO2002065700A2/en active Application Filing
- 2002-02-14 GB GB0321186A patent/GB2390506B/en not_active Expired - Fee Related
- 2002-02-14 GB GB0319801A patent/GB2389689B/en not_active Expired - Fee Related
- 2002-02-14 CN CNA02808148XA patent/CN1613041A/en active Pending
- 2002-02-14 JP JP2002564890A patent/JP2004525449A/en active Pending
- 2002-02-14 GB GB0203632A patent/GB2377519B/en not_active Expired - Fee Related
- 2002-02-14 GB GB0203634A patent/GB2374443B/en not_active Expired - Fee Related
- 2002-02-14 US US10/074,019 patent/US20020161926A1/en not_active Abandoned
- 2002-02-14 US US10/468,168 patent/US7290162B2/en not_active Expired - Fee Related
- 2002-02-14 JP JP2002564715A patent/JP2004524617A/en active Pending
- 2002-02-14 WO PCT/GB2002/000668 patent/WO2002065259A1/en active Application Filing
- 2002-02-14 AU AU2002233500A patent/AU2002233500A1/en not_active Abandoned
- 2002-02-14 US US10/468,167 patent/US20040114609A1/en not_active Abandoned
- 2002-02-14 US US10/074,022 patent/US20020159466A1/en not_active Abandoned
- 2002-02-14 US US10/073,948 patent/US7856543B2/en not_active Expired - Fee Related
-
2005
- 2005-06-14 US US11/151,271 patent/US8200686B2/en not_active Expired - Fee Related
- 2005-06-14 US US11/151,292 patent/US20050242976A1/en not_active Abandoned
-
2007
- 2007-05-23 US US11/752,299 patent/US7818541B2/en not_active Expired - Fee Related
- 2007-05-23 US US11/752,300 patent/US7917727B2/en not_active Expired - Fee Related
-
2010
- 2010-12-10 US US12/965,673 patent/US8127112B2/en not_active Expired - Fee Related
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4145961A (en) * | 1976-06-23 | 1979-03-27 | Lolli & C., S.P.A. | Diffusers for air conditioning equipments |
USD259208S (en) * | 1979-04-23 | 1981-05-12 | Mccullough John R | Roof vent |
US4641571A (en) * | 1985-07-15 | 1987-02-10 | Enamel Products & Plating Co. | Turbo fan vent |
US5112679A (en) * | 1988-10-13 | 1992-05-12 | Fuji Photo Film Co., Ltd. | Magnetic disk |
US5398262A (en) * | 1991-12-27 | 1995-03-14 | Intel Corporation | Skew-free clock signal distribution network in a microprocessor of a computer system |
US5822779A (en) * | 1992-12-11 | 1998-10-13 | National Semiconductor Corporation | Microprocessor-based data processing apparatus that commences a next overlapping cycle when a ready signal is detected not to be active |
US6240524B1 (en) * | 1997-06-06 | 2001-05-29 | Nec Corporation | Semiconductor integrated circuit |
US5969559A (en) * | 1997-06-09 | 1999-10-19 | Schwartz; David M. | Method and apparatus for using a power grid for clock distribution in semiconductor integrated circuits |
US5828870A (en) * | 1997-06-30 | 1998-10-27 | Adaptec, Inc. | Method and apparatus for controlling clock skew in an integrated circuit |
US6218861B1 (en) * | 1997-07-08 | 2001-04-17 | Kabushiki Kaisha Toshiba | Functional block and semiconductor integrated circuit architected by a plurality of functional blocks in combination |
US6305001B1 (en) * | 1998-06-18 | 2001-10-16 | Lsi Logic Corporation | Clock distribution network planning and method therefor |
USD428484S (en) * | 1999-08-03 | 2000-07-18 | Zirk Todd A | Copper roof vent cover |
USD453960S1 (en) * | 2001-01-30 | 2002-02-26 | Molded Products Company | Shroud for a fan assembly |
USD471624S1 (en) * | 2001-03-20 | 2003-03-11 | Flettner Ventilator Limited | Ventilation rotor |
USD471971S1 (en) * | 2001-03-20 | 2003-03-18 | Flettner Ventilator Limited | Ventilation cover |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120815B2 (en) * | 2003-10-31 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | Clock circuitry on plural integrated circuits |
US20050097381A1 (en) * | 2003-10-31 | 2005-05-05 | Li Tsai | Clock circuitry on plural integrated circuits |
US7617409B2 (en) * | 2006-05-01 | 2009-11-10 | Arm Limited | System for checking clock-signal correspondence |
US20070255974A1 (en) * | 2006-05-01 | 2007-11-01 | Arm Limited | System for checking clock-signal correspondence |
US20070268053A1 (en) * | 2006-05-17 | 2007-11-22 | Freescale Semiconductor, Inc. | Delay configurable device and methods thereof |
US8390354B2 (en) | 2006-05-17 | 2013-03-05 | Freescale Semiconductor, Inc. | Delay configurable device and methods thereof |
US7516437B1 (en) * | 2006-07-20 | 2009-04-07 | Xilinx, Inc. | Skew-driven routing for networks |
WO2009134223A1 (en) * | 2008-04-30 | 2009-11-05 | Hewlett-Packard Development Company, L.P. | Intentionally skewed optical clock signal distribution |
US20110052204A1 (en) * | 2008-04-30 | 2011-03-03 | Nathan Binkert | Intentionally Skewed Optical Clock Signal Distribution |
GB2473759A (en) * | 2008-04-30 | 2011-03-23 | Hewlett Packard Development Co | Intentionally skewed optical clock signal distribution |
CN102077493A (en) * | 2008-04-30 | 2011-05-25 | 惠普开发有限公司 | Intentionally skewed optical clock signal distribution |
GB2473759B (en) * | 2008-04-30 | 2013-03-27 | Hewlett Packard Development Co | Intentionally skewed optical clock signal distribution |
US8543005B2 (en) | 2008-04-30 | 2013-09-24 | Hewlett-Packard Development Company, L.P. | Intentionally skewed optical clock signal distribution |
US9595308B1 (en) | 2016-03-31 | 2017-03-14 | Altera Corporation | Multiple-die synchronous insertion delay measurement circuit and methods |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7290162B2 (en) | Clock distribution system | |
US7546567B2 (en) | Method and apparatus for generating a variation-tolerant clock-tree for an integrated circuit chip | |
US7809971B2 (en) | Clock distribution circuit, semiconductor integrated circuit and method of designing clock distribution circuit | |
US5570045A (en) | Hierarchical clock distribution system and method | |
US7039891B2 (en) | Method of clock driven cell placement and clock tree synthesis for integrated circuit design | |
US5339253A (en) | Method and apparatus for making a skew-controlled signal distribution network | |
US6651230B2 (en) | Method for reducing design effect of wearout mechanisms on signal skew in integrated circuit design | |
US6336205B1 (en) | Method for designing semiconductor integrated circuit | |
US6622290B1 (en) | Timing verification method employing dynamic abstraction in core/shell partitioning | |
US6574781B1 (en) | Design methodology for inserting RAM clock delays | |
EP0980040B1 (en) | Pseudo lockstep data processing system | |
US7174475B2 (en) | Method and apparatus for distributing a self-synchronized clock to nodes on a chip | |
US6711089B2 (en) | Method and apparatus for performing signal synchronization | |
US6456676B1 (en) | Clock signal distribution and synchronization | |
US20020073389A1 (en) | Clock tuning circuit in chip design | |
US7181709B2 (en) | Clock delay adjusting method of semiconductor integrated circuit device and semiconductor integrated circuit device formed by the method | |
EP1442401A2 (en) | Method for reducing emi and ir-drop in digital synchronous circuits | |
US8843872B1 (en) | Automatic clock tree synthesis exceptions generation | |
US6819138B2 (en) | Dividing and distributing the drive strength of a single clock buffer | |
Yoshimi et al. | A delay adjustment method for asynchronous circuits with bundled-data implementation considering a latency constraint | |
CN115687197B (en) | Data receiving module, data receiving method, circuit, chip and related equipment | |
US6552590B2 (en) | Clocking scheme for ASIC | |
US7010072B2 (en) | Aligned clock forwarding scheme | |
JP3017038B2 (en) | Design method of semiconductor integrated circuit | |
JP3178127B2 (en) | Block layout method of semiconductor integrated circuit by automatic layout method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CLEARSPEED TECHNOLOGY LIMITED, UNITED KINGDOM Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SWARBRICK, IAN;WILLIAMS, DAVID;REEL/FRAME:015100/0556;SIGNING DATES FROM 20030911 TO 20030930 |
|
AS | Assignment |
Owner name: CLEARSPEED SOLUTIONS LIMITED, UNITED KINGDOM Free format text: CHANGE OF NAME;ASSIGNOR:CLEARSPEED TECHNOLOGY LIMITED;REEL/FRAME:015317/0994 Effective date: 20040701 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: CLEARSPEED TECHNOLOGY LIMITED,UNITED KINGDOM Free format text: CHANGE OF NAME;ASSIGNOR:CLEARSPEED TECHNOLOGY PLC;REEL/FRAME:024555/0672 Effective date: 20090729 Owner name: CLEARSPEED TECHNOLOGY LIMITED, UNITED KINGDOM Free format text: CHANGE OF NAME;ASSIGNOR:CLEARSPEED TECHNOLOGY PLC;REEL/FRAME:024555/0672 Effective date: 20090729 |
|
SULP | Surcharge for late payment | ||
AS | Assignment |
Owner name: RAMBUS INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CLEARSPEED TECHNOLOGY LTD;REEL/FRAME:024964/0861 Effective date: 20100818 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20191030 |