transpile

transpile fans a .cic design out into multiple downstream formats.

make test && find SAR9B -maxdepth 1 -type f | wc -l && find SAR9B -maxdepth 1 -type f | sed 's#^#/#' | sort | head -n 12
make[2]: Entering directory '/__w/cicpy/cicpy/tests/transpile'
cicpy transpile SAR9B_CV.cic.gz demo.tech SAR9B --layskill --schskill --verilog --xschem --spice --winfo --rinfo demo.txt --magic
WARNING  XschemPrinter: Could not find d in devices/pmos4                       
WARNING  XschemPrinter: Could not find g in devices/pmos4                       
WARNING  XschemPrinter: Could not find s in devices/pmos4                       
WARNING  XschemPrinter: Could not find b in devices/pmos4                       
WARNING  XschemPrinter: Could not find d in devices/pmos4                       
WARNING  XschemPrinter: Could not find g in devices/pmos4                       
WARNING  XschemPrinter: Could not find s in devices/pmos4                       
WARNING  XschemPrinter: Could not find b in devices/pmos4                       
WARNING  XschemPrinter: Could not find d in devices/nmos4                       
WARNING  XschemPrinter: Could not find g in devices/nmos4                       
WARNING  XschemPrinter: Could not find s in devices/nmos4                       
WARNING  XschemPrinter: Could not find b in devices/nmos4                       
WARNING  XschemPrinter: Could not find d in devices/nmos4                       
WARNING  XschemPrinter: Could not find g in devices/nmos4                       
WARNING  XschemPrinter: Could not find s in devices/nmos4                       
WARNING  XschemPrinter: Could not find b in devices/nmos4                       
WARNING  XschemPrinter: Could not find d in devices/pmos4                       
WARNING  XschemPrinter: Could not find g in devices/pmos4                       
WARNING  XschemPrinter: Could not find s in devices/pmos4                       
WARNING  XschemPrinter: Could not find b in devices/pmos4                       
WARNING  XschemPrinter: Could not find d in devices/pmos4                       
WARNING  XschemPrinter: Could not find g in devices/pmos4                       
WARNING  XschemPrinter: Could not find s in devices/pmos4                       
WARNING  XschemPrinter: Could not find b in devices/pmos4                       
WARNING  XschemPrinter: Could not find d in devices/nmos4                       
WARNING  XschemPrinter: Could not find g in devices/nmos4                       
WARNING  XschemPrinter: Could not find s in devices/nmos4                       
WARNING  XschemPrinter: Could not find b in devices/nmos4                       
WARNING  XschemPrinter: Could not find d in devices/nmos4                       
WARNING  XschemPrinter: Could not find g in devices/nmos4                       
WARNING  XschemPrinter: Could not find s in devices/nmos4                       
WARNING  XschemPrinter: Could not find b in devices/nmos4                       
INFO     MagicPrinter: Writing SAR9B/cut_M4M5_2x1.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M4M5_1x2.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M3M4_2x2.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M3M4_2x1.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M3M4_1x2.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M2M4_2x1.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M2M4_1x2.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M2M3_2x1.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M2M3_1x2.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M1M4_2x2.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M1M4_2x1.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M1M4_1x2.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M1M3_2x1.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M1M2_2x1.mag                           
INFO     MagicPrinter: Writing SAR9B/cut_M1M2_1x2.mag                           
INFO     MagicPrinter: Writing SAR9B/RM1.mag                                    
INFO     MagicPrinter: Writing SAR9B/RM4.mag                                    
INFO     MagicPrinter: Writing SAR9B/CAP.mag                                    
INFO     MagicPrinter: Writing SAR9B/CAPR.mag                                   
INFO     MagicPrinter: Writing SAR9B/DMOS.mag                                   
INFO     MagicPrinter: Writing SAR9B/PCHDL.mag                                  
INFO     MagicPrinter: Writing SAR9B/NCHDL.mag                                  
INFO     MagicPrinter: Writing SAR9B/NCHDLR.mag                                 
INFO     MagicPrinter: Writing SAR9B/DMOS_BULK.mag                              
INFO     MagicPrinter: Writing SAR9B/PCHDLDMY.mag                               
INFO     MagicPrinter: Writing SAR9B/NCHDLDMY.mag                               
INFO     MagicPrinter: Writing SAR9B/NCHDLRDMY.mag                              
INFO     MagicPrinter: Writing SAR9B/TIEH_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/TIEL_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/CAPX1_CV.mag                               
INFO     MagicPrinter: Writing SAR9B/IVX1_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/IVX2_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/SWX2_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/SWX4_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/TGPD_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/IVX4_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/TAPCELL_CV.mag                             
INFO     MagicPrinter: Writing SAR9B/TAPCELLB_CV.mag                            
INFO     MagicPrinter: Writing SAR9B/NRX1_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/NDX1_CV.mag                                
INFO     MagicPrinter: Writing SAR9B/SAREMX1_CV.mag                             
INFO     MagicPrinter: Writing SAR9B/SARLTX1_CV.mag                             
INFO     MagicPrinter: Writing SAR9B/SARCEX1_CV.mag                             
INFO     MagicPrinter: Writing SAR9B/SARCMPHX1_CV.mag                           
INFO     MagicPrinter: Writing SAR9B/SARKICKHX1_CV.mag                          
INFO     MagicPrinter: Writing SAR9B/SARBSSWCTRL_CV.mag                         
INFO     MagicPrinter: Writing SAR9B/CAP32C_CV.mag                              
INFO     MagicPrinter: Writing SAR9B/SARCMPX1_CV.mag                            
INFO     MagicPrinter: Writing SAR9B/SARBSSW_CV.mag                             
INFO     MagicPrinter: Writing SAR9B/SARMRYX1_CV.mag                            
INFO     MagicPrinter: Writing SAR9B/SARDIGX1_CV.mag                            
INFO     MagicPrinter: Writing SAR9B/SARDIGEX2_CV.mag                           
INFO     MagicPrinter: Writing SAR9B/SARDIGEX4_CV.mag                           
INFO     MagicPrinter: Writing SAR9B/CDAC9_CV.mag                               
INFO     MagicPrinter: Writing SAR9B/ALGIC001_SAR9B_CV_NOROUTE.mag              
INFO     MagicPrinter: Writing SAR9B/ALGIC001_SAR9B_CV.mag                      
python3 check_bbox.py SAR9B_CV.cic.gz SAR9B
check_bbox: 56 cells, FIXED_BBOX matches the cic box
make[2]: Leaving directory '/__w/cicpy/cicpy/tests/transpile'
167
/SAR9B/ALGIC001_SAR9B_CV.mag
/SAR9B/ALGIC001_SAR9B_CV.net
/SAR9B/ALGIC001_SAR9B_CV.sch
/SAR9B/ALGIC001_SAR9B_CV.sym
/SAR9B/ALGIC001_SAR9B_CV_NOROUTE.mag
/SAR9B/ALGIC001_SAR9B_CV_NOROUTE.net
/SAR9B/ALGIC001_SAR9B_CV_NOROUTE.sch
/SAR9B/ALGIC001_SAR9B_CV_NOROUTE.sym
/SAR9B/CAP.mag
/SAR9B/CAP.sch
/SAR9B/CAP.sym
/SAR9B/CAP32C_CV.mag

Magic output excerpt:

SAR9B/ALGIC001_SAR9B_CV.mag:

magic
tech tech
magscale 1 2
timestamp 1788048000
<< checkpaint >>
rect -459 -437 7201 16412
<< po >>
rect 2600 11014 6758 11026
rect 2600 11120 6758 11132
rect 4132 10867 4144 11024
rect 4132 10867 4142 10933
rect 4132 10882 4142 10892
rect 4132 10908 4142 10918
rect 4132 10867 4142 10933
rect 4132 11014 4198 11024
rect 4147 11014 4157 11024
rect 4173 11014 4183 11024
rect 4132 11014 4198 11024
rect 2600 10867 2612 11130
rect 2600 10867 2610 10933

Xschem output excerpt:

SAR9B/ALGIC001_SAR9B_CV.sch:

v {xschem version=3.0.0 file_version=1.2 }
G {}
K {}
V {}
S {}
E {}
C {devices/iopin.sym} 0 0 0 0 {name=p0 lab=SAR_IP}
C {devices/iopin.sym} 0 20 0 0 {name=p1 lab=SAR_IN}
C {devices/iopin.sym} 0 40 0 0 {name=p2 lab=SARN}
C {devices/iopin.sym} 0 60 0 0 {name=p3 lab=SARP}
C {devices/iopin.sym} 0 80 0 0 {name=p4 lab=DONE}
C {devices/iopin.sym} 0 100 0 0 {name=p5 lab=D<9>}
C {devices/iopin.sym} 0 120 0 0 {name=p6 lab=D<8>}
C {devices/iopin.sym} 0 140 0 0 {name=p7 lab=D<7>}
C {devices/iopin.sym} 0 160 0 0 {name=p8 lab=D<6>}
C {devices/iopin.sym} 0 180 0 0 {name=p9 lab=D<5>}
C {devices/iopin.sym} 0 200 0 0 {name=p10 lab=D<4>}
C {devices/iopin.sym} 0 220 0 0 {name=p11 lab=D<3>}
C {devices/iopin.sym} 0 240 0 0 {name=p12 lab=D<2>}
C {devices/iopin.sym} 0 260 0 0 {name=p13 lab=D<1>}