VERSION 5.8 ;
NAMESCASESENSITIVE ON ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
DESIGN simple_por ;
UNITS DISTANCE MICRONS 1000 ;
DIEAREA ( 0 0 ) ( 24780 45820 ) ;
ROW ROW_0 unithv 5760 16280 FS DO 27 BY 1 STEP 480 0 ;
ROW ROW_1 unithv 5760 20350 N DO 27 BY 1 STEP 480 0 ;
ROW ROW_2 unithv 5760 24420 FS DO 27 BY 1 STEP 480 0 ;
TRACKS X 240 DO 52 STEP 480 LAYER li1 ;
TRACKS Y 240 DO 95 STEP 480 LAYER li1 ;
TRACKS X 185 DO 67 STEP 370 LAYER met1 ;
TRACKS Y 185 DO 124 STEP 370 LAYER met1 ;
TRACKS X 240 DO 52 STEP 480 LAYER met2 ;
TRACKS Y 240 DO 95 STEP 480 LAYER met2 ;
TRACKS X 370 DO 33 STEP 740 LAYER met3 ;
TRACKS Y 370 DO 62 STEP 740 LAYER met3 ;
TRACKS X 480 DO 26 STEP 960 LAYER met4 ;
TRACKS Y 480 DO 48 STEP 960 LAYER met4 ;
TRACKS X 1665 DO 7 STEP 3330 LAYER met5 ;
TRACKS Y 1665 DO 14 STEP 3330 LAYER met5 ;
COMPONENTS 3 ;
    - _1_ sky130_fd_sc_hvl__conb_1 + PLACED ( 9142 21447 ) N ;
    - hystbuf1 sky130_fd_sc_hvl__schmittbuf_1 + PLACED ( 7702 21702 ) N ;
    - hystbuf2 sky130_fd_sc_hvl__schmittbuf_1 + PLACED ( 7702 22139 ) N ;
END COMPONENTS
PINS 3 ;
    - porb_h + NET porb_h + DIRECTION OUTPUT + USE SIGNAL + PLACED ( 6960 43820 ) N + LAYER met2 ( -140 -2000 ) ( 140 2000 ) ;
    - vdd3v3 + NET vdd3v3 + DIRECTION INPUT + USE SIGNAL + PLACED ( 3120 2000 ) N + LAYER met2 ( -140 -2000 ) ( 140 2000 ) ;
    - vss + NET vss + DIRECTION INPUT + USE SIGNAL + PLACED ( 22780 19610 ) N + LAYER met3 ( -2000 -300 ) ( 2000 300 ) ;
END PINS
NETS 5 ;
    - porb_h ( PIN porb_h ) ( hystbuf2 X ) + USE SIGNAL ;
    - vdd3v3 ( PIN vdd3v3 ) + USE SIGNAL ;
    - vss ( PIN vss ) + USE SIGNAL ;
    - _0_ ( hystbuf1 A ) ( _1_ LO ) + USE SIGNAL ;
    - mid ( hystbuf2 A ) ( hystbuf1 X ) + USE SIGNAL ;
END NETS
END DESIGN
