`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_o41ai_4 ( Y ,  A1 , A2 , A3 , A4 , B1 , vpwr , vgnd );
input vpwr, vgnd;
output  Y ;
input  A1 , A2 , A3 , A4 , B1 ;

wire	Y , A1 , A2 , A3 ;
wire	A4 , B1 , csi_opt_297 ;

`ifdef functional
`else
reg csi_notifier;

	specify
    (A1 -=> Y) = (0:0:0,0:0:0);
    (A2 -=> Y) = (0:0:0,0:0:0);
    (A3 -=> Y) = (0:0:0,0:0:0);
    (A4 -=> Y) = (0:0:0,0:0:0);
    if ((!A1&!A2&!A3&A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((!A1&!A2&A3&!A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((!A1&!A2&A3&A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((!A1&A2&!A3&!A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((!A1&A2&!A3&A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((!A1&A2&A3&!A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((!A1&A2&A3&A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((A1&!A2&!A3&!A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((A1&!A2&!A3&A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((A1&!A2&A3&!A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((A1&!A2&A3&A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((A1&A2&!A3&!A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((A1&A2&!A3&A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((A1&A2&A3&!A4)) (B1 -=> Y) = (0:0:0,0:0:0);
    if ((A1&A2&A3&A4)) (B1 -=> Y) = (0:0:0,0:0:0);
	endspecify
`endif

  or ( csi_opt_297 , A4 , A3 , A2 , A1 ) ;
  nand  ( UDP_IN_Y , B1 , csi_opt_297 ) ;
  U_VPWR_VGND (UDP_OUT_Y, UDP_IN_Y, vpwr, vgnd) ;
  buf  (Y, UDP_OUT_Y) ;
endmodule
`endcelldefine
`disable_portfaults
`nosuppress_faults

