data/full_repos/permissive/421223411/verilog/rtl/accelerator/CoreTop.v
data/verilator_xmls/0e0a0b45-d48b-4011-aaf8-3dc66ac7878c.xml
module Core(
  input         clock,
  input         reset,
  output [15:0] io_ibus_addr,
  input  [31:0] io_ibus_data_rd,
  output        io_ibus_stb,
  input         io_ibus_ack,
  output [15:0] io_dbus_addr,
  output        io_dbus_we,
  input  [15:0] io_dbus_data_rd,
  output [15:0] io_dbus_data_wr,
  output        io_dbus_stb,
  input         io_dbus_ack,
  input  [15:0] io_restart_pc,
  input         io_restart_core,
  output        io_waiting,
  output        io_halted
);
  wire  dpath_clock;
  wire  dpath_reset;
  wire [15:0] dpath_io_instr_imm;
  wire  dpath_io_instr_bra_mask_z;
  wire  dpath_io_instr_bra_mask_c;
  wire  dpath_io_instr_bra_mask_n;
  wire  dpath_io_instr_bra_mask_v;
  wire  dpath_io_instr_has_jump;
  wire  dpath_io_instr_has_stop;
  wire  dpath_io_instr_has_branch;
  wire  dpath_io_instr_has_mem;
  wire  dpath_io_instr_has_wb;
  wire  dpath_io_instr_has_imm;
  wire  dpath_io_issue_if;
  wire  dpath_io_if_done;
  wire  dpath_io_issue_mem;
  wire  dpath_io_mem_we;
  wire  dpath_io_mem_done;
  wire [2:0] dpath_io_state;
  wire [15:0] dpath_io_ibus_addr;
  wire [31:0] dpath_io_ibus_data_rd;
  wire  dpath_io_ibus_stb;
  wire  dpath_io_ibus_ack;
  wire [15:0] dpath_io_dbus_addr;
  wire  dpath_io_dbus_we;
  wire [15:0] dpath_io_dbus_data_rd;
  wire [15:0] dpath_io_dbus_data_wr;
  wire  dpath_io_dbus_stb;
  wire  dpath_io_dbus_ack;
  wire [15:0] dpath_io_restart_pc;
  wire  dpath_io_restart;
  wire  cpath_clock;
  wire  cpath_reset;
  wire  cpath_io_instr_has_jump;
  wire  cpath_io_instr_has_stop;
  wire  cpath_io_instr_has_branch;
  wire  cpath_io_instr_has_mem;
  wire  cpath_io_instr_has_wb;
  wire  cpath_io_issue_if;
  wire  cpath_io_if_done;
  wire  cpath_io_issue_mem;
  wire  cpath_io_mem_we;
  wire  cpath_io_mem_done;
  wire  cpath_io_waiting;
  wire  cpath_io_halted;
  wire [2:0] cpath_io_state;
  wire  cpath_io_restart_core;
  wire  cpath_io_restart;
  Datapath dpath (
    .clock(dpath_clock),
    .reset(dpath_reset),
    .io_instr_imm(dpath_io_instr_imm),
    .io_instr_bra_mask_z(dpath_io_instr_bra_mask_z),
    .io_instr_bra_mask_c(dpath_io_instr_bra_mask_c),
    .io_instr_bra_mask_n(dpath_io_instr_bra_mask_n),
    .io_instr_bra_mask_v(dpath_io_instr_bra_mask_v),
    .io_instr_has_jump(dpath_io_instr_has_jump),
    .io_instr_has_stop(dpath_io_instr_has_stop),
    .io_instr_has_branch(dpath_io_instr_has_branch),
    .io_instr_has_mem(dpath_io_instr_has_mem),
    .io_instr_has_wb(dpath_io_instr_has_wb),
    .io_instr_has_imm(dpath_io_instr_has_imm),
    .io_issue_if(dpath_io_issue_if),
    .io_if_done(dpath_io_if_done),
    .io_issue_mem(dpath_io_issue_mem),
    .io_mem_we(dpath_io_mem_we),
    .io_mem_done(dpath_io_mem_done),
    .io_state(dpath_io_state),
    .io_ibus_addr(dpath_io_ibus_addr),
    .io_ibus_data_rd(dpath_io_ibus_data_rd),
    .io_ibus_stb(dpath_io_ibus_stb),
    .io_ibus_ack(dpath_io_ibus_ack),
    .io_dbus_addr(dpath_io_dbus_addr),
    .io_dbus_we(dpath_io_dbus_we),
    .io_dbus_data_rd(dpath_io_dbus_data_rd),
    .io_dbus_data_wr(dpath_io_dbus_data_wr),
    .io_dbus_stb(dpath_io_dbus_stb),
    .io_dbus_ack(dpath_io_dbus_ack),
    .io_restart_pc(dpath_io_restart_pc),
    .io_restart(dpath_io_restart)
  );
  ControlPath cpath (
    .clock(cpath_clock),
    .reset(cpath_reset),
    .io_instr_has_jump(cpath_io_instr_has_jump),
    .io_instr_has_stop(cpath_io_instr_has_stop),
    .io_instr_has_branch(cpath_io_instr_has_branch),
    .io_instr_has_mem(cpath_io_instr_has_mem),
    .io_instr_has_wb(cpath_io_instr_has_wb),
    .io_issue_if(cpath_io_issue_if),
    .io_if_done(cpath_io_if_done),
    .io_issue_mem(cpath_io_issue_mem),
    .io_mem_we(cpath_io_mem_we),
    .io_mem_done(cpath_io_mem_done),
    .io_waiting(cpath_io_waiting),
    .io_halted(cpath_io_halted),
    .io_state(cpath_io_state),
    .io_restart_core(cpath_io_restart_core),
    .io_restart(cpath_io_restart)
  );
  assign io_ibus_addr = dpath_io_ibus_addr;
  assign io_ibus_stb = dpath_io_ibus_stb;
  assign io_dbus_addr = dpath_io_dbus_addr;
  assign io_dbus_we = dpath_io_dbus_we;
  assign io_dbus_data_wr = dpath_io_dbus_data_wr;
  assign io_dbus_stb = dpath_io_dbus_stb;
  assign io_waiting = cpath_io_waiting;
  assign io_halted = cpath_io_halted;
  assign dpath_clock = clock;
  assign dpath_reset = reset;
  assign dpath_io_issue_if = cpath_io_issue_if;
  assign dpath_io_issue_mem = cpath_io_issue_mem;
  assign dpath_io_mem_we = cpath_io_mem_we;
  assign dpath_io_state = cpath_io_state;
  assign dpath_io_ibus_data_rd = io_ibus_data_rd;
  assign dpath_io_ibus_ack = io_ibus_ack;
  assign dpath_io_dbus_data_rd = io_dbus_data_rd;
  assign dpath_io_dbus_ack = io_dbus_ack;
  assign dpath_io_restart_pc = io_restart_pc;
  assign dpath_io_restart = cpath_io_restart;
  assign cpath_clock = clock;
  assign cpath_reset = reset;
  assign cpath_io_instr_has_jump = dpath_io_instr_has_jump;
  assign cpath_io_instr_has_stop = dpath_io_instr_has_stop;
  assign cpath_io_instr_has_branch = dpath_io_instr_has_branch;
  assign cpath_io_instr_has_mem = dpath_io_instr_has_mem;
  assign cpath_io_instr_has_wb = dpath_io_instr_has_wb;
  assign cpath_io_if_done = dpath_io_if_done;
  assign cpath_io_mem_done = dpath_io_mem_done;
  assign cpath_io_restart_core = io_restart_core;
endmodule
module Core(
  input         clock,
  input         reset,
  output [15:0] io_ibus_addr,
  input  [31:0] io_ibus_data_rd,
  output        io_ibus_stb,
  input         io_ibus_ack,
  output [15:0] io_dbus_addr,
  output        io_dbus_we,
  input  [15:0] io_dbus_data_rd,
  output [15:0] io_dbus_data_wr,
  output        io_dbus_stb,
  input         io_dbus_ack,
  input  [15:0] io_restart_pc,
  input         io_restart_core,
  output        io_waiting,
  output        io_halted
);

  wire  dpath_clock;
  wire  dpath_reset;
  wire [15:0] dpath_io_instr_imm;
  wire  dpath_io_instr_bra_mask_z;
  wire  dpath_io_instr_bra_mask_c;
  wire  dpath_io_instr_bra_mask_n;
  wire  dpath_io_instr_bra_mask_v;
  wire  dpath_io_instr_has_jump;
  wire  dpath_io_instr_has_stop;
  wire  dpath_io_instr_has_branch;
  wire  dpath_io_instr_has_mem;
  wire  dpath_io_instr_has_wb;
  wire  dpath_io_instr_has_imm;
  wire  dpath_io_issue_if;
  wire  dpath_io_if_done;
  wire  dpath_io_issue_mem;
  wire  dpath_io_mem_we;
  wire  dpath_io_mem_done;
  wire [2:0] dpath_io_state;
  wire [15:0] dpath_io_ibus_addr;
  wire [31:0] dpath_io_ibus_data_rd;
  wire  dpath_io_ibus_stb;
  wire  dpath_io_ibus_ack;
  wire [15:0] dpath_io_dbus_addr;
  wire  dpath_io_dbus_we;
  wire [15:0] dpath_io_dbus_data_rd;
  wire [15:0] dpath_io_dbus_data_wr;
  wire  dpath_io_dbus_stb;
  wire  dpath_io_dbus_ack;
  wire [15:0] dpath_io_restart_pc;
  wire  dpath_io_restart;
  wire  cpath_clock;
  wire  cpath_reset;
  wire  cpath_io_instr_has_jump;
  wire  cpath_io_instr_has_stop;
  wire  cpath_io_instr_has_branch;
  wire  cpath_io_instr_has_mem;
  wire  cpath_io_instr_has_wb;
  wire  cpath_io_issue_if;
  wire  cpath_io_if_done;
  wire  cpath_io_issue_mem;
  wire  cpath_io_mem_we;
  wire  cpath_io_mem_done;
  wire  cpath_io_waiting;
  wire  cpath_io_halted;
  wire [2:0] cpath_io_state;
  wire  cpath_io_restart_core;
  wire  cpath_io_restart;
  Datapath dpath (
    .clock(dpath_clock),
    .reset(dpath_reset),
    .io_instr_imm(dpath_io_instr_imm),
    .io_instr_bra_mask_z(dpath_io_instr_bra_mask_z),
    .io_instr_bra_mask_c(dpath_io_instr_bra_mask_c),
    .io_instr_bra_mask_n(dpath_io_instr_bra_mask_n),
    .io_instr_bra_mask_v(dpath_io_instr_bra_mask_v),
    .io_instr_has_jump(dpath_io_instr_has_jump),
    .io_instr_has_stop(dpath_io_instr_has_stop),
    .io_instr_has_branch(dpath_io_instr_has_branch),
    .io_instr_has_mem(dpath_io_instr_has_mem),
    .io_instr_has_wb(dpath_io_instr_has_wb),
    .io_instr_has_imm(dpath_io_instr_has_imm),
    .io_issue_if(dpath_io_issue_if),
    .io_if_done(dpath_io_if_done),
    .io_issue_mem(dpath_io_issue_mem),
    .io_mem_we(dpath_io_mem_we),
    .io_mem_done(dpath_io_mem_done),
    .io_state(dpath_io_state),
    .io_ibus_addr(dpath_io_ibus_addr),
    .io_ibus_data_rd(dpath_io_ibus_data_rd),
    .io_ibus_stb(dpath_io_ibus_stb),
    .io_ibus_ack(dpath_io_ibus_ack),
    .io_dbus_addr(dpath_io_dbus_addr),
    .io_dbus_we(dpath_io_dbus_we),
    .io_dbus_data_rd(dpath_io_dbus_data_rd),
    .io_dbus_data_wr(dpath_io_dbus_data_wr),
    .io_dbus_stb(dpath_io_dbus_stb),
    .io_dbus_ack(dpath_io_dbus_ack),
    .io_restart_pc(dpath_io_restart_pc),
    .io_restart(dpath_io_restart)
  );
  ControlPath cpath (
    .clock(cpath_clock),
    .reset(cpath_reset),
    .io_instr_has_jump(cpath_io_instr_has_jump),
    .io_instr_has_stop(cpath_io_instr_has_stop),
    .io_instr_has_branch(cpath_io_instr_has_branch),
    .io_instr_has_mem(cpath_io_instr_has_mem),
    .io_instr_has_wb(cpath_io_instr_has_wb),
    .io_issue_if(cpath_io_issue_if),
    .io_if_done(cpath_io_if_done),
    .io_issue_mem(cpath_io_issue_mem),
    .io_mem_we(cpath_io_mem_we),
    .io_mem_done(cpath_io_mem_done),
    .io_waiting(cpath_io_waiting),
    .io_halted(cpath_io_halted),
    .io_state(cpath_io_state),
    .io_restart_core(cpath_io_restart_core),
    .io_restart(cpath_io_restart)
  );
  assign io_ibus_addr = dpath_io_ibus_addr;
  assign io_ibus_stb = dpath_io_ibus_stb;
  assign io_dbus_addr = dpath_io_dbus_addr;
  assign io_dbus_we = dpath_io_dbus_we;
  assign io_dbus_data_wr = dpath_io_dbus_data_wr;
  assign io_dbus_stb = dpath_io_dbus_stb;
  assign io_waiting = cpath_io_waiting;
  assign io_halted = cpath_io_halted;
  assign dpath_clock = clock;
  assign dpath_reset = reset;
  assign dpath_io_issue_if = cpath_io_issue_if;
  assign dpath_io_issue_mem = cpath_io_issue_mem;
  assign dpath_io_mem_we = cpath_io_mem_we;
  assign dpath_io_state = cpath_io_state;
  assign dpath_io_ibus_data_rd = io_ibus_data_rd;
  assign dpath_io_ibus_ack = io_ibus_ack;
  assign dpath_io_dbus_data_rd = io_dbus_data_rd;
  assign dpath_io_dbus_ack = io_dbus_ack;
  assign dpath_io_restart_pc = io_restart_pc;
  assign dpath_io_restart = cpath_io_restart;
  assign cpath_clock = clock;
  assign cpath_reset = reset;
  assign cpath_io_instr_has_jump = dpath_io_instr_has_jump;
  assign cpath_io_instr_has_stop = dpath_io_instr_has_stop;
  assign cpath_io_instr_has_branch = dpath_io_instr_has_branch;
  assign cpath_io_instr_has_mem = dpath_io_instr_has_mem;
  assign cpath_io_instr_has_wb = dpath_io_instr_has_wb;
  assign cpath_io_if_done = dpath_io_if_done;
  assign cpath_io_mem_done = dpath_io_mem_done;
  assign cpath_io_restart_core = io_restart_core;
endmodule