data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v
None: at end of input
1: b'%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:25: Cannot find include file: powlib_std.vh\n`include "powlib_std.vh"   \n         ^~~~~~~~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/138962343/test_ipmaxi,data/full_repos/permissive/138962343/powlib_std.vh\n             data/full_repos/permissive/138962343/test_ipmaxi,data/full_repos/permissive/138962343/powlib_std.vh.v\n             data/full_repos/permissive/138962343/test_ipmaxi,data/full_repos/permissive/138962343/powlib_std.vh.sv\n             powlib_std.vh\n             powlib_std.vh.v\n             powlib_std.vh.sv\n             obj_dir/powlib_std.vh\n             obj_dir/powlib_std.vh.v\n             obj_dir/powlib_std.vh.sv\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:160: Cannot find include file: powlib_ip.vh\n`include "powlib_ip.vh"  \n         ^~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:217: Cannot find include file: powlib_ip.vh\n`include "powlib_ip.vh"  \n         ^~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:311: Cannot find include file: powlib_ip.vh\n`include "powlib_ip.vh"  \n         ^~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:6: Unsupported or unknown PLI call: $dumpfile\n    $dumpfile("waveform.vcd");\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:7: Unsupported or unknown PLI call: $dumpvars\n    $dumpvars(10, ipmaxi_full_inst);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:8: Unsupported or unknown PLI call: $dumpvars\n    $dumpvars(10, ipmaxi_wr_inst);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:9: Unsupported or unknown PLI call: $dumpvars\n    $dumpvars(10, ipmaxi_rdwr_inst);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:10: Unsupported or unknown PLI call: $dumpvars\n    $dumpvars(10, ipmaxi_single_inst);\n    ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:38: Define or directive not defined: \'`POWLIB_BW\'\n  localparam                                B_AW            = `POWLIB_BW*B_BPD;\n                                                              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:38: syntax error, unexpected \'*\', expecting TYPE-IDENTIFIER\n  localparam                                B_AW            = `POWLIB_BW*B_BPD;\n                                                                        ^\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:39: Define or directive not defined: \'`POWLIB_BW\'\n  localparam                                B_DW            = `POWLIB_BW*B_BPD; \n                                                              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:39: syntax error, unexpected \'*\', expecting TYPE-IDENTIFIER\n  localparam                                B_DW            = `POWLIB_BW*B_BPD; \n                                                                        ^\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:41: Define or directive not defined: \'`POWLIB_OPW\'\n  localparam                                B_OPW           = `POWLIB_OPW;\n                                                              ^~~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:41: syntax error, unexpected \';\', expecting TYPE-IDENTIFIER\n  localparam                                B_OPW           = `POWLIB_OPW;\n                                                                         ^\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:68: Define or directive not defined: \'`AXI_RESPW\'\n  wire       [`AXI_RESPW-1:0]       respresp [0:TOTAL_IPMAXIS-1];\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:74: Define or directive not defined: \'`AXI_LENW\'\n  wire       [`AXI_LENW-1:0]        awlen[0:TOTAL_IPMAXIS-1];\n              ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:75: Define or directive not defined: \'`AXI_SIZEW\'\n  wire       [`AXI_SIZEW-1:0]       awsize[0:TOTAL_IPMAXIS-1];\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:76: Define or directive not defined: \'`AXI_BURSTW\'\n  wire       [`AXI_BURSTW-1:0]      awburst[0:TOTAL_IPMAXIS-1];\n              ^~~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:81: Define or directive not defined: \'`AXI_RESPW\'\n  wire       [`AXI_RESPW-1:0]       bresp[0:TOTAL_IPMAXIS-1];\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:84: Define or directive not defined: \'`AXI_LENW\'\n  wire       [`AXI_LENW-1:0]        arlen[0:TOTAL_IPMAXIS-1];\n              ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:85: Define or directive not defined: \'`AXI_SIZEW\'\n  wire       [`AXI_SIZEW-1:0]       arsize[0:TOTAL_IPMAXIS-1];\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:86: Define or directive not defined: \'`AXI_BURSTW\'\n  wire       [`AXI_BURSTW-1:0]      arburst[0:TOTAL_IPMAXIS-1];\n              ^~~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:89: Define or directive not defined: \'`AXI_RESPW\'\n  wire       [`AXI_RESPW-1:0]       rresp[0:TOTAL_IPMAXIS-1];  \n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:167: Define or directive not defined: \'`POWLIB_BW\'\n  localparam                   B_AW         = `POWLIB_BW*B_BPD;\n                                              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:167: syntax error, unexpected \'*\', expecting TYPE-IDENTIFIER\n  localparam                   B_AW         = `POWLIB_BW*B_BPD;\n                                                        ^\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:168: Define or directive not defined: \'`POWLIB_BW\'\n  localparam                   B_DW         = `POWLIB_BW*B_BPD;  \n                                              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:168: syntax error, unexpected \'*\', expecting TYPE-IDENTIFIER\n  localparam                   B_DW         = `POWLIB_BW*B_BPD;  \n                                                        ^\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:175: Define or directive not defined: \'`AXI_LENW\'\n  wire       [`AXI_LENW-1:0]   awlen;\n              ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:176: Define or directive not defined: \'`AXI_SIZEW\'\n  wire       [`AXI_SIZEW-1:0]  awsize;\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:177: Define or directive not defined: \'`AXI_BURSTW\'\n  wire       [`AXI_BURSTW-1:0] awburst;\n              ^~~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:182: Define or directive not defined: \'`AXI_RESPW\'\n  wire       [`AXI_RESPW-1:0]  bresp;\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:224: Define or directive not defined: \'`POWLIB_BW\'\n  localparam                   B_AW         = `POWLIB_BW*B_BPD;\n                                              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:224: syntax error, unexpected \'*\', expecting TYPE-IDENTIFIER\n  localparam                   B_AW         = `POWLIB_BW*B_BPD;\n                                                        ^\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:225: Define or directive not defined: \'`POWLIB_BW\'\n  localparam                   B_DW         = `POWLIB_BW*B_BPD; \n                                              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:225: syntax error, unexpected \'*\', expecting TYPE-IDENTIFIER\n  localparam                   B_DW         = `POWLIB_BW*B_BPD; \n                                                        ^\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:233: Define or directive not defined: \'`AXI_RESPW\'\n  wire       [`AXI_RESPW-1:0]  rd_rdresp;\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:236: Define or directive not defined: \'`AXI_LENW\'\n  wire       [`AXI_LENW-1:0]   awlen;\n              ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:237: Define or directive not defined: \'`AXI_SIZEW\'\n  wire       [`AXI_SIZEW-1:0]  awsize;\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:238: Define or directive not defined: \'`AXI_BURSTW\'\n  wire       [`AXI_BURSTW-1:0] awburst;\n              ^~~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:243: Define or directive not defined: \'`AXI_RESPW\'\n  wire       [`AXI_RESPW-1:0]  bresp;\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:246: Define or directive not defined: \'`AXI_LENW\'\n  wire       [`AXI_LENW-1:0]   arlen;\n              ^~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:247: Define or directive not defined: \'`AXI_SIZEW\'\n  wire       [`AXI_SIZEW-1:0]  arsize;\n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:248: Define or directive not defined: \'`AXI_BURSTW\'\n  wire       [`AXI_BURSTW-1:0] arburst;\n              ^~~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:251: Define or directive not defined: \'`AXI_RESPW\'\n  wire       [`AXI_RESPW-1:0]  rresp;  \n              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:318: Define or directive not defined: \'`POWLIB_BW\'\n  localparam                   B_AW         = `POWLIB_BW*B_BPD;\n                                              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:318: syntax error, unexpected \'*\', expecting TYPE-IDENTIFIER\n  localparam                   B_AW         = `POWLIB_BW*B_BPD;\n                                                        ^\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:319: Define or directive not defined: \'`POWLIB_BW\'\n  localparam                   B_DW         = `POWLIB_BW*B_BPD; \n                                              ^~~~~~~~~~\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:319: syntax error, unexpected \'*\', expecting TYPE-IDENTIFIER\n  localparam                   B_DW         = `POWLIB_BW*B_BPD; \n                                                        ^\n%Error: data/full_repos/permissive/138962343/test_ipmaxi/test_ipmaxi.v:321: Define or directive not defined: \'`POWLIB_OPW\'\n  localparam                   B_OPW        = `POWLIB_OPW;\n                                              ^~~~~~~~~~~\n%Error: Exiting due to too many errors encountered; --error-limit=50\n'
module test_ipmaxi_full();

`include "powlib_std.vh"  

  localparam                                TOTAL_CCTBPLBS  = 2;
  localparam                                TOTAL_IPMAXIS   = 2;
  localparam                                TOTAL_INTRS     = TOTAL_CCTBPLBS+TOTAL_IPMAXIS;
  localparam                                CCTBPLBS_OFFSET = 0;
  localparam                                IPMAXIS_OFFSET  = 2;
  localparam                                MAX_BURSTW      = 9;
  localparam [MAX_BURSTW*TOTAL_IPMAXIS-1:0] MAX_BURSTS      = {9'd128,9'd16};
  localparam                                ID              = "TEST_FULL";
  localparam                                EAR             = 0;
  localparam                                EDBG            = 0;
  localparam                                B_BPD           = 4;
  localparam                                B_AW            = `POWLIB_BW*B_BPD;
  localparam                                B_DW            = `POWLIB_BW*B_BPD; 
  localparam                                B_BEW           = B_BPD;
  localparam                                B_OPW           = `POWLIB_OPW;
  localparam                                OFF_0           = 0;
  localparam                                OFF_1           = OFF_0+B_DW;
  localparam                                OFF_2           = OFF_1+B_BEW;
  localparam                                OFF_3           = OFF_2+B_OPW;
  localparam                                B_WW            = OFF_3;
  localparam                                B_BASES         = {32'hC2001000,32'hC0000000,32'h00000004,32'h00000000};
  localparam                                B_SIZES         = {32'h00000FFF,32'h02000FFF,32'h00000003,32'h00000003};
  
  wire                              clk, rst;
  wire       [TOTAL_INTRS-1:0]      clks, rsts;
  

  wire       [B_AW*TOTAL_INTRS-1:0] wraddrs, rdaddrs;
  wire       [B_WW*TOTAL_INTRS-1:0] wrdatapackeds, rddatapackeds;
  wire       [TOTAL_INTRS-1:0]      wrvlds, wrrdys, rdvlds, rdrdys;
  

  wire       [B_AW-1:0]             wraddr[0:TOTAL_CCTBPLBS-1], rdaddr[0:TOTAL_CCTBPLBS-1];
  wire       [B_WW-1:0]             wrdatapacked[0:TOTAL_CCTBPLBS-1], rddatapacked[0:TOTAL_CCTBPLBS-1];
  wire       [B_DW-1:0]             wrdata[0:TOTAL_CCTBPLBS-1], rddata[0:TOTAL_CCTBPLBS-1];
  wire       [B_BEW-1:0]            wrbe[0:TOTAL_CCTBPLBS-1], rdbe[0:TOTAL_CCTBPLBS-1];
  wire       [B_OPW-1:0]            wrop[0:TOTAL_CCTBPLBS-1], rdop[0:TOTAL_CCTBPLBS-1];
  wire                              wrvld[0:TOTAL_CCTBPLBS-1], wrrdy[0:TOTAL_CCTBPLBS-1], 
                                    rdvld[0:TOTAL_CCTBPLBS-1], rdrdy[0:TOTAL_CCTBPLBS-1];
  

  wire       [`AXI_RESPW-1:0]       respresp [0:TOTAL_IPMAXIS-1];
  wire       [B_OPW-1:0]            respop [0:TOTAL_IPMAXIS-1];
  wire                              respvld[0:TOTAL_IPMAXIS-1], resprdy[0:TOTAL_IPMAXIS-1];
  

  wire       [B_AW-1:0]             awaddr[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_LENW-1:0]        awlen[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_SIZEW-1:0]       awsize[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_BURSTW-1:0]      awburst[0:TOTAL_IPMAXIS-1];
  wire                              awvalid[0:TOTAL_IPMAXIS-1], awready[0:TOTAL_IPMAXIS-1];
  wire       [B_DW-1:0]             wdata[0:TOTAL_IPMAXIS-1];
  wire       [B_BPD-1:0]            wstrb[0:TOTAL_IPMAXIS-1];
  wire                              wlast[0:TOTAL_IPMAXIS-1], wvalid[0:TOTAL_IPMAXIS-1], wready[0:TOTAL_IPMAXIS-1];  
  wire       [`AXI_RESPW-1:0]       bresp[0:TOTAL_IPMAXIS-1];
  wire                              bvalid[0:TOTAL_IPMAXIS-1], bready[0:TOTAL_IPMAXIS-1]; 
  wire       [B_AW-1:0]             araddr[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_LENW-1:0]        arlen[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_SIZEW-1:0]       arsize[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_BURSTW-1:0]      arburst[0:TOTAL_IPMAXIS-1];
  wire                              arvalid[0:TOTAL_IPMAXIS-1], arready[0:TOTAL_IPMAXIS-1];
  wire       [B_DW-1:0]             rdata[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_RESPW-1:0]       rresp[0:TOTAL_IPMAXIS-1];  
  wire                              rlast[0:TOTAL_IPMAXIS-1], rvalid[0:TOTAL_IPMAXIS-1], rready[0:TOTAL_IPMAXIS-1];    
  
  genvar i;
  
  for (i=0; i<TOTAL_INTRS; i=i+1) begin
    assign clks[i] = clk;
    assign rsts[i] = rst;
  end


  for (i=0; i<TOTAL_CCTBPLBS; i=i+1) begin
    assign wraddrs[(i+CCTBPLBS_OFFSET)*B_AW+:B_AW]       = wraddr[i];
    assign wrdatapackeds[(i+CCTBPLBS_OFFSET)*B_WW+:B_WW] = wrdatapacked[i];
    assign wrvlds[i+CCTBPLBS_OFFSET]                     = wrvld[i];
    assign wrrdy[i]                                      = wrrdys[i+CCTBPLBS_OFFSET];
    assign rdaddr[i]                                     = rdaddrs[(i+CCTBPLBS_OFFSET)*B_AW+:B_AW];
    assign rddatapacked[i]                               = rddatapackeds[(i+CCTBPLBS_OFFSET)*B_WW+:B_WW];
    assign rdvld[i]                                      = rdvlds[i+CCTBPLBS_OFFSET];
    assign rdrdys[i+CCTBPLBS_OFFSET]                     = rdrdy[i];
    powlib_ippackintr0   #(.B_BPD(B_BPD)) pack_inst   (.wrdata(wrdata[i]),.wrbe(wrbe[i]),.wrop(wrop[i]),.rddata(wrdatapacked[i]));
    powlib_ipunpackintr0 #(.B_BPD(B_BPD)) unpack_inst (.wrdata(rddatapacked[i]),.rddata(rddata[i]),.rdbe(rdbe[i]),.rdop(rdop[i]));
  end


  for (i=0; i<TOTAL_IPMAXIS; i=i+1) begin
    localparam [powlib_itoaw(i)-1:0] IDX_STR = powlib_itoa(i);
    assign resprdy[i] = 1;
    powlib_ipmaxi #(
      .ID({ID,"_IPMAXI",IDX_STR}),.EAR(EAR),.EDBG(EDBG),.MAX_BURST(MAX_BURSTS[i*MAX_BURSTW+:MAX_BURSTW]),.B_BPD(B_BPD),.B_AW(B_AW)) 
    ipmaxi_inst (
      .wraddr(rdaddrs[(i+IPMAXIS_OFFSET)*B_AW+:B_AW]),.wrdata(rddatapackeds[(i+IPMAXIS_OFFSET)*B_WW+:B_WW]),.wrvld(rdvlds[i+IPMAXIS_OFFSET]),.wrrdy(rdrdys[i+IPMAXIS_OFFSET]),
      .rdaddr(wraddrs[(i+IPMAXIS_OFFSET)*B_AW+:B_AW]),.rddata(wrdatapackeds[(i+IPMAXIS_OFFSET)*B_WW+:B_WW]),.rdvld(wrvlds[i+IPMAXIS_OFFSET]),.rdrdy(wrrdys[i+IPMAXIS_OFFSET]),
      .respresp(respresp[i]),.respop(respop[i]),.respvld(respvld[i]),.resprdy(resprdy[i]),
      .awaddr(awaddr[i]),.awlen(awlen[i]),.awsize(awsize[i]),.awburst(awburst[i]),.awvalid(awvalid[i]),.awready(awready[i]),
      .wdata(wdata[i]),.wstrb(wstrb[i]),.wlast(wlast[i]),.wvalid(wvalid[i]),.wready(wready[i]),
      .bresp(bresp[i]),.bvalid(bvalid[i]),.bready(bready[i]),
      .araddr(araddr[i]),.arlen(arlen[i]),.arsize(arsize[i]),.arburst(arburst[i]),.arvalid(arvalid[i]),.arready(arready[i]),
      .rdata(rdata[i]),.rresp(rresp[i]),.rlast(rlast[i]),.rvalid(rvalid[i]),.rready(rready[i]),.clk(clk),.rst(rst));
  end
  

  powlib_buscross #(
    .EAR(EAR),.ID({ID,"_XBAR"}),.EDBG(EDBG),.B_WRS(TOTAL_INTRS),.B_RDS(TOTAL_INTRS),
    .B_AW(B_AW),.B_DW(B_WW),.B_BASES(B_BASES),.B_SIZES(B_SIZES))
  xbar_inst (
    .wrclks(clks),.wrrsts(rsts),.wrdatas(wrdatapackeds),.wraddrs(wraddrs),.wrvlds(wrvlds),.wrrdys(wrrdys),
    .rdclks(clks),.rdrsts(rsts),.rddatas(rddatapackeds),.rdaddrs(rdaddrs),.rdvlds(rdvlds),.rdrdys(rdrdys));
  

  bd_2 bd_2_inst
   (.S00_AXI_0_araddr(araddr[0]),.S00_AXI_0_arburst(arburst[0]),.S00_AXI_0_arcache(4'd0),.S00_AXI_0_arlen(arlen[0]),.S00_AXI_0_arlock(1'd0),
    .S00_AXI_0_arprot(3'd0),.S00_AXI_0_arqos(4'd0), .S00_AXI_0_arready(arready[0]),.S00_AXI_0_arregion(4'd0),.S00_AXI_0_arsize(arsize[0]),.S00_AXI_0_arvalid(arvalid[0]),
    .S00_AXI_0_awaddr(awaddr[0]),.S00_AXI_0_awburst(awburst[0]),.S00_AXI_0_awcache(4'd0),.S00_AXI_0_awlen(awlen[0]),.S00_AXI_0_awlock(1'd0),
    .S00_AXI_0_awprot(3'd0),.S00_AXI_0_awqos(4'd0),.S00_AXI_0_awready(awready[0]),.S00_AXI_0_awregion(4'd0),.S00_AXI_0_awsize(awsize[0]),.S00_AXI_0_awvalid(awvalid[0]),
    .S00_AXI_0_bready(bready[0]),.S00_AXI_0_bresp(bresp[0]),.S00_AXI_0_bvalid(bvalid[0]),
    .S00_AXI_0_rdata(rdata[0]),.S00_AXI_0_rlast(rlast[0]),.S00_AXI_0_rready(rready[0]),.S00_AXI_0_rresp(rresp[0]),.S00_AXI_0_rvalid(rvalid[0]),
    .S00_AXI_0_wdata(wdata[0]),.S00_AXI_0_wlast(wlast[0]),.S00_AXI_0_wready(wready[0]),.S00_AXI_0_wstrb(wstrb[0]),.S00_AXI_0_wvalid(wvalid[0]),
    .S01_AXI_0_araddr(araddr[1]),.S01_AXI_0_arburst(arburst[1]),.S01_AXI_0_arcache(4'd0),.S01_AXI_0_arlen(arlen[1]),.S01_AXI_0_arlock(1'd0),
    .S01_AXI_0_arprot(3'd0),.S01_AXI_0_arqos(4'd0),.S01_AXI_0_arready(arready[1]),.S01_AXI_0_arregion(4'd0),.S01_AXI_0_arsize(arsize[1]),.S01_AXI_0_arvalid(arvalid[1]),
    .S01_AXI_0_awaddr(awaddr[1]),.S01_AXI_0_awburst(awburst[1]),.S01_AXI_0_awcache(4'd0),.S01_AXI_0_awlen(awlen[1]),.S01_AXI_0_awlock(1'd0),
    .S01_AXI_0_awprot(3'd0),.S01_AXI_0_awqos(4'd0),.S01_AXI_0_awready(awready[1]),.S01_AXI_0_awregion(4'd0),.S01_AXI_0_awsize(awsize[1]),.S01_AXI_0_awvalid(awvalid[1]),
    .S01_AXI_0_bready(bready[1]),.S01_AXI_0_bresp(bresp[1]),.S01_AXI_0_bvalid(bvalid[1]),
    .S01_AXI_0_rdata(rdata[1]),.S01_AXI_0_rlast(rlast[1]),.S01_AXI_0_rready(rready[1]),.S01_AXI_0_rresp(rresp[1]),.S01_AXI_0_rvalid(rvalid[1]),
    .S01_AXI_0_wdata(wdata[1]),.S01_AXI_0_wlast(wlast[1]),.S01_AXI_0_wready(wready[1]),.S01_AXI_0_wstrb(wstrb[1]),.S01_AXI_0_wvalid(wvalid[1]),
    .clk(clk),.rst(rst));
    
endmodule
module test_ipmaxi_full();


`include "powlib_std.vh"  

  localparam                                TOTAL_CCTBPLBS  = 2;
  localparam                                TOTAL_IPMAXIS   = 2;
  localparam                                TOTAL_INTRS     = TOTAL_CCTBPLBS+TOTAL_IPMAXIS;
  localparam                                CCTBPLBS_OFFSET = 0;
  localparam                                IPMAXIS_OFFSET  = 2;
  localparam                                MAX_BURSTW      = 9;
  localparam [MAX_BURSTW*TOTAL_IPMAXIS-1:0] MAX_BURSTS      = {9'd128,9'd16};
  localparam                                ID              = "TEST_FULL";
  localparam                                EAR             = 0;
  localparam                                EDBG            = 0;
  localparam                                B_BPD           = 4;
  localparam                                B_AW            = `POWLIB_BW*B_BPD;
  localparam                                B_DW            = `POWLIB_BW*B_BPD; 
  localparam                                B_BEW           = B_BPD;
  localparam                                B_OPW           = `POWLIB_OPW;
  localparam                                OFF_0           = 0;
  localparam                                OFF_1           = OFF_0+B_DW;
  localparam                                OFF_2           = OFF_1+B_BEW;
  localparam                                OFF_3           = OFF_2+B_OPW;
  localparam                                B_WW            = OFF_3;
  localparam                                B_BASES         = {32'hC2001000,32'hC0000000,32'h00000004,32'h00000000};
  localparam                                B_SIZES         = {32'h00000FFF,32'h02000FFF,32'h00000003,32'h00000003};
  
  wire                              clk, rst;
  wire       [TOTAL_INTRS-1:0]      clks, rsts;
  

  wire       [B_AW*TOTAL_INTRS-1:0] wraddrs, rdaddrs;
  wire       [B_WW*TOTAL_INTRS-1:0] wrdatapackeds, rddatapackeds;
  wire       [TOTAL_INTRS-1:0]      wrvlds, wrrdys, rdvlds, rdrdys;
  

  wire       [B_AW-1:0]             wraddr[0:TOTAL_CCTBPLBS-1], rdaddr[0:TOTAL_CCTBPLBS-1];
  wire       [B_WW-1:0]             wrdatapacked[0:TOTAL_CCTBPLBS-1], rddatapacked[0:TOTAL_CCTBPLBS-1];
  wire       [B_DW-1:0]             wrdata[0:TOTAL_CCTBPLBS-1], rddata[0:TOTAL_CCTBPLBS-1];
  wire       [B_BEW-1:0]            wrbe[0:TOTAL_CCTBPLBS-1], rdbe[0:TOTAL_CCTBPLBS-1];
  wire       [B_OPW-1:0]            wrop[0:TOTAL_CCTBPLBS-1], rdop[0:TOTAL_CCTBPLBS-1];
  wire                              wrvld[0:TOTAL_CCTBPLBS-1], wrrdy[0:TOTAL_CCTBPLBS-1], 
                                    rdvld[0:TOTAL_CCTBPLBS-1], rdrdy[0:TOTAL_CCTBPLBS-1];
  

  wire       [`AXI_RESPW-1:0]       respresp [0:TOTAL_IPMAXIS-1];
  wire       [B_OPW-1:0]            respop [0:TOTAL_IPMAXIS-1];
  wire                              respvld[0:TOTAL_IPMAXIS-1], resprdy[0:TOTAL_IPMAXIS-1];
  

  wire       [B_AW-1:0]             awaddr[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_LENW-1:0]        awlen[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_SIZEW-1:0]       awsize[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_BURSTW-1:0]      awburst[0:TOTAL_IPMAXIS-1];
  wire                              awvalid[0:TOTAL_IPMAXIS-1], awready[0:TOTAL_IPMAXIS-1];
  wire       [B_DW-1:0]             wdata[0:TOTAL_IPMAXIS-1];
  wire       [B_BPD-1:0]            wstrb[0:TOTAL_IPMAXIS-1];
  wire                              wlast[0:TOTAL_IPMAXIS-1], wvalid[0:TOTAL_IPMAXIS-1], wready[0:TOTAL_IPMAXIS-1];  
  wire       [`AXI_RESPW-1:0]       bresp[0:TOTAL_IPMAXIS-1];
  wire                              bvalid[0:TOTAL_IPMAXIS-1], bready[0:TOTAL_IPMAXIS-1]; 
  wire       [B_AW-1:0]             araddr[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_LENW-1:0]        arlen[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_SIZEW-1:0]       arsize[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_BURSTW-1:0]      arburst[0:TOTAL_IPMAXIS-1];
  wire                              arvalid[0:TOTAL_IPMAXIS-1], arready[0:TOTAL_IPMAXIS-1];
  wire       [B_DW-1:0]             rdata[0:TOTAL_IPMAXIS-1];
  wire       [`AXI_RESPW-1:0]       rresp[0:TOTAL_IPMAXIS-1];  
  wire                              rlast[0:TOTAL_IPMAXIS-1], rvalid[0:TOTAL_IPMAXIS-1], rready[0:TOTAL_IPMAXIS-1];    
  
  genvar i;
  
  for (i=0; i<TOTAL_INTRS; i=i+1) begin
    assign clks[i] = clk;
    assign rsts[i] = rst;
  end


  for (i=0; i<TOTAL_CCTBPLBS; i=i+1) begin
    assign wraddrs[(i+CCTBPLBS_OFFSET)*B_AW+:B_AW]       = wraddr[i];
    assign wrdatapackeds[(i+CCTBPLBS_OFFSET)*B_WW+:B_WW] = wrdatapacked[i];
    assign wrvlds[i+CCTBPLBS_OFFSET]                     = wrvld[i];
    assign wrrdy[i]                                      = wrrdys[i+CCTBPLBS_OFFSET];
    assign rdaddr[i]                                     = rdaddrs[(i+CCTBPLBS_OFFSET)*B_AW+:B_AW];
    assign rddatapacked[i]                               = rddatapackeds[(i+CCTBPLBS_OFFSET)*B_WW+:B_WW];
    assign rdvld[i]                                      = rdvlds[i+CCTBPLBS_OFFSET];
    assign rdrdys[i+CCTBPLBS_OFFSET]                     = rdrdy[i];
    powlib_ippackintr0   #(.B_BPD(B_BPD)) pack_inst   (.wrdata(wrdata[i]),.wrbe(wrbe[i]),.wrop(wrop[i]),.rddata(wrdatapacked[i]));
    powlib_ipunpackintr0 #(.B_BPD(B_BPD)) unpack_inst (.wrdata(rddatapacked[i]),.rddata(rddata[i]),.rdbe(rdbe[i]),.rdop(rdop[i]));
  end


  for (i=0; i<TOTAL_IPMAXIS; i=i+1) begin
    localparam [powlib_itoaw(i)-1:0] IDX_STR = powlib_itoa(i);
    assign resprdy[i] = 1;
    powlib_ipmaxi #(
      .ID({ID,"_IPMAXI",IDX_STR}),.EAR(EAR),.EDBG(EDBG),.MAX_BURST(MAX_BURSTS[i*MAX_BURSTW+:MAX_BURSTW]),.B_BPD(B_BPD),.B_AW(B_AW)) 
    ipmaxi_inst (
      .wraddr(rdaddrs[(i+IPMAXIS_OFFSET)*B_AW+:B_AW]),.wrdata(rddatapackeds[(i+IPMAXIS_OFFSET)*B_WW+:B_WW]),.wrvld(rdvlds[i+IPMAXIS_OFFSET]),.wrrdy(rdrdys[i+IPMAXIS_OFFSET]),
      .rdaddr(wraddrs[(i+IPMAXIS_OFFSET)*B_AW+:B_AW]),.rddata(wrdatapackeds[(i+IPMAXIS_OFFSET)*B_WW+:B_WW]),.rdvld(wrvlds[i+IPMAXIS_OFFSET]),.rdrdy(wrrdys[i+IPMAXIS_OFFSET]),
      .respresp(respresp[i]),.respop(respop[i]),.respvld(respvld[i]),.resprdy(resprdy[i]),
      .awaddr(awaddr[i]),.awlen(awlen[i]),.awsize(awsize[i]),.awburst(awburst[i]),.awvalid(awvalid[i]),.awready(awready[i]),
      .wdata(wdata[i]),.wstrb(wstrb[i]),.wlast(wlast[i]),.wvalid(wvalid[i]),.wready(wready[i]),
      .bresp(bresp[i]),.bvalid(bvalid[i]),.bready(bready[i]),
      .araddr(araddr[i]),.arlen(arlen[i]),.arsize(arsize[i]),.arburst(arburst[i]),.arvalid(arvalid[i]),.arready(arready[i]),
      .rdata(rdata[i]),.rresp(rresp[i]),.rlast(rlast[i]),.rvalid(rvalid[i]),.rready(rready[i]),.clk(clk),.rst(rst));
  end
  

  powlib_buscross #(
    .EAR(EAR),.ID({ID,"_XBAR"}),.EDBG(EDBG),.B_WRS(TOTAL_INTRS),.B_RDS(TOTAL_INTRS),
    .B_AW(B_AW),.B_DW(B_WW),.B_BASES(B_BASES),.B_SIZES(B_SIZES))
  xbar_inst (
    .wrclks(clks),.wrrsts(rsts),.wrdatas(wrdatapackeds),.wraddrs(wraddrs),.wrvlds(wrvlds),.wrrdys(wrrdys),
    .rdclks(clks),.rdrsts(rsts),.rddatas(rddatapackeds),.rdaddrs(rdaddrs),.rdvlds(rdvlds),.rdrdys(rdrdys));
  

  bd_2 bd_2_inst
   (.S00_AXI_0_araddr(araddr[0]),.S00_AXI_0_arburst(arburst[0]),.S00_AXI_0_arcache(4'd0),.S00_AXI_0_arlen(arlen[0]),.S00_AXI_0_arlock(1'd0),
    .S00_AXI_0_arprot(3'd0),.S00_AXI_0_arqos(4'd0), .S00_AXI_0_arready(arready[0]),.S00_AXI_0_arregion(4'd0),.S00_AXI_0_arsize(arsize[0]),.S00_AXI_0_arvalid(arvalid[0]),
    .S00_AXI_0_awaddr(awaddr[0]),.S00_AXI_0_awburst(awburst[0]),.S00_AXI_0_awcache(4'd0),.S00_AXI_0_awlen(awlen[0]),.S00_AXI_0_awlock(1'd0),
    .S00_AXI_0_awprot(3'd0),.S00_AXI_0_awqos(4'd0),.S00_AXI_0_awready(awready[0]),.S00_AXI_0_awregion(4'd0),.S00_AXI_0_awsize(awsize[0]),.S00_AXI_0_awvalid(awvalid[0]),
    .S00_AXI_0_bready(bready[0]),.S00_AXI_0_bresp(bresp[0]),.S00_AXI_0_bvalid(bvalid[0]),
    .S00_AXI_0_rdata(rdata[0]),.S00_AXI_0_rlast(rlast[0]),.S00_AXI_0_rready(rready[0]),.S00_AXI_0_rresp(rresp[0]),.S00_AXI_0_rvalid(rvalid[0]),
    .S00_AXI_0_wdata(wdata[0]),.S00_AXI_0_wlast(wlast[0]),.S00_AXI_0_wready(wready[0]),.S00_AXI_0_wstrb(wstrb[0]),.S00_AXI_0_wvalid(wvalid[0]),
    .S01_AXI_0_araddr(araddr[1]),.S01_AXI_0_arburst(arburst[1]),.S01_AXI_0_arcache(4'd0),.S01_AXI_0_arlen(arlen[1]),.S01_AXI_0_arlock(1'd0),
    .S01_AXI_0_arprot(3'd0),.S01_AXI_0_arqos(4'd0),.S01_AXI_0_arready(arready[1]),.S01_AXI_0_arregion(4'd0),.S01_AXI_0_arsize(arsize[1]),.S01_AXI_0_arvalid(arvalid[1]),
    .S01_AXI_0_awaddr(awaddr[1]),.S01_AXI_0_awburst(awburst[1]),.S01_AXI_0_awcache(4'd0),.S01_AXI_0_awlen(awlen[1]),.S01_AXI_0_awlock(1'd0),
    .S01_AXI_0_awprot(3'd0),.S01_AXI_0_awqos(4'd0),.S01_AXI_0_awready(awready[1]),.S01_AXI_0_awregion(4'd0),.S01_AXI_0_awsize(awsize[1]),.S01_AXI_0_awvalid(awvalid[1]),
    .S01_AXI_0_bready(bready[1]),.S01_AXI_0_bresp(bresp[1]),.S01_AXI_0_bvalid(bvalid[1]),
    .S01_AXI_0_rdata(rdata[1]),.S01_AXI_0_rlast(rlast[1]),.S01_AXI_0_rready(rready[1]),.S01_AXI_0_rresp(rresp[1]),.S01_AXI_0_rvalid(rvalid[1]),
    .S01_AXI_0_wdata(wdata[1]),.S01_AXI_0_wlast(wlast[1]),.S01_AXI_0_wready(wready[1]),.S01_AXI_0_wstrb(wstrb[1]),.S01_AXI_0_wvalid(wvalid[1]),
    .clk(clk),.rst(rst));
    
endmodule