data/full_repos/permissive/428225746/verilog/rtl/user_project.v
1: b"%Error: data/full_repos/permissive/428225746/verilog/rtl/user_project.v:30: Define or directive not defined: '`MPRJ_IO_PADS'\n    input  [`MPRJ_IO_PADS-1:0] io_in,\n            ^~~~~~~~~~~~~\n%Error: data/full_repos/permissive/428225746/verilog/rtl/user_project.v:31: Define or directive not defined: '`MPRJ_IO_PADS'\n    output [`MPRJ_IO_PADS-1:0] io_out,\n            ^~~~~~~~~~~~~\n%Error: data/full_repos/permissive/428225746/verilog/rtl/user_project.v:32: Define or directive not defined: '`MPRJ_IO_PADS'\n    output [`MPRJ_IO_PADS-1:0] io_oeb,\n            ^~~~~~~~~~~~~\n%Error: Exiting due to 3 error(s)\n"
module user_project (
`ifdef USE_POWER_PINS
    inout vccd1,
    inout vssd1,
`endif


    input wb_clk_i,
    input wb_rst_i,
    input wbs_stb_i,
    input wbs_cyc_i,
    input wbs_we_i,
    input [3:0] wbs_sel_i,
    input [31:0] wbs_dat_i,
    input [31:0] wbs_adr_i,
    output wbs_ack_o,
    output [31:0] wbs_dat_o,


    input  [127:0] la_data_in,
    output [127:0] la_data_out,
    input  [127:0] la_oenb,


    input  [`MPRJ_IO_PADS-1:0] io_in,
    output [`MPRJ_IO_PADS-1:0] io_out,
    output [`MPRJ_IO_PADS-1:0] io_oeb,


    output [2:0] irq
);


wire clk = wb_clk_i;
wire rst_n = ~wb_rst_i;


wire valid = wbs_stb_i && wbs_cyc_i;
assign wbs_ack_o = valid;
wire trig_en = valid && wbs_we_i;
wire [15:0] trig_x = trig_en ? wbs_adr_i[15:0] : 0;
wire [15:0] trig_y = trig_en ? wbs_adr_i[31:16] : 0;
assign wbs_dat_o = 32'b0;


reg parity;
always @ (posedge clk) begin
    if (!rst_n) begin
        parity <= 0;
    end else begin
        parity <= parity ^ trig_en;
    end
end


wire [11:0] in_pins = io_in[23:12];
wire [11:0] out_pins;
assign io_out[23:0] = 24'b0;
assign io_out[35:24] = out_pins;
assign io_out[36] = clk;
assign io_out[37] = parity;
assign io_oeb[23:0] = 24'b1;
assign io_oeb[37:24] = 14'b0;


assign la_data_out = 128'b0;


assign irq = 3'b0;

logic_grid lg (
    .clk(clk),
    .rst_n(rst),
    .trig_en(trig_en),
    .trig_x(trig_x),
    .trig_y(trig_y),
    .in_pins(in_pins),
    .out_pins(out_pins)
);

endmodule
module user_project (
`ifdef USE_POWER_PINS
    inout vccd1,
    inout vssd1,
`endif


    input wb_clk_i,
    input wb_rst_i,
    input wbs_stb_i,
    input wbs_cyc_i,
    input wbs_we_i,
    input [3:0] wbs_sel_i,
    input [31:0] wbs_dat_i,
    input [31:0] wbs_adr_i,
    output wbs_ack_o,
    output [31:0] wbs_dat_o,


    input  [127:0] la_data_in,
    output [127:0] la_data_out,
    input  [127:0] la_oenb,


    input  [`MPRJ_IO_PADS-1:0] io_in,
    output [`MPRJ_IO_PADS-1:0] io_out,
    output [`MPRJ_IO_PADS-1:0] io_oeb,


    output [2:0] irq
);



wire clk = wb_clk_i;
wire rst_n = ~wb_rst_i;


wire valid = wbs_stb_i && wbs_cyc_i;
assign wbs_ack_o = valid;
wire trig_en = valid && wbs_we_i;
wire [15:0] trig_x = trig_en ? wbs_adr_i[15:0] : 0;
wire [15:0] trig_y = trig_en ? wbs_adr_i[31:16] : 0;
assign wbs_dat_o = 32'b0;


reg parity;
always @ (posedge clk) begin
    if (!rst_n) begin
        parity <= 0;
    end else begin
        parity <= parity ^ trig_en;
    end
end


wire [11:0] in_pins = io_in[23:12];
wire [11:0] out_pins;
assign io_out[23:0] = 24'b0;
assign io_out[35:24] = out_pins;
assign io_out[36] = clk;
assign io_out[37] = parity;
assign io_oeb[23:0] = 24'b1;
assign io_oeb[37:24] = 14'b0;


assign la_data_out = 128'b0;


assign irq = 3'b0;

logic_grid lg (
    .clk(clk),
    .rst_n(rst),
    .trig_en(trig_en),
    .trig_x(trig_x),
    .trig_y(trig_y),
    .in_pins(in_pins),
    .out_pins(out_pins)
);

endmodule