module tb_top_level;

    reg        clk100;
    wire [7:0] debug;
    wire [1:0] dp_tx_lane_p;
    wire [1:0] dp_tx_lane_n;
    wire [7:0] LED;
    //////////////////////////////////////////
    reg        dp_refclk_p;
    reg        dp_refclk_n;
    reg        mgtrefclk1_p;
    reg        mgtrefclk1_n;
    //////////////////////////////////////////
    wire       dp_tx_hp_detect;
    wire       dp_tx_auxch_tx_p;
    wire       dp_tx_auxch_tx_n;
    wire       dp_tx_auxch_rx_p;
    wire       dp_tx_auxch_rx_n;
    ///////////////////////////////////////////
    reg  [3:0] sw;
    wire       auxch_data;

    reg  [31:0] i, j, k;


    
initial begin
    clk100               = 1'b0;

    dp_refclk_p = 1'b1;
    dp_refclk_n = 1'b0;

    mgtrefclk1_p         = 1'b0;
    mgtrefclk1_n         = 1'b1;

    sw                   = 3'b001;

    i                    = 31'b0;
    j                    = 31'b0;
    k                    = 31'b0;

end

   
always begin
        #5  clk100 = ~clk100; // generate a clock
end 

always begin
        #4  dp_refclk_p = ~dp_refclk_p; dp_refclk_n = ~dp_refclk_n;// generate a clock
end 

assign dp_tx_auxch_rx_p = auxch_data;
assign dp_tx_auxch_rx_n = ~auxch_data;

tb_dummy_sink i_tb_dummy_sink(
    .clk100           (clk100),
    .auxch_data       (auxch_data),
    .hotplug_detect   (dp_tx_hp_detect)
);

top_level_nexys_video i_top_level_nexys_video(
    .clk100           (clk100),
    //////////////////////////////////////////
    .dp_tx_lane_p     (dp_tx_lane_p),
    .dp_tx_lane_n     (dp_tx_lane_n),
    //////////////////////////////////////////
    .dp_refclk_p      (dp_refclk_p),
    .dp_refclk_n      (dp_refclk_n),
    .mgtrefclk1_p     (mgtrefclk1_p),
    .mgtrefclk1_n     (mgtrefclk1_n),
    //////////////////////////////////////////
    .dp_tx_hp_detect  (dp_tx_hp_detect),
    .dp_tx_auxch_tx_p (dp_tx_auxch_tx_p),
    .dp_tx_auxch_tx_n (dp_tx_auxch_tx_n),
    .dp_tx_auxch_rx_p (dp_tx_auxch_rx_p),
    .dp_tx_auxch_rx_n (dp_tx_auxch_rx_n),
    ///////////////////////////////////////////
    .debug            (debug),
    .sw               (sw),
    .LED              (LED)
);

endmodule