| module top ( |
| input wire clk, |
| output wire clk_pr1, |
| output wire clk_pr2, |
| input wire rst, |
| output wire rst_pr1, |
| output wire rst_pr2, |
| input wire [3:0] sw, |
| output wire [3:0] in_pr1, |
| input wire [3:0] out_pr1, |
| output wire [3:0] in_pr2, |
| input wire [3:0] out_pr2, |
| output wire [3:0] led, |
| ); |
| // 'data' buffers |
| wire [3:0] inter; |
| genvar i; |
| generate |
| for (i=0; i < 8; i=i+1) begin |
| SYN_OBUF in_obuf_pr1(.I(sw[i]), .O(in_pr1[i])); |
| SYN_IBUF out_ibuf_pr1(.I(out_pr1[i]), .O(inter[i])); |
| SYN_OBUF in_obuf_pr2(.I(inter[i]), .O(in_pr2[i])); |
| SYN_IBUF out_ibuf2(.I(out_pr2[i]), .O(led[i])); |
| end |
| endgenerate |
| |
| // clock buffers |
| IBUF clk_ibuf(.I(clk), .O(clk_ibuf)); |
| BUFG clk_bufg(.I(clk_ibuf), .O(clk_b)); |
| SYN_OBUF clk_obuf1(.I(clk_b), .O(clk_pr1)); |
| SYN_OBUF clk_obuf2(.I(clk_b), .O(clk_pr2)); |
| |
| // reset buffers |
| SYN_OBUF rst_obuf1(.I(rst), .O(rst_pr1)); |
| SYN_OBUF rst_obuf2(.I(rst), .O(rst_pr2)); |
| endmodule |