fix counting issue in ram bits

This commit is contained in:
2025-06-11 04:47:35 +00:00
parent c73de36c70
commit 61a451b82d

View File

@@ -77,7 +77,7 @@
"\t\t}\n", "\t\t}\n",
"\t\ttcam_bits += num_prefixes * prefix_width\n", "\t\ttcam_bits += num_prefixes * prefix_width\n",
"\n", "\n",
"\t\t# assume no pointer reuse for metadata storage\n", "\t\t# assume basic pointer reuse for metadata storage\n",
"\t\tram = {\n", "\t\tram = {\n",
"\t\t\t\"id\": f\"{layer}_meta\",\n", "\t\t\t\"id\": f\"{layer}_meta\",\n",
"\t\t\t\"step\": step,\n", "\t\t\t\"step\": step,\n",
@@ -86,7 +86,7 @@
"\t\t\t\"key_size\": math.ceil(math.log2(num_ranges)),\n", "\t\t\t\"key_size\": math.ceil(math.log2(num_ranges)),\n",
"\t\t\t\"data_size\": len(classes)\n", "\t\t\t\"data_size\": len(classes)\n",
"\t\t}\n", "\t\t}\n",
"\t\tram_bits += math.ceil(math.log2(num_ranges)) * len(classes)\n", "\t\tram_bits += num_ranges * len(classes)\n",
"\n", "\n",
"\t\trmt.append(tcam)\n", "\t\trmt.append(tcam)\n",
"\t\trmt.append(ram)\n", "\t\trmt.append(ram)\n",
@@ -118,7 +118,7 @@
"id mapping: \n", "id mapping: \n",
"[['dst_range', 'dst_meta'], ['src_range', 'src_meta'], ['protocl_range', 'protocl_meta'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]\n", "[['dst_range', 'dst_meta'], ['src_range', 'src_meta'], ['protocl_range', 'protocl_meta'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]\n",
"TCAM bits: 13312\n", "TCAM bits: 13312\n",
"RAM bits: 110\n" "RAM bits: 522\n"
] ]
} }
], ],
@@ -182,9 +182,7 @@
"\t\t\tmerge(prefix, prefixes)\n", "\t\t\tmerge(prefix, prefixes)\n",
"\t\telse:\n", "\t\telse:\n",
"\t\t\tprefixes.append(prefix)\n", "\t\t\tprefixes.append(prefix)\n",
"\treturn prefixes\n", "\treturn prefixes"
"\n",
"#convert_range(81, 1024, 16)"
] ]
}, },
{ {
@@ -234,7 +232,7 @@
"\t\t\t\"key_size\": math.ceil(math.log2(num_ranges)),\n", "\t\t\t\"key_size\": math.ceil(math.log2(num_ranges)),\n",
"\t\t\t\"data_size\": len(classes)\n", "\t\t\t\"data_size\": len(classes)\n",
"\t\t}\n", "\t\t}\n",
"\t\tram_bits += math.ceil(math.log2(num_ranges)) * len(classes)\n", "\t\tram_bits += num_ranges * len(classes)\n",
"\n", "\n",
"\t\trmt.append(tcam)\n", "\t\trmt.append(tcam)\n",
"\t\trmt.append(ram)\n", "\t\trmt.append(ram)\n",
@@ -265,8 +263,8 @@
"[1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n", "[1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
"id mapping: \n", "id mapping: \n",
"[['dst_range', 'dst_meta'], ['src_range', 'src_meta'], ['protocl_range', 'protocl_meta'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]\n", "[['dst_range', 'dst_meta'], ['src_range', 'src_meta'], ['protocl_range', 'protocl_meta'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]\n",
"TCAM bits: 3520\n", "TCAM bits: 3584\n",
"RAM bits: 110\n" "RAM bits: 522\n"
] ]
} }
], ],
@@ -339,7 +337,7 @@
"\t\t\t\"key_size\": math.ceil(math.log2(num_ranges)),\n", "\t\t\t\"key_size\": math.ceil(math.log2(num_ranges)),\n",
"\t\t\t\"data_size\": len(classes)\n", "\t\t\t\"data_size\": len(classes)\n",
"\t\t}\n", "\t\t}\n",
"\t\tram_bits += math.ceil(math.log2(num_ranges)) * len(classes)\n", "\t\tram_bits += num_ranges * len(classes)\n",
"\n", "\n",
"\t\trmt.append(tcam)\n", "\t\trmt.append(tcam)\n",
"\t\trmt.append(ram)\n", "\t\trmt.append(ram)\n",
@@ -371,7 +369,7 @@
"id mapping: \n", "id mapping: \n",
"[['dst_range', 'dst_meta'], ['src_range', 'src_meta'], ['protocl_range', 'protocl_meta'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]\n", "[['dst_range', 'dst_meta'], ['src_range', 'src_meta'], ['protocl_range', 'protocl_meta'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]\n",
"TCAM bits: 2120\n", "TCAM bits: 2120\n",
"RAM bits: 110\n" "RAM bits: 522\n"
] ]
} }
], ],