Network router integrated onto a silicon chip
First Claim
1. A network processing device, comprising:
- multiple channels each coupled to an associated network that transfers data packets having an associated network protocol, the multiple channels each independently transferring the data packets with the associated network;
an internal bus;
a CPU coupled to the internal bus that converts the data packets between each associated network protocol; and
a common DMAC coupled between each one of the multiple channels for routing the data packets between the multiple channels and the internal bus, the DMAC allocating programmable percentages of bandwidth on the internal bus to each of the multiple channels;
the multiple channels, central processing unit, internal bus and DMAC all integrated onto a single silicon chip.
0 Assignments
0 Petitions
Accused Products
Abstract
A router is integrated onto a single silicon chip and includes an internal bus that couples multiple data receive and transmit channels to a central processing unit. The channels each have an external interface for connecting to different LAN or WAN networks. The serial channels are convertible into one or more time division multiplexed (TDM) channels. A time slot assigner (TSA) assembles and disassembles data packets transferred in TDM formats, such as ISDN. The serial channels are used for separately processing data packets in each TDM time slot. The TSA is programmable to operate with different TDM formats. A single direct memory access controller (DMAC) is coupled to each serial channel and an Ethernet channel and conducts data transfers on the internal router bus through a common port. The DMAC uses a novel bus protocol that provides selectable bandwidth allocation for each channel. The router architecture includes different interface circuitry which is also integrated onto the silicon chip. The interface circuitry includes user definable input/output (I/O) pins with programmable pulse width detection. The user definable I/O provides synchronous and asynchronous interfacing to peripheral devices with different timing constraints. The interface circuitry also includes a DRAM controller having a programmable timing control circuit that operates with memory devices having different timing and memory block sizes.
121 Citations
10 Claims
-
1. A network processing device, comprising:
-
multiple channels each coupled to an associated network that transfers data packets having an associated network protocol, the multiple channels each independently transferring the data packets with the associated network;
an internal bus;
a CPU coupled to the internal bus that converts the data packets between each associated network protocol; and
a common DMAC coupled between each one of the multiple channels for routing the data packets between the multiple channels and the internal bus, the DMAC allocating programmable percentages of bandwidth on the internal bus to each of the multiple channels;
the multiple channels, central processing unit, internal bus and DMAC all integrated onto a single silicon chip. - View Dependent Claims (2, 3)
-
-
4. A network processing device, comprising:
-
multiple channels configured for receiving and transmitting data packets;
a serial line multiplexer coupled to the multiple channels for receiving and transmitting data packets in both a serial data stream and a time division multiplexed data stream; and
a time slot assigner coupled to the serial line multiplexer, the time slot assigner demultiplexing data packets from different time slots in the time division multiplexed data stream into different channels and multiplexing data packets from the multiple channels into a single time division multiplexed data stream;
wherein the time slot assigner includes;
a receive memory for holding receive configuration entries;
receive channel registers associated with each one of the multiple channels; and
a receive selector selectively loading data packets for different time slots in the time division multiplexed data stream into the receive channel registers according to the receive configuration entries in the receive memory. - View Dependent Claims (5, 6, 7)
a count field that identifies an amount of data transferred in the time slot;
a channel select field that identifies which of the channels to transfer the data packets; and
a last field identifying a last entry in the receive memory.
-
-
8. A network processing device, comprising:
-
multiple channels configured for receiving and transmitting data packets;
a serial line multiplexer coupled to the multiple channels for receiving and transmitting data packets in both a serial data stream and a time division multiplexed data stream; and
a time slot assigner coupled to the serial line multiplexer, the time slot assigner demultiplexing data packets from different time slots in the time division multiplexed data stream into different serial channels and multiplexing data packets from the multiple serial channels into a single time division multiplexed data stream;
wherein the time slot assigner circuit includes;
a transmit memory for storing transmit configuration entries;
transmit registers associated with each one of the multiple channels;
a transmit selector selectively outputting the data packets from the transmit registers according to the transmit configuration entries in the transmit memory; and
a transmit multiplexer multiplexing the outputs from the transmit registers into different time slots of the time division multiplexed data stream according to the transmit configuration entries in the transmit memory. - View Dependent Claims (9, 10)
-
Specification