1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-12-24 09:30:45 +00:00
8bitworkshop/test/cli/verilog/t_tri_pullup.v
2017-11-28 20:38:48 -05:00

27 lines
565 B
Verilog

// This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2008 by Lane Brooks
module top (input A, input OE, output X, output Y, output Z);
pullup p1(Z);
assign Z = OE ? A : 1'bz;
pulldown p2(Y);
assign Y = OE ? A : 1'bz;
pass pass(.A(A), .OE(OE), .X(X));
pullup_module p(X);
endmodule
module pass (input A, input OE, inout X);
io io(.A(A), .OE(OE), .X(X));
endmodule
module io (input A, input OE, inout X);
assign X = (OE) ? A : 1'bz;
endmodule
module pullup_module (output X);
pullup p1(X);
endmodule