ebus_driver.v 1 KB
// ebus_driver.v v1 Frank Berndt;
// ebus tri-state driver;

module ebus_driver (
	ebus_data_out,
	ebus_enable,
	ebus_data
);
	input [7:0] ebus_data_out;
	input ebus_enable;
	output [7:0] ebus_data;

	// use define to assign tri-state driver from cell library;
	// XXX replace nt01d5

        assign ebus_data = ebus_enable ? ebus_data_out : {8{1'bz}};

// `define	EBUS_DRV nt01d5

	// `EBUS_DRV g00(.i(ebus_data_out[00]), .oe(ebus_enable), .z(ebus_data[00]));
	// `EBUS_DRV g01(.i(ebus_data_out[01]), .oe(ebus_enable), .z(ebus_data[01]));
	// `EBUS_DRV g02(.i(ebus_data_out[02]), .oe(ebus_enable), .z(ebus_data[02]));
	// `EBUS_DRV g03(.i(ebus_data_out[03]), .oe(ebus_enable), .z(ebus_data[03]));
	// `EBUS_DRV g04(.i(ebus_data_out[04]), .oe(ebus_enable), .z(ebus_data[04]));
	// `EBUS_DRV g05(.i(ebus_data_out[05]), .oe(ebus_enable), .z(ebus_data[05]));
	// `EBUS_DRV g06(.i(ebus_data_out[06]), .oe(ebus_enable), .z(ebus_data[06]));
	// `EBUS_DRV g07(.i(ebus_data_out[07]), .oe(ebus_enable), .z(ebus_data[07]));

endmodule