cell statistic and pinmux config clean up
diff --git a/README.md b/README.md
index edea902..2953916 100644
--- a/README.md
+++ b/README.md
@@ -349,18 +349,16 @@
# SOC Size
-| Block | Total Cell | Seq | Combo |
-| ------ | --------- | -------- | ----- |
-| RISC | 20982 | 3164 | 17818 |
-| PINMUX | 5693 | 1022 | 4671 |
-| SPI | 7120 | 1281 | 5839 |
-| UART_I2C_USB_SPI | 11196 | 2448 | 8748 |
-| WB_HOST | 2796 | 588 | 2208 |
-| WB_INTC | 1878 | 108 | 1770 |
-| SAR_ADC | 118 | 18 | 100 |
-| MBIST | 3125 | 543 | 2582 |
-| | | | |
-| TOTAL | 52908 | 9172 | 43736 |
+| Block | Total Cell | Combo | Seq |
+| ------ | --------- | ----- | -------- |
+| RISC | 46285 | 40434 | 5851 |
+| QSPI | 8662 | 7157 | 1505 |
+| UART_I2C_USB_SPI | 22813 | 13061 | 2865 |
+| WB_HOST | 5800 | 4701 | 1099 |
+| WB_INTC | 11477 | 10081 | 1396 |
+| PINMUX | 6740 | 5568 | 1172 |
+| | | | |
+| TOTAL | 94890 | 81002 | 13888 |
diff --git a/openlane/pinmux/config.tcl b/openlane/pinmux/config.tcl
index f844215..491ef7d 100755
--- a/openlane/pinmux/config.tcl
+++ b/openlane/pinmux/config.tcl
@@ -85,9 +85,6 @@
set ::env(PL_TARGET_DENSITY) "0.30"
set ::env(CELL_PAD) "4"
-set ::env(FP_IO_VEXTEND) {6}
-set ::env(FP_IO_HEXTEND) {6}
-
# helps in anteena fix
set ::env(USE_ARC_ANTENNA_CHECK) "0"
diff --git a/sta/scripts/statistic.tcl b/sta/scripts/statistic.tcl
new file mode 100644
index 0000000..343a4e1
--- /dev/null
+++ b/sta/scripts/statistic.tcl
@@ -0,0 +1,86 @@
+########################################
+# Get the Cell wise statistic
+#########################################
+
+proc get_statistic {design_name } {
+
+ #puts "Analysising the Statistic ..."
+
+ #To get all the lib cells and initialise the counter
+ array set libArray {}
+ set mylist [get_lib_cells *]
+ set lib_cnt 0
+ foreach elem $mylist {
+ #puts [get_full_name $elem]
+ #set libArray($lib_cnt,0) [get_full_name $elem]
+ set libArray($lib_cnt) 0
+ #puts "$libArray($lib_cnt)"
+ set lib_cnt [expr {$lib_cnt + 1}]
+ }
+
+
+ #################################################
+ # Accumlate the lib count
+ ################################################
+ set mylist1 [get_cells]
+ foreach elem1 $mylist1 {
+ set Inst [get_full_name $elem1]
+ #puts "Searching: ..:: $Inst .."
+ if ([string match "*ANTENNA*" $Inst]) {
+ continue
+ }
+ if ([string match "*FILLER*" $Inst]) {
+ continue
+ }
+ if ([string match "*TAP_*" $Inst]) {
+ continue
+ }
+ set lib [get_lib_cells -of_objects [get_cells $Inst]]
+ set lib_name [get_full_name $lib]
+ #puts "Searching: ..:: $lib_name .."
+
+ if ([string match "*decap*" $lib_name]) {
+ continue
+ }
+ set lib_cnt 0
+ set mylist2 [get_lib_cells *]
+ foreach elem2 $mylist2 {
+ set ref_lib_name [get_full_name $elem2]
+ if { [expr {$ref_lib_name eq $lib_name}] == 1 } {
+ set c_lib_cnt $libArray($lib_cnt)
+ set libArray($lib_cnt) [expr {$c_lib_cnt + 1}]
+ #puts "Lib Matched : $Inst: $lib_name :: $ref_lib_name :: cnt: $libArray($lib_cnt)"
+ break
+ }
+ set lib_cnt [expr {$lib_cnt + 1}]
+ }
+ }
+
+
+ ##################################################
+ ## lib count > 0
+ #################################################
+ set mylist [get_lib_cells *]
+ set lib_cnt 0
+ set seq_cnt 0
+ set comb_cnt 0
+ set total_cnt 0
+ foreach elem $mylist {
+ set ref_lib_name [get_full_name $elem]
+ if {$libArray($lib_cnt) > 0} {
+ #puts "Lib Name: $ref_lib_name :: Count: $libArray($lib_cnt)"
+ }
+ # Check cell is Sequential OR Combo
+ if ([string match "*__df*" $ref_lib_name]) {
+ set seq_cnt [expr {$seq_cnt + $libArray($lib_cnt) }]
+ } else {
+ set comb_cnt [expr {$comb_cnt + $libArray($lib_cnt) }]
+ }
+
+ set total_cnt [expr {$total_cnt + $libArray($lib_cnt) }]
+ set lib_cnt [expr {$lib_cnt + 1}]
+ }
+ puts "$design_name :: $total_cnt :: $comb_cnt :: $seq_cnt"
+ return "$total_cnt $comb_cnt $seq_cnt"
+}
+