module tri_bthmx(x, sneg, sx, sx2, right, left, q, vd, gd);

input          x;
input          sneg;
input          sx;
input          sx2;
input          right;
output         left;
output         q;
(* ANALYSIS_NOT_ASSIGNED="TRUE" *)
(* ANALYSIS_NOT_REFERENCED="TRUE" *)
inout          vd;
(* ANALYSIS_NOT_ASSIGNED="TRUE" *)
(* ANALYSIS_NOT_REFERENCED="TRUE" *)
inout          gd;



wire center, xn, spos;

assign xn      = ~x;
assign spos    = ~sneg;

assign center  = ~(( xn & spos ) |
                   ( x  & sneg ));

assign left    = center; // output


assign q       = ( center &  sx  ) |
                 ( right  &  sx2 ) ;

endmodule