14 stage collapsing ring
diff --git a/ip/randsack/sch/collapsering.sch b/ip/randsack/sch/collapsering.sch index 3540cb0..089a971 100644 --- a/ip/randsack/sch/collapsering.sch +++ b/ip/randsack/sch/collapsering.sch
@@ -4,284 +4,408 @@ V {} S {} E {} -N 500 -1400 530 -1400 { lab=#net1} -N 340 -1420 380 -1420 { lab=outb} -N 340 -1530 340 -1420 { lab=outb} -N 340 -1530 2620 -1530 { lab=outb} -N 830 -1400 860 -1400 { lab=#net2} -N 1160 -1400 1190 -1400 { lab=#net3} -N 1490 -1400 1520 -1400 { lab=#net4} -N 1820 -1400 1850 -1400 { lab=#net5} -N 2150 -1400 2180 -1400 { lab=#net6} -N 2480 -1400 2510 -1400 { lab=#net7} -N 2810 -1400 2840 -1400 { lab=#net8} -N 830 -1000 860 -1000 { lab=#net9} -N 1160 -1000 1190 -1000 { lab=#net10} -N 1490 -1000 1520 -1000 { lab=#net11} -N 1820 -1000 1850 -1000 { lab=#net12} -N 2150 -1000 2180 -1000 { lab=#net13} -N 2480 -1000 2510 -1000 { lab=#net14} -N 2810 -1000 2840 -1000 { lab=#net15} -N 2620 -1530 3220 -1530 { lab=outb} -N 3220 -1530 3220 -1260 { lab=outb} -N 500 -1000 530 -1000 { lab=#net16} -N 830 -1220 860 -1220 { lab=#net17} -N 1160 -1220 1190 -1220 { lab=#net18} -N 1490 -1220 1520 -1220 { lab=#net19} -N 830 -830 860 -830 { lab=#net20} -N 1160 -830 1190 -830 { lab=#net21} -N 1490 -830 1520 -830 { lab=#net22} -N 500 -830 530 -830 { lab=#net23} -N 3160 -1400 3160 -1290 { lab=#net24} -N 3140 -1400 3160 -1400 { lab=#net24} -N 520 -1220 530 -1220 { lab=#net24} -N 500 -1290 3160 -1290 { lab=#net24} -N 500 -1290 500 -1220 { lab=#net24} -N 500 -1220 520 -1220 { lab=#net24} -N 500 -890 500 -830 { lab=#net23} -N 500 -900 500 -890 { lab=#net23} -N 500 -900 3160 -900 { lab=#net23} -N 3160 -1000 3160 -910 { lab=#net23} -N 3160 -910 3160 -900 { lab=#net23} -N 3140 -1000 3160 -1000 { lab=#net23} -N 3140 -830 3220 -830 { lab=outb} -N 3220 -1260 3220 -830 { lab=outb} -N 340 -980 380 -980 { lab=outa} -N 340 -980 340 -730 { lab=outa} -N 340 -730 3270 -730 { lab=outa} -N 3270 -1220 3270 -730 { lab=outa} -N 3140 -1220 3270 -1220 { lab=outa} -N 960 -580 1010 -580 { lab=CLKBUFOUT} -N 1820 -1220 3140 -1220 { lab=outa} -N 1820 -830 3140 -830 { lab=outb} -N 300 -1380 380 -1380 { lab=START} -N 340 -1020 380 -1020 { lab=START} -N 340 -1380 340 -1020 { lab=START} -N 500 -1350 510 -1350 { lab=TRIMA[0]} -N 510 -1380 510 -1350 { lab=TRIMA[0]} -N 510 -1380 530 -1380 { lab=TRIMA[0]} -N 500 -1330 520 -1330 { lab=TRIMA[1]} -N 520 -1370 520 -1330 { lab=TRIMA[1]} -N 520 -1370 530 -1370 { lab=TRIMA[1]} -N 830 -1350 840 -1350 { lab=TRIMA[2]} -N 840 -1380 840 -1350 { lab=TRIMA[2]} -N 840 -1380 860 -1380 { lab=TRIMA[2]} -N 830 -1330 850 -1330 { lab=TRIMA[3]} -N 850 -1370 850 -1330 { lab=TRIMA[3]} -N 850 -1370 860 -1370 { lab=TRIMA[3]} -N 1160 -1350 1170 -1350 { lab=TRIMA[4]} -N 1170 -1380 1170 -1350 { lab=TRIMA[4]} -N 1170 -1380 1190 -1380 { lab=TRIMA[4]} -N 1160 -1330 1180 -1330 { lab=TRIMA[5]} -N 1180 -1370 1180 -1330 { lab=TRIMA[5]} -N 1180 -1370 1190 -1370 { lab=TRIMA[5]} -N 1490 -1350 1500 -1350 { lab=TRIMA[6]} -N 1500 -1380 1500 -1350 { lab=TRIMA[6]} -N 1500 -1380 1520 -1380 { lab=TRIMA[6]} -N 1490 -1330 1510 -1330 { lab=TRIMA[7]} -N 1510 -1370 1510 -1330 { lab=TRIMA[7]} -N 1510 -1370 1520 -1370 { lab=TRIMA[7]} -N 1820 -1350 1830 -1350 { lab=TRIMA[8]} -N 1830 -1380 1830 -1350 { lab=TRIMA[8]} -N 1830 -1380 1850 -1380 { lab=TRIMA[8]} -N 1820 -1330 1840 -1330 { lab=TRIMA[9]} -N 1840 -1370 1840 -1330 { lab=TRIMA[9]} -N 1840 -1370 1850 -1370 { lab=TRIMA[9]} -N 2150 -1350 2160 -1350 { lab=TRIMA[10]} -N 2160 -1380 2160 -1350 { lab=TRIMA[10]} -N 2160 -1380 2180 -1380 { lab=TRIMA[10]} -N 2150 -1330 2170 -1330 { lab=TRIMA[11]} -N 2170 -1370 2170 -1330 { lab=TRIMA[11]} -N 2170 -1370 2180 -1370 { lab=TRIMA[11]} -N 2480 -1350 2490 -1350 { lab=TRIMA[12]} -N 2490 -1380 2490 -1350 { lab=TRIMA[12]} -N 2490 -1380 2510 -1380 { lab=TRIMA[12]} -N 2480 -1330 2500 -1330 { lab=TRIMA[13]} -N 2500 -1370 2500 -1330 { lab=TRIMA[13]} -N 2500 -1370 2510 -1370 { lab=TRIMA[13]} -N 2810 -1350 2820 -1350 { lab=TRIMA[14]} -N 2820 -1380 2820 -1350 { lab=TRIMA[14]} -N 2820 -1380 2840 -1380 { lab=TRIMA[14]} -N 2810 -1330 2830 -1330 { lab=TRIMA[15]} -N 2830 -1370 2830 -1330 { lab=TRIMA[15]} -N 2830 -1370 2840 -1370 { lab=TRIMA[15]} -N 500 -1170 510 -1170 { lab=TRIMA[16]} -N 510 -1200 510 -1170 { lab=TRIMA[16]} -N 510 -1200 530 -1200 { lab=TRIMA[16]} -N 500 -1150 520 -1150 { lab=TRIMA[17]} -N 520 -1190 520 -1150 { lab=TRIMA[17]} -N 520 -1190 530 -1190 { lab=TRIMA[17]} -N 830 -1170 840 -1170 { lab=TRIMA[18]} -N 840 -1200 840 -1170 { lab=TRIMA[18]} -N 840 -1200 860 -1200 { lab=TRIMA[18]} -N 830 -1150 850 -1150 { lab=TRIMA[19]} -N 850 -1190 850 -1150 { lab=TRIMA[19]} -N 850 -1190 860 -1190 { lab=TRIMA[19]} -N 1160 -1170 1170 -1170 { lab=TRIMA[20]} -N 1170 -1200 1170 -1170 { lab=TRIMA[20]} -N 1170 -1200 1190 -1200 { lab=TRIMA[20]} -N 1160 -1150 1180 -1150 { lab=TRIMA[21]} -N 1180 -1190 1180 -1150 { lab=TRIMA[21]} -N 1180 -1190 1190 -1190 { lab=TRIMA[21]} -N 1490 -1170 1500 -1170 { lab=TRIMA[22]} -N 1500 -1200 1500 -1170 { lab=TRIMA[22]} -N 1500 -1200 1520 -1200 { lab=TRIMA[22]} -N 1490 -1150 1510 -1150 { lab=TRIMA[23]} -N 1510 -1190 1510 -1150 { lab=TRIMA[23]} -N 1510 -1190 1520 -1190 { lab=TRIMA[23]} -N 500 -950 510 -950 { lab=TRIMB[0]} -N 510 -980 510 -950 { lab=TRIMB[0]} -N 510 -980 530 -980 { lab=TRIMB[0]} -N 500 -930 520 -930 { lab=TRIMB[1]} -N 520 -970 520 -930 { lab=TRIMB[1]} -N 520 -970 530 -970 { lab=TRIMB[1]} -N 830 -950 840 -950 { lab=TRIMB[2]} -N 840 -980 840 -950 { lab=TRIMB[2]} -N 840 -980 860 -980 { lab=TRIMB[2]} -N 830 -930 850 -930 { lab=TRIMB[3]} -N 850 -970 850 -930 { lab=TRIMB[3]} -N 850 -970 860 -970 { lab=TRIMB[3]} -N 1160 -950 1170 -950 { lab=TRIMB[4]} -N 1170 -980 1170 -950 { lab=TRIMB[4]} -N 1170 -980 1190 -980 { lab=TRIMB[4]} -N 1160 -930 1180 -930 { lab=TRIMB[5]} -N 1180 -970 1180 -930 { lab=TRIMB[5]} -N 1180 -970 1190 -970 { lab=TRIMB[5]} -N 1490 -950 1500 -950 { lab=TRIMB[6]} -N 1500 -980 1500 -950 { lab=TRIMB[6]} -N 1500 -980 1520 -980 { lab=TRIMB[6]} -N 1490 -930 1510 -930 { lab=TRIMB[7]} -N 1510 -970 1510 -930 { lab=TRIMB[7]} -N 1510 -970 1520 -970 { lab=TRIMB[7]} -N 1820 -950 1830 -950 { lab=TRIMB[8]} -N 1830 -980 1830 -950 { lab=TRIMB[8]} -N 1830 -980 1850 -980 { lab=TRIMB[8]} -N 1820 -930 1840 -930 { lab=TRIMB[9]} -N 1840 -970 1840 -930 { lab=TRIMB[9]} -N 1840 -970 1850 -970 { lab=TRIMB[9]} -N 2150 -950 2160 -950 { lab=TRIMB[10]} -N 2160 -980 2160 -950 { lab=TRIMB[10]} -N 2160 -980 2180 -980 { lab=TRIMB[10]} -N 2150 -930 2170 -930 { lab=TRIMB[11]} -N 2170 -970 2170 -930 { lab=TRIMB[11]} -N 2170 -970 2180 -970 { lab=TRIMB[11]} -N 2480 -950 2490 -950 { lab=TRIMB[12]} -N 2490 -980 2490 -950 { lab=TRIMB[12]} -N 2490 -980 2510 -980 { lab=TRIMB[12]} -N 2480 -930 2500 -930 { lab=TRIMB[13]} -N 2500 -970 2500 -930 { lab=TRIMB[13]} -N 2500 -970 2510 -970 { lab=TRIMB[13]} -N 2810 -950 2820 -950 { lab=TRIMB[14]} -N 2820 -980 2820 -950 { lab=TRIMB[14]} -N 2820 -980 2840 -980 { lab=TRIMB[14]} -N 2810 -930 2830 -930 { lab=TRIMB[15]} -N 2830 -970 2830 -930 { lab=TRIMB[15]} -N 2830 -970 2840 -970 { lab=TRIMB[15]} -N 500 -780 510 -780 { lab=TRIMB[16]} -N 510 -810 510 -780 { lab=TRIMB[16]} -N 510 -810 530 -810 { lab=TRIMB[16]} -N 500 -760 520 -760 { lab=TRIMB[17]} -N 520 -800 520 -760 { lab=TRIMB[17]} -N 520 -800 530 -800 { lab=TRIMB[17]} -N 830 -780 840 -780 { lab=TRIMB[18]} -N 840 -810 840 -780 { lab=TRIMB[18]} -N 840 -810 860 -810 { lab=TRIMB[18]} -N 830 -760 850 -760 { lab=TRIMB[19]} -N 850 -800 850 -760 { lab=TRIMB[19]} -N 850 -800 860 -800 { lab=TRIMB[19]} -N 1160 -780 1170 -780 { lab=TRIMB[20]} -N 1170 -810 1170 -780 { lab=TRIMB[20]} -N 1170 -810 1190 -810 { lab=TRIMB[20]} -N 1160 -760 1180 -760 { lab=TRIMB[21]} -N 1180 -800 1180 -760 { lab=TRIMB[21]} -N 1180 -800 1190 -800 { lab=TRIMB[21]} -N 1490 -780 1500 -780 { lab=TRIMB[22]} -N 1500 -810 1500 -780 { lab=TRIMB[22]} -N 1500 -810 1520 -810 { lab=TRIMB[22]} -N 1490 -760 1510 -760 { lab=TRIMB[23]} -N 1510 -800 1510 -760 { lab=TRIMB[23]} -N 1510 -800 1520 -800 { lab=TRIMB[23]} -N 810 -580 880 -580 {} -N 810 -730 810 -580 {} -C {sky130_stdcells/nand2_4.sym} 440 -1400 0 0 {name=x21 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } -C {sky130_stdcells/nand2_4.sym} 440 -1000 0 0 {name=x47 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } +N 400 -1710 430 -1710 { lab=#net1} +N 240 -1730 280 -1730 { lab=outb} +N 240 -1840 240 -1730 { lab=outb} +N 240 -1840 2520 -1840 { lab=outb} +N 730 -1710 760 -1710 { lab=#net2} +N 1060 -1710 1090 -1710 { lab=#net3} +N 1390 -1710 1420 -1710 { lab=#net4} +N 1720 -1710 1750 -1710 { lab=#net5} +N 2050 -1710 2080 -1710 { lab=#net6} +N 2380 -1710 2410 -1710 { lab=#net7} +N 2710 -1710 2740 -1710 { lab=#net8} +N 730 -1310 760 -1310 { lab=#net9} +N 1060 -1310 1090 -1310 { lab=#net10} +N 1390 -1310 1420 -1310 { lab=#net11} +N 1720 -1310 1750 -1310 { lab=#net12} +N 2050 -1310 2080 -1310 { lab=#net13} +N 2380 -1310 2410 -1310 { lab=#net14} +N 2710 -1310 2740 -1310 { lab=#net15} +N 2520 -1840 3120 -1840 { lab=outb} +N 3120 -1840 3120 -1570 { lab=outb} +N 400 -1310 430 -1310 { lab=#net16} +N 730 -1530 760 -1530 { lab=#net17} +N 1060 -1530 1090 -1530 { lab=#net18} +N 1390 -1530 1420 -1530 { lab=#net19} +N 730 -1140 760 -1140 { lab=#net20} +N 1060 -1140 1090 -1140 { lab=#net21} +N 1390 -1140 1420 -1140 { lab=#net22} +N 400 -1140 430 -1140 { lab=#net23} +N 3060 -1710 3060 -1600 { lab=#net24} +N 3040 -1710 3060 -1710 { lab=#net24} +N 420 -1530 430 -1530 { lab=#net24} +N 400 -1600 3060 -1600 { lab=#net24} +N 400 -1600 400 -1530 { lab=#net24} +N 400 -1530 420 -1530 { lab=#net24} +N 400 -1200 400 -1140 { lab=#net23} +N 400 -1210 400 -1200 { lab=#net23} +N 400 -1210 3060 -1210 { lab=#net23} +N 3060 -1310 3060 -1220 { lab=#net23} +N 3060 -1220 3060 -1210 { lab=#net23} +N 3040 -1310 3060 -1310 { lab=#net23} +N 3040 -1140 3120 -1140 { lab=outb} +N 3120 -1570 3120 -1140 { lab=outb} +N 240 -1290 280 -1290 { lab=outa} +N 240 -1290 240 -1040 { lab=outa} +N 240 -1040 3170 -1040 { lab=outa} +N 3170 -1530 3170 -1040 { lab=outa} +N 3040 -1530 3170 -1530 { lab=outa} +N 200 -1690 280 -1690 { lab=#net25} +N 240 -1330 280 -1330 { lab=#net25} +N 240 -1690 240 -1330 { lab=#net25} +N 400 -1660 410 -1660 { lab=TRIMA[0]} +N 410 -1690 410 -1660 { lab=TRIMA[0]} +N 410 -1690 430 -1690 { lab=TRIMA[0]} +N 400 -1640 420 -1640 { lab=TRIMA[1]} +N 420 -1680 420 -1640 { lab=TRIMA[1]} +N 420 -1680 430 -1680 { lab=TRIMA[1]} +N 730 -1660 740 -1660 { lab=TRIMA[2]} +N 740 -1690 740 -1660 { lab=TRIMA[2]} +N 740 -1690 760 -1690 { lab=TRIMA[2]} +N 730 -1640 750 -1640 { lab=TRIMA[3]} +N 750 -1680 750 -1640 { lab=TRIMA[3]} +N 750 -1680 760 -1680 { lab=TRIMA[3]} +N 1060 -1660 1070 -1660 { lab=TRIMA[4]} +N 1070 -1690 1070 -1660 { lab=TRIMA[4]} +N 1070 -1690 1090 -1690 { lab=TRIMA[4]} +N 1060 -1640 1080 -1640 { lab=TRIMA[5]} +N 1080 -1680 1080 -1640 { lab=TRIMA[5]} +N 1080 -1680 1090 -1680 { lab=TRIMA[5]} +N 1390 -1660 1400 -1660 { lab=TRIMA[6]} +N 1400 -1690 1400 -1660 { lab=TRIMA[6]} +N 1400 -1690 1420 -1690 { lab=TRIMA[6]} +N 1390 -1640 1410 -1640 { lab=TRIMA[7]} +N 1410 -1680 1410 -1640 { lab=TRIMA[7]} +N 1410 -1680 1420 -1680 { lab=TRIMA[7]} +N 1720 -1660 1730 -1660 { lab=TRIMA[8]} +N 1730 -1690 1730 -1660 { lab=TRIMA[8]} +N 1730 -1690 1750 -1690 { lab=TRIMA[8]} +N 1720 -1640 1740 -1640 { lab=TRIMA[9]} +N 1740 -1680 1740 -1640 { lab=TRIMA[9]} +N 1740 -1680 1750 -1680 { lab=TRIMA[9]} +N 2050 -1660 2060 -1660 { lab=TRIMA[10]} +N 2060 -1690 2060 -1660 { lab=TRIMA[10]} +N 2060 -1690 2080 -1690 { lab=TRIMA[10]} +N 2050 -1640 2070 -1640 { lab=TRIMA[11]} +N 2070 -1680 2070 -1640 { lab=TRIMA[11]} +N 2070 -1680 2080 -1680 { lab=TRIMA[11]} +N 2380 -1660 2390 -1660 { lab=TRIMA[12]} +N 2390 -1690 2390 -1660 { lab=TRIMA[12]} +N 2390 -1690 2410 -1690 { lab=TRIMA[12]} +N 2380 -1640 2400 -1640 { lab=TRIMA[13]} +N 2400 -1680 2400 -1640 { lab=TRIMA[13]} +N 2400 -1680 2410 -1680 { lab=TRIMA[13]} +N 2710 -1660 2720 -1660 { lab=TRIMA[14]} +N 2720 -1690 2720 -1660 { lab=TRIMA[14]} +N 2720 -1690 2740 -1690 { lab=TRIMA[14]} +N 2710 -1640 2730 -1640 { lab=TRIMA[15]} +N 2730 -1680 2730 -1640 { lab=TRIMA[15]} +N 2730 -1680 2740 -1680 { lab=TRIMA[15]} +N 400 -1480 410 -1480 { lab=TRIMA[16]} +N 410 -1510 410 -1480 { lab=TRIMA[16]} +N 410 -1510 430 -1510 { lab=TRIMA[16]} +N 400 -1460 420 -1460 { lab=TRIMA[17]} +N 420 -1500 420 -1460 { lab=TRIMA[17]} +N 420 -1500 430 -1500 { lab=TRIMA[17]} +N 730 -1480 740 -1480 { lab=TRIMA[18]} +N 740 -1510 740 -1480 { lab=TRIMA[18]} +N 740 -1510 760 -1510 { lab=TRIMA[18]} +N 730 -1460 750 -1460 { lab=TRIMA[19]} +N 750 -1500 750 -1460 { lab=TRIMA[19]} +N 750 -1500 760 -1500 { lab=TRIMA[19]} +N 1060 -1480 1070 -1480 { lab=TRIMA[20]} +N 1070 -1510 1070 -1480 { lab=TRIMA[20]} +N 1070 -1510 1090 -1510 { lab=TRIMA[20]} +N 1060 -1460 1080 -1460 { lab=TRIMA[21]} +N 1080 -1500 1080 -1460 { lab=TRIMA[21]} +N 1080 -1500 1090 -1500 { lab=TRIMA[21]} +N 1390 -1480 1400 -1480 { lab=TRIMA[22]} +N 1400 -1510 1400 -1480 { lab=TRIMA[22]} +N 1400 -1510 1420 -1510 { lab=TRIMA[22]} +N 1390 -1460 1410 -1460 { lab=TRIMA[23]} +N 1410 -1500 1410 -1460 { lab=TRIMA[23]} +N 1410 -1500 1420 -1500 { lab=TRIMA[23]} +N 400 -1260 410 -1260 { lab=TRIMB[0]} +N 410 -1290 410 -1260 { lab=TRIMB[0]} +N 410 -1290 430 -1290 { lab=TRIMB[0]} +N 400 -1240 420 -1240 { lab=TRIMB[1]} +N 420 -1280 420 -1240 { lab=TRIMB[1]} +N 420 -1280 430 -1280 { lab=TRIMB[1]} +N 730 -1260 740 -1260 { lab=TRIMB[2]} +N 740 -1290 740 -1260 { lab=TRIMB[2]} +N 740 -1290 760 -1290 { lab=TRIMB[2]} +N 730 -1240 750 -1240 { lab=TRIMB[3]} +N 750 -1280 750 -1240 { lab=TRIMB[3]} +N 750 -1280 760 -1280 { lab=TRIMB[3]} +N 1060 -1260 1070 -1260 { lab=TRIMB[4]} +N 1070 -1290 1070 -1260 { lab=TRIMB[4]} +N 1070 -1290 1090 -1290 { lab=TRIMB[4]} +N 1060 -1240 1080 -1240 { lab=TRIMB[5]} +N 1080 -1280 1080 -1240 { lab=TRIMB[5]} +N 1080 -1280 1090 -1280 { lab=TRIMB[5]} +N 1390 -1260 1400 -1260 { lab=TRIMB[6]} +N 1400 -1290 1400 -1260 { lab=TRIMB[6]} +N 1400 -1290 1420 -1290 { lab=TRIMB[6]} +N 1390 -1240 1410 -1240 { lab=TRIMB[7]} +N 1410 -1280 1410 -1240 { lab=TRIMB[7]} +N 1410 -1280 1420 -1280 { lab=TRIMB[7]} +N 1720 -1260 1730 -1260 { lab=TRIMB[8]} +N 1730 -1290 1730 -1260 { lab=TRIMB[8]} +N 1730 -1290 1750 -1290 { lab=TRIMB[8]} +N 1720 -1240 1740 -1240 { lab=TRIMB[9]} +N 1740 -1280 1740 -1240 { lab=TRIMB[9]} +N 1740 -1280 1750 -1280 { lab=TRIMB[9]} +N 2050 -1260 2060 -1260 { lab=TRIMB[10]} +N 2060 -1290 2060 -1260 { lab=TRIMB[10]} +N 2060 -1290 2080 -1290 { lab=TRIMB[10]} +N 2050 -1240 2070 -1240 { lab=TRIMB[11]} +N 2070 -1280 2070 -1240 { lab=TRIMB[11]} +N 2070 -1280 2080 -1280 { lab=TRIMB[11]} +N 2380 -1260 2390 -1260 { lab=TRIMB[12]} +N 2390 -1290 2390 -1260 { lab=TRIMB[12]} +N 2390 -1290 2410 -1290 { lab=TRIMB[12]} +N 2380 -1240 2400 -1240 { lab=TRIMB[13]} +N 2400 -1280 2400 -1240 { lab=TRIMB[13]} +N 2400 -1280 2410 -1280 { lab=TRIMB[13]} +N 2710 -1260 2720 -1260 { lab=TRIMB[14]} +N 2720 -1290 2720 -1260 { lab=TRIMB[14]} +N 2720 -1290 2740 -1290 { lab=TRIMB[14]} +N 2710 -1240 2730 -1240 { lab=TRIMB[15]} +N 2730 -1280 2730 -1240 { lab=TRIMB[15]} +N 2730 -1280 2740 -1280 { lab=TRIMB[15]} +N 400 -1090 410 -1090 { lab=TRIMB[16]} +N 410 -1120 410 -1090 { lab=TRIMB[16]} +N 410 -1120 430 -1120 { lab=TRIMB[16]} +N 400 -1070 420 -1070 { lab=TRIMB[17]} +N 420 -1110 420 -1070 { lab=TRIMB[17]} +N 420 -1110 430 -1110 { lab=TRIMB[17]} +N 730 -1090 740 -1090 { lab=TRIMB[18]} +N 740 -1120 740 -1090 { lab=TRIMB[18]} +N 740 -1120 760 -1120 { lab=TRIMB[18]} +N 730 -1070 750 -1070 { lab=TRIMB[19]} +N 750 -1110 750 -1070 { lab=TRIMB[19]} +N 750 -1110 760 -1110 { lab=TRIMB[19]} +N 1060 -1090 1070 -1090 { lab=TRIMB[20]} +N 1070 -1120 1070 -1090 { lab=TRIMB[20]} +N 1070 -1120 1090 -1120 { lab=TRIMB[20]} +N 1060 -1070 1080 -1070 { lab=TRIMB[21]} +N 1080 -1110 1080 -1070 { lab=TRIMB[21]} +N 1080 -1110 1090 -1110 { lab=TRIMB[21]} +N 1390 -1090 1400 -1090 { lab=TRIMB[22]} +N 1400 -1120 1400 -1090 { lab=TRIMB[22]} +N 1400 -1120 1420 -1120 { lab=TRIMB[22]} +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 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 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 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 -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 -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 -1090 2060 -1090 { lab=TRIMB[26]} +N 2060 -1120 2060 -1090 { lab=TRIMB[26]} +N 2060 -1120 2080 -1120 { lab=TRIMB[26]} +N 2050 -1070 2070 -1070 { lab=TRIMB[27]} +N 2070 -1110 2070 -1070 { lab=TRIMB[27]} +N 2070 -1110 2080 -1110 { lab=TRIMB[27]} +N 2380 -1530 3040 -1530 { lab=outa} +N 2380 -1140 3040 -1140 { lab=outb} +N 1750 -910 1780 -910 { lab=outb} +N 1750 -980 1750 -910 { lab=outb} +N 1750 -980 2470 -980 { lab=outb} +N 2470 -1140 2470 -980 { lab=outb} +N 1670 -870 1690 -870 { lab=outa} +N 1660 -870 1670 -870 { lab=outa} +N 1660 -1040 1660 -870 { lab=outa} +C {sky130_stdcells/nand2_4.sym} 340 -1710 0 0 {name=x21 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } +C {sky130_stdcells/nand2_4.sym} 340 -1310 0 0 {name=x47 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } C {devices/title-2.sym} 0 -40 0 0 {name=l26 author="Harrison Pham" rev=1.0} -C {devices/lab_wire.sym} 3200 -830 0 0 {name=l18 sig_type=std_logic lab=outb} -C {devices/lab_wire.sym} 3200 -1220 0 0 {name=l9 sig_type=std_logic lab=outa} -C {sky130_stdcells/clkbuf_4.sym} 920 -580 0 0 {name=x35 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } -C {devices/opin.sym} 1010 -580 0 0 {name=p1 lab=CLKBUFOUT} -C {devices/ipin.sym} 300 -1380 0 0 {name=p2 lab=START} -C {devices/lab_pin.sym} 500 -1350 0 0 {name=l1 sig_type=std_logic lab=TRIMA[0]} -C {devices/lab_pin.sym} 500 -1330 0 0 {name=l2 sig_type=std_logic lab=TRIMA[1]} -C {devices/lab_pin.sym} 830 -1350 0 0 {name=l3 sig_type=std_logic lab=TRIMA[2]} -C {devices/lab_pin.sym} 830 -1330 0 0 {name=l4 sig_type=std_logic lab=TRIMA[3]} -C {devices/lab_pin.sym} 1160 -1350 0 0 {name=l5 sig_type=std_logic lab=TRIMA[4]} -C {devices/lab_pin.sym} 1160 -1330 0 0 {name=l6 sig_type=std_logic lab=TRIMA[5]} -C {devices/lab_pin.sym} 1490 -1350 0 0 {name=l7 sig_type=std_logic lab=TRIMA[6]} -C {devices/lab_pin.sym} 1490 -1330 0 0 {name=l8 sig_type=std_logic lab=TRIMA[7]} -C {devices/lab_pin.sym} 1820 -1350 0 0 {name=l10 sig_type=std_logic lab=TRIMA[8]} -C {devices/lab_pin.sym} 1820 -1330 0 0 {name=l11 sig_type=std_logic lab=TRIMA[9]} -C {devices/lab_pin.sym} 2150 -1350 0 0 {name=l12 sig_type=std_logic lab=TRIMA[10]} -C {devices/lab_pin.sym} 2150 -1330 0 0 {name=l13 sig_type=std_logic lab=TRIMA[11]} -C {devices/lab_pin.sym} 2480 -1350 0 0 {name=l14 sig_type=std_logic lab=TRIMA[12]} -C {devices/lab_pin.sym} 2480 -1330 0 0 {name=l15 sig_type=std_logic lab=TRIMA[13]} -C {devices/lab_pin.sym} 2810 -1350 0 0 {name=l16 sig_type=std_logic lab=TRIMA[14]} -C {devices/lab_pin.sym} 2810 -1330 0 0 {name=l17 sig_type=std_logic lab=TRIMA[15]} -C {devices/lab_pin.sym} 500 -1170 0 0 {name=l19 sig_type=std_logic lab=TRIMA[16]} -C {devices/lab_pin.sym} 500 -1150 0 0 {name=l20 sig_type=std_logic lab=TRIMA[17]} -C {devices/lab_pin.sym} 830 -1170 0 0 {name=l21 sig_type=std_logic lab=TRIMA[18]} -C {devices/lab_pin.sym} 830 -1150 0 0 {name=l22 sig_type=std_logic lab=TRIMA[19]} -C {devices/lab_pin.sym} 1160 -1170 0 0 {name=l23 sig_type=std_logic lab=TRIMA[20]} -C {devices/lab_pin.sym} 1160 -1150 0 0 {name=l24 sig_type=std_logic lab=TRIMA[21]} -C {devices/lab_pin.sym} 1490 -1170 0 0 {name=l25 sig_type=std_logic lab=TRIMA[22]} -C {devices/lab_pin.sym} 1490 -1150 0 0 {name=l27 sig_type=std_logic lab=TRIMA[23]} -C {devices/lab_pin.sym} 500 -950 0 0 {name=l28 sig_type=std_logic lab=TRIMB[0]} -C {devices/lab_pin.sym} 500 -930 0 0 {name=l29 sig_type=std_logic lab=TRIMB[1]} -C {devices/lab_pin.sym} 830 -950 0 0 {name=l30 sig_type=std_logic lab=TRIMB[2]} -C {devices/lab_pin.sym} 830 -930 0 0 {name=l31 sig_type=std_logic lab=TRIMB[3]} -C {devices/lab_pin.sym} 1160 -950 0 0 {name=l32 sig_type=std_logic lab=TRIMB[4]} -C {devices/lab_pin.sym} 1160 -930 0 0 {name=l33 sig_type=std_logic lab=TRIMB[5]} -C {devices/lab_pin.sym} 1490 -950 0 0 {name=l34 sig_type=std_logic lab=TRIMB[6]} -C {devices/lab_pin.sym} 1490 -930 0 0 {name=l35 sig_type=std_logic lab=TRIMB[7]} -C {devices/lab_pin.sym} 1820 -950 0 0 {name=l36 sig_type=std_logic lab=TRIMB[8]} -C {devices/lab_pin.sym} 1820 -930 0 0 {name=l37 sig_type=std_logic lab=TRIMB[9]} -C {devices/lab_pin.sym} 2150 -950 0 0 {name=l38 sig_type=std_logic lab=TRIMB[10]} -C {devices/lab_pin.sym} 2150 -930 0 0 {name=l39 sig_type=std_logic lab=TRIMB[11]} -C {devices/lab_pin.sym} 2480 -950 0 0 {name=l40 sig_type=std_logic lab=TRIMB[12]} -C {devices/lab_pin.sym} 2480 -930 0 0 {name=l41 sig_type=std_logic lab=TRIMB[13]} -C {devices/lab_pin.sym} 2810 -950 0 0 {name=l42 sig_type=std_logic lab=TRIMB[14]} -C {devices/lab_pin.sym} 2810 -930 0 0 {name=l44 sig_type=std_logic lab=TRIMB[15]} -C {devices/lab_pin.sym} 500 -780 0 0 {name=l46 sig_type=std_logic lab=TRIMB[16]} -C {devices/lab_pin.sym} 500 -760 0 0 {name=l47 sig_type=std_logic lab=TRIMB[17]} -C {devices/lab_pin.sym} 830 -780 0 0 {name=l48 sig_type=std_logic lab=TRIMB[18]} -C {devices/lab_pin.sym} 830 -760 0 0 {name=l49 sig_type=std_logic lab=TRIMB[19]} -C {devices/lab_pin.sym} 1160 -780 0 0 {name=l50 sig_type=std_logic lab=TRIMB[20]} -C {devices/lab_pin.sym} 1160 -760 0 0 {name=l51 sig_type=std_logic lab=TRIMB[21]} -C {devices/lab_pin.sym} 1490 -780 0 0 {name=l52 sig_type=std_logic lab=TRIMB[22]} -C {devices/lab_pin.sym} 1490 -760 0 0 {name=l53 sig_type=std_logic lab=TRIMB[23]} -C {devices/ipin.sym} 300 -1630 0 0 {name=p4 lab=TRIMA[23:0]} -C {devices/ipin.sym} 300 -1610 0 0 {name=p5 lab=TRIMB[23:0]} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 680 -1400 0 0 {name=x1} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1010 -1400 0 0 {name=x2} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1340 -1400 0 0 {name=x3} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1670 -1400 0 0 {name=x4} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2000 -1400 0 0 {name=x5} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2330 -1400 0 0 {name=x6} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2660 -1400 0 0 {name=x7} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2990 -1400 0 0 {name=x8} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 680 -1220 0 0 {name=x9} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1010 -1220 0 0 {name=x10} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1340 -1220 0 0 {name=x11} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1670 -1220 0 0 {name=x12} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 680 -1000 0 0 {name=x13} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1010 -1000 0 0 {name=x14} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1340 -1000 0 0 {name=x15} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1670 -1000 0 0 {name=x16} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2000 -1000 0 0 {name=x17} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2330 -1000 0 0 {name=x18} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2660 -1000 0 0 {name=x19} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2990 -1000 0 0 {name=x20} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 680 -830 0 0 {name=x22} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1010 -830 0 0 {name=x23} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1340 -830 0 0 {name=x24} -C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1670 -830 0 0 {name=x25} +C {devices/lab_wire.sym} 3100 -1140 0 0 {name=l18 sig_type=std_logic lab=outb} +C {devices/lab_wire.sym} 3100 -1530 0 0 {name=l9 sig_type=std_logic lab=outa} +C {sky130_stdcells/clkbuf_4.sym} 3160 -800 0 0 {name=x35 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } +C {devices/opin.sym} 3230 -800 0 0 {name=p1 lab=CLKBUFOUT} +C {devices/ipin.sym} 110 -1690 0 0 {name=p2 lab=START} +C {devices/lab_pin.sym} 400 -1660 0 0 {name=l1 sig_type=std_logic lab=TRIMA[0]} +C {devices/lab_pin.sym} 400 -1640 0 0 {name=l2 sig_type=std_logic lab=TRIMA[1]} +C {devices/lab_pin.sym} 730 -1660 0 0 {name=l3 sig_type=std_logic lab=TRIMA[2]} +C {devices/lab_pin.sym} 730 -1640 0 0 {name=l4 sig_type=std_logic lab=TRIMA[3]} +C {devices/lab_pin.sym} 1060 -1660 0 0 {name=l5 sig_type=std_logic lab=TRIMA[4]} +C {devices/lab_pin.sym} 1060 -1640 0 0 {name=l6 sig_type=std_logic lab=TRIMA[5]} +C {devices/lab_pin.sym} 1390 -1660 0 0 {name=l7 sig_type=std_logic lab=TRIMA[6]} +C {devices/lab_pin.sym} 1390 -1640 0 0 {name=l8 sig_type=std_logic lab=TRIMA[7]} +C {devices/lab_pin.sym} 1720 -1660 0 0 {name=l10 sig_type=std_logic lab=TRIMA[8]} +C {devices/lab_pin.sym} 1720 -1640 0 0 {name=l11 sig_type=std_logic lab=TRIMA[9]} +C {devices/lab_pin.sym} 2050 -1660 0 0 {name=l12 sig_type=std_logic lab=TRIMA[10]} +C {devices/lab_pin.sym} 2050 -1640 0 0 {name=l13 sig_type=std_logic lab=TRIMA[11]} +C {devices/lab_pin.sym} 2380 -1660 0 0 {name=l14 sig_type=std_logic lab=TRIMA[12]} +C {devices/lab_pin.sym} 2380 -1640 0 0 {name=l15 sig_type=std_logic lab=TRIMA[13]} +C {devices/lab_pin.sym} 2710 -1660 0 0 {name=l16 sig_type=std_logic lab=TRIMA[14]} +C {devices/lab_pin.sym} 2710 -1640 0 0 {name=l17 sig_type=std_logic lab=TRIMA[15]} +C {devices/lab_pin.sym} 400 -1480 0 0 {name=l19 sig_type=std_logic lab=TRIMA[16]} +C {devices/lab_pin.sym} 400 -1460 0 0 {name=l20 sig_type=std_logic lab=TRIMA[17]} +C {devices/lab_pin.sym} 730 -1480 0 0 {name=l21 sig_type=std_logic lab=TRIMA[18]} +C {devices/lab_pin.sym} 730 -1460 0 0 {name=l22 sig_type=std_logic lab=TRIMA[19]} +C {devices/lab_pin.sym} 1060 -1480 0 0 {name=l23 sig_type=std_logic lab=TRIMA[20]} +C {devices/lab_pin.sym} 1060 -1460 0 0 {name=l24 sig_type=std_logic lab=TRIMA[21]} +C {devices/lab_pin.sym} 1390 -1480 0 0 {name=l25 sig_type=std_logic lab=TRIMA[22]} +C {devices/lab_pin.sym} 1390 -1460 0 0 {name=l27 sig_type=std_logic lab=TRIMA[23]} +C {devices/lab_pin.sym} 400 -1260 0 0 {name=l28 sig_type=std_logic lab=TRIMB[0]} +C {devices/lab_pin.sym} 400 -1240 0 0 {name=l29 sig_type=std_logic lab=TRIMB[1]} +C {devices/lab_pin.sym} 730 -1260 0 0 {name=l30 sig_type=std_logic lab=TRIMB[2]} +C {devices/lab_pin.sym} 730 -1240 0 0 {name=l31 sig_type=std_logic lab=TRIMB[3]} +C {devices/lab_pin.sym} 1060 -1260 0 0 {name=l32 sig_type=std_logic lab=TRIMB[4]} +C {devices/lab_pin.sym} 1060 -1240 0 0 {name=l33 sig_type=std_logic lab=TRIMB[5]} +C {devices/lab_pin.sym} 1390 -1260 0 0 {name=l34 sig_type=std_logic lab=TRIMB[6]} +C {devices/lab_pin.sym} 1390 -1240 0 0 {name=l35 sig_type=std_logic lab=TRIMB[7]} +C {devices/lab_pin.sym} 1720 -1260 0 0 {name=l36 sig_type=std_logic lab=TRIMB[8]} +C {devices/lab_pin.sym} 1720 -1240 0 0 {name=l37 sig_type=std_logic lab=TRIMB[9]} +C {devices/lab_pin.sym} 2050 -1260 0 0 {name=l38 sig_type=std_logic lab=TRIMB[10]} +C {devices/lab_pin.sym} 2050 -1240 0 0 {name=l39 sig_type=std_logic lab=TRIMB[11]} +C {devices/lab_pin.sym} 2380 -1260 0 0 {name=l40 sig_type=std_logic lab=TRIMB[12]} +C {devices/lab_pin.sym} 2380 -1240 0 0 {name=l41 sig_type=std_logic lab=TRIMB[13]} +C {devices/lab_pin.sym} 2710 -1260 0 0 {name=l42 sig_type=std_logic lab=TRIMB[14]} +C {devices/lab_pin.sym} 2710 -1240 0 0 {name=l44 sig_type=std_logic lab=TRIMB[15]} +C {devices/lab_pin.sym} 400 -1090 0 0 {name=l46 sig_type=std_logic lab=TRIMB[16]} +C {devices/lab_pin.sym} 400 -1070 0 0 {name=l47 sig_type=std_logic lab=TRIMB[17]} +C {devices/lab_pin.sym} 730 -1090 0 0 {name=l48 sig_type=std_logic lab=TRIMB[18]} +C {devices/lab_pin.sym} 730 -1070 0 0 {name=l49 sig_type=std_logic lab=TRIMB[19]} +C {devices/lab_pin.sym} 1060 -1090 0 0 {name=l50 sig_type=std_logic lab=TRIMB[20]} +C {devices/lab_pin.sym} 1060 -1070 0 0 {name=l51 sig_type=std_logic lab=TRIMB[21]} +C {devices/lab_pin.sym} 1390 -1090 0 0 {name=l52 sig_type=std_logic lab=TRIMB[22]} +C {devices/lab_pin.sym} 1390 -1070 0 0 {name=l53 sig_type=std_logic lab=TRIMB[23]} +C {devices/ipin.sym} 200 -1940 0 0 {name=p4 lab=TRIMA[27:0]} +C {devices/ipin.sym} 200 -1920 0 0 {name=p5 lab=TRIMB[27:0]} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 580 -1710 0 0 {name=x1} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 910 -1710 0 0 {name=x2} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1240 -1710 0 0 {name=x3} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1570 -1710 0 0 {name=x4} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1900 -1710 0 0 {name=x5} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2230 -1710 0 0 {name=x6} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2560 -1710 0 0 {name=x7} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2890 -1710 0 0 {name=x8} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 580 -1530 0 0 {name=x9} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 910 -1530 0 0 {name=x10} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1240 -1530 0 0 {name=x11} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1570 -1530 0 0 {name=x12} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 580 -1310 0 0 {name=x13} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 910 -1310 0 0 {name=x14} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1240 -1310 0 0 {name=x15} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1570 -1310 0 0 {name=x16} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1900 -1310 0 0 {name=x17} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2230 -1310 0 0 {name=x18} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2560 -1310 0 0 {name=x19} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2890 -1310 0 0 {name=x20} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 580 -1140 0 0 {name=x22} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 910 -1140 0 0 {name=x23} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1240 -1140 0 0 {name=x24} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1570 -1140 0 0 {name=x25} +C {sky130_stdcells/dfxbp_2.sym} 2250 -810 0 0 {name=x27 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } +C {sky130_stdcells/dfxbp_2.sym} 2250 -730 0 0 {name=x28 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } +C {sky130_stdcells/dfxbp_2.sym} 2490 -730 0 0 {name=x29 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } +C {sky130_stdcells/clkbuf_8.sym} 2040 -890 0 0 {name=x26 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } +C {sky130_stdcells/mux4_2.sym} 3050 -800 0 0 {name=x30 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ } +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]} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1900 -1530 0 0 {name=x39} +C {devices/lab_pin.sym} 2050 -1480 0 0 {name=l54 sig_type=std_logic lab=TRIMA[26]} +C {devices/lab_pin.sym} 2050 -1460 0 0 {name=l55 sig_type=std_logic lab=TRIMA[27]} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 2230 -1530 0 0 {name=x40} +C {devices/lab_pin.sym} 1720 -1090 0 0 {name=l56 sig_type=std_logic lab=TRIMB[24]} +C {devices/lab_pin.sym} 1720 -1070 0 0 {name=l57 sig_type=std_logic lab=TRIMB[25]} +C {/home/harrison/workspace/randsack/ip/randsack/sch/triminv.sym} 1900 -1140 0 0 {name=x41} +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}
diff --git a/ip/randsack/sch/collapsering.sym b/ip/randsack/sch/collapsering.sym index 7b04abe..b531984 100644 --- a/ip/randsack/sch/collapsering.sym +++ b/ip/randsack/sch/collapsering.sym
@@ -1,26 +1,36 @@ -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" } -T {@symname} -72 -6 0 0 0.3 0.3 {} -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[23:0] dir=in } +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 {} -T {TRIMA[23:0]} -125 -34 0 0 0.2 0.2 {} -B 5 -152.5 -12.5 -147.5 -7.5 {name=TRIMB[23:0] dir=in } L 4 -150 -10 -130 -10 {} -T {TRIMB[23:0]} -125 -14 0 0 0.2 0.2 {} -B 5 -152.5 7.5 -147.5 12.5 {name=START dir=in } L 4 -150 10 -130 10 {} -T {START} -125 6 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 {} -B 5 -152.5 27.5 -147.5 32.5 {name=DIV2EN dir=in } +L 4 130 -50 150 -50 {} L 4 -150 30 -130 30 {} -T {DIV2EN} -125 26 0 0 0.2 0.2 {} +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 {}
diff --git a/ip/randsack/sch/collapsering_tb.sch b/ip/randsack/sch/collapsering_tb.sch index cb35b87..cc351f4 100644 --- a/ip/randsack/sch/collapsering_tb.sch +++ b/ip/randsack/sch/collapsering_tb.sch
@@ -18,29 +18,33 @@ N 1510 -1090 1510 -1030 { lab=VPWR} N 1510 -1090 1540 -1090 { lab=VPWR} N 1840 -1150 1910 -1150 { lab=clkout} -N 1400 -1150 1540 -1150 { lab=trima[23:0]} -N 1400 -1130 1540 -1130 { lab=trimb[23:0]} -N 1350 -1250 1370 -1250 { lab=VGND} -N 1350 -1250 1350 -1230 { lab=VGND} -N 1430 -1250 1540 -1250 { lab=trimb[23:0]} -N 1350 -1320 1370 -1320 { lab=VGND} -N 1350 -1320 1350 -1300 { lab=VGND} -N 1430 -1320 1540 -1320 { lab=trima[23:2]} +N 1400 -1150 1540 -1150 { lab=trima[27:0]} +N 1400 -1130 1540 -1130 { lab=trimb[27:0]} +N 1350 -1250 1370 -1250 { lab=VPWR} +N 1430 -1250 1540 -1250 { lab=trimb[27:0]} +N 1350 -1320 1370 -1320 { lab=VPWR} +N 1350 -1320 1350 -1300 { lab=VPWR} +N 1430 -1320 1540 -1320 { lab=trima[27:2]} N 1430 -1390 1540 -1390 { lab=trima[1:0]} -N 1350 -1390 1370 -1390 { lab=VPWR} -N 1350 -1410 1350 -1390 { lab=VPWR} +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 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} 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 .include /home/harrison/workspace/sky130/sky130A/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice .option TEMP=27 -.option RELTOL=1.0E-1 +* .option RELTOL=1.0E-1 .control save all tran 0.1n 10u -set appendwrite write collapsering_tb.out .endc " @@ -51,20 +55,20 @@ 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 {/home/harrison/workspace/randsack/ip/randsack/sch/collapsering.sym} 1690 -1120 0 0 {name=x1} C {devices/vdd.sym} 1480 -1050 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 -1150 0 0 {name=l5 sig_type=std_logic lab=trima[23:0]} -C {devices/lab_wire.sym} 1500 -1130 0 0 {name=l6 sig_type=std_logic lab=trimb[23:0]} -C {devices/gnd.sym} 1350 -1230 0 0 {name=l7 lab=VGND} -C {devices/lab_wire.sym} 1530 -1250 0 0 {name=l8 sig_type=std_logic lab=trimb[23:0]} -C {devices/gnd.sym} 1350 -1300 0 0 {name=l9 lab=VGND} -C {devices/lab_wire.sym} 1530 -1320 0 0 {name=l12 sig_type=std_logic lab=trima[23:2]} +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]} +C {devices/lab_wire.sym} 1530 -1320 0 0 {name=l12 sig_type=std_logic lab=trima[27:2]} C {devices/lab_wire.sym} 1530 -1390 0 0 {name=l14 sig_type=std_logic lab=trima[1:0]} -C {devices/vdd.sym} 1350 -1410 0 0 {name=l13 lab=VPWR} C {devices/vsource.sym} 1170 -1250 1 0 {name=V6 value=0} C {devices/connect.sym} 1400 -1390 1 0 {name=R1[1:0] m=1} -C {devices/connect.sym} 1400 -1320 1 0 {name=R2[23:2] m=1} -C {devices/connect.sym} 1400 -1250 1 0 {name=R3[23:0] m=1} +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} 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}