// ------------------------------------------------------------------------- 
// High Level Design Compiler for Intel(R) FPGAs Version 24.2 (Release Build #99.1)
// 
// Legal Notice: Copyright 2022 Intel Corporation.  All rights reserved.
// Your use of  Intel Corporation's design tools,  logic functions and other
// software and  tools, and its AMPP partner logic functions, and any output
// files any  of the foregoing (including  device programming  or simulation
// files), and  any associated  documentation  or information  are expressly
// subject  to the terms and  conditions of the  Intel FPGA Software License
// Agreement, Intel MegaCore Function License Agreement, or other applicable
// license agreement,  including,  without limitation,  that your use is for
// the  sole  purpose of  programming  logic devices  manufactured by  Intel
// and  sold by Intel  or its authorized  distributors. Please refer  to the
// applicable agreement for further details.
// ---------------------------------------------------------------------------

// SystemVerilog created from bb_c_compSTR_B3
// Created for function/kernel c_compSTR
// SystemVerilog created on Wed Mar 26 11:59:07 2025


(* altera_attribute = "-name AUTO_SHIFT_REGISTER_RECOGNITION OFF; -name MESSAGE_DISABLE 10036; -name MESSAGE_DISABLE 10037; -name MESSAGE_DISABLE 14130; -name MESSAGE_DISABLE 14320; -name MESSAGE_DISABLE 15400; -name MESSAGE_DISABLE 14130; -name MESSAGE_DISABLE 10036; -name MESSAGE_DISABLE 12020; -name MESSAGE_DISABLE 12030; -name MESSAGE_DISABLE 12010; -name MESSAGE_DISABLE 12110; -name MESSAGE_DISABLE 14320; -name MESSAGE_DISABLE 13410; -name MESSAGE_DISABLE 113007; -name MESSAGE_DISABLE 10958" *)
module c_compSTR_bb_B3 (
    input wire [0:0] in_memdep_phi9_pop10680_0,
    input wire [0:0] in_memdep_phi_pop9677_0,
    input wire [0:0] in_stall_in_0,
    input wire [0:0] in_valid_in_0,
    output wire [31:0] out_c0_exe1697,
    output wire [0:0] out_c0_exe2698,
    output wire [0:0] out_c0_exe4,
    output wire [0:0] out_c0_exe5,
    output wire [0:0] out_c0_exe6,
    output wire [0:0] out_c0_exe7,
    output wire [0:0] out_c0_exe8,
    output wire [0:0] out_stall_out_0,
    output wire [0:0] out_valid_in_0,
    output wire [0:0] out_valid_out_0,
    input wire clock,
    input wire resetn
    );

    wire [0:0] bb_c_compSTR_B3_stall_region_out_almost_empty_out;
    wire [31:0] bb_c_compSTR_B3_stall_region_out_c0_exe1697;
    wire [0:0] bb_c_compSTR_B3_stall_region_out_c0_exe2698;
    wire [0:0] bb_c_compSTR_B3_stall_region_out_c0_exe4;
    wire [0:0] bb_c_compSTR_B3_stall_region_out_c0_exe5;
    wire [0:0] bb_c_compSTR_B3_stall_region_out_c0_exe6;
    wire [0:0] bb_c_compSTR_B3_stall_region_out_c0_exe7;
    wire [0:0] bb_c_compSTR_B3_stall_region_out_c0_exe8;
    wire [0:0] bb_c_compSTR_B3_stall_region_out_empty_out;
    wire [0:0] bb_c_compSTR_B3_stall_region_out_stall_out;
    wire [0:0] bb_c_compSTR_B3_stall_region_out_valid_out;
    wire [31:0] c_compSTR_B3_branch_out_c0_exe1697;
    wire [0:0] c_compSTR_B3_branch_out_c0_exe2698;
    wire [0:0] c_compSTR_B3_branch_out_c0_exe4;
    wire [0:0] c_compSTR_B3_branch_out_c0_exe5;
    wire [0:0] c_compSTR_B3_branch_out_c0_exe6;
    wire [0:0] c_compSTR_B3_branch_out_c0_exe7;
    wire [0:0] c_compSTR_B3_branch_out_c0_exe8;
    wire [0:0] c_compSTR_B3_branch_out_stall_out;
    wire [0:0] c_compSTR_B3_branch_out_valid_out_0;
    wire [0:0] c_compSTR_B3_merge_out_almost_empty_out;
    wire [0:0] c_compSTR_B3_merge_out_empty_out;
    wire [0:0] c_compSTR_B3_merge_out_memdep_phi9_pop10680;
    wire [0:0] c_compSTR_B3_merge_out_memdep_phi_pop9677;
    wire [0:0] c_compSTR_B3_merge_out_stall_out_0;
    wire [0:0] c_compSTR_B3_merge_out_valid_out;
    reg [0:0] rst_sync_rst_sclrn;


    // c_compSTR_B3_merge(BLACKBOX,4)
    c_compSTR_B3_merge thec_compSTR_B3_merge (
        .in_memdep_phi9_pop10680_0(in_memdep_phi9_pop10680_0),
        .in_memdep_phi_pop9677_0(in_memdep_phi_pop9677_0),
        .in_stall_in(bb_c_compSTR_B3_stall_region_out_stall_out),
        .in_valid_in_0(in_valid_in_0),
        .out_almost_empty_out(c_compSTR_B3_merge_out_almost_empty_out),
        .out_empty_out(c_compSTR_B3_merge_out_empty_out),
        .out_memdep_phi9_pop10680(c_compSTR_B3_merge_out_memdep_phi9_pop10680),
        .out_memdep_phi_pop9677(c_compSTR_B3_merge_out_memdep_phi_pop9677),
        .out_stall_out_0(c_compSTR_B3_merge_out_stall_out_0),
        .out_valid_out(c_compSTR_B3_merge_out_valid_out),
        .clock(clock),
        .resetn(resetn)
    );

    // bb_c_compSTR_B3_stall_region(BLACKBOX,2)
    c_compSTR_bb_B3_stall_region thebb_c_compSTR_B3_stall_region (
        .in_almost_empty_in(c_compSTR_B3_merge_out_almost_empty_out),
        .in_empty_in(c_compSTR_B3_merge_out_empty_out),
        .in_memdep_phi9_pop10680(c_compSTR_B3_merge_out_memdep_phi9_pop10680),
        .in_memdep_phi_pop9677(c_compSTR_B3_merge_out_memdep_phi_pop9677),
        .in_stall_in(c_compSTR_B3_branch_out_stall_out),
        .in_valid_in(c_compSTR_B3_merge_out_valid_out),
        .out_almost_empty_out(bb_c_compSTR_B3_stall_region_out_almost_empty_out),
        .out_c0_exe1697(bb_c_compSTR_B3_stall_region_out_c0_exe1697),
        .out_c0_exe2698(bb_c_compSTR_B3_stall_region_out_c0_exe2698),
        .out_c0_exe4(bb_c_compSTR_B3_stall_region_out_c0_exe4),
        .out_c0_exe5(bb_c_compSTR_B3_stall_region_out_c0_exe5),
        .out_c0_exe6(bb_c_compSTR_B3_stall_region_out_c0_exe6),
        .out_c0_exe7(bb_c_compSTR_B3_stall_region_out_c0_exe7),
        .out_c0_exe8(bb_c_compSTR_B3_stall_region_out_c0_exe8),
        .out_empty_out(bb_c_compSTR_B3_stall_region_out_empty_out),
        .out_stall_out(bb_c_compSTR_B3_stall_region_out_stall_out),
        .out_valid_out(bb_c_compSTR_B3_stall_region_out_valid_out),
        .clock(clock),
        .resetn(resetn)
    );

    // c_compSTR_B3_branch(BLACKBOX,3)
    c_compSTR_B3_branch thec_compSTR_B3_branch (
        .in_almost_empty_in(bb_c_compSTR_B3_stall_region_out_almost_empty_out),
        .in_c0_exe1697(bb_c_compSTR_B3_stall_region_out_c0_exe1697),
        .in_c0_exe2698(bb_c_compSTR_B3_stall_region_out_c0_exe2698),
        .in_c0_exe4(bb_c_compSTR_B3_stall_region_out_c0_exe4),
        .in_c0_exe5(bb_c_compSTR_B3_stall_region_out_c0_exe5),
        .in_c0_exe6(bb_c_compSTR_B3_stall_region_out_c0_exe6),
        .in_c0_exe7(bb_c_compSTR_B3_stall_region_out_c0_exe7),
        .in_c0_exe8(bb_c_compSTR_B3_stall_region_out_c0_exe8),
        .in_empty_in(bb_c_compSTR_B3_stall_region_out_empty_out),
        .in_stall_in_0(in_stall_in_0),
        .in_valid_in(bb_c_compSTR_B3_stall_region_out_valid_out),
        .out_c0_exe1697(c_compSTR_B3_branch_out_c0_exe1697),
        .out_c0_exe2698(c_compSTR_B3_branch_out_c0_exe2698),
        .out_c0_exe4(c_compSTR_B3_branch_out_c0_exe4),
        .out_c0_exe5(c_compSTR_B3_branch_out_c0_exe5),
        .out_c0_exe6(c_compSTR_B3_branch_out_c0_exe6),
        .out_c0_exe7(c_compSTR_B3_branch_out_c0_exe7),
        .out_c0_exe8(c_compSTR_B3_branch_out_c0_exe8),
        .out_stall_out(c_compSTR_B3_branch_out_stall_out),
        .out_valid_out_0(c_compSTR_B3_branch_out_valid_out_0),
        .clock(clock),
        .resetn(resetn)
    );

    // out_c0_exe1697(GPOUT,9)
    assign out_c0_exe1697 = c_compSTR_B3_branch_out_c0_exe1697;

    // out_c0_exe2698(GPOUT,10)
    assign out_c0_exe2698 = c_compSTR_B3_branch_out_c0_exe2698;

    // out_c0_exe4(GPOUT,11)
    assign out_c0_exe4 = c_compSTR_B3_branch_out_c0_exe4;

    // out_c0_exe5(GPOUT,12)
    assign out_c0_exe5 = c_compSTR_B3_branch_out_c0_exe5;

    // out_c0_exe6(GPOUT,13)
    assign out_c0_exe6 = c_compSTR_B3_branch_out_c0_exe6;

    // out_c0_exe7(GPOUT,14)
    assign out_c0_exe7 = c_compSTR_B3_branch_out_c0_exe7;

    // out_c0_exe8(GPOUT,15)
    assign out_c0_exe8 = c_compSTR_B3_branch_out_c0_exe8;

    // out_stall_out_0(GPOUT,16)
    assign out_stall_out_0 = c_compSTR_B3_merge_out_stall_out_0;

    // out_valid_in_0(GPOUT,17)
    assign out_valid_in_0 = in_valid_in_0;

    // out_valid_out_0(GPOUT,18)
    assign out_valid_out_0 = c_compSTR_B3_branch_out_valid_out_0;

    // rst_sync(RESETSYNC,19)
    acl_reset_handler #(
        .ASYNC_RESET(0),
        .USE_SYNCHRONIZER(1),
        .PULSE_EXTENSION(0),
        .PIPE_DEPTH(3),
        .DUPLICATE(1)
    ) therst_sync (
        .clk(clock),
        .i_resetn(resetn),
        .o_sclrn(rst_sync_rst_sclrn)
    );

endmodule
