SCD: TCAM Library - PowerPoint PPT Presentation

1 / 6
About This Presentation
Title:

SCD: TCAM Library

Description:

Each NPU (A/B) has own LA-1 interface. SPP version 1 and 2 do ... typedef multimap string, valTable confTable; Internal state: next database id, starts at 0. ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 7
Provided by: fredk5
Category:
Tags: scd | tcam | library | multimap

less

Transcript and Presenter's Notes

Title: SCD: TCAM Library


1
SCD TCAM Library
  • Fred Kuhns
  • fredk_at_arl.wustl.edu
  • Applied Research Laboratory
  • Washington University in St. Louis

2
Assumptions, Constants
  • TCAM located on SRAM0 (SRAM, channel ID 0)
  • Base address 0x80000000 Select 0 and burst size
    1.
  • Each NPU (A/B) has own LA-1 interface
  • SPP version 1 and 2 do not use the second LA-1
    interface
  • set IsPort1Used to 0 (i.e. false)
  • NPUA must perform initial configuration
  • Both NPUA/B can use LA-1 interface for lookups
  • All TCAM control implemented on XScale A
  • its not clear that we can use the IDT libraries
    to control from both NPUA and NPUB.
  • All databases are IDT type exact match.
  • Maximum of 16 databases
  • Must start on segment boundary
  • User specified DB entry widths
  • Max 576-bits Min 32-bitsAllowed sizes n32,
    n in (1, 18) 36 74 and 144.
  • Actual Core sizes 36, 72, 144, 288 and 576 bits
  • Segment size 8K x 72-bit
  • 256K x 72-bit core entries
  • Database must start on a segment boundary.
  • Max segments 32

3
Search Machine Class
  • Class SearchMachine ...
  • May use callbacks with interrupt handlers for ARP
    aging.
  • Constructor accepts a set of key value pairs
    specify the configurable parameters.
  • typedef multimapltstring, valTablegt confTable
  • Internal state
  • next database id, starts at 0.
  • segment allocation state (for the 32 available
    segments) Just need current address of
    available block.
  • associated memory allocation state Just need
    current address of available block.
  • current set of database objects (stl set object).
  • Operations The Database object is of type
    HandleltT,Pgt with the RefCntPolicy (reference
    counted smart pointer). Or can use pointers by
    then the SearchMachine class owns the DB object
    and is the only one allowed to destroy it.
  • typedef handleltDatabase,RefCntPolicygt DB
  • DB create_database(key_bits, res_bits, max_cnt)
  • void destroy_database(DB)
  • get_dbs() // returns an iterable object, say an
    stl set.

4
Configuring a DataBase
  • class DataBase ...
  • The user is expected to keep track of entry
    indices.
  • State
  • id_ // returns ID assigned by SearchMachine
    class
  • handle_ // assigned by IDT software when DB is
    created
  • key_width() // in bits
  • core_width() // in bits
  • result_width() // in bits
  • entry_count() // max number of entries
  • core_start_addr_
  • assoc_data_addr_
  • Operations
  • fltr keyN maskN resultM
  • write_fltr(index, fltr)
  • update_result(index,result)
  • fltr get_fltr(key) fltr get_fltr(index)
  • result lookup_fltr(key)
  • rem_fltr(fid) rem_fltr(key)

5
Configuration File
  • SearchMachine
  • useLAPort1 0
  • database
  • name name_db1
  • id num_db1
  • numEntries X
  • keyWidth W bits
  • resultWidth Y bits
  • database
  • ...

6
Substrate Configuration tables on NPE
Search machine
Write a Comment
User Comments (0)
About PowerShow.com