1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
module top (
inout [7:0] pin,
input in,
output out
);
wire [7:0] glbl, clk;
reg [7:0] q;
SB_GB_IO #(
.PIN_TYPE(6'b 0000_11),
.PULLUP(1'b0),
.NEG_TRIGGER(1'b0),
.IO_STANDARD("SB_LVCMOS")
) PIO[7:0] (
.PACKAGE_PIN(pin),
.LATCH_INPUT_VALUE(1'b1),
.CLOCK_ENABLE(),
.INPUT_CLK(),
.OUTPUT_CLK(),
.OUTPUT_ENABLE(),
.D_OUT_0(),
.D_OUT_1(),
.D_IN_0(),
.D_IN_1(),
.GLOBAL_BUFFER_OUTPUT(glbl)
);
assign clk[0] = glbl[0]; // glb_netwk_4
assign clk[1] = glbl[1]; // glb_netwk_1
assign clk[2] = glbl[2]; // glb_netwk_6
assign clk[3] = glbl[3]; // glb_netwk_3
assign clk[4] = glbl[4]; // glb_netwk_0
assign clk[5] = glbl[5]; // glb_netwk_5
assign clk[6] = glbl[6]; // glb_netwk_2
assign clk[7] = glbl[7]; // glb_netwk_7
genvar i;
generate for (i = 0; i < 8; i=i+1) begin
always @(posedge clk[i]) q[i] <= in;
end endgenerate
assign out = ^{q, in};
endmodule
|