LSSD.v 1.39 KB
// VERSION:3.02 DATE:99/09/02 OPENCAD Verilog Library
`timescale 1ps / 1ps
`celldefine
`ifdef verifault
    `suppress_faults
    `enable_portfaults
`endif
module LSSD ( CLK, DATA, D, SIN, C, SC2, notifier_din, notifier_out );
output CLK,DATA;
input  D,SIN,C,SC2,notifier_din, notifier_out;
reg _CLK,_DATA;

buf (CLK,_CLK);
buf (DATA,_DATA);

always @ ( notifier_din or notifier_out ) begin
	_DATA=1'bx;
end

always @ ( D or SIN or C or SC2 ) begin
	casez ( {D,SIN,C,SC2} )
		4'b1?1? : begin
			_CLK=1;
			_DATA=1;
		end
		4'b0?1? : begin
			_CLK=1;
			_DATA=0;
		end
		4'bx?1? : begin
			_CLK=1;
			_DATA=1'bx;
		end
		4'b??00 : begin
			_CLK=0;
			_DATA=1'bx;
		end
		4'b?101 : begin
			_CLK=1;
			_DATA=1;
		end
		4'b?001 : begin
			_CLK=1;
			_DATA=0;
		end
		4'b?x01 : begin
			_CLK=1;
			_DATA=1'bx;
		end
		4'b?10x : begin
			_CLK=1'bx;
			_DATA=1'b1;
		end
		4'b?00x : begin
			_CLK=1'bx;
			_DATA=0;
		end
		4'b11x1 : begin
			_CLK=1;
			_DATA=1;
		end
		4'b00x1 : begin
			_CLK=1;
			_DATA=0;
		end
		4'b1?x0 : begin
			_CLK=1'bx;
			_DATA=1;
		end
		4'b0?x0 : begin
			_CLK=1'bx;
			_DATA=0;
		end
		4'bx?x0 : begin
			_CLK=1'bx;
			_DATA=1'bx;
		end
		4'b11xx : begin
			_CLK=1'bx;
			_DATA=1;
		end
		4'b00xx : begin
			_CLK=1'bx;
			_DATA=0;
		end
		default : begin
			_CLK=1'bx;
			_DATA=1'bx;
		end

    endcase
end

endmodule
`ifdef verifault
    `nosuppress_faults
    `disable_portfaults
`endif
`endcelldefine