`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 2026/02/02 18:13:16 // Design Name: // Module Name: top_module // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module top_module( input wire CLK_A_p,CLK_A_n, input wire [3:0] DATA_A_p,DATA_A_n, input wire CLK_B_p,CLK_B_n, input wire [3:0] DATA_B_p,DATA_B_n, // ------------------------------------------- output wire CLK0_A_p,CLK0_A_n, output wire [3:0] DATA0_A_p,DATA0_A_n, output wire CLK0_B_p,CLK0_B_n, output wire [3:0] DATA0_B_p,DATA0_B_n, // ------------------------------------------- output wire CLK1_A_p,CLK1_A_n, output wire [3:0] DATA1_A_p,DATA1_A_n, output wire CLK1_B_p,CLK1_B_n, output wire [3:0] DATA1_B_p,DATA1_B_n, // ------------------------------------------- output wire CLK2_A_p,CLK2_A_n, output wire [3:0] DATA2_A_p,DATA2_A_n, output wire CLK2_B_p,CLK2_B_n, output wire [3:0] DATA2_B_p,DATA2_B_n, input wire sys_clk_50, input wire sys_rest_n ); // lvds_1to3_copy_reg lvds_inst0( // // 输入LVDS差分信号 // .clk_in_p(CLK_A_p), // .clk_in_n(CLK_A_n), // .data_in_p(DATA_A_p), // .data_in_n(DATA_A_n), // // 输出LVDS差分信号 // .clk_out0_p(CLK0_A_p), // .clk_out0_n(CLK0_A_n), // .data_out0_p(DATA0_A_p), // .data_out0_n(DATA0_A_n), // .clk_out1_p(CLK1_A_p), // .clk_out1_n(CLK1_A_n), // .data_out1_p(DATA1_A_p), // .data_out1_n(DATA1_A_n), // .clk_out2_p(CLK2_A_p), // .clk_out2_n(CLK2_A_n), // .data_out2_p(DATA2_A_p), // .data_out2_n(DATA2_A_n) // ); lvds_1to3bypass lvds_1to3bypass_int0( .CLK_p(CLK_A_p), .CLK_n(CLK_A_n), .DATA_p(DATA_A_p), .DATA_n(DATA_A_n), // ------------------------------------------- .CLK0_p(CLK0_A_p), .CLK0_n(CLK0_A_n), .DATA0_p(DATA0_A_p), .DATA0_n(DATA0_A_n), // ------------------------------------------- .CLK1_p(CLK1_A_p), .CLK1_n(CLK1_A_n), .DATA1_p(DATA1_A_p), .DATA1_n(DATA1_A_n), // ------------------------------------------- .CLK2_p(CLK2_A_p), .CLK2_n(CLK2_A_n), .DATA2_p(DATA2_A_p), .DATA2_n(DATA2_A_n), // input sys_clk_50, .io_reset(sys_rest_n) ); wire [3:0] data_in_to_device; wire clk_out; selectio_wiz_in lvds_in1( // From the system into the device .data_in_from_pins_p(DATA_B_p), // .data_in_from_pins_n(DATA_B_n), // .data_in_to_device(data_in_to_device), .clk_in_p(CLK_B_p), // // Differential clock from IOB .clk_in_n(CLK_B_n), // .clk_out(clk_out),// .io_reset(sys_rest_n) ); selectio_wiz_out lvdsout0 ( // From the device out to the system .data_out_from_device(data_in_to_device), .data_out_to_pins_p(DATA0_B_p), .data_out_to_pins_n(DATA0_B_n), .clk_to_pins_p(CLK0_B_p), .clk_to_pins_n(CLK0_B_n), .clk_in(clk_out), // Fast clock input from PLL/MMCM .clk_reset(sys_rest_n), .io_reset(sys_rest_n) ); selectio_wiz_out lvdsout1 ( // From the device out to the system .data_out_from_device(data_in_to_device), .data_out_to_pins_p(DATA1_B_p), .data_out_to_pins_n(DATA1_B_n), .clk_to_pins_p(CLK1_B_p), .clk_to_pins_n(CLK1_B_n), .clk_in(clk_out), // Fast clock input from PLL/MMCM .clk_reset(sys_rest_n), .io_reset(sys_rest_n) ); selectio_wiz_out lvdsout2 ( // From the device out to the system .data_out_from_device(data_in_to_device), .data_out_to_pins_p(DATA2_B_p), .data_out_to_pins_n(DATA2_B_n), .clk_to_pins_p(CLK2_B_p), .clk_to_pins_n(CLK2_B_n), .clk_in(clk_out), // Fast clock input from PLL/MMCM .clk_reset(sys_rest_n), .io_reset(sys_rest_n) ); endmodule