data/full_repos/permissive/418752214/C910_RTL_FACTORY/gen_rtl/ciu/rtl/ct_ciu_ebiuif.v
1: b"%Error: data/full_repos/permissive/418752214/C910_RTL_FACTORY/gen_rtl/ciu/rtl/ct_ciu_ebiuif.v:236: Define or directive not defined: '`SAB_DEPTH'\nparameter DEPTH = `SAB_DEPTH;\n                  ^~~~~~~~~~\n%Error: data/full_repos/permissive/418752214/C910_RTL_FACTORY/gen_rtl/ciu/rtl/ct_ciu_ebiuif.v:236: syntax error, unexpected ';', expecting TYPE-IDENTIFIER\nparameter DEPTH = `SAB_DEPTH;\n                            ^\n%Error: data/full_repos/permissive/418752214/C910_RTL_FACTORY/gen_rtl/ciu/rtl/ct_ciu_ebiuif.v:237: Define or directive not defined: '`PA_WIDTH'\nparameter ADDRW = `PA_WIDTH;\n                  ^~~~~~~~~\n%Error: data/full_repos/permissive/418752214/C910_RTL_FACTORY/gen_rtl/ciu/rtl/ct_ciu_ebiuif.v:237: syntax error, unexpected ';', expecting TYPE-IDENTIFIER\nparameter ADDRW = `PA_WIDTH;\n                           ^\n%Error: Exiting due to 4 error(s)\n"
module ct_ciu_ebiuif(
  ciu_icg_en,
  cpurst_b,
  ctcq_ebiuif_ac_grant,
  ctcq_ebiuif_crresp,
  ctcq_ebiuif_crvalid,
  ebiu_ebiuif_acaddr,
  ebiu_ebiuif_acid,
  ebiu_ebiuif_acprot,
  ebiu_ebiuif_acsnoop,
  ebiu_ebiuif_acvalid,
  ebiu_ebiuif_ar_grant,
  ebiu_ebiuif_ar_grant_gate,
  ebiu_ebiuif_cd_grant,
  ebiu_ebiuif_cr_grant,
  ebiu_ebiuif_entry_sel,
  ebiu_ebiuif_rdata,
  ebiu_ebiuif_rlast,
  ebiu_ebiuif_rresp,
  ebiu_ebiuif_snb0_rvalid,
  ebiu_ebiuif_snb1_rvalid,
  ebiuif_ctcq_acaddr,
  ebiuif_ctcq_acid,
  ebiuif_ctcq_acsnoop,
  ebiuif_ctcq_acvalid,
  ebiuif_ctcq_cr_grant,
  ebiuif_ebiu_ac_grant,
  ebiuif_ebiu_araddr,
  ebiuif_ebiu_arbar,
  ebiuif_ebiu_arburst,
  ebiuif_ebiu_arcache,
  ebiuif_ebiu_ardomain,
  ebiuif_ebiu_arid,
  ebiuif_ebiu_arlen,
  ebiuif_ebiu_arlock,
  ebiuif_ebiu_arprot,
  ebiuif_ebiu_arsize,
  ebiuif_ebiu_arsnoop,
  ebiuif_ebiu_arvalid,
  ebiuif_ebiu_cddata,
  ebiuif_ebiu_cdlast,
  ebiuif_ebiu_cdvalid,
  ebiuif_ebiu_crresp,
  ebiuif_ebiu_crvalid,
  ebiuif_ebiu_r_grant,
  ebiuif_snb0_acvalid,
  ebiuif_snb0_ar_grant,
  ebiuif_snb0_ar_grant_gate,
  ebiuif_snb0_rvalid,
  ebiuif_snb1_acvalid,
  ebiuif_snb1_ar_grant,
  ebiuif_snb1_ar_grant_gate,
  ebiuif_snb1_rvalid,
  ebiuif_snbx_acbus,
  ebiuif_vb_index,
  ebiuif_xx_entry_sel,
  ebiuif_xx_rdata,
  ebiuif_xx_rlast,
  ebiuif_xx_rresp,
  forever_cpuclk,
  pad_yy_icg_scan_en,
  snb0_ebiuif_ac_grant,
  snb0_ebiuif_arbus,
  snb0_ebiuif_arvalid,
  snb1_ebiuif_ac_grant,
  snb1_ebiuif_arbus,
  snb1_ebiuif_arvalid,
  vb_ebiuif_addr_depd
);


input            ciu_icg_en;               
input            cpurst_b;                 
input            ctcq_ebiuif_ac_grant;     
input   [4  :0]  ctcq_ebiuif_crresp;       
input            ctcq_ebiuif_crvalid;      
input   [39 :0]  ebiu_ebiuif_acaddr;       
input   [4  :0]  ebiu_ebiuif_acid;         
input   [2  :0]  ebiu_ebiuif_acprot;       
input   [3  :0]  ebiu_ebiuif_acsnoop;      
input            ebiu_ebiuif_acvalid;      
input            ebiu_ebiuif_ar_grant;     
input            ebiu_ebiuif_ar_grant_gate; 
input            ebiu_ebiuif_cd_grant;     
input            ebiu_ebiuif_cr_grant;     
input   [23 :0]  ebiu_ebiuif_entry_sel;    
input   [127:0]  ebiu_ebiuif_rdata;        
input            ebiu_ebiuif_rlast;        
input   [3  :0]  ebiu_ebiuif_rresp;        
input            ebiu_ebiuif_snb0_rvalid;  
input            ebiu_ebiuif_snb1_rvalid;  
input            forever_cpuclk;           
input            pad_yy_icg_scan_en;       
input            snb0_ebiuif_ac_grant;     
input   [68 :0]  snb0_ebiuif_arbus;        
input            snb0_ebiuif_arvalid;      
input            snb1_ebiuif_ac_grant;     
input   [68 :0]  snb1_ebiuif_arbus;        
input            snb1_ebiuif_arvalid;      
input            vb_ebiuif_addr_depd;      
output  [39 :0]  ebiuif_ctcq_acaddr;       
output  [4  :0]  ebiuif_ctcq_acid;         
output  [3  :0]  ebiuif_ctcq_acsnoop;      
output           ebiuif_ctcq_acvalid;      
output           ebiuif_ctcq_cr_grant;     
output           ebiuif_ebiu_ac_grant;     
output  [39 :0]  ebiuif_ebiu_araddr;       
output  [1  :0]  ebiuif_ebiu_arbar;        
output  [1  :0]  ebiuif_ebiu_arburst;      
output  [3  :0]  ebiuif_ebiu_arcache;      
output  [1  :0]  ebiuif_ebiu_ardomain;     
output  [5  :0]  ebiuif_ebiu_arid;         
output  [7  :0]  ebiuif_ebiu_arlen;        
output           ebiuif_ebiu_arlock;       
output  [2  :0]  ebiuif_ebiu_arprot;       
output  [2  :0]  ebiuif_ebiu_arsize;       
output  [3  :0]  ebiuif_ebiu_arsnoop;      
output           ebiuif_ebiu_arvalid;      
output  [127:0]  ebiuif_ebiu_cddata;       
output           ebiuif_ebiu_cdlast;       
output           ebiuif_ebiu_cdvalid;      
output  [4  :0]  ebiuif_ebiu_crresp;       
output           ebiuif_ebiu_crvalid;      
output           ebiuif_ebiu_r_grant;      
output           ebiuif_snb0_acvalid;      
output           ebiuif_snb0_ar_grant;     
output           ebiuif_snb0_ar_grant_gate; 
output           ebiuif_snb0_rvalid;       
output           ebiuif_snb1_acvalid;      
output           ebiuif_snb1_ar_grant;     
output           ebiuif_snb1_ar_grant_gate; 
output           ebiuif_snb1_rvalid;       
output  [70 :0]  ebiuif_snbx_acbus;        
output  [7  :0]  ebiuif_vb_index;          
output  [23 :0]  ebiuif_xx_entry_sel;      
output  [127:0]  ebiuif_xx_rdata;          
output           ebiuif_xx_rlast;          
output  [3  :0]  ebiuif_xx_rresp;          




wire             ac_grant;                 
wire    [2  :0]  ac_grant_id;              
wire             ciu_icg_en;               
wire             cr_sel_full;              
wire             ctc_sel;                  
wire             ctcq_ebiuif_ac_grant;     
wire             ebiu_ar_clr;              
wire    [1  :0]  ebiu_ar_sel;              
wire    [1  :0]  ebiu_arvalid;             
wire    [39 :0]  ebiu_ebiuif_acaddr;       
wire    [4  :0]  ebiu_ebiuif_acid;         
wire    [2  :0]  ebiu_ebiuif_acprot;       
wire    [3  :0]  ebiu_ebiuif_acsnoop;      
wire             ebiu_ebiuif_acvalid;      
wire             ebiu_ebiuif_ar_grant;     
wire             ebiu_ebiuif_ar_grant_gate; 
wire    [23 :0]  ebiu_ebiuif_entry_sel;    
wire    [127:0]  ebiu_ebiuif_rdata;        
wire             ebiu_ebiuif_rlast;        
wire    [3  :0]  ebiu_ebiuif_rresp;        
wire             ebiu_ebiuif_snb0_rvalid;  
wire             ebiu_ebiuif_snb1_rvalid;  
wire    [68 :0]  ebiu_rd_bus;              
wire             ebiu_rd_req;              
wire    [39 :0]  ebiuif_ctcq_acaddr;       
wire    [4  :0]  ebiuif_ctcq_acid;         
wire    [3  :0]  ebiuif_ctcq_acsnoop;      
wire             ebiuif_ctcq_acvalid;      
wire             ebiuif_ctcq_cr_grant;     
wire             ebiuif_ebiu_ac_grant;     
wire    [39 :0]  ebiuif_ebiu_araddr;       
wire    [1  :0]  ebiuif_ebiu_arbar;        
wire    [1  :0]  ebiuif_ebiu_arburst;      
wire    [3  :0]  ebiuif_ebiu_arcache;      
wire    [1  :0]  ebiuif_ebiu_ardomain;     
wire    [5  :0]  ebiuif_ebiu_arid;         
wire    [7  :0]  ebiuif_ebiu_arlen;        
wire             ebiuif_ebiu_arlock;       
wire    [2  :0]  ebiuif_ebiu_arprot;       
wire    [2  :0]  ebiuif_ebiu_arsize;       
wire    [3  :0]  ebiuif_ebiu_arsnoop;      
wire             ebiuif_ebiu_arvalid;      
wire    [127:0]  ebiuif_ebiu_cddata;       
wire             ebiuif_ebiu_cdlast;       
wire             ebiuif_ebiu_cdvalid;      
wire    [4  :0]  ebiuif_ebiu_crresp;       
wire             ebiuif_ebiu_crvalid;      
wire             ebiuif_ebiu_r_grant;      
wire             ebiuif_rd_clk;            
wire             ebiuif_rd_clk_en;         
wire             ebiuif_snb0_acvalid;      
wire             ebiuif_snb0_ar_grant;     
wire             ebiuif_snb0_ar_grant_gate; 
wire             ebiuif_snb0_rvalid;       
wire             ebiuif_snb1_acvalid;      
wire             ebiuif_snb1_ar_grant;     
wire             ebiuif_snb1_ar_grant_gate; 
wire             ebiuif_snb1_rvalid;       
wire    [70 :0]  ebiuif_snbx_acbus;        
wire    [7  :0]  ebiuif_vb_index;          
wire    [23 :0]  ebiuif_xx_entry_sel;      
wire    [127:0]  ebiuif_xx_rdata;          
wire             ebiuif_xx_rlast;          
wire    [3  :0]  ebiuif_xx_rresp;          
wire             forever_cpuclk;           
wire             pad_yy_icg_scan_en;       
wire    [68 :0]  sab0_arbus;               
wire    [68 :0]  sab1_arbus;               
wire             snb0_arvalid;             
wire             snb0_ebiuif_ac_grant;     
wire    [68 :0]  snb0_ebiuif_arbus;        
wire             snb0_ebiuif_arvalid;      
wire             snb1_arvalid;             
wire             snb1_ebiuif_ac_grant;     
wire    [68 :0]  snb1_ebiuif_arbus;        
wire             snb1_ebiuif_arvalid;      
wire             vb_ebiuif_addr_depd;      


parameter DEPTH = `SAB_DEPTH;
parameter ADDRW = `PA_WIDTH;





assign ebiuif_rd_clk_en = ebiu_rd_req | ebiu_ar_clr;


gated_clk_cell  x_ebiuif_rd_gated_clk (
  .clk_in             (forever_cpuclk    ),
  .clk_out            (ebiuif_rd_clk     ),
  .external_en        (1'b0              ),
  .global_en          (1'b1              ),
  .local_en           (ebiuif_rd_clk_en  ),
  .module_en          (ciu_icg_en        ),
  .pad_yy_icg_scan_en (pad_yy_icg_scan_en)
);















parameter ARWIDTH  = 69;
parameter ADDR_0   = 0;
parameter ADDR_6   = 6;
parameter ADDR_13  = 13;
parameter ADDR_H   = 39;
parameter SIZE_0   = 40;
parameter SIZE_2   = 42;
parameter PROT_0   = 43;
parameter PROT_2   = 45;
parameter LOCK     = 46;
parameter LEN_0    = 47;
parameter LEN_1    = 48;
parameter CACHE_0  = 49;
parameter CACHE_3  = 52;
parameter BURST_0  = 53;
parameter BURST_1  = 54;
parameter DOMAIN_0 = 55;
parameter DOMAIN_1 = 56;
parameter BAR_0    = 57;
parameter BAR_1    = 58;
parameter SID_0    = 59;
parameter SID_4    = 63;
parameter SID_5    = 64;
parameter SNOOP_0  = 65;
parameter SNOOP_3  = 68;

assign ebiuif_snb0_ar_grant = ebiu_ebiuif_ar_grant & ebiu_ar_sel[0];
assign ebiuif_snb1_ar_grant = ebiu_ebiuif_ar_grant & ebiu_ar_sel[1];
assign ebiuif_snb0_ar_grant_gate = ebiu_ebiuif_ar_grant_gate & ebiu_ar_sel[0];
assign ebiuif_snb1_ar_grant_gate = ebiu_ebiuif_ar_grant_gate & ebiu_ar_sel[1];




assign snb0_arvalid = snb0_ebiuif_arvalid;
assign snb1_arvalid = snb1_ebiuif_arvalid;

assign ebiu_arvalid[1:0] = {snb1_arvalid, snb0_arvalid};
assign ebiu_ar_clr       = ebiu_ebiuif_ar_grant;

ct_prio #(.NUM(2)) x_ct_ciu_snb_ebiuif_ar_prio(
  .clk                 (ebiuif_rd_clk     ),
  .rst_b               (cpurst_b          ),
  .valid               (ebiu_arvalid      ),
  .clr                 (ebiu_ar_clr       ),
  .sel                 (ebiu_ar_sel       )
);

assign ebiu_rd_req = |ebiu_arvalid[1:0];

assign sab0_arbus[ARWIDTH-1:0] = snb0_ebiuif_arbus[ARWIDTH-1:0];
assign sab1_arbus[ARWIDTH-1:0] = snb1_ebiuif_arbus[ARWIDTH-1:0];

assign ebiu_rd_bus[ARWIDTH-1:0] = 
      {ARWIDTH{ebiu_ar_sel[1]}} & sab1_arbus[ARWIDTH-1:0] |
      {ARWIDTH{ebiu_ar_sel[0]}} & sab0_arbus[ARWIDTH-1:0];

assign ebiuif_ebiu_arvalid           = ebiu_rd_req & !vb_ebiuif_addr_depd;
assign ebiuif_vb_index[7:0]          = ebiu_rd_bus[ADDR_13:ADDR_6];
assign ebiuif_ebiu_arid[5:0]         = ebiu_rd_bus[SID_5:SID_0];
assign ebiuif_ebiu_araddr[ADDRW-1:0] = ebiu_rd_bus[ADDR_H:ADDR_0];
assign ebiuif_ebiu_arlen[7:0]        = {6'b0,ebiu_rd_bus[LEN_1:LEN_0]};
assign ebiuif_ebiu_arsize[2:0]       = ebiu_rd_bus[SIZE_2:SIZE_0];
assign ebiuif_ebiu_arburst[1:0]      = ebiu_rd_bus[BURST_1:BURST_0];
assign ebiuif_ebiu_arlock            = ebiu_rd_bus[LOCK];
assign ebiuif_ebiu_arcache[3:0]      = ebiu_rd_bus[CACHE_3:CACHE_0];
assign ebiuif_ebiu_arprot[2:0]       = ebiu_rd_bus[PROT_2:PROT_0];
assign ebiuif_ebiu_arsnoop[3:0]      = ebiu_rd_bus[SNOOP_3:SNOOP_0];
assign ebiuif_ebiu_ardomain[1:0]     = ebiu_rd_bus[DOMAIN_1:DOMAIN_0];
assign ebiuif_ebiu_arbar[1:0]        = ebiu_rd_bus[BAR_1:BAR_0];





assign ebiuif_snb0_rvalid     = ebiu_ebiuif_snb0_rvalid;
assign ebiuif_snb1_rvalid     = ebiu_ebiuif_snb1_rvalid;
assign ebiuif_xx_rlast        = ebiu_ebiuif_rlast;
assign ebiuif_xx_rresp[3:0]   = ebiu_ebiuif_rresp[3:0];
assign ebiuif_xx_rdata[127:0] = ebiu_ebiuif_rdata[127:0];
assign ebiuif_xx_entry_sel[DEPTH-1:0] = ebiu_ebiuif_entry_sel[DEPTH-1:0];

assign ebiuif_ebiu_r_grant = ebiu_ebiuif_snb0_rvalid | ebiu_ebiuif_snb1_rvalid;




parameter ACWIDTH     = 71;
parameter DVM_COMP    = 4'b1110;
parameter DVM_OP_SYNC = 4'b1111;

assign ctc_sel = (ebiu_ebiuif_acsnoop[3:0] == DVM_COMP) |
                 (ebiu_ebiuif_acsnoop[3:0] == DVM_OP_SYNC);

assign ebiuif_snb0_acvalid = ebiu_ebiuif_acvalid & !ebiu_ebiuif_acaddr[6] & !ctc_sel & !cr_sel_full;
assign ebiuif_snb1_acvalid = ebiu_ebiuif_acvalid &  ebiu_ebiuif_acaddr[6] & !ctc_sel & !cr_sel_full;
assign ebiuif_ctcq_acvalid = ebiu_ebiuif_acvalid & ctc_sel & !cr_sel_full;

assign ebiuif_ctcq_acaddr[ADDRW-1:0] = ebiu_ebiuif_acaddr[ADDRW-1:0];
assign ebiuif_ctcq_acsnoop[3:0]      = ebiu_ebiuif_acsnoop[3:0];
assign ebiuif_ctcq_acid[4:0]         = ebiu_ebiuif_acid[4:0];

assign ebiuif_snbx_acbus[ACWIDTH-1:0] = {ebiu_ebiuif_acaddr[ADDRW-1:0],
                                         2'b00,
                                         2'b01,
                                         ebiu_ebiuif_acsnoop[3:0],
                                         2'b01,
                                         2'b11,
                                         ebiu_ebiuif_acid[4:0],
                                         3'b0,
                                         1'b0,
                                         3'b110,
                                         4'b1111,
                                         ebiu_ebiuif_acprot[2:0]};

assign ac_grant_id[2:0] = {ctcq_ebiuif_ac_grant, snb1_ebiuif_ac_grant, snb0_ebiuif_ac_grant};
assign ac_grant = |ac_grant_id[2:0];

assign ebiuif_ebiu_ac_grant = ac_grant;












assign cr_sel_full = 1'b0;
assign ebiuif_ebiu_cdvalid       = 1'b0;
assign ebiuif_ebiu_cddata[127:0] = 128'b0;
assign ebiuif_ebiu_cdlast        = 1'b0;
assign ebiuif_ebiu_crvalid       = 1'b0;
assign ebiuif_ebiu_crresp[4:0]   = 5'b0;
assign ebiuif_ctcq_cr_grant      = 1'b0;


endmodule
module ct_ciu_ebiuif(
  ciu_icg_en,
  cpurst_b,
  ctcq_ebiuif_ac_grant,
  ctcq_ebiuif_crresp,
  ctcq_ebiuif_crvalid,
  ebiu_ebiuif_acaddr,
  ebiu_ebiuif_acid,
  ebiu_ebiuif_acprot,
  ebiu_ebiuif_acsnoop,
  ebiu_ebiuif_acvalid,
  ebiu_ebiuif_ar_grant,
  ebiu_ebiuif_ar_grant_gate,
  ebiu_ebiuif_cd_grant,
  ebiu_ebiuif_cr_grant,
  ebiu_ebiuif_entry_sel,
  ebiu_ebiuif_rdata,
  ebiu_ebiuif_rlast,
  ebiu_ebiuif_rresp,
  ebiu_ebiuif_snb0_rvalid,
  ebiu_ebiuif_snb1_rvalid,
  ebiuif_ctcq_acaddr,
  ebiuif_ctcq_acid,
  ebiuif_ctcq_acsnoop,
  ebiuif_ctcq_acvalid,
  ebiuif_ctcq_cr_grant,
  ebiuif_ebiu_ac_grant,
  ebiuif_ebiu_araddr,
  ebiuif_ebiu_arbar,
  ebiuif_ebiu_arburst,
  ebiuif_ebiu_arcache,
  ebiuif_ebiu_ardomain,
  ebiuif_ebiu_arid,
  ebiuif_ebiu_arlen,
  ebiuif_ebiu_arlock,
  ebiuif_ebiu_arprot,
  ebiuif_ebiu_arsize,
  ebiuif_ebiu_arsnoop,
  ebiuif_ebiu_arvalid,
  ebiuif_ebiu_cddata,
  ebiuif_ebiu_cdlast,
  ebiuif_ebiu_cdvalid,
  ebiuif_ebiu_crresp,
  ebiuif_ebiu_crvalid,
  ebiuif_ebiu_r_grant,
  ebiuif_snb0_acvalid,
  ebiuif_snb0_ar_grant,
  ebiuif_snb0_ar_grant_gate,
  ebiuif_snb0_rvalid,
  ebiuif_snb1_acvalid,
  ebiuif_snb1_ar_grant,
  ebiuif_snb1_ar_grant_gate,
  ebiuif_snb1_rvalid,
  ebiuif_snbx_acbus,
  ebiuif_vb_index,
  ebiuif_xx_entry_sel,
  ebiuif_xx_rdata,
  ebiuif_xx_rlast,
  ebiuif_xx_rresp,
  forever_cpuclk,
  pad_yy_icg_scan_en,
  snb0_ebiuif_ac_grant,
  snb0_ebiuif_arbus,
  snb0_ebiuif_arvalid,
  snb1_ebiuif_ac_grant,
  snb1_ebiuif_arbus,
  snb1_ebiuif_arvalid,
  vb_ebiuif_addr_depd
);



input            ciu_icg_en;               
input            cpurst_b;                 
input            ctcq_ebiuif_ac_grant;     
input   [4  :0]  ctcq_ebiuif_crresp;       
input            ctcq_ebiuif_crvalid;      
input   [39 :0]  ebiu_ebiuif_acaddr;       
input   [4  :0]  ebiu_ebiuif_acid;         
input   [2  :0]  ebiu_ebiuif_acprot;       
input   [3  :0]  ebiu_ebiuif_acsnoop;      
input            ebiu_ebiuif_acvalid;      
input            ebiu_ebiuif_ar_grant;     
input            ebiu_ebiuif_ar_grant_gate; 
input            ebiu_ebiuif_cd_grant;     
input            ebiu_ebiuif_cr_grant;     
input   [23 :0]  ebiu_ebiuif_entry_sel;    
input   [127:0]  ebiu_ebiuif_rdata;        
input            ebiu_ebiuif_rlast;        
input   [3  :0]  ebiu_ebiuif_rresp;        
input            ebiu_ebiuif_snb0_rvalid;  
input            ebiu_ebiuif_snb1_rvalid;  
input            forever_cpuclk;           
input            pad_yy_icg_scan_en;       
input            snb0_ebiuif_ac_grant;     
input   [68 :0]  snb0_ebiuif_arbus;        
input            snb0_ebiuif_arvalid;      
input            snb1_ebiuif_ac_grant;     
input   [68 :0]  snb1_ebiuif_arbus;        
input            snb1_ebiuif_arvalid;      
input            vb_ebiuif_addr_depd;      
output  [39 :0]  ebiuif_ctcq_acaddr;       
output  [4  :0]  ebiuif_ctcq_acid;         
output  [3  :0]  ebiuif_ctcq_acsnoop;      
output           ebiuif_ctcq_acvalid;      
output           ebiuif_ctcq_cr_grant;     
output           ebiuif_ebiu_ac_grant;     
output  [39 :0]  ebiuif_ebiu_araddr;       
output  [1  :0]  ebiuif_ebiu_arbar;        
output  [1  :0]  ebiuif_ebiu_arburst;      
output  [3  :0]  ebiuif_ebiu_arcache;      
output  [1  :0]  ebiuif_ebiu_ardomain;     
output  [5  :0]  ebiuif_ebiu_arid;         
output  [7  :0]  ebiuif_ebiu_arlen;        
output           ebiuif_ebiu_arlock;       
output  [2  :0]  ebiuif_ebiu_arprot;       
output  [2  :0]  ebiuif_ebiu_arsize;       
output  [3  :0]  ebiuif_ebiu_arsnoop;      
output           ebiuif_ebiu_arvalid;      
output  [127:0]  ebiuif_ebiu_cddata;       
output           ebiuif_ebiu_cdlast;       
output           ebiuif_ebiu_cdvalid;      
output  [4  :0]  ebiuif_ebiu_crresp;       
output           ebiuif_ebiu_crvalid;      
output           ebiuif_ebiu_r_grant;      
output           ebiuif_snb0_acvalid;      
output           ebiuif_snb0_ar_grant;     
output           ebiuif_snb0_ar_grant_gate; 
output           ebiuif_snb0_rvalid;       
output           ebiuif_snb1_acvalid;      
output           ebiuif_snb1_ar_grant;     
output           ebiuif_snb1_ar_grant_gate; 
output           ebiuif_snb1_rvalid;       
output  [70 :0]  ebiuif_snbx_acbus;        
output  [7  :0]  ebiuif_vb_index;          
output  [23 :0]  ebiuif_xx_entry_sel;      
output  [127:0]  ebiuif_xx_rdata;          
output           ebiuif_xx_rlast;          
output  [3  :0]  ebiuif_xx_rresp;          




wire             ac_grant;                 
wire    [2  :0]  ac_grant_id;              
wire             ciu_icg_en;               
wire             cr_sel_full;              
wire             ctc_sel;                  
wire             ctcq_ebiuif_ac_grant;     
wire             ebiu_ar_clr;              
wire    [1  :0]  ebiu_ar_sel;              
wire    [1  :0]  ebiu_arvalid;             
wire    [39 :0]  ebiu_ebiuif_acaddr;       
wire    [4  :0]  ebiu_ebiuif_acid;         
wire    [2  :0]  ebiu_ebiuif_acprot;       
wire    [3  :0]  ebiu_ebiuif_acsnoop;      
wire             ebiu_ebiuif_acvalid;      
wire             ebiu_ebiuif_ar_grant;     
wire             ebiu_ebiuif_ar_grant_gate; 
wire    [23 :0]  ebiu_ebiuif_entry_sel;    
wire    [127:0]  ebiu_ebiuif_rdata;        
wire             ebiu_ebiuif_rlast;        
wire    [3  :0]  ebiu_ebiuif_rresp;        
wire             ebiu_ebiuif_snb0_rvalid;  
wire             ebiu_ebiuif_snb1_rvalid;  
wire    [68 :0]  ebiu_rd_bus;              
wire             ebiu_rd_req;              
wire    [39 :0]  ebiuif_ctcq_acaddr;       
wire    [4  :0]  ebiuif_ctcq_acid;         
wire    [3  :0]  ebiuif_ctcq_acsnoop;      
wire             ebiuif_ctcq_acvalid;      
wire             ebiuif_ctcq_cr_grant;     
wire             ebiuif_ebiu_ac_grant;     
wire    [39 :0]  ebiuif_ebiu_araddr;       
wire    [1  :0]  ebiuif_ebiu_arbar;        
wire    [1  :0]  ebiuif_ebiu_arburst;      
wire    [3  :0]  ebiuif_ebiu_arcache;      
wire    [1  :0]  ebiuif_ebiu_ardomain;     
wire    [5  :0]  ebiuif_ebiu_arid;         
wire    [7  :0]  ebiuif_ebiu_arlen;        
wire             ebiuif_ebiu_arlock;       
wire    [2  :0]  ebiuif_ebiu_arprot;       
wire    [2  :0]  ebiuif_ebiu_arsize;       
wire    [3  :0]  ebiuif_ebiu_arsnoop;      
wire             ebiuif_ebiu_arvalid;      
wire    [127:0]  ebiuif_ebiu_cddata;       
wire             ebiuif_ebiu_cdlast;       
wire             ebiuif_ebiu_cdvalid;      
wire    [4  :0]  ebiuif_ebiu_crresp;       
wire             ebiuif_ebiu_crvalid;      
wire             ebiuif_ebiu_r_grant;      
wire             ebiuif_rd_clk;            
wire             ebiuif_rd_clk_en;         
wire             ebiuif_snb0_acvalid;      
wire             ebiuif_snb0_ar_grant;     
wire             ebiuif_snb0_ar_grant_gate; 
wire             ebiuif_snb0_rvalid;       
wire             ebiuif_snb1_acvalid;      
wire             ebiuif_snb1_ar_grant;     
wire             ebiuif_snb1_ar_grant_gate; 
wire             ebiuif_snb1_rvalid;       
wire    [70 :0]  ebiuif_snbx_acbus;        
wire    [7  :0]  ebiuif_vb_index;          
wire    [23 :0]  ebiuif_xx_entry_sel;      
wire    [127:0]  ebiuif_xx_rdata;          
wire             ebiuif_xx_rlast;          
wire    [3  :0]  ebiuif_xx_rresp;          
wire             forever_cpuclk;           
wire             pad_yy_icg_scan_en;       
wire    [68 :0]  sab0_arbus;               
wire    [68 :0]  sab1_arbus;               
wire             snb0_arvalid;             
wire             snb0_ebiuif_ac_grant;     
wire    [68 :0]  snb0_ebiuif_arbus;        
wire             snb0_ebiuif_arvalid;      
wire             snb1_arvalid;             
wire             snb1_ebiuif_ac_grant;     
wire    [68 :0]  snb1_ebiuif_arbus;        
wire             snb1_ebiuif_arvalid;      
wire             vb_ebiuif_addr_depd;      


parameter DEPTH = `SAB_DEPTH;
parameter ADDRW = `PA_WIDTH;





assign ebiuif_rd_clk_en = ebiu_rd_req | ebiu_ar_clr;


gated_clk_cell  x_ebiuif_rd_gated_clk (
  .clk_in             (forever_cpuclk    ),
  .clk_out            (ebiuif_rd_clk     ),
  .external_en        (1'b0              ),
  .global_en          (1'b1              ),
  .local_en           (ebiuif_rd_clk_en  ),
  .module_en          (ciu_icg_en        ),
  .pad_yy_icg_scan_en (pad_yy_icg_scan_en)
);















parameter ARWIDTH  = 69;
parameter ADDR_0   = 0;
parameter ADDR_6   = 6;
parameter ADDR_13  = 13;
parameter ADDR_H   = 39;
parameter SIZE_0   = 40;
parameter SIZE_2   = 42;
parameter PROT_0   = 43;
parameter PROT_2   = 45;
parameter LOCK     = 46;
parameter LEN_0    = 47;
parameter LEN_1    = 48;
parameter CACHE_0  = 49;
parameter CACHE_3  = 52;
parameter BURST_0  = 53;
parameter BURST_1  = 54;
parameter DOMAIN_0 = 55;
parameter DOMAIN_1 = 56;
parameter BAR_0    = 57;
parameter BAR_1    = 58;
parameter SID_0    = 59;
parameter SID_4    = 63;
parameter SID_5    = 64;
parameter SNOOP_0  = 65;
parameter SNOOP_3  = 68;

assign ebiuif_snb0_ar_grant = ebiu_ebiuif_ar_grant & ebiu_ar_sel[0];
assign ebiuif_snb1_ar_grant = ebiu_ebiuif_ar_grant & ebiu_ar_sel[1];
assign ebiuif_snb0_ar_grant_gate = ebiu_ebiuif_ar_grant_gate & ebiu_ar_sel[0];
assign ebiuif_snb1_ar_grant_gate = ebiu_ebiuif_ar_grant_gate & ebiu_ar_sel[1];




assign snb0_arvalid = snb0_ebiuif_arvalid;
assign snb1_arvalid = snb1_ebiuif_arvalid;

assign ebiu_arvalid[1:0] = {snb1_arvalid, snb0_arvalid};
assign ebiu_ar_clr       = ebiu_ebiuif_ar_grant;

ct_prio #(.NUM(2)) x_ct_ciu_snb_ebiuif_ar_prio(
  .clk                 (ebiuif_rd_clk     ),
  .rst_b               (cpurst_b          ),
  .valid               (ebiu_arvalid      ),
  .clr                 (ebiu_ar_clr       ),
  .sel                 (ebiu_ar_sel       )
);

assign ebiu_rd_req = |ebiu_arvalid[1:0];

assign sab0_arbus[ARWIDTH-1:0] = snb0_ebiuif_arbus[ARWIDTH-1:0];
assign sab1_arbus[ARWIDTH-1:0] = snb1_ebiuif_arbus[ARWIDTH-1:0];

assign ebiu_rd_bus[ARWIDTH-1:0] = 
      {ARWIDTH{ebiu_ar_sel[1]}} & sab1_arbus[ARWIDTH-1:0] |
      {ARWIDTH{ebiu_ar_sel[0]}} & sab0_arbus[ARWIDTH-1:0];

assign ebiuif_ebiu_arvalid           = ebiu_rd_req & !vb_ebiuif_addr_depd;
assign ebiuif_vb_index[7:0]          = ebiu_rd_bus[ADDR_13:ADDR_6];
assign ebiuif_ebiu_arid[5:0]         = ebiu_rd_bus[SID_5:SID_0];
assign ebiuif_ebiu_araddr[ADDRW-1:0] = ebiu_rd_bus[ADDR_H:ADDR_0];
assign ebiuif_ebiu_arlen[7:0]        = {6'b0,ebiu_rd_bus[LEN_1:LEN_0]};
assign ebiuif_ebiu_arsize[2:0]       = ebiu_rd_bus[SIZE_2:SIZE_0];
assign ebiuif_ebiu_arburst[1:0]      = ebiu_rd_bus[BURST_1:BURST_0];
assign ebiuif_ebiu_arlock            = ebiu_rd_bus[LOCK];
assign ebiuif_ebiu_arcache[3:0]      = ebiu_rd_bus[CACHE_3:CACHE_0];
assign ebiuif_ebiu_arprot[2:0]       = ebiu_rd_bus[PROT_2:PROT_0];
assign ebiuif_ebiu_arsnoop[3:0]      = ebiu_rd_bus[SNOOP_3:SNOOP_0];
assign ebiuif_ebiu_ardomain[1:0]     = ebiu_rd_bus[DOMAIN_1:DOMAIN_0];
assign ebiuif_ebiu_arbar[1:0]        = ebiu_rd_bus[BAR_1:BAR_0];





assign ebiuif_snb0_rvalid     = ebiu_ebiuif_snb0_rvalid;
assign ebiuif_snb1_rvalid     = ebiu_ebiuif_snb1_rvalid;
assign ebiuif_xx_rlast        = ebiu_ebiuif_rlast;
assign ebiuif_xx_rresp[3:0]   = ebiu_ebiuif_rresp[3:0];
assign ebiuif_xx_rdata[127:0] = ebiu_ebiuif_rdata[127:0];
assign ebiuif_xx_entry_sel[DEPTH-1:0] = ebiu_ebiuif_entry_sel[DEPTH-1:0];

assign ebiuif_ebiu_r_grant = ebiu_ebiuif_snb0_rvalid | ebiu_ebiuif_snb1_rvalid;




parameter ACWIDTH     = 71;
parameter DVM_COMP    = 4'b1110;
parameter DVM_OP_SYNC = 4'b1111;

assign ctc_sel = (ebiu_ebiuif_acsnoop[3:0] == DVM_COMP) |
                 (ebiu_ebiuif_acsnoop[3:0] == DVM_OP_SYNC);

assign ebiuif_snb0_acvalid = ebiu_ebiuif_acvalid & !ebiu_ebiuif_acaddr[6] & !ctc_sel & !cr_sel_full;
assign ebiuif_snb1_acvalid = ebiu_ebiuif_acvalid &  ebiu_ebiuif_acaddr[6] & !ctc_sel & !cr_sel_full;
assign ebiuif_ctcq_acvalid = ebiu_ebiuif_acvalid & ctc_sel & !cr_sel_full;

assign ebiuif_ctcq_acaddr[ADDRW-1:0] = ebiu_ebiuif_acaddr[ADDRW-1:0];
assign ebiuif_ctcq_acsnoop[3:0]      = ebiu_ebiuif_acsnoop[3:0];
assign ebiuif_ctcq_acid[4:0]         = ebiu_ebiuif_acid[4:0];

assign ebiuif_snbx_acbus[ACWIDTH-1:0] = {ebiu_ebiuif_acaddr[ADDRW-1:0],
                                         2'b00,
                                         2'b01,
                                         ebiu_ebiuif_acsnoop[3:0],
                                         2'b01,
                                         2'b11,
                                         ebiu_ebiuif_acid[4:0],
                                         3'b0,
                                         1'b0,
                                         3'b110,
                                         4'b1111,
                                         ebiu_ebiuif_acprot[2:0]};

assign ac_grant_id[2:0] = {ctcq_ebiuif_ac_grant, snb1_ebiuif_ac_grant, snb0_ebiuif_ac_grant};
assign ac_grant = |ac_grant_id[2:0];

assign ebiuif_ebiu_ac_grant = ac_grant;












assign cr_sel_full = 1'b0;
assign ebiuif_ebiu_cdvalid       = 1'b0;
assign ebiuif_ebiu_cddata[127:0] = 128'b0;
assign ebiuif_ebiu_cdlast        = 1'b0;
assign ebiuif_ebiu_crvalid       = 1'b0;
assign ebiuif_ebiu_crresp[4:0]   = 5'b0;
assign ebiuif_ctcq_cr_grant      = 1'b0;


endmodule