// ==============================================================
// RTL generated by Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC
// Version: 2017.2
// Copyright (C) 1986-2017 Xilinx, Inc. All Rights Reserved.
// 
// ===========================================================

`timescale 1 ns / 1 ps 

(* CORE_GENERATION_INFO="image_filter,hls_ip_2017_2,{HLS_INPUT_TYPE=cxx,HLS_INPUT_FLOAT=0,HLS_INPUT_FIXED=0,HLS_INPUT_PART=xc7z010clg400-1,HLS_INPUT_CLOCK=10.000000,HLS_INPUT_ARCH=dataflow,HLS_SYN_CLOCK=9.400000,HLS_SYN_LAT=-1,HLS_SYN_TPT=-1,HLS_SYN_MEM=15,HLS_SYN_DSP=57,HLS_SYN_FF=9903,HLS_SYN_LUT=5885}" *)

module image_filter (
        s_axi_CONTROL_BUS_AWVALID,
        s_axi_CONTROL_BUS_AWREADY,
        s_axi_CONTROL_BUS_AWADDR,
        s_axi_CONTROL_BUS_WVALID,
        s_axi_CONTROL_BUS_WREADY,
        s_axi_CONTROL_BUS_WDATA,
        s_axi_CONTROL_BUS_WSTRB,
        s_axi_CONTROL_BUS_ARVALID,
        s_axi_CONTROL_BUS_ARREADY,
        s_axi_CONTROL_BUS_ARADDR,
        s_axi_CONTROL_BUS_RVALID,
        s_axi_CONTROL_BUS_RREADY,
        s_axi_CONTROL_BUS_RDATA,
        s_axi_CONTROL_BUS_RRESP,
        s_axi_CONTROL_BUS_BVALID,
        s_axi_CONTROL_BUS_BREADY,
        s_axi_CONTROL_BUS_BRESP,
        ap_clk,
        ap_rst_n,
        video_in_TDATA,
        video_in_TKEEP,
        video_in_TSTRB,
        video_in_TUSER,
        video_in_TLAST,
        video_in_TID,
        video_in_TDEST,
        video_out_TDATA,
        video_out_TKEEP,
        video_out_TSTRB,
        video_out_TUSER,
        video_out_TLAST,
        video_out_TID,
        video_out_TDEST,
        ap_start,
        video_in_TVALID,
        video_in_TREADY,
        video_out_TVALID,
        video_out_TREADY,
        ap_done,
        ap_ready,
        ap_idle
);

parameter    C_S_AXI_CONTROL_BUS_DATA_WIDTH = 32;
parameter    C_S_AXI_CONTROL_BUS_ADDR_WIDTH = 6;
parameter    C_S_AXI_DATA_WIDTH = 32;
parameter    C_S_AXI_ADDR_WIDTH = 32;

parameter C_S_AXI_CONTROL_BUS_WSTRB_WIDTH = (32 / 8);
parameter C_S_AXI_WSTRB_WIDTH = (32 / 8);

input   s_axi_CONTROL_BUS_AWVALID;
output   s_axi_CONTROL_BUS_AWREADY;
input  [C_S_AXI_CONTROL_BUS_ADDR_WIDTH - 1:0] s_axi_CONTROL_BUS_AWADDR;
input   s_axi_CONTROL_BUS_WVALID;
output   s_axi_CONTROL_BUS_WREADY;
input  [C_S_AXI_CONTROL_BUS_DATA_WIDTH - 1:0] s_axi_CONTROL_BUS_WDATA;
input  [C_S_AXI_CONTROL_BUS_WSTRB_WIDTH - 1:0] s_axi_CONTROL_BUS_WSTRB;
input   s_axi_CONTROL_BUS_ARVALID;
output   s_axi_CONTROL_BUS_ARREADY;
input  [C_S_AXI_CONTROL_BUS_ADDR_WIDTH - 1:0] s_axi_CONTROL_BUS_ARADDR;
output   s_axi_CONTROL_BUS_RVALID;
input   s_axi_CONTROL_BUS_RREADY;
output  [C_S_AXI_CONTROL_BUS_DATA_WIDTH - 1:0] s_axi_CONTROL_BUS_RDATA;
output  [1:0] s_axi_CONTROL_BUS_RRESP;
output   s_axi_CONTROL_BUS_BVALID;
input   s_axi_CONTROL_BUS_BREADY;
output  [1:0] s_axi_CONTROL_BUS_BRESP;
input   ap_clk;
input   ap_rst_n;
input  [23:0] video_in_TDATA;
input  [2:0] video_in_TKEEP;
input  [2:0] video_in_TSTRB;
input  [0:0] video_in_TUSER;
input  [0:0] video_in_TLAST;
input  [0:0] video_in_TID;
input  [0:0] video_in_TDEST;
output  [23:0] video_out_TDATA;
output  [2:0] video_out_TKEEP;
output  [2:0] video_out_TSTRB;
output  [0:0] video_out_TUSER;
output  [0:0] video_out_TLAST;
output  [0:0] video_out_TID;
output  [0:0] video_out_TDEST;
input   ap_start;
input   video_in_TVALID;
output   video_in_TREADY;
output   video_out_TVALID;
input   video_out_TREADY;
output   ap_done;
output   ap_ready;
output   ap_idle;

reg    ap_rst_n_inv;
wire    Block_proc_U0_ap_start;
wire    Block_proc_U0_ap_done;
wire    Block_proc_U0_ap_continue;
wire    Block_proc_U0_ap_idle;
wire    Block_proc_U0_ap_ready;
wire   [9:0] Block_proc_U0_img_in_rows_V_out_din;
wire    Block_proc_U0_img_in_rows_V_out_write;
wire   [10:0] Block_proc_U0_img_in_cols_V_out_din;
wire    Block_proc_U0_img_in_cols_V_out_write;
wire    AXIvideo2Mat_U0_ap_start;
wire    AXIvideo2Mat_U0_start_full_n;
wire    AXIvideo2Mat_U0_ap_ready;
wire    AXIvideo2Mat_U0_ap_done;
wire    AXIvideo2Mat_U0_ap_continue;
wire    AXIvideo2Mat_U0_ap_idle;
wire    AXIvideo2Mat_U0_start_out;
wire    AXIvideo2Mat_U0_start_write;
wire    AXIvideo2Mat_U0_video_in_TREADY;
wire    AXIvideo2Mat_U0_img_rows_V_read;
wire    AXIvideo2Mat_U0_img_cols_V_read;
wire   [7:0] AXIvideo2Mat_U0_img_data_stream_0_V_din;
wire    AXIvideo2Mat_U0_img_data_stream_0_V_write;
wire   [7:0] AXIvideo2Mat_U0_img_data_stream_1_V_din;
wire    AXIvideo2Mat_U0_img_data_stream_1_V_write;
wire   [7:0] AXIvideo2Mat_U0_img_data_stream_2_V_din;
wire    AXIvideo2Mat_U0_img_data_stream_2_V_write;
wire   [9:0] AXIvideo2Mat_U0_img_rows_V_out_din;
wire    AXIvideo2Mat_U0_img_rows_V_out_write;
wire   [10:0] AXIvideo2Mat_U0_img_cols_V_out_din;
wire    AXIvideo2Mat_U0_img_cols_V_out_write;
wire    GaussianBlur_U0_ap_start;
wire    GaussianBlur_U0_start_full_n;
wire    GaussianBlur_U0_ap_ready;
wire    GaussianBlur_U0_ap_done;
wire    GaussianBlur_U0_ap_continue;
wire    GaussianBlur_U0_ap_idle;
wire    GaussianBlur_U0_start_out;
wire    GaussianBlur_U0_start_write;
wire    GaussianBlur_U0_p_src_rows_V_read;
wire    GaussianBlur_U0_p_src_cols_V_read;
wire    GaussianBlur_U0_p_src_data_stream_0_V_read;
wire    GaussianBlur_U0_p_src_data_stream_1_V_read;
wire    GaussianBlur_U0_p_src_data_stream_2_V_read;
wire   [7:0] GaussianBlur_U0_p_dst_data_stream_0_V_din;
wire    GaussianBlur_U0_p_dst_data_stream_0_V_write;
wire   [7:0] GaussianBlur_U0_p_dst_data_stream_1_V_din;
wire    GaussianBlur_U0_p_dst_data_stream_1_V_write;
wire   [7:0] GaussianBlur_U0_p_dst_data_stream_2_V_din;
wire    GaussianBlur_U0_p_dst_data_stream_2_V_write;
wire    Duplicate130_U0_ap_start;
wire    Duplicate130_U0_start_full_n;
wire    Duplicate130_U0_ap_ready;
wire    Duplicate130_U0_ap_done;
wire    Duplicate130_U0_ap_continue;
wire    Duplicate130_U0_ap_idle;
wire    Duplicate130_U0_start_out;
wire    Duplicate130_U0_start_write;
wire    Duplicate130_U0_src_data_stream_V_read;
wire    Duplicate130_U0_src_data_stream_V1_read;
wire    Duplicate130_U0_src_data_stream_V2_read;
wire   [7:0] Duplicate130_U0_dst1_data_stream_V;
wire    Duplicate130_U0_dst1_data_stream_V_ap_vld;
wire   [7:0] Duplicate130_U0_dst1_data_stream_V3;
wire    Duplicate130_U0_dst1_data_stream_V3_ap_vld;
wire   [7:0] Duplicate130_U0_dst1_data_stream_V4;
wire    Duplicate130_U0_dst1_data_stream_V4_ap_vld;
wire   [7:0] Duplicate130_U0_dst2_data_stream_V_din;
wire    Duplicate130_U0_dst2_data_stream_V_write;
wire   [7:0] Duplicate130_U0_dst2_data_stream_V5_din;
wire    Duplicate130_U0_dst2_data_stream_V5_write;
wire   [7:0] Duplicate130_U0_dst2_data_stream_V6_din;
wire    Duplicate130_U0_dst2_data_stream_V6_write;
wire    Duplicate_U0_ap_start;
wire    Duplicate_U0_ap_done;
wire    Duplicate_U0_ap_continue;
wire    Duplicate_U0_ap_idle;
wire    Duplicate_U0_ap_ready;
wire    Duplicate_U0_src_data_stream_0_V_read;
wire    Duplicate_U0_src_data_stream_1_V_read;
wire    Duplicate_U0_src_data_stream_2_V_read;
wire   [7:0] Duplicate_U0_dst1_data_stream_0_V;
wire    Duplicate_U0_dst1_data_stream_0_V_ap_vld;
wire   [7:0] Duplicate_U0_dst1_data_stream_1_V;
wire    Duplicate_U0_dst1_data_stream_1_V_ap_vld;
wire   [7:0] Duplicate_U0_dst1_data_stream_2_V;
wire    Duplicate_U0_dst1_data_stream_2_V_ap_vld;
wire   [7:0] Duplicate_U0_dst2_data_stream_0_V_din;
wire    Duplicate_U0_dst2_data_stream_0_V_write;
wire   [7:0] Duplicate_U0_dst2_data_stream_1_V_din;
wire    Duplicate_U0_dst2_data_stream_1_V_write;
wire   [7:0] Duplicate_U0_dst2_data_stream_2_V_din;
wire    Duplicate_U0_dst2_data_stream_2_V_write;
wire    PaintMask_U0_ap_start;
wire    PaintMask_U0_start_full_n;
wire    PaintMask_U0_ap_ready;
wire    PaintMask_U0_ap_done;
wire    PaintMask_U0_ap_continue;
wire    PaintMask_U0_ap_idle;
wire    PaintMask_U0_start_out;
wire    PaintMask_U0_start_write;
wire    PaintMask_U0_p_src_data_stream_0_V_read;
wire    PaintMask_U0_p_src_data_stream_1_V_read;
wire    PaintMask_U0_p_src_data_stream_2_V_read;
wire   [7:0] PaintMask_U0_p_dst_data_stream_0_V_din;
wire    PaintMask_U0_p_dst_data_stream_0_V_write;
wire   [7:0] PaintMask_U0_p_dst_data_stream_1_V_din;
wire    PaintMask_U0_p_dst_data_stream_1_V_write;
wire   [7:0] PaintMask_U0_p_dst_data_stream_2_V_din;
wire    PaintMask_U0_p_dst_data_stream_2_V_write;
wire    Mat2AXIvideo_U0_ap_start;
wire    Mat2AXIvideo_U0_ap_done;
wire    Mat2AXIvideo_U0_ap_continue;
wire    Mat2AXIvideo_U0_ap_idle;
wire    Mat2AXIvideo_U0_ap_ready;
wire    Mat2AXIvideo_U0_img_data_stream_0_V_read;
wire    Mat2AXIvideo_U0_img_data_stream_1_V_read;
wire    Mat2AXIvideo_U0_img_data_stream_2_V_read;
wire   [23:0] Mat2AXIvideo_U0_video_out_TDATA;
wire    Mat2AXIvideo_U0_video_out_TVALID;
wire   [2:0] Mat2AXIvideo_U0_video_out_TKEEP;
wire   [2:0] Mat2AXIvideo_U0_video_out_TSTRB;
wire   [0:0] Mat2AXIvideo_U0_video_out_TUSER;
wire   [0:0] Mat2AXIvideo_U0_video_out_TLAST;
wire   [0:0] Mat2AXIvideo_U0_video_out_TID;
wire   [0:0] Mat2AXIvideo_U0_video_out_TDEST;
wire    ap_sync_continue;
wire    Block_proc154_U0_ap_start;
wire    Block_proc154_U0_ap_done;
wire    Block_proc154_U0_ap_continue;
wire    Block_proc154_U0_ap_idle;
wire    Block_proc154_U0_ap_ready;
wire   [31:0] Block_proc154_U0_x;
wire    Block_proc154_U0_x_ap_vld;
wire   [31:0] Block_proc154_U0_y;
wire    Block_proc154_U0_y_ap_vld;
wire    img_in_rows_V_channe_1_full_n;
wire   [9:0] img_in_rows_V_channe_1_dout;
wire    img_in_rows_V_channe_1_empty_n;
wire    img_in_cols_V_channe_1_full_n;
wire   [10:0] img_in_cols_V_channe_1_dout;
wire    img_in_cols_V_channe_1_empty_n;
wire    img_in_data_stream_0_full_n;
wire   [7:0] img_in_data_stream_0_dout;
wire    img_in_data_stream_0_empty_n;
wire    img_in_data_stream_1_full_n;
wire   [7:0] img_in_data_stream_1_dout;
wire    img_in_data_stream_1_empty_n;
wire    img_in_data_stream_2_full_n;
wire   [7:0] img_in_data_stream_2_dout;
wire    img_in_data_stream_2_empty_n;
wire    img_in_rows_V_channe_full_n;
wire   [9:0] img_in_rows_V_channe_dout;
wire    img_in_rows_V_channe_empty_n;
wire    img_in_cols_V_channe_full_n;
wire   [10:0] img_in_cols_V_channe_dout;
wire    img_in_cols_V_channe_empty_n;
wire    img_0_data_stream_0_full_n;
wire   [7:0] img_0_data_stream_0_dout;
wire    img_0_data_stream_0_empty_n;
wire    img_0_data_stream_1_full_n;
wire   [7:0] img_0_data_stream_1_dout;
wire    img_0_data_stream_1_empty_n;
wire    img_0_data_stream_2_full_n;
wire   [7:0] img_0_data_stream_2_dout;
wire    img_0_data_stream_2_empty_n;
wire    img_in2_data_stream_s_full_n;
wire   [7:0] img_in2_data_stream_s_dout;
wire    img_in2_data_stream_s_empty_n;
wire    img_in2_data_stream_1_full_n;
wire   [7:0] img_in2_data_stream_1_dout;
wire    img_in2_data_stream_1_empty_n;
wire    img_in2_data_stream_2_full_n;
wire   [7:0] img_in2_data_stream_2_dout;
wire    img_in2_data_stream_2_empty_n;
wire    img_3_data_stream_0_full_n;
wire   [7:0] img_3_data_stream_0_dout;
wire    img_3_data_stream_0_empty_n;
wire    img_3_data_stream_1_full_n;
wire   [7:0] img_3_data_stream_1_dout;
wire    img_3_data_stream_1_empty_n;
wire    img_3_data_stream_2_full_n;
wire   [7:0] img_3_data_stream_2_dout;
wire    img_3_data_stream_2_empty_n;
wire    img_out_data_stream_s_full_n;
wire   [7:0] img_out_data_stream_s_dout;
wire    img_out_data_stream_s_empty_n;
wire    img_out_data_stream_1_full_n;
wire   [7:0] img_out_data_stream_1_dout;
wire    img_out_data_stream_1_empty_n;
wire    img_out_data_stream_2_full_n;
wire   [7:0] img_out_data_stream_2_dout;
wire    img_out_data_stream_2_empty_n;
wire    ap_sync_done;
reg    ap_reg_Mat2AXIvideo_U0_ap_done;
reg    ap_reg_Block_proc154_U0_ap_done;
wire    ap_sync_ready;
wire    Block_proc_U0_start_full_n;
wire    Block_proc_U0_start_write;
wire   [0:0] start_for_GaussianBlur_U0_din;
wire    start_for_GaussianBlur_U0_full_n;
wire   [0:0] start_for_GaussianBlur_U0_dout;
wire    start_for_GaussianBlur_U0_empty_n;
wire   [0:0] start_for_Duplicate130_U0_din;
wire    start_for_Duplicate130_U0_full_n;
wire   [0:0] start_for_Duplicate130_U0_dout;
wire    start_for_Duplicate130_U0_empty_n;
wire   [0:0] start_for_Duplicate_U0_din;
wire    start_for_Duplicate_U0_full_n;
wire   [0:0] start_for_Duplicate_U0_dout;
wire    start_for_Duplicate_U0_empty_n;
wire    Duplicate_U0_start_full_n;
wire    Duplicate_U0_start_write;
wire   [0:0] start_for_Mat2AXIvideo_U0_din;
wire    start_for_Mat2AXIvideo_U0_full_n;
wire   [0:0] start_for_Mat2AXIvideo_U0_dout;
wire    start_for_Mat2AXIvideo_U0_empty_n;
wire    Mat2AXIvideo_U0_start_full_n;
wire    Mat2AXIvideo_U0_start_write;
wire    Block_proc154_U0_start_full_n;
wire    Block_proc154_U0_start_write;

// power-on initialization
initial begin
#0 ap_reg_Mat2AXIvideo_U0_ap_done = 1'b0;
#0 ap_reg_Block_proc154_U0_ap_done = 1'b0;
end

image_filter_CONTROL_BUS_s_axi #(
    .C_S_AXI_ADDR_WIDTH( C_S_AXI_CONTROL_BUS_ADDR_WIDTH ),
    .C_S_AXI_DATA_WIDTH( C_S_AXI_CONTROL_BUS_DATA_WIDTH ))
image_filter_CONTROL_BUS_s_axi_U(
    .AWVALID(s_axi_CONTROL_BUS_AWVALID),
    .AWREADY(s_axi_CONTROL_BUS_AWREADY),
    .AWADDR(s_axi_CONTROL_BUS_AWADDR),
    .WVALID(s_axi_CONTROL_BUS_WVALID),
    .WREADY(s_axi_CONTROL_BUS_WREADY),
    .WDATA(s_axi_CONTROL_BUS_WDATA),
    .WSTRB(s_axi_CONTROL_BUS_WSTRB),
    .ARVALID(s_axi_CONTROL_BUS_ARVALID),
    .ARREADY(s_axi_CONTROL_BUS_ARREADY),
    .ARADDR(s_axi_CONTROL_BUS_ARADDR),
    .RVALID(s_axi_CONTROL_BUS_RVALID),
    .RREADY(s_axi_CONTROL_BUS_RREADY),
    .RDATA(s_axi_CONTROL_BUS_RDATA),
    .RRESP(s_axi_CONTROL_BUS_RRESP),
    .BVALID(s_axi_CONTROL_BUS_BVALID),
    .BREADY(s_axi_CONTROL_BUS_BREADY),
    .BRESP(s_axi_CONTROL_BUS_BRESP),
    .ACLK(ap_clk),
    .ARESET(ap_rst_n_inv),
    .ACLK_EN(1'b1),
    .x(Block_proc154_U0_x),
    .x_ap_vld(Block_proc154_U0_x_ap_vld),
    .y(Block_proc154_U0_y),
    .y_ap_vld(Block_proc154_U0_y_ap_vld)
);

Block_proc Block_proc_U0(
    .ap_clk(ap_clk),
    .ap_rst(ap_rst_n_inv),
    .ap_start(Block_proc_U0_ap_start),
    .ap_done(Block_proc_U0_ap_done),
    .ap_continue(Block_proc_U0_ap_continue),
    .ap_idle(Block_proc_U0_ap_idle),
    .ap_ready(Block_proc_U0_ap_ready),
    .img_in_rows_V_out_din(Block_proc_U0_img_in_rows_V_out_din),
    .img_in_rows_V_out_full_n(img_in_rows_V_channe_1_full_n),
    .img_in_rows_V_out_write(Block_proc_U0_img_in_rows_V_out_write),
    .img_in_cols_V_out_din(Block_proc_U0_img_in_cols_V_out_din),
    .img_in_cols_V_out_full_n(img_in_cols_V_channe_1_full_n),
    .img_in_cols_V_out_write(Block_proc_U0_img_in_cols_V_out_write)
);

AXIvideo2Mat AXIvideo2Mat_U0(
    .ap_clk(ap_clk),
    .ap_rst(ap_rst_n_inv),
    .ap_start(AXIvideo2Mat_U0_ap_start),
    .start_full_n(AXIvideo2Mat_U0_start_full_n),
    .ap_ready(AXIvideo2Mat_U0_ap_ready),
    .ap_done(AXIvideo2Mat_U0_ap_done),
    .ap_continue(AXIvideo2Mat_U0_ap_continue),
    .ap_idle(AXIvideo2Mat_U0_ap_idle),
    .start_out(AXIvideo2Mat_U0_start_out),
    .start_write(AXIvideo2Mat_U0_start_write),
    .video_in_TDATA(video_in_TDATA),
    .video_in_TVALID(video_in_TVALID),
    .video_in_TREADY(AXIvideo2Mat_U0_video_in_TREADY),
    .video_in_TKEEP(video_in_TKEEP),
    .video_in_TSTRB(video_in_TSTRB),
    .video_in_TUSER(video_in_TUSER),
    .video_in_TLAST(video_in_TLAST),
    .video_in_TID(video_in_TID),
    .video_in_TDEST(video_in_TDEST),
    .img_rows_V_dout(img_in_rows_V_channe_1_dout),
    .img_rows_V_empty_n(img_in_rows_V_channe_1_empty_n),
    .img_rows_V_read(AXIvideo2Mat_U0_img_rows_V_read),
    .img_cols_V_dout(img_in_cols_V_channe_1_dout),
    .img_cols_V_empty_n(img_in_cols_V_channe_1_empty_n),
    .img_cols_V_read(AXIvideo2Mat_U0_img_cols_V_read),
    .img_data_stream_0_V_din(AXIvideo2Mat_U0_img_data_stream_0_V_din),
    .img_data_stream_0_V_full_n(img_in_data_stream_0_full_n),
    .img_data_stream_0_V_write(AXIvideo2Mat_U0_img_data_stream_0_V_write),
    .img_data_stream_1_V_din(AXIvideo2Mat_U0_img_data_stream_1_V_din),
    .img_data_stream_1_V_full_n(img_in_data_stream_1_full_n),
    .img_data_stream_1_V_write(AXIvideo2Mat_U0_img_data_stream_1_V_write),
    .img_data_stream_2_V_din(AXIvideo2Mat_U0_img_data_stream_2_V_din),
    .img_data_stream_2_V_full_n(img_in_data_stream_2_full_n),
    .img_data_stream_2_V_write(AXIvideo2Mat_U0_img_data_stream_2_V_write),
    .img_rows_V_out_din(AXIvideo2Mat_U0_img_rows_V_out_din),
    .img_rows_V_out_full_n(img_in_rows_V_channe_full_n),
    .img_rows_V_out_write(AXIvideo2Mat_U0_img_rows_V_out_write),
    .img_cols_V_out_din(AXIvideo2Mat_U0_img_cols_V_out_din),
    .img_cols_V_out_full_n(img_in_cols_V_channe_full_n),
    .img_cols_V_out_write(AXIvideo2Mat_U0_img_cols_V_out_write)
);

GaussianBlur GaussianBlur_U0(
    .ap_clk(ap_clk),
    .ap_rst(ap_rst_n_inv),
    .ap_start(GaussianBlur_U0_ap_start),
    .start_full_n(GaussianBlur_U0_start_full_n),
    .ap_ready(GaussianBlur_U0_ap_ready),
    .ap_done(GaussianBlur_U0_ap_done),
    .ap_continue(GaussianBlur_U0_ap_continue),
    .ap_idle(GaussianBlur_U0_ap_idle),
    .start_out(GaussianBlur_U0_start_out),
    .start_write(GaussianBlur_U0_start_write),
    .p_src_rows_V_dout(img_in_rows_V_channe_dout),
    .p_src_rows_V_empty_n(img_in_rows_V_channe_empty_n),
    .p_src_rows_V_read(GaussianBlur_U0_p_src_rows_V_read),
    .p_src_cols_V_dout(img_in_cols_V_channe_dout),
    .p_src_cols_V_empty_n(img_in_cols_V_channe_empty_n),
    .p_src_cols_V_read(GaussianBlur_U0_p_src_cols_V_read),
    .p_src_data_stream_0_V_dout(img_in_data_stream_0_dout),
    .p_src_data_stream_0_V_empty_n(img_in_data_stream_0_empty_n),
    .p_src_data_stream_0_V_read(GaussianBlur_U0_p_src_data_stream_0_V_read),
    .p_src_data_stream_1_V_dout(img_in_data_stream_1_dout),
    .p_src_data_stream_1_V_empty_n(img_in_data_stream_1_empty_n),
    .p_src_data_stream_1_V_read(GaussianBlur_U0_p_src_data_stream_1_V_read),
    .p_src_data_stream_2_V_dout(img_in_data_stream_2_dout),
    .p_src_data_stream_2_V_empty_n(img_in_data_stream_2_empty_n),
    .p_src_data_stream_2_V_read(GaussianBlur_U0_p_src_data_stream_2_V_read),
    .p_dst_data_stream_0_V_din(GaussianBlur_U0_p_dst_data_stream_0_V_din),
    .p_dst_data_stream_0_V_full_n(img_0_data_stream_0_full_n),
    .p_dst_data_stream_0_V_write(GaussianBlur_U0_p_dst_data_stream_0_V_write),
    .p_dst_data_stream_1_V_din(GaussianBlur_U0_p_dst_data_stream_1_V_din),
    .p_dst_data_stream_1_V_full_n(img_0_data_stream_1_full_n),
    .p_dst_data_stream_1_V_write(GaussianBlur_U0_p_dst_data_stream_1_V_write),
    .p_dst_data_stream_2_V_din(GaussianBlur_U0_p_dst_data_stream_2_V_din),
    .p_dst_data_stream_2_V_full_n(img_0_data_stream_2_full_n),
    .p_dst_data_stream_2_V_write(GaussianBlur_U0_p_dst_data_stream_2_V_write)
);

Duplicate130 Duplicate130_U0(
    .ap_clk(ap_clk),
    .ap_rst(ap_rst_n_inv),
    .ap_start(Duplicate130_U0_ap_start),
    .start_full_n(Duplicate130_U0_start_full_n),
    .ap_ready(Duplicate130_U0_ap_ready),
    .ap_done(Duplicate130_U0_ap_done),
    .ap_continue(Duplicate130_U0_ap_continue),
    .ap_idle(Duplicate130_U0_ap_idle),
    .start_out(Duplicate130_U0_start_out),
    .start_write(Duplicate130_U0_start_write),
    .src_data_stream_V_dout(img_0_data_stream_0_dout),
    .src_data_stream_V_empty_n(img_0_data_stream_0_empty_n),
    .src_data_stream_V_read(Duplicate130_U0_src_data_stream_V_read),
    .src_data_stream_V1_dout(img_0_data_stream_1_dout),
    .src_data_stream_V1_empty_n(img_0_data_stream_1_empty_n),
    .src_data_stream_V1_read(Duplicate130_U0_src_data_stream_V1_read),
    .src_data_stream_V2_dout(img_0_data_stream_2_dout),
    .src_data_stream_V2_empty_n(img_0_data_stream_2_empty_n),
    .src_data_stream_V2_read(Duplicate130_U0_src_data_stream_V2_read),
    .dst1_data_stream_V(Duplicate130_U0_dst1_data_stream_V),
    .dst1_data_stream_V_ap_vld(Duplicate130_U0_dst1_data_stream_V_ap_vld),
    .dst1_data_stream_V3(Duplicate130_U0_dst1_data_stream_V3),
    .dst1_data_stream_V3_ap_vld(Duplicate130_U0_dst1_data_stream_V3_ap_vld),
    .dst1_data_stream_V4(Duplicate130_U0_dst1_data_stream_V4),
    .dst1_data_stream_V4_ap_vld(Duplicate130_U0_dst1_data_stream_V4_ap_vld),
    .dst2_data_stream_V_din(Duplicate130_U0_dst2_data_stream_V_din),
    .dst2_data_stream_V_full_n(img_in2_data_stream_s_full_n),
    .dst2_data_stream_V_write(Duplicate130_U0_dst2_data_stream_V_write),
    .dst2_data_stream_V5_din(Duplicate130_U0_dst2_data_stream_V5_din),
    .dst2_data_stream_V5_full_n(img_in2_data_stream_1_full_n),
    .dst2_data_stream_V5_write(Duplicate130_U0_dst2_data_stream_V5_write),
    .dst2_data_stream_V6_din(Duplicate130_U0_dst2_data_stream_V6_din),
    .dst2_data_stream_V6_full_n(img_in2_data_stream_2_full_n),
    .dst2_data_stream_V6_write(Duplicate130_U0_dst2_data_stream_V6_write)
);

Duplicate Duplicate_U0(
    .ap_clk(ap_clk),
    .ap_rst(ap_rst_n_inv),
    .ap_start(Duplicate_U0_ap_start),
    .ap_done(Duplicate_U0_ap_done),
    .ap_continue(Duplicate_U0_ap_continue),
    .ap_idle(Duplicate_U0_ap_idle),
    .ap_ready(Duplicate_U0_ap_ready),
    .src_data_stream_0_V_dout(img_in2_data_stream_s_dout),
    .src_data_stream_0_V_empty_n(img_in2_data_stream_s_empty_n),
    .src_data_stream_0_V_read(Duplicate_U0_src_data_stream_0_V_read),
    .src_data_stream_1_V_dout(img_in2_data_stream_1_dout),
    .src_data_stream_1_V_empty_n(img_in2_data_stream_1_empty_n),
    .src_data_stream_1_V_read(Duplicate_U0_src_data_stream_1_V_read),
    .src_data_stream_2_V_dout(img_in2_data_stream_2_dout),
    .src_data_stream_2_V_empty_n(img_in2_data_stream_2_empty_n),
    .src_data_stream_2_V_read(Duplicate_U0_src_data_stream_2_V_read),
    .dst1_data_stream_0_V(Duplicate_U0_dst1_data_stream_0_V),
    .dst1_data_stream_0_V_ap_vld(Duplicate_U0_dst1_data_stream_0_V_ap_vld),
    .dst1_data_stream_1_V(Duplicate_U0_dst1_data_stream_1_V),
    .dst1_data_stream_1_V_ap_vld(Duplicate_U0_dst1_data_stream_1_V_ap_vld),
    .dst1_data_stream_2_V(Duplicate_U0_dst1_data_stream_2_V),
    .dst1_data_stream_2_V_ap_vld(Duplicate_U0_dst1_data_stream_2_V_ap_vld),
    .dst2_data_stream_0_V_din(Duplicate_U0_dst2_data_stream_0_V_din),
    .dst2_data_stream_0_V_full_n(img_3_data_stream_0_full_n),
    .dst2_data_stream_0_V_write(Duplicate_U0_dst2_data_stream_0_V_write),
    .dst2_data_stream_1_V_din(Duplicate_U0_dst2_data_stream_1_V_din),
    .dst2_data_stream_1_V_full_n(img_3_data_stream_1_full_n),
    .dst2_data_stream_1_V_write(Duplicate_U0_dst2_data_stream_1_V_write),
    .dst2_data_stream_2_V_din(Duplicate_U0_dst2_data_stream_2_V_din),
    .dst2_data_stream_2_V_full_n(img_3_data_stream_2_full_n),
    .dst2_data_stream_2_V_write(Duplicate_U0_dst2_data_stream_2_V_write)
);

PaintMask PaintMask_U0(
    .ap_clk(ap_clk),
    .ap_rst(ap_rst_n_inv),
    .ap_start(PaintMask_U0_ap_start),
    .start_full_n(PaintMask_U0_start_full_n),
    .ap_ready(PaintMask_U0_ap_ready),
    .ap_done(PaintMask_U0_ap_done),
    .ap_continue(PaintMask_U0_ap_continue),
    .ap_idle(PaintMask_U0_ap_idle),
    .start_out(PaintMask_U0_start_out),
    .start_write(PaintMask_U0_start_write),
    .p_src_data_stream_0_V_dout(img_3_data_stream_0_dout),
    .p_src_data_stream_0_V_empty_n(img_3_data_stream_0_empty_n),
    .p_src_data_stream_0_V_read(PaintMask_U0_p_src_data_stream_0_V_read),
    .p_src_data_stream_1_V_dout(img_3_data_stream_1_dout),
    .p_src_data_stream_1_V_empty_n(img_3_data_stream_1_empty_n),
    .p_src_data_stream_1_V_read(PaintMask_U0_p_src_data_stream_1_V_read),
    .p_src_data_stream_2_V_dout(img_3_data_stream_2_dout),
    .p_src_data_stream_2_V_empty_n(img_3_data_stream_2_empty_n),
    .p_src_data_stream_2_V_read(PaintMask_U0_p_src_data_stream_2_V_read),
    .p_mask_data_stream_V(8'd0),
    .p_dst_data_stream_0_V_din(PaintMask_U0_p_dst_data_stream_0_V_din),
    .p_dst_data_stream_0_V_full_n(img_out_data_stream_s_full_n),
    .p_dst_data_stream_0_V_write(PaintMask_U0_p_dst_data_stream_0_V_write),
    .p_dst_data_stream_1_V_din(PaintMask_U0_p_dst_data_stream_1_V_din),
    .p_dst_data_stream_1_V_full_n(img_out_data_stream_1_full_n),
    .p_dst_data_stream_1_V_write(PaintMask_U0_p_dst_data_stream_1_V_write),
    .p_dst_data_stream_2_V_din(PaintMask_U0_p_dst_data_stream_2_V_din),
    .p_dst_data_stream_2_V_full_n(img_out_data_stream_2_full_n),
    .p_dst_data_stream_2_V_write(PaintMask_U0_p_dst_data_stream_2_V_write)
);

Mat2AXIvideo Mat2AXIvideo_U0(
    .ap_clk(ap_clk),
    .ap_rst(ap_rst_n_inv),
    .ap_start(Mat2AXIvideo_U0_ap_start),
    .ap_done(Mat2AXIvideo_U0_ap_done),
    .ap_continue(Mat2AXIvideo_U0_ap_continue),
    .ap_idle(Mat2AXIvideo_U0_ap_idle),
    .ap_ready(Mat2AXIvideo_U0_ap_ready),
    .img_data_stream_0_V_dout(img_out_data_stream_s_dout),
    .img_data_stream_0_V_empty_n(img_out_data_stream_s_empty_n),
    .img_data_stream_0_V_read(Mat2AXIvideo_U0_img_data_stream_0_V_read),
    .img_data_stream_1_V_dout(img_out_data_stream_1_dout),
    .img_data_stream_1_V_empty_n(img_out_data_stream_1_empty_n),
    .img_data_stream_1_V_read(Mat2AXIvideo_U0_img_data_stream_1_V_read),
    .img_data_stream_2_V_dout(img_out_data_stream_2_dout),
    .img_data_stream_2_V_empty_n(img_out_data_stream_2_empty_n),
    .img_data_stream_2_V_read(Mat2AXIvideo_U0_img_data_stream_2_V_read),
    .video_out_TDATA(Mat2AXIvideo_U0_video_out_TDATA),
    .video_out_TVALID(Mat2AXIvideo_U0_video_out_TVALID),
    .video_out_TREADY(video_out_TREADY),
    .video_out_TKEEP(Mat2AXIvideo_U0_video_out_TKEEP),
    .video_out_TSTRB(Mat2AXIvideo_U0_video_out_TSTRB),
    .video_out_TUSER(Mat2AXIvideo_U0_video_out_TUSER),
    .video_out_TLAST(Mat2AXIvideo_U0_video_out_TLAST),
    .video_out_TID(Mat2AXIvideo_U0_video_out_TID),
    .video_out_TDEST(Mat2AXIvideo_U0_video_out_TDEST)
);

Block_proc154 Block_proc154_U0(
    .ap_clk(ap_clk),
    .ap_rst(ap_rst_n_inv),
    .ap_start(Block_proc154_U0_ap_start),
    .ap_done(Block_proc154_U0_ap_done),
    .ap_continue(Block_proc154_U0_ap_continue),
    .ap_idle(Block_proc154_U0_ap_idle),
    .ap_ready(Block_proc154_U0_ap_ready),
    .x(Block_proc154_U0_x),
    .x_ap_vld(Block_proc154_U0_x_ap_vld),
    .y(Block_proc154_U0_y),
    .y_ap_vld(Block_proc154_U0_y_ap_vld)
);

fifo_w10_d1_A img_in_rows_V_channe_1_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(Block_proc_U0_img_in_rows_V_out_din),
    .if_full_n(img_in_rows_V_channe_1_full_n),
    .if_write(Block_proc_U0_img_in_rows_V_out_write),
    .if_dout(img_in_rows_V_channe_1_dout),
    .if_empty_n(img_in_rows_V_channe_1_empty_n),
    .if_read(AXIvideo2Mat_U0_img_rows_V_read)
);

fifo_w11_d1_A img_in_cols_V_channe_1_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(Block_proc_U0_img_in_cols_V_out_din),
    .if_full_n(img_in_cols_V_channe_1_full_n),
    .if_write(Block_proc_U0_img_in_cols_V_out_write),
    .if_dout(img_in_cols_V_channe_1_dout),
    .if_empty_n(img_in_cols_V_channe_1_empty_n),
    .if_read(AXIvideo2Mat_U0_img_cols_V_read)
);

fifo_w8_d1_A img_in_data_stream_0_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(AXIvideo2Mat_U0_img_data_stream_0_V_din),
    .if_full_n(img_in_data_stream_0_full_n),
    .if_write(AXIvideo2Mat_U0_img_data_stream_0_V_write),
    .if_dout(img_in_data_stream_0_dout),
    .if_empty_n(img_in_data_stream_0_empty_n),
    .if_read(GaussianBlur_U0_p_src_data_stream_0_V_read)
);

fifo_w8_d1_A img_in_data_stream_1_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(AXIvideo2Mat_U0_img_data_stream_1_V_din),
    .if_full_n(img_in_data_stream_1_full_n),
    .if_write(AXIvideo2Mat_U0_img_data_stream_1_V_write),
    .if_dout(img_in_data_stream_1_dout),
    .if_empty_n(img_in_data_stream_1_empty_n),
    .if_read(GaussianBlur_U0_p_src_data_stream_1_V_read)
);

fifo_w8_d1_A img_in_data_stream_2_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(AXIvideo2Mat_U0_img_data_stream_2_V_din),
    .if_full_n(img_in_data_stream_2_full_n),
    .if_write(AXIvideo2Mat_U0_img_data_stream_2_V_write),
    .if_dout(img_in_data_stream_2_dout),
    .if_empty_n(img_in_data_stream_2_empty_n),
    .if_read(GaussianBlur_U0_p_src_data_stream_2_V_read)
);

fifo_w10_d1_A img_in_rows_V_channe_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(AXIvideo2Mat_U0_img_rows_V_out_din),
    .if_full_n(img_in_rows_V_channe_full_n),
    .if_write(AXIvideo2Mat_U0_img_rows_V_out_write),
    .if_dout(img_in_rows_V_channe_dout),
    .if_empty_n(img_in_rows_V_channe_empty_n),
    .if_read(GaussianBlur_U0_p_src_rows_V_read)
);

fifo_w11_d1_A img_in_cols_V_channe_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(AXIvideo2Mat_U0_img_cols_V_out_din),
    .if_full_n(img_in_cols_V_channe_full_n),
    .if_write(AXIvideo2Mat_U0_img_cols_V_out_write),
    .if_dout(img_in_cols_V_channe_dout),
    .if_empty_n(img_in_cols_V_channe_empty_n),
    .if_read(GaussianBlur_U0_p_src_cols_V_read)
);

fifo_w8_d1_A img_0_data_stream_0_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(GaussianBlur_U0_p_dst_data_stream_0_V_din),
    .if_full_n(img_0_data_stream_0_full_n),
    .if_write(GaussianBlur_U0_p_dst_data_stream_0_V_write),
    .if_dout(img_0_data_stream_0_dout),
    .if_empty_n(img_0_data_stream_0_empty_n),
    .if_read(Duplicate130_U0_src_data_stream_V_read)
);

fifo_w8_d1_A img_0_data_stream_1_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(GaussianBlur_U0_p_dst_data_stream_1_V_din),
    .if_full_n(img_0_data_stream_1_full_n),
    .if_write(GaussianBlur_U0_p_dst_data_stream_1_V_write),
    .if_dout(img_0_data_stream_1_dout),
    .if_empty_n(img_0_data_stream_1_empty_n),
    .if_read(Duplicate130_U0_src_data_stream_V1_read)
);

fifo_w8_d1_A img_0_data_stream_2_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(GaussianBlur_U0_p_dst_data_stream_2_V_din),
    .if_full_n(img_0_data_stream_2_full_n),
    .if_write(GaussianBlur_U0_p_dst_data_stream_2_V_write),
    .if_dout(img_0_data_stream_2_dout),
    .if_empty_n(img_0_data_stream_2_empty_n),
    .if_read(Duplicate130_U0_src_data_stream_V2_read)
);

fifo_w8_d1_A img_in2_data_stream_s_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(Duplicate130_U0_dst2_data_stream_V_din),
    .if_full_n(img_in2_data_stream_s_full_n),
    .if_write(Duplicate130_U0_dst2_data_stream_V_write),
    .if_dout(img_in2_data_stream_s_dout),
    .if_empty_n(img_in2_data_stream_s_empty_n),
    .if_read(Duplicate_U0_src_data_stream_0_V_read)
);

fifo_w8_d1_A img_in2_data_stream_1_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(Duplicate130_U0_dst2_data_stream_V5_din),
    .if_full_n(img_in2_data_stream_1_full_n),
    .if_write(Duplicate130_U0_dst2_data_stream_V5_write),
    .if_dout(img_in2_data_stream_1_dout),
    .if_empty_n(img_in2_data_stream_1_empty_n),
    .if_read(Duplicate_U0_src_data_stream_1_V_read)
);

fifo_w8_d1_A img_in2_data_stream_2_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(Duplicate130_U0_dst2_data_stream_V6_din),
    .if_full_n(img_in2_data_stream_2_full_n),
    .if_write(Duplicate130_U0_dst2_data_stream_V6_write),
    .if_dout(img_in2_data_stream_2_dout),
    .if_empty_n(img_in2_data_stream_2_empty_n),
    .if_read(Duplicate_U0_src_data_stream_2_V_read)
);

fifo_w8_d1_A img_3_data_stream_0_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(Duplicate_U0_dst2_data_stream_0_V_din),
    .if_full_n(img_3_data_stream_0_full_n),
    .if_write(Duplicate_U0_dst2_data_stream_0_V_write),
    .if_dout(img_3_data_stream_0_dout),
    .if_empty_n(img_3_data_stream_0_empty_n),
    .if_read(PaintMask_U0_p_src_data_stream_0_V_read)
);

fifo_w8_d1_A img_3_data_stream_1_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(Duplicate_U0_dst2_data_stream_1_V_din),
    .if_full_n(img_3_data_stream_1_full_n),
    .if_write(Duplicate_U0_dst2_data_stream_1_V_write),
    .if_dout(img_3_data_stream_1_dout),
    .if_empty_n(img_3_data_stream_1_empty_n),
    .if_read(PaintMask_U0_p_src_data_stream_1_V_read)
);

fifo_w8_d1_A img_3_data_stream_2_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(Duplicate_U0_dst2_data_stream_2_V_din),
    .if_full_n(img_3_data_stream_2_full_n),
    .if_write(Duplicate_U0_dst2_data_stream_2_V_write),
    .if_dout(img_3_data_stream_2_dout),
    .if_empty_n(img_3_data_stream_2_empty_n),
    .if_read(PaintMask_U0_p_src_data_stream_2_V_read)
);

fifo_w8_d1_A img_out_data_stream_s_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(PaintMask_U0_p_dst_data_stream_0_V_din),
    .if_full_n(img_out_data_stream_s_full_n),
    .if_write(PaintMask_U0_p_dst_data_stream_0_V_write),
    .if_dout(img_out_data_stream_s_dout),
    .if_empty_n(img_out_data_stream_s_empty_n),
    .if_read(Mat2AXIvideo_U0_img_data_stream_0_V_read)
);

fifo_w8_d1_A img_out_data_stream_1_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(PaintMask_U0_p_dst_data_stream_1_V_din),
    .if_full_n(img_out_data_stream_1_full_n),
    .if_write(PaintMask_U0_p_dst_data_stream_1_V_write),
    .if_dout(img_out_data_stream_1_dout),
    .if_empty_n(img_out_data_stream_1_empty_n),
    .if_read(Mat2AXIvideo_U0_img_data_stream_1_V_read)
);

fifo_w8_d1_A img_out_data_stream_2_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(PaintMask_U0_p_dst_data_stream_2_V_din),
    .if_full_n(img_out_data_stream_2_full_n),
    .if_write(PaintMask_U0_p_dst_data_stream_2_V_write),
    .if_dout(img_out_data_stream_2_dout),
    .if_empty_n(img_out_data_stream_2_empty_n),
    .if_read(Mat2AXIvideo_U0_img_data_stream_2_V_read)
);

start_for_GaussiaGfk start_for_GaussiaGfk_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(start_for_GaussianBlur_U0_din),
    .if_full_n(start_for_GaussianBlur_U0_full_n),
    .if_write(AXIvideo2Mat_U0_start_write),
    .if_dout(start_for_GaussianBlur_U0_dout),
    .if_empty_n(start_for_GaussianBlur_U0_empty_n),
    .if_read(GaussianBlur_U0_ap_ready)
);

start_for_DuplicaHfu start_for_DuplicaHfu_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(start_for_Duplicate130_U0_din),
    .if_full_n(start_for_Duplicate130_U0_full_n),
    .if_write(GaussianBlur_U0_start_write),
    .if_dout(start_for_Duplicate130_U0_dout),
    .if_empty_n(start_for_Duplicate130_U0_empty_n),
    .if_read(Duplicate130_U0_ap_ready)
);

start_for_DuplicaIfE start_for_DuplicaIfE_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(start_for_Duplicate_U0_din),
    .if_full_n(start_for_Duplicate_U0_full_n),
    .if_write(Duplicate130_U0_start_write),
    .if_dout(start_for_Duplicate_U0_dout),
    .if_empty_n(start_for_Duplicate_U0_empty_n),
    .if_read(Duplicate_U0_ap_ready)
);

start_for_Mat2AXIJfO start_for_Mat2AXIJfO_U(
    .clk(ap_clk),
    .reset(ap_rst_n_inv),
    .if_read_ce(1'b1),
    .if_write_ce(1'b1),
    .if_din(start_for_Mat2AXIvideo_U0_din),
    .if_full_n(start_for_Mat2AXIvideo_U0_full_n),
    .if_write(PaintMask_U0_start_write),
    .if_dout(start_for_Mat2AXIvideo_U0_dout),
    .if_empty_n(start_for_Mat2AXIvideo_U0_empty_n),
    .if_read(Mat2AXIvideo_U0_ap_ready)
);

always @ (posedge ap_clk) begin
    if (ap_rst_n_inv == 1'b1) begin
        ap_reg_Block_proc154_U0_ap_done <= 1'b0;
    end else begin
        if ((1'b1 == ap_sync_done)) begin
            ap_reg_Block_proc154_U0_ap_done <= 1'b0;
        end else begin
            ap_reg_Block_proc154_U0_ap_done <= (Block_proc154_U0_ap_done | ap_reg_Block_proc154_U0_ap_done);
        end
    end
end

always @ (posedge ap_clk) begin
    if (ap_rst_n_inv == 1'b1) begin
        ap_reg_Mat2AXIvideo_U0_ap_done <= 1'b0;
    end else begin
        if ((1'b1 == ap_sync_done)) begin
            ap_reg_Mat2AXIvideo_U0_ap_done <= 1'b0;
        end else begin
            ap_reg_Mat2AXIvideo_U0_ap_done <= (Mat2AXIvideo_U0_ap_done | ap_reg_Mat2AXIvideo_U0_ap_done);
        end
    end
end

assign AXIvideo2Mat_U0_ap_continue = 1'b1;

assign AXIvideo2Mat_U0_ap_start = ap_start;

assign AXIvideo2Mat_U0_start_full_n = (1'b0 | start_for_GaussianBlur_U0_full_n);

assign Block_proc154_U0_ap_continue = ap_sync_done;

assign Block_proc154_U0_ap_start = ap_start;

assign Block_proc154_U0_start_full_n = 1'b0;

assign Block_proc154_U0_start_write = 1'b0;

assign Block_proc_U0_ap_continue = 1'b1;

assign Block_proc_U0_ap_start = ap_start;

assign Block_proc_U0_start_full_n = 1'b0;

assign Block_proc_U0_start_write = 1'b0;

assign Duplicate130_U0_ap_continue = 1'b1;

assign Duplicate130_U0_ap_start = start_for_Duplicate130_U0_empty_n;

assign Duplicate130_U0_start_full_n = (1'b0 | start_for_Duplicate_U0_full_n);

assign Duplicate_U0_ap_continue = 1'b1;

assign Duplicate_U0_ap_start = start_for_Duplicate_U0_empty_n;

assign Duplicate_U0_start_full_n = 1'b0;

assign Duplicate_U0_start_write = 1'b0;

assign GaussianBlur_U0_ap_continue = 1'b1;

assign GaussianBlur_U0_ap_start = start_for_GaussianBlur_U0_empty_n;

assign GaussianBlur_U0_start_full_n = (1'b0 | start_for_Duplicate130_U0_full_n);

assign Mat2AXIvideo_U0_ap_continue = ap_sync_done;

assign Mat2AXIvideo_U0_ap_start = start_for_Mat2AXIvideo_U0_empty_n;

assign Mat2AXIvideo_U0_start_full_n = 1'b0;

assign Mat2AXIvideo_U0_start_write = 1'b0;

assign PaintMask_U0_ap_continue = 1'b1;

assign PaintMask_U0_ap_start = 1'b1;

assign PaintMask_U0_start_full_n = (1'b0 | start_for_Mat2AXIvideo_U0_full_n);

assign ap_done = ap_sync_done;

assign ap_idle = (Block_proc_U0_ap_idle & AXIvideo2Mat_U0_ap_idle & GaussianBlur_U0_ap_idle & Duplicate130_U0_ap_idle & Duplicate_U0_ap_idle & PaintMask_U0_ap_idle & Mat2AXIvideo_U0_ap_idle & Block_proc154_U0_ap_idle);

assign ap_ready = AXIvideo2Mat_U0_ap_ready;

always @ (*) begin
    ap_rst_n_inv = ~ap_rst_n;
end

assign ap_sync_continue = ap_sync_done;

assign ap_sync_done = (ap_reg_Mat2AXIvideo_U0_ap_done & ap_reg_Block_proc154_U0_ap_done);

assign ap_sync_ready = AXIvideo2Mat_U0_ap_ready;

assign start_for_Duplicate130_U0_din = 1'b1;

assign start_for_Duplicate_U0_din = 1'b1;

assign start_for_GaussianBlur_U0_din = 1'b1;

assign start_for_Mat2AXIvideo_U0_din = 1'b1;

assign video_in_TREADY = AXIvideo2Mat_U0_video_in_TREADY;

assign video_out_TDATA = Mat2AXIvideo_U0_video_out_TDATA;

assign video_out_TDEST = Mat2AXIvideo_U0_video_out_TDEST;

assign video_out_TID = Mat2AXIvideo_U0_video_out_TID;

assign video_out_TKEEP = Mat2AXIvideo_U0_video_out_TKEEP;

assign video_out_TLAST = Mat2AXIvideo_U0_video_out_TLAST;

assign video_out_TSTRB = Mat2AXIvideo_U0_video_out_TSTRB;

assign video_out_TUSER = Mat2AXIvideo_U0_video_out_TUSER;

assign video_out_TVALID = Mat2AXIvideo_U0_video_out_TVALID;

endmodule //image_filter
