// soc_system_cam_0_crs.v

// This file was auto-generated from alt_vip_cl_crs_hw.tcl.  If you edit it your changes
// will probably be lost.
// 
// Generated using ACDS version 18.1 646

`timescale 1 ps / 1 ps
module soc_system_cam_0_crs (
		input  wire        main_clock,         // main_clock.clk
		input  wire        main_reset,         // main_reset.reset
		input  wire [15:0] din_data,           //        din.data
		input  wire        din_valid,          //           .valid
		input  wire        din_startofpacket,  //           .startofpacket
		input  wire        din_endofpacket,    //           .endofpacket
		output wire        din_ready,          //           .ready
		output wire [23:0] dout_data,          //       dout.data
		output wire        dout_valid,         //           .valid
		output wire        dout_startofpacket, //           .startofpacket
		output wire        dout_endofpacket,   //           .endofpacket
		input  wire        dout_ready          //           .ready
	);

	wire         video_in_resp_av_st_dout_valid;         // video_in_resp:av_st_dout_valid -> inst_crs_int:av_st_din_valid
	wire  [47:0] video_in_resp_av_st_dout_data;          // video_in_resp:av_st_dout_data -> inst_crs_int:av_st_din_data
	wire         video_in_resp_av_st_dout_ready;         // inst_crs_int:av_st_din_ready -> video_in_resp:av_st_dout_ready
	wire         video_in_resp_av_st_dout_startofpacket; // video_in_resp:av_st_dout_startofpacket -> inst_crs_int:av_st_din_startofpacket
	wire         video_in_resp_av_st_dout_endofpacket;   // video_in_resp:av_st_dout_endofpacket -> inst_crs_int:av_st_din_endofpacket
	wire         inst_crs_int_av_st_dout_valid;          // inst_crs_int:av_st_dout_valid -> video_out:av_st_din_valid
	wire  [55:0] inst_crs_int_av_st_dout_data;           // inst_crs_int:av_st_dout_data -> video_out:av_st_din_data
	wire         inst_crs_int_av_st_dout_ready;          // video_out:av_st_din_ready -> inst_crs_int:av_st_dout_ready
	wire         inst_crs_int_av_st_dout_startofpacket;  // inst_crs_int:av_st_dout_startofpacket -> video_out:av_st_din_startofpacket
	wire         inst_crs_int_av_st_dout_endofpacket;    // inst_crs_int:av_st_dout_endofpacket -> video_out:av_st_din_endofpacket
	wire         video_in_resp_av_st_resp_valid;         // video_in_resp:av_st_resp_valid -> video_out:av_st_cmd_valid
	wire  [63:0] video_in_resp_av_st_resp_data;          // video_in_resp:av_st_resp_data -> video_out:av_st_cmd_data
	wire         video_in_resp_av_st_resp_ready;         // video_out:av_st_cmd_ready -> video_in_resp:av_st_resp_ready
	wire         video_in_resp_av_st_resp_startofpacket; // video_in_resp:av_st_resp_startofpacket -> video_out:av_st_cmd_startofpacket
	wire         video_in_resp_av_st_resp_endofpacket;   // video_in_resp:av_st_resp_endofpacket -> video_out:av_st_cmd_endofpacket

	alt_vip_video_input_bridge_resp #(
		.BITS_PER_SYMBOL              (8),
		.NUMBER_OF_COLOR_PLANES       (2),
		.COLOR_PLANES_ARE_IN_PARALLEL (1),
		.PIXELS_IN_PARALLEL           (1),
		.DEFAULT_LINE_LENGTH          (1280),
		.VIB_MODE                     ("FULL"),
		.VIDEO_PROTOCOL_NO            (1),
		.READY_LATENCY_1              (1),
		.MAX_WIDTH                    (1280),
		.MAX_HEIGHT                   (720),
		.ENABLE_RESOLUTION_CHECK      (0),
		.MULTI_CONTEXT_SUPPORT        (0),
		.PIPELINE_READY               (0),
		.RESP_SRC_ADDRESS             (0),
		.RESP_DST_ADDRESS             (0),
		.DATA_SRC_ADDRESS             (0),
		.SRC_WIDTH                    (8),
		.DST_WIDTH                    (8),
		.CONTEXT_WIDTH                (8),
		.TASK_WIDTH                   (8)
	) video_in_resp (
		.clock                       (main_clock),                             //    main_clock.clk
		.reset                       (main_reset),                             //    main_reset.reset
		.av_st_vid_din_data          (din_data),                               // av_st_vid_din.data
		.av_st_vid_din_valid         (din_valid),                              //              .valid
		.av_st_vid_din_startofpacket (din_startofpacket),                      //              .startofpacket
		.av_st_vid_din_endofpacket   (din_endofpacket),                        //              .endofpacket
		.av_st_vid_din_ready         (din_ready),                              //              .ready
		.av_st_resp_valid            (video_in_resp_av_st_resp_valid),         //    av_st_resp.valid
		.av_st_resp_startofpacket    (video_in_resp_av_st_resp_startofpacket), //              .startofpacket
		.av_st_resp_endofpacket      (video_in_resp_av_st_resp_endofpacket),   //              .endofpacket
		.av_st_resp_data             (video_in_resp_av_st_resp_data),          //              .data
		.av_st_resp_ready            (video_in_resp_av_st_resp_ready),         //              .ready
		.av_st_dout_valid            (video_in_resp_av_st_dout_valid),         //    av_st_dout.valid
		.av_st_dout_startofpacket    (video_in_resp_av_st_dout_startofpacket), //              .startofpacket
		.av_st_dout_endofpacket      (video_in_resp_av_st_dout_endofpacket),   //              .endofpacket
		.av_st_dout_data             (video_in_resp_av_st_dout_data),          //              .data
		.av_st_dout_ready            (video_in_resp_av_st_dout_ready)          //              .ready
	);

	alt_vip_video_output_bridge #(
		.BITS_PER_SYMBOL              (8),
		.NUMBER_OF_COLOR_PLANES       (3),
		.COLOR_PLANES_ARE_IN_PARALLEL (1),
		.PIXELS_IN_PARALLEL           (1),
		.VIDEO_PROTOCOL_NO            (1),
		.READY_LATENCY_1              (1),
		.SOP_PRE_ALIGNED              (0),
		.MULTI_CONTEXT_SUPPORT        (0),
		.TYPE_11_SUPPORT              (0),
		.NO_CONCATENATION             (0),
		.PIPELINE_READY               (0),
		.SRC_WIDTH                    (8),
		.DST_WIDTH                    (8),
		.CONTEXT_WIDTH                (8),
		.TASK_WIDTH                   (8),
		.LOW_LATENCY_COMMAND_MODE     (0)
	) video_out (
		.clock                        (main_clock),                             //     main_clock.clk
		.reset                        (main_reset),                             //     main_reset.reset
		.av_st_cmd_valid              (video_in_resp_av_st_resp_valid),         //      av_st_cmd.valid
		.av_st_cmd_startofpacket      (video_in_resp_av_st_resp_startofpacket), //               .startofpacket
		.av_st_cmd_endofpacket        (video_in_resp_av_st_resp_endofpacket),   //               .endofpacket
		.av_st_cmd_data               (video_in_resp_av_st_resp_data),          //               .data
		.av_st_cmd_ready              (video_in_resp_av_st_resp_ready),         //               .ready
		.av_st_din_valid              (inst_crs_int_av_st_dout_valid),          //      av_st_din.valid
		.av_st_din_startofpacket      (inst_crs_int_av_st_dout_startofpacket),  //               .startofpacket
		.av_st_din_endofpacket        (inst_crs_int_av_st_dout_endofpacket),    //               .endofpacket
		.av_st_din_data               (inst_crs_int_av_st_dout_data),           //               .data
		.av_st_din_ready              (inst_crs_int_av_st_dout_ready),          //               .ready
		.av_st_vid_dout_data          (dout_data),                              // av_st_vid_dout.data
		.av_st_vid_dout_valid         (dout_valid),                             //               .valid
		.av_st_vid_dout_startofpacket (dout_startofpacket),                     //               .startofpacket
		.av_st_vid_dout_endofpacket   (dout_endofpacket),                       //               .endofpacket
		.av_st_vid_dout_ready         (dout_ready)                              //               .ready
	);

	soc_system_cam_0_crs_inst_crs_int inst_crs_int (
		.main_clock_clk           (main_clock),                             // main_clock.clk
		.main_reset_reset         (main_reset),                             // main_reset.reset
		.av_st_din_valid          (video_in_resp_av_st_dout_valid),         //  av_st_din.valid
		.av_st_din_startofpacket  (video_in_resp_av_st_dout_startofpacket), //           .startofpacket
		.av_st_din_endofpacket    (video_in_resp_av_st_dout_endofpacket),   //           .endofpacket
		.av_st_din_data           (video_in_resp_av_st_dout_data),          //           .data
		.av_st_din_ready          (video_in_resp_av_st_dout_ready),         //           .ready
		.av_st_dout_valid         (inst_crs_int_av_st_dout_valid),          // av_st_dout.valid
		.av_st_dout_startofpacket (inst_crs_int_av_st_dout_startofpacket),  //           .startofpacket
		.av_st_dout_endofpacket   (inst_crs_int_av_st_dout_endofpacket),    //           .endofpacket
		.av_st_dout_data          (inst_crs_int_av_st_dout_data),           //           .data
		.av_st_dout_ready         (inst_crs_int_av_st_dout_ready)           //           .ready
	);

endmodule
