⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l2_fm_up.tcl

📁 基于IBM的NPU
💻 TCL
字号:
# Sample testcase generator script for layer-2 FM ingress MAC tree#proc l2_fm_up { testcase } {   set h0    [ $testcase find_memory h0 ]   set dram3 [ $testcase find_memory dram3 ]   set zbt   [ $testcase find_memory zbt ]puts ""puts "Create Ingress direct table"#------------------------------------------------------------------------#  Create and configure a full match ( FM ) tree for ingress #------------------------------------------------------------------------set fm [ $testcase create_tree 42 ]$fm configure                   -name fm_tree_up$fm configure                   -tree_type 0$fm configure                   -key_max_num_bits 48$fm configure                   -pscb_block fm_up_pscb_mem$fm configure                   -leaf_block fm_up_leaf_mem$fm configure                   -dt_block   fm_up_dt_mem$fm configure                   -leaf_num_user_bytes 8#------------------------------------------------------------------------# Insert keys#------------------------------------------------------------------------# control overhead is 5 bytes (40 bits)# key is 6 bytes (48 bits)# leaf data is 8 bytes (64 bits)# total is 19 bytes (152 bits)#              *******************  Mac addr ******************       Lid     TB TDMU PrSf$fm insert_key 000000000000000000000000000000000000000000000000 -data 0000000000000000$fm insert_key 000000000000000100010001000100010001000100010001 -data 0001010100000100$fm insert_key 000000000000001000100010001000100010001000100010 -data 0002020200000200$fm insert_key 000000000000001100110011001100110011001100110011 -data 0003030300000300$fm insert_key 000000000000010001000100010001000100010001000100 -data 0004040400000000$fm insert_key 000000000000010101010101010101010101010101010101 -data 0005050500000102$fm insert_key 000000000000011001100110011001100110011001100110 -data 0006060600000202$fm insert_key 000000000000011101110111011101110111011101110111 -data 0007070700000302$fm insert_key 000000000000100010001000100010001000100010001000 -data 0008080800000002$fm insert_key 000000000000100110011001100110011001100110011001 -data 0009090900000102$fm insert_key 000000000000101010101010101010101010101010101010 -data 0000101000000200$fm insert_key 000000000000101110111011101110111011101110111011 -data 0001111100000300$fm insert_key 000000000000110011001100110011001100110011001100 -data 0002121200000000$fm insert_key 000000000000110111011101110111011101110111011101 -data 0003131300000100$fm insert_key 000000000000111011101110111011101110111011101110 -data 0004141400000200$fm insert_key 000000000000111111111111111111111111111111111111 -data 0005151500000302$fm insert_key 000000000001000000000000000000000000000000000000 -data 0006161600000002$fm insert_key 000000000001000100010001000100010001000100010001 -data 0007171700000102$fm insert_key 000000000001001000100010001000100010001000100010 -data 0008181800000202$fm insert_key 000000000001001100110011001100110011001100110011 -data 0009191900000302$fm insert_key 000000000001010001000100010001000100010001000100 -data 0010202000000000$fm insert_key 000000000001010101010101010101010101010101010101 -data 0001212100000100$fm insert_key 000000000001011001100110011001100110011001100110 -data 0002222200000200$fm insert_key 000000000001011101110111011101110111011101110111 -data 0003232300000300$fm insert_key 000000000001100010001000100010001000100010001000 -data 0004242400000000$fm insert_key 000000000001100110011001100110011001100110011001 -data 0005252500000102$fm insert_key 000000000001101010101010101010101010101010101010 -data 0006262600000202$fm insert_key 000000000001101110111011101110111011101110111011 -data 0007272700000302$fm insert_key 000000000001110011001100110011001100110011001100 -data 0008282800000002$fm insert_key 000000000001110111011101110111011101110111011101 -data 0009292900000102$fm insert_key 000000000001111011101110111011101110111011101110 -data 0000303000000200$fm insert_key 000000000001111111111111111111111111111111111111 -data 0001313100000300$fm insert_key 000000000010000000000000000000000000000000000000 -data 0002323200000000$fm insert_key 000000000010000100010001000100010001000100010001 -data 0003333300000100$fm insert_key 000000000010001000100010001000100010001000100010 -data 0004343400000200$fm insert_key 000000000010001100110011001100110011001100110011 -data 0005353500000302$fm insert_key 000000000010010001000100010001000100010001000100 -data 0006363600000002$fm insert_key 000000000010010101010101010101010101010101010101 -data 0007373700000102$fm insert_key 000000000010011001100110011001100110011001100110 -data 0008383800000202$fm insert_key 000000000010011101110111011101110111011101110111 -data 0009393900000302$fm insert_key 000000000010100010001000100010001000100010001000 -data 0000404000000001#------------------------------------------------------------------------#  Check#------------------------------------------------------------------------puts "key 000EEEEEEEEE should go to 14: [ $fm find_key 000000000000111011101110111011101110111011101110 ]"#------------------------------------------------------------------------#  Allocate memory blocks#------------------------------------------------------------------------# sram H0 is 128 bits wide - need height of 2 to fit our 152 bits#$h0      allocate fm_up_leaf_mem  -size [ $fm cget -num_leaves ] -height 2 -width 1$dram3   allocate fm_up_dt_mem    -size [ $fm cget -dt_size ] $zbt     allocate fm_up_pscb_mem  -size [ expr 2 * [ $fm cget -num_pscbs ] ]}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -