MUAA Routing CoProcessor (RCP) Family
Instruction Set Descriptions
14
Rev. 3
INSTRUCTION SET DESCRIPTIONS
Mnemonic: NOOP
Binary Op-Code: 0 CLKS: 3
Function:
No operation.
Mnemonic: load<DIN>
Binary Op-Code: 1 CLKS: 1
Function:
Load a word of the DIN data, starting with the
least significant word. This instruction is applied to all
words loaded into the DIN port except the last word. The
last word is loaded with the Op-Code of the operation to
be performed. Refer to the Loading and Unloading
section.
Mnemonic: insert<DIN>
Binary Op-Code: 2 CLKS: 4
Function:
Write DIN into the CAM/RAM. If data exists
in the CAM partition already, the RAM partition will be
overwritten with the new RAM partition data. The entry
will be marked as permanent. The address index may be
read from the output ports. See Note 1 regarding write
exception.
Mnemonic: search<DIN>
Binary Op-Code: 3 CLKS: 3
Function:
Search for data in the CAM partition of DIN.
If data is found the match flag is asserted and RAM data
will appear at DOUT. The address index and flags may
also be read.
Mnemonic: searcha<DIN>
Binary Op-Code: 4 CLKS: 4
Function:
Search for data in the CAM partition of DIN.
If data is found the match flag is asserted and RAM data
will appear at DOUT and the age of the entry is updated.
The address index and flags may also be read.
Mnemonic: learn<DIN>
Binary Op-Code: 5 CLKS: 4
Function:
Search for data in the CAM partition of DIN.
If data is found, the match flag is asserted and the RAM
partition written. The address index may be read. Update
the age. If data is not found, write the CAM and RAM
partitions to the next free address. The address index may
be read. See Note 1 regarding write exception.
Mnemonic: delete<DIN>
Binary Op-Code: 6 CLKS: 3
Function:
Search for data on the CAM partition of DIN.
If data is found delete the data. The address index may be
read.
Mnemonic: age
Binary Op-Code: 7 CLKS: 3
Function:
If the aged virtual queue is disabled: This
instruction will remove all entries whose life has expired
and are not marked as permanent. Removed entries will
not participate in future searches. If the aged virtual queue
is enabled: This instruction will move all entries whose
life has expired to the aged virtual queue. If a learn
instruction matches the CAM partition of an entry in the
aged virtual queue, the entry is moved to the learned
virtual queue and the new RAM data written.
Mnemonic: clear
Binary Op-Code: 8 CLKS: 3
Function:
Reset array to empty.
Mnemonic: clear LQUEUE
Binary Op-Code: 9 CLKS: 3
Function:
Delete the contents of the learned virtual
queue. The entry will not generate a match on a SEARCH
or SEARCHA operation.
Mnemonic: clear AQUEUE
Binary Op-Code: 10 CLKS: 3
Function:
Delete the contents of the aged virtual queue,
if enabled.
Mnemonic: read LQUEUE
Binary Op-Code: 11 CLKS: 3
Function:
Read the next learned queue entry. Entries are
returned in internal priority order, lowest address first, not
in the order they were written. The address index may be
read. Note that entries do not have to be read from the
LQUEUE if deemed unnecessary. The device treats
learned entries as if they are valid entries.
Mnemonic: read AQUEUE
Binary Op-Code: 12 CLKS: 4
Function:
This instruction is available only if the
AQUEUE is enabled. Read the next aged queue entry.
Entries are returned in internal priority order, lowest
address first, not in the order they were written. The
address index may be read.
Notes:
1.
Due to the pipelined nature of the device, it is possible for a write
cycle to be pending (learn or insert) when the device is full. A write
exception interrupt will indicate when this occurs if enabled. See
Interrupt section.
There is one CLK of latency to start the pipe on the synchronous
port. The number of CLKs per instruction assumes the pipe is kept
full and indicates throughput.
2.