OpenSTA/verilog/test/verilog_bus_out.vok

48 lines
880 B
Plaintext

module verilog_bus_test (clk,
data_in,
data_out,
sel,
enable);
input clk;
input [3:0] data_in;
output [3:0] data_out;
input sel;
input enable;
wire [3:0] n1;
wire [3:0] n2;
AND2_X1 and0 (.A1(n1[0]),
.A2(enable),
.ZN(n2[0]));
AND2_X1 and1 (.A1(n1[1]),
.A2(enable),
.ZN(n2[1]));
AND2_X1 and2 (.A1(n1[2]),
.A2(enable),
.ZN(n2[2]));
AND2_X1 and3 (.A1(n1[3]),
.A2(enable),
.ZN(n2[3]));
BUF_X1 buf0 (.A(data_in[0]),
.Z(n1[0]));
BUF_X1 buf1 (.A(data_in[1]),
.Z(n1[1]));
BUF_X1 buf2 (.A(data_in[2]),
.Z(n1[2]));
BUF_X1 buf3 (.A(data_in[3]),
.Z(n1[3]));
DFF_X1 reg0 (.D(n2[0]),
.CK(clk),
.Q(data_out[0]));
DFF_X1 reg1 (.D(n2[1]),
.CK(clk),
.Q(data_out[1]));
DFF_X1 reg2 (.D(n2[2]),
.CK(clk),
.Q(data_out[2]));
DFF_X1 reg3 (.D(n2[3]),
.CK(clk),
.Q(data_out[3]));
endmodule