Fix schematic clkmux bus for verilog netlist
diff --git a/ip/randsack/sch/collapsering.sch b/ip/randsack/sch/collapsering.sch
index 089a971..2550fff 100644
--- a/ip/randsack/sch/collapsering.sch
+++ b/ip/randsack/sch/collapsering.sch
@@ -198,93 +198,93 @@
N 1390 -1070 1410 -1070 { lab=TRIMB[23]}
N 1410 -1110 1410 -1070 { lab=TRIMB[23]}
N 1410 -1110 1420 -1110 { lab=TRIMB[23]}
-N 2080 -890 2100 -890 { lab=#net26}
-N 2100 -890 2100 -820 { lab=#net26}
-N 2100 -820 2100 -740 { lab=#net26}
-N 2340 -740 2400 -740 { lab=#net27}
-N 2140 -800 2160 -800 { lab=#net28}
-N 2140 -800 2140 -770 { lab=#net28}
-N 2140 -770 2360 -770 { lab=#net28}
-N 2360 -800 2360 -770 { lab=#net28}
-N 2340 -800 2360 -800 { lab=#net28}
-N 2140 -720 2160 -720 { lab=#net29}
-N 2140 -720 2140 -690 { lab=#net29}
-N 2140 -690 2360 -690 { lab=#net29}
-N 2360 -720 2360 -690 { lab=#net29}
-N 2340 -720 2360 -720 { lab=#net29}
-N 2100 -740 2160 -740 { lab=#net26}
-N 2100 -820 2160 -820 { lab=#net26}
-N 2380 -720 2400 -720 { lab=#net30}
-N 2380 -720 2380 -690 { lab=#net30}
-N 2380 -690 2600 -690 { lab=#net30}
-N 2600 -720 2600 -690 { lab=#net30}
-N 2580 -720 2600 -720 { lab=#net30}
-N 2100 -860 2740 -860 { lab=#net26}
-N 2340 -820 2740 -820 { lab=#net31}
-N 2580 -740 2640 -740 { lab=#net32}
-N 2640 -780 2640 -740 { lab=#net32}
-N 2640 -780 2740 -780 { lab=#net32}
-N 1970 -890 2000 -890 { lab=#net33}
-N 2340 -660 2400 -660 { lab=#net34}
-N 2140 -640 2160 -640 { lab=#net35}
-N 2140 -640 2140 -610 { lab=#net35}
-N 2140 -610 2360 -610 { lab=#net35}
-N 2360 -640 2360 -610 { lab=#net35}
-N 2340 -640 2360 -640 { lab=#net35}
-N 2380 -640 2400 -640 { lab=#net36}
-N 2380 -640 2380 -610 { lab=#net36}
-N 2380 -610 2600 -610 { lab=#net36}
-N 2600 -640 2600 -610 { lab=#net36}
-N 2580 -640 2600 -640 { lab=#net36}
-N 2580 -660 2640 -660 { lab=#net37}
-N 2620 -640 2640 -640 { lab=#net38}
-N 2620 -640 2620 -610 { lab=#net38}
-N 2620 -610 2840 -610 { lab=#net38}
-N 2840 -640 2840 -610 { lab=#net38}
-N 2820 -640 2840 -640 { lab=#net38}
-N 2740 -860 2940 -860 { lab=#net26}
-N 2750 -820 2940 -820 { lab=#net31}
-N 2740 -820 2750 -820 { lab=#net31}
-N 2740 -780 2940 -780 { lab=#net32}
-N 2820 -660 2860 -660 { lab=#net39}
-N 2860 -740 2860 -660 { lab=#net39}
-N 2860 -740 2940 -740 { lab=#net39}
-N 2100 -740 2100 -660 { lab=#net26}
-N 2100 -660 2160 -660 { lab=#net26}
-N 2940 -740 3010 -740 { lab=#net39}
-N 2940 -780 3010 -780 { lab=#net32}
-N 2940 -820 3010 -820 { lab=#net31}
-N 2940 -860 3010 -860 { lab=#net26}
+N 2080 -890 2100 -890 { lab=clk_ff0}
+N 2100 -890 2100 -820 { lab=clk_ff0}
+N 2100 -820 2100 -740 { lab=clk_ff0}
+N 2340 -740 2400 -740 { lab=#net26}
+N 2140 -800 2160 -800 { lab=#net27}
+N 2140 -800 2140 -770 { lab=#net27}
+N 2140 -770 2360 -770 { lab=#net27}
+N 2360 -800 2360 -770 { lab=#net27}
+N 2340 -800 2360 -800 { lab=#net27}
+N 2140 -720 2160 -720 { lab=#net28}
+N 2140 -720 2140 -690 { lab=#net28}
+N 2140 -690 2360 -690 { lab=#net28}
+N 2360 -720 2360 -690 { lab=#net28}
+N 2340 -720 2360 -720 { lab=#net28}
+N 2100 -740 2160 -740 { lab=clk_ff0}
+N 2100 -820 2160 -820 { lab=clk_ff0}
+N 2380 -720 2400 -720 { lab=#net29}
+N 2380 -720 2380 -690 { lab=#net29}
+N 2380 -690 2600 -690 { lab=#net29}
+N 2600 -720 2600 -690 { lab=#net29}
+N 2580 -720 2600 -720 { lab=#net29}
+N 2100 -860 2740 -860 { lab=clk_ff0}
+N 2340 -820 2740 -820 { lab=clk_ff1}
+N 2580 -740 2640 -740 { lab=clk_ff2}
+N 2640 -780 2640 -740 { lab=clk_ff2}
+N 2640 -780 2740 -780 { lab=clk_ff2}
+N 1970 -890 2000 -890 { lab=#net30}
+N 2340 -660 2400 -660 { lab=#net31}
+N 2140 -640 2160 -640 { lab=#net32}
+N 2140 -640 2140 -610 { lab=#net32}
+N 2140 -610 2360 -610 { lab=#net32}
+N 2360 -640 2360 -610 { lab=#net32}
+N 2340 -640 2360 -640 { lab=#net32}
+N 2380 -640 2400 -640 { lab=#net33}
+N 2380 -640 2380 -610 { lab=#net33}
+N 2380 -610 2600 -610 { lab=#net33}
+N 2600 -640 2600 -610 { lab=#net33}
+N 2580 -640 2600 -640 { lab=#net33}
+N 2580 -660 2640 -660 { lab=#net34}
+N 2620 -640 2640 -640 { lab=#net35}
+N 2620 -640 2620 -610 { lab=#net35}
+N 2620 -610 2840 -610 { lab=#net35}
+N 2840 -640 2840 -610 { lab=#net35}
+N 2820 -640 2840 -640 { lab=#net35}
+N 2740 -860 2940 -860 { lab=clk_ff0}
+N 2750 -820 2940 -820 { lab=clk_ff1}
+N 2740 -820 2750 -820 { lab=clk_ff1}
+N 2740 -780 2940 -780 { lab=clk_ff2}
+N 2820 -660 2860 -660 { lab=clk_ff3}
+N 2860 -740 2860 -660 { lab=clk_ff3}
+N 2860 -740 2940 -740 { lab=clk_ff3}
+N 2100 -740 2100 -660 { lab=clk_ff0}
+N 2100 -660 2160 -660 { lab=clk_ff0}
+N 2940 -740 3010 -740 { lab=clk_ff3}
+N 2940 -780 3010 -780 { lab=clk_ff2}
+N 2940 -820 3010 -820 { lab=clk_ff1}
+N 2940 -860 3010 -860 { lab=clk_ff0}
N 2990 -700 3010 -700 { lab=CLKMUX[0]}
N 2990 -670 3010 -670 { lab=CLKMUX[1]}
-N 1860 -910 1890 -910 { lab=#net40}
-N 1770 -870 1890 -870 { lab=#net41}
+N 1860 -910 1890 -910 { lab=#net36}
+N 1770 -870 1890 -870 { lab=#net37}
N 1870 -830 1890 -830 { lab=CLKMUX[2]}
N 110 -1690 120 -1690 { lab=START}
N 3200 -800 3230 -800 { lab=CLKBUFOUT}
-N 3090 -800 3120 -800 { lab=#net42}
-N 1720 -1530 1750 -1530 { lab=#net43}
+N 3090 -800 3120 -800 { lab=#net38}
+N 1720 -1530 1750 -1530 { lab=#net39}
N 1720 -1480 1730 -1480 { lab=TRIMA[24]}
N 1730 -1510 1730 -1480 { lab=TRIMA[24]}
N 1730 -1510 1750 -1510 { lab=TRIMA[24]}
N 1720 -1460 1740 -1460 { lab=TRIMA[25]}
N 1740 -1500 1740 -1460 { lab=TRIMA[25]}
N 1740 -1500 1750 -1500 { lab=TRIMA[25]}
-N 2050 -1530 2080 -1530 { lab=#net44}
+N 2050 -1530 2080 -1530 { lab=#net40}
N 2050 -1480 2060 -1480 { lab=TRIMA[26]}
N 2060 -1510 2060 -1480 { lab=TRIMA[26]}
N 2060 -1510 2080 -1510 { lab=TRIMA[26]}
N 2050 -1460 2070 -1460 { lab=TRIMA[27]}
N 2070 -1500 2070 -1460 { lab=TRIMA[27]}
N 2070 -1500 2080 -1500 { lab=TRIMA[27]}
-N 1720 -1140 1750 -1140 { lab=#net45}
+N 1720 -1140 1750 -1140 { lab=#net41}
N 1720 -1090 1730 -1090 { lab=TRIMB[24]}
N 1730 -1120 1730 -1090 { lab=TRIMB[24]}
N 1730 -1120 1750 -1120 { lab=TRIMB[24]}
N 1720 -1070 1740 -1070 { lab=TRIMB[25]}
N 1740 -1110 1740 -1070 { lab=TRIMB[25]}
N 1740 -1110 1750 -1110 { lab=TRIMB[25]}
-N 2050 -1140 2080 -1140 { lab=#net46}
+N 2050 -1140 2080 -1140 { lab=#net42}
N 2050 -1090 2060 -1090 { lab=TRIMB[26]}
N 2060 -1120 2060 -1090 { lab=TRIMB[26]}
N 2060 -1120 2080 -1120 { lab=TRIMB[26]}
@@ -390,12 +390,9 @@
C {sky130_stdcells/dfxbp_2.sym} 2250 -650 0 0 {name=x31 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ }
C {sky130_stdcells/dfxbp_2.sym} 2490 -650 0 0 {name=x32 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ }
C {sky130_stdcells/dfxbp_2.sym} 2730 -650 0 0 {name=x33 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ }
-C {devices/ipin.sym} 2990 -700 0 0 {name=p3 lab=CLKMUX[0]}
-C {devices/ipin.sym} 2990 -670 0 0 {name=p6 lab=CLKMUX[1]}
C {sky130_stdcells/mux2_2.sym} 1930 -890 0 0 {name=x34 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ }
C {sky130_stdcells/clkbuf_2.sym} 1820 -910 0 0 {name=x36 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ }
C {sky130_stdcells/clkbuf_2.sym} 1730 -870 0 0 {name=x37 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ }
-C {devices/ipin.sym} 1870 -830 0 0 {name=p7 lab=CLKMUX[2]}
C {sky130_stdcells/clkbuf_2.sym} 160 -1690 0 0 {name=x38 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ }
C {devices/lab_pin.sym} 1720 -1480 0 0 {name=l43 sig_type=std_logic lab=TRIMA[24]}
C {devices/lab_pin.sym} 1720 -1460 0 0 {name=l45 sig_type=std_logic lab=TRIMA[25]}
@@ -409,3 +406,11 @@
C {devices/lab_pin.sym} 2050 -1090 0 0 {name=l58 sig_type=std_logic lab=TRIMB[26]}
C {devices/lab_pin.sym} 2050 -1070 0 0 {name=l59 sig_type=std_logic lab=TRIMB[27]}
C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2230 -1140 0 0 {name=x42}
+C {devices/lab_wire.sym} 2980 -860 0 0 {name=l60 sig_type=std_logic lab=clk_ff0}
+C {devices/lab_wire.sym} 2980 -820 0 0 {name=l61 sig_type=std_logic lab=clk_ff1}
+C {devices/lab_wire.sym} 2980 -780 0 0 {name=l62 sig_type=std_logic lab=clk_ff2}
+C {devices/lab_wire.sym} 2980 -740 0 0 {name=l63 sig_type=std_logic lab=clk_ff3}
+C {devices/ipin.sym} 200 -1900 0 0 {name=p8 lab=CLKMUX[2:0]}
+C {devices/lab_pin.sym} 1870 -830 0 0 {name=l64 sig_type=std_logic lab=CLKMUX[2]}
+C {devices/lab_pin.sym} 2990 -700 0 0 {name=l65 sig_type=std_logic lab=CLKMUX[0]}
+C {devices/lab_pin.sym} 2990 -670 0 0 {name=l66 sig_type=std_logic lab=CLKMUX[1]}
diff --git a/ip/randsack/sch/collapsering.sym b/ip/randsack/sch/collapsering.sym
index b531984..e6fe4ed 100644
--- a/ip/randsack/sch/collapsering.sym
+++ b/ip/randsack/sch/collapsering.sym
@@ -1,36 +1,28 @@
-v {xschem version=3.0.0 file_version=1.2 }
+v {xschem version=3.0.0 file_version=1.2}
G {}
K {type=subcircuit
format="@name @pinlist @symname"
template="name=x1"
}
-V {}
-S {}
-E {}
-L 4 -130 -60 130 -60 {}
-L 4 -130 60 130 60 {}
-L 4 -130 -60 -130 60 {}
-L 4 130 -60 130 60 {}
-L 4 -150 -50 -130 -50 {}
-L 4 -150 -30 -130 -30 {}
-L 4 -150 -10 -130 -10 {}
-L 4 -150 10 -130 10 {}
-L 4 130 -50 150 -50 {}
-L 4 -150 30 -130 30 {}
-L 4 -150 50 -130 50 {}
-B 5 -152.5 -52.5 -147.5 -47.5 {name=TRIMA[27:0] dir=in }
-B 5 -152.5 -32.5 -147.5 -27.5 {name=TRIMB[27:0] dir=in }
-B 5 -152.5 -12.5 -147.5 -7.5 {name=START dir=in }
-B 5 -152.5 7.5 -147.5 12.5 {name=CLKMUX[2] dir=in }
-B 5 147.5 -52.5 152.5 -47.5 {name=CLKBUFOUT dir=out }
-B 5 -152.5 47.5 -147.5 52.5 {name=CLKMUX[0] dir=in }
-B 5 -152.5 27.5 -147.5 32.5 {name=CLKMUX[1] dir=in }
+
T {@symname} -72 -6 0 0 0.3 0.3 {}
-T {@name} 135 -72 0 0 0.2 0.2 {}
-T {TRIMA[27:0]} -125 -54 0 0 0.2 0.2 {}
-T {TRIMB[27:0]} -125 -34 0 0 0.2 0.2 {}
-T {START} -125 -14 0 0 0.2 0.2 {}
-T {CLKMUX[2]} -125 6 0 0 0.2 0.2 {}
-T {CLKBUFOUT} 125 -54 0 1 0.2 0.2 {}
-T {CLKMUX[0]} -125 46 0 0 0.2 0.2 {}
-T {CLKMUX[1]} -125 26 0 0 0.2 0.2 {}
+T {@name} 135 -52 0 0 0.2 0.2 {}
+L 4 -130 -40 130 -40 {}
+L 4 -130 40 130 40 {}
+L 4 -130 -40 -130 40 {}
+L 4 130 -40 130 40 {}
+B 5 -152.5 -32.5 -147.5 -27.5 {name=TRIMA[27:0] dir=in }
+L 4 -150 -30 -130 -30 {}
+T {TRIMA[27:0]} -125 -34 0 0 0.2 0.2 {}
+B 5 -152.5 -12.5 -147.5 -7.5 {name=TRIMB[27:0] dir=in }
+L 4 -150 -10 -130 -10 {}
+T {TRIMB[27:0]} -125 -14 0 0 0.2 0.2 {}
+B 5 -152.5 7.5 -147.5 12.5 {name=CLKMUX[2:0] dir=in }
+L 4 -150 10 -130 10 {}
+T {CLKMUX[2:0]} -125 6 0 0 0.2 0.2 {}
+B 5 -152.5 27.5 -147.5 32.5 {name=START dir=in }
+L 4 -150 30 -130 30 {}
+T {START} -125 26 0 0 0.2 0.2 {}
+B 5 147.5 -32.5 152.5 -27.5 {name=CLKBUFOUT dir=out }
+L 4 130 -30 150 -30 {}
+T {CLKBUFOUT} 125 -34 0 1 0.2 0.2 {}
diff --git a/ip/randsack/sch/collapsering_tb.sch b/ip/randsack/sch/collapsering_tb.sch
index cc351f4..8fdcacc 100644
--- a/ip/randsack/sch/collapsering_tb.sch
+++ b/ip/randsack/sch/collapsering_tb.sch
@@ -6,17 +6,12 @@
E {}
N 1130 -1000 1130 -970 { lab=VGND}
N 1130 -1410 1130 -1390 { lab=VPWR}
-N 1130 -1110 1130 -1060 { lab=start}
N 1130 -1330 1130 -1310 { lab=VGND}
N 1130 -1250 1130 -1230 { lab=GND}
N 1130 -1250 1140 -1250 { lab=GND}
N 1200 -1250 1210 -1250 { lab=VGND}
N 1210 -1250 1210 -1230 { lab=VGND}
-N 1130 -1110 1540 -1110 { lab=start}
-N 1480 -1050 1480 -1030 { lab=VPWR}
-N 1480 -1030 1510 -1030 { lab=VPWR}
-N 1510 -1090 1510 -1030 { lab=VPWR}
-N 1510 -1090 1540 -1090 { lab=VPWR}
+N 1480 -1000 1480 -980 { lab=VPWR}
N 1840 -1150 1910 -1150 { lab=clkout}
N 1400 -1150 1540 -1150 { lab=trima[27:0]}
N 1400 -1130 1540 -1130 { lab=trimb[27:0]}
@@ -27,13 +22,20 @@
N 1430 -1320 1540 -1320 { lab=trima[27:2]}
N 1430 -1390 1540 -1390 { lab=trima[1:0]}
N 1350 -1390 1370 -1390 { lab=VGND}
-N 1530 -1070 1540 -1070 { lab=VGND}
-N 1530 -1070 1530 -1030 { lab=VGND}
-N 1530 -1050 1540 -1050 { lab=VGND}
+N 1480 -960 1490 -960 { lab=VGND}
+N 1480 -960 1480 -920 { lab=VGND}
+N 1480 -940 1490 -940 { lab=VGND}
N 1310 -1300 1350 -1300 { lab=VPWR}
N 1310 -1310 1310 -1300 { lab=VPWR}
N 1350 -1300 1350 -1250 { lab=VPWR}
N 1350 -1390 1350 -1370 { lab=VGND}
+N 1130 -1090 1540 -1090 { lab=start}
+N 1130 -1090 1130 -1060 { lab=start}
+N 1400 -1110 1540 -1110 { lab=clkmux[2:0]}
+N 1480 -980 1490 -980 { lab=VPWR}
+N 1550 -980 1640 -980 { lab=clkmux[2]}
+N 1550 -960 1640 -960 { lab=clkmux[1]}
+N 1550 -940 1640 -940 { lab=clkmux[0]}
C {devices/vsource.sym} 1130 -1030 0 0 {name=V1 value="PULSE(0 1.8 100ns 1ns 1ns 9000ns 9000ns)"}
C {devices/code_shown.sym} 120 -360 0 0 {name=SPICE only_toplevel=false value="
.lib /home/harrison/workspace/sky130/sky130A/libs.tech/ngspice/sky130.lib.spice tt
@@ -55,9 +57,9 @@
C {devices/gnd.sym} 1130 -1230 0 0 {name=l21 lab=GND}
C {devices/gnd.sym} 1130 -1310 0 0 {name=l20 lab=VGND}
C {devices/title-2.sym} 0 -40 0 0 {name=l26 author="Harrison Pham" rev=1.0}
-C {devices/vdd.sym} 1480 -1050 0 0 {name=l1 lab=VPWR}
+C {devices/vdd.sym} 1480 -1000 0 0 {name=l1 lab=VPWR}
C {devices/lab_wire.sym} 1910 -1150 0 0 {name=l3 sig_type=std_logic lab=clkout}
-C {devices/lab_wire.sym} 1500 -1110 0 0 {name=l4 sig_type=std_logic lab=start}
+C {devices/lab_wire.sym} 1500 -1090 0 0 {name=l4 sig_type=std_logic lab=start}
C {devices/lab_wire.sym} 1500 -1150 0 0 {name=l5 sig_type=std_logic lab=trima[27:0]}
C {devices/lab_wire.sym} 1500 -1130 0 0 {name=l6 sig_type=std_logic lab=trimb[27:0]}
C {devices/lab_wire.sym} 1530 -1250 0 0 {name=l8 sig_type=std_logic lab=trimb[27:0]}
@@ -68,7 +70,14 @@
C {devices/connect.sym} 1400 -1320 1 0 {name=R2[27:2] m=1}
C {devices/connect.sym} 1400 -1250 1 0 {name=R3[27:0] m=1}
C {devices/gnd.sym} 1130 -970 0 0 {name=l2 lab=VGND}
-C {devices/gnd.sym} 1530 -1030 0 0 {name=l15 lab=VGND}
+C {devices/gnd.sym} 1480 -920 0 0 {name=l15 lab=VGND}
C {devices/gnd.sym} 1350 -1370 0 0 {name=l7 lab=VGND}
C {devices/vdd.sym} 1310 -1310 0 0 {name=l9 lab=VPWR}
-C {/home/harrison/workspace/randsack/ip/randsack/sch/collapsering.sym} 1690 -1100 0 0 {name=x1}
+C {/home/harrison/workspace/randsack/ip/randsack/sch/collapsering.sym} 1690 -1120 0 0 {name=x1}
+C {devices/lab_wire.sym} 1500 -1110 0 0 {name=l13 sig_type=std_logic lab=clkmux[2:0]}
+C {devices/lab_wire.sym} 1640 -980 0 0 {name=l16 sig_type=std_logic lab=clkmux[2]}
+C {devices/lab_wire.sym} 1640 -960 0 0 {name=l17 sig_type=std_logic lab=clkmux[1]}
+C {devices/lab_wire.sym} 1640 -940 0 0 {name=l18 sig_type=std_logic lab=clkmux[0]}
+C {devices/connect.sym} 1520 -980 1 0 {name=R1 m=1}
+C {devices/connect.sym} 1520 -960 1 0 {name=R2 m=1}
+C {devices/connect.sym} 1520 -940 1 0 {name=R3 m=1}