`celldefine
`suppress_faults
`enable_portfaults

`ifdef TETRAMAX
`define functional
`endif

`ifdef functional
 `timescale 1ns / 1ps
`ifndef dont_change_delay_mode // See CDT 66389 for detail on dont_change_delay_mode
 `delay_mode_distributed
`endif
`ifndef dont_change_delay_mode // See CDT 66389 for detail on dont_change_delay_mode
 `delay_mode_unit
`endif
`else
 `timescale 1ns / 1ps
`ifndef dont_change_delay_mode // See CDT 66389 for detail on dont_change_delay_mode
 `delay_mode_path
`endif
`endif 

module scs8hs_a311o_1 ( X ,  A1 , A2 , A3 , B1 , C1 , vpwr , vgnd );
input vpwr, vgnd;
output  X ;
input  A1 , A2 , A3 , B1 , C1 ;

wire	X , A1 , A2 , A3 ;
wire	B1 , C1 , csi_opt_273 ;

`ifdef functional
`else
reg csi_notifier;

	specify
    (A1 +=> X) = (0:0:0,0:0:0);
    (A2 +=> X) = (0:0:0,0:0:0);
    (A3 +=> X) = (0:0:0,0:0:0);
    if ((!A1&!A2&!A3&!C1)) (B1 +=> X) = (0:0:0,0:0:0);
    if ((!A1&!A2&A3&!C1)) (B1 +=> X) = (0:0:0,0:0:0);
    if ((!A1&A2&!A3&!C1)) (B1 +=> X) = (0:0:0,0:0:0);
    if ((!A1&A2&A3&!C1)) (B1 +=> X) = (0:0:0,0:0:0);
    if ((A1&!A2&!A3&!C1)) (B1 +=> X) = (0:0:0,0:0:0);
    if ((A1&!A2&A3&!C1)) (B1 +=> X) = (0:0:0,0:0:0);
    if ((A1&A2&!A3&!C1)) (B1 +=> X) = (0:0:0,0:0:0);
    if ((!A1&!A2&!A3&!B1)) (C1 +=> X) = (0:0:0,0:0:0);
    if ((!A1&!A2&A3&!B1)) (C1 +=> X) = (0:0:0,0:0:0);
    if ((!A1&A2&!A3&!B1)) (C1 +=> X) = (0:0:0,0:0:0);
    if ((!A1&A2&A3&!B1)) (C1 +=> X) = (0:0:0,0:0:0);
    if ((A1&!A2&!A3&!B1)) (C1 +=> X) = (0:0:0,0:0:0);
    if ((A1&!A2&A3&!B1)) (C1 +=> X) = (0:0:0,0:0:0);
    if ((A1&A2&!A3&!B1)) (C1 +=> X) = (0:0:0,0:0:0);
	endspecify
`endif

  and ( csi_opt_273 , A3 , A1 , A2 ) ;
  or  ( UDP_IN_X , csi_opt_273 , C1 , B1 ) ;
  U_VPWR_VGND (UDP_OUT_X, UDP_IN_X, vpwr, vgnd) ;
  buf  (X, UDP_OUT_X) ;
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults

