blob: 74c62e389411130eae834ad6a75f83eb5cb5f10e [file] [log] [blame] [edit]
#ifndef TESTS_VCS_SIM_TOP_H_
#define TESTS_VCS_SIM_TOP_H_
#include <stdio.h>
#include <systemc.h>
#include <systemc_user.h>
#include "CoreMiniAxi.h"
#include "VCoreMiniAxi_parameters.h"
struct SlogIO {
sc_signal<sc_logic> valid;
sc_signal<sc_lv<5>> addr;
sc_signal<sc_lv<32>> data;
};
struct DebugIO {
sc_signal<sc_lv<4>> en;
sc_signal<sc_lv<32>> cycles;
sc_signal<sc_lv<32>> addr_0;
sc_signal<sc_lv<32>> addr_1;
sc_signal<sc_lv<32>> addr_2;
sc_signal<sc_lv<32>> addr_3;
sc_signal<sc_lv<32>> inst_0;
sc_signal<sc_lv<32>> inst_1;
sc_signal<sc_lv<32>> inst_2;
sc_signal<sc_lv<32>> inst_3;
};
SC_MODULE(sc_top) {
SC_CTOR(sc_top);
void posedge();
void start_of_simulation() override;
sc_in_clk clock;
sc_signal<bool> resetn;
sc_signal<sc_logic> halted;
sc_signal<sc_logic> fault;
sc_signal<sc_logic> wfi;
sc_signal<sc_logic> irq;
sc_signal<bool> te;
SlogIO slog;
DebugIO debug;
CoreMiniAxi core;
sc_signal<sc_logic> slave_awready_4;
sc_signal<sc_logic> slave_awvalid_4;
sc_signal<sc_lv<32>> slave_awaddr_4;
sc_signal<sc_lv<3>> slave_awprot_4;
sc_signal<sc_lv<6>> slave_awid_4;
sc_signal<sc_lv<8>> slave_awlen_4;
sc_signal<sc_lv<3>> slave_awsize_4;
sc_signal<sc_lv<2>> slave_awburst_4;
sc_signal<sc_lv<2>> slave_awlock_4;
sc_signal<sc_lv<4>> slave_awcache_4;
sc_signal<sc_lv<4>> slave_awqos_4;
sc_signal<sc_lv<4>> slave_awregion_4;
sc_out<bool> slave_awready;
sc_in<bool> slave_awvalid;
sc_in<sc_bv<32>> slave_awaddr;
sc_in<sc_bv<3>> slave_awprot;
sc_in<sc_bv<6>> slave_awid;
sc_in<sc_bv<8>> slave_awlen;
sc_in<sc_bv<3>> slave_awsize;
sc_in<sc_bv<2>> slave_awburst;
sc_in<sc_bv<2>> slave_awlock;
sc_in<sc_bv<4>> slave_awcache;
sc_in<sc_bv<4>> slave_awqos;
sc_in<sc_bv<4>> slave_awregion;
sc_signal<sc_logic> slave_wready_4;
sc_signal<sc_logic> slave_wvalid_4;
sc_signal<sc_lv<128>> slave_wdata_4;
sc_signal<sc_lv<16>> slave_wstrb_4;
sc_signal<sc_logic> slave_wlast_4;
sc_out<bool> slave_wready;
sc_in<bool> slave_wvalid;
sc_in<sc_bv<128>> slave_wdata;
sc_in<sc_bv<16>> slave_wstrb;
sc_in<bool> slave_wlast;
sc_signal<sc_logic> slave_bready_4;
sc_signal<sc_logic> slave_bvalid_4;
sc_signal<sc_lv<6>> slave_bid_4;
sc_signal<sc_lv<2>> slave_bresp_4;
sc_in<bool> slave_bready;
sc_out<bool> slave_bvalid;
sc_out<sc_bv<6>> slave_bid;
sc_out<sc_bv<2>> slave_bresp;
sc_signal<sc_logic> slave_arready_4;
sc_signal<sc_logic> slave_arvalid_4;
sc_signal<sc_lv<32>> slave_araddr_4;
sc_signal<sc_lv<3>> slave_arprot_4;
sc_signal<sc_lv<6>> slave_arid_4;
sc_signal<sc_lv<8>> slave_arlen_4;
sc_signal<sc_lv<3>> slave_arsize_4;
sc_signal<sc_lv<2>> slave_arburst_4;
sc_signal<sc_lv<2>> slave_arlock_4;
sc_signal<sc_lv<4>> slave_arcache_4;
sc_signal<sc_lv<4>> slave_arqos_4;
sc_signal<sc_lv<4>> slave_arregion_4;
sc_out<bool> slave_arready;
sc_in<bool> slave_arvalid;
sc_in<sc_bv<32>> slave_araddr;
sc_in<sc_bv<3>> slave_arprot;
sc_in<sc_bv<6>> slave_arid;
sc_in<sc_bv<8>> slave_arlen;
sc_in<sc_bv<3>> slave_arsize;
sc_in<sc_bv<2>> slave_arburst;
sc_in<sc_bv<2>> slave_arlock;
sc_in<sc_bv<4>> slave_arcache;
sc_in<sc_bv<4>> slave_arqos;
sc_in<sc_bv<4>> slave_arregion;
sc_signal<sc_logic> slave_rready_4;
sc_signal<sc_logic> slave_rvalid_4;
sc_signal<sc_lv<128>> slave_rdata_4;
sc_signal<sc_lv<6>> slave_rid_4;
sc_signal<sc_lv<2>> slave_rresp_4;
sc_signal<sc_logic> slave_rlast_4;
sc_in<bool> slave_rready;
sc_out<bool> slave_rvalid;
sc_out<sc_bv<128>> slave_rdata;
sc_out<sc_bv<6>> slave_rid;
sc_out<sc_bv<2>> slave_rresp;
sc_out<bool> slave_rlast;
sc_in<bool> master_awready;
sc_out<bool> master_awvalid;
sc_out<sc_bv<32>> master_awaddr;
sc_out<sc_bv<3>> master_awprot;
sc_out<sc_bv<6>> master_awid;
sc_out<sc_bv<8>> master_awlen;
sc_out<sc_bv<3>> master_awsize;
sc_out<sc_bv<2>> master_awburst;
sc_out<sc_bv<2>> master_awlock;
sc_out<sc_bv<4>> master_awcache;
sc_out<sc_bv<4>> master_awqos;
sc_out<sc_bv<4>> master_awregion;
sc_signal<sc_logic> master_awready_4;
sc_signal<sc_logic> master_awvalid_4;
sc_signal<sc_lv<32>> master_awaddr_4;
sc_signal<sc_lv<3>> master_awprot_4;
sc_signal<sc_lv<6>> master_awid_4;
sc_signal<sc_lv<8>> master_awlen_4;
sc_signal<sc_lv<3>> master_awsize_4;
sc_signal<sc_lv<2>> master_awburst_4;
sc_signal<sc_lv<2>> master_awlock_4;
sc_signal<sc_lv<4>> master_awcache_4;
sc_signal<sc_lv<4>> master_awqos_4;
sc_signal<sc_lv<4>> master_awregion_4;
sc_in<bool> master_wready;
sc_out<bool> master_wvalid;
sc_out<sc_bv<128>> master_wdata;
sc_out<sc_bv<16>> master_wstrb;
sc_out<bool> master_wlast;
sc_signal<sc_logic> master_wready_4;
sc_signal<sc_logic> master_wvalid_4;
sc_signal<sc_lv<128>> master_wdata_4;
sc_signal<sc_lv<16>> master_wstrb_4;
sc_signal<sc_logic> master_wlast_4;
sc_out<bool> master_bready;
sc_in<bool> master_bvalid;
sc_in<sc_bv<6>> master_bid;
sc_in<sc_bv<2>> master_bresp;
sc_signal<sc_logic> master_bready_4;
sc_signal<sc_logic> master_bvalid_4;
sc_signal<sc_lv<6>> master_bid_4;
sc_signal<sc_lv<2>> master_bresp_4;
sc_in<bool> master_arready;
sc_out<bool> master_arvalid;
sc_out<sc_bv<32>> master_araddr;
sc_out<sc_bv<3>> master_arprot;
sc_out<sc_bv<6>> master_arid;
sc_out<sc_bv<8>> master_arlen;
sc_out<sc_bv<3>> master_arsize;
sc_out<sc_bv<2>> master_arburst;
sc_out<sc_bv<2>> master_arlock;
sc_out<sc_bv<4>> master_arcache;
sc_out<sc_bv<4>> master_arqos;
sc_out<sc_bv<4>> master_arregion;
sc_signal<sc_logic> master_arready_4;
sc_signal<sc_logic> master_arvalid_4;
sc_signal<sc_lv<32>> master_araddr_4;
sc_signal<sc_lv<3>> master_arprot_4;
sc_signal<sc_lv<6>> master_arid_4;
sc_signal<sc_lv<8>> master_arlen_4;
sc_signal<sc_lv<3>> master_arsize_4;
sc_signal<sc_lv<2>> master_arburst_4;
sc_signal<sc_lv<2>> master_arlock_4;
sc_signal<sc_lv<4>> master_arcache_4;
sc_signal<sc_lv<4>> master_arqos_4;
sc_signal<sc_lv<4>> master_arregion_4;
sc_out<bool> master_rready;
sc_in<bool> master_rvalid;
sc_in<sc_bv<128>> master_rdata;
sc_in<sc_bv<6>> master_rid;
sc_in<sc_bv<2>> master_rresp;
sc_in<bool> master_rlast;
sc_signal<sc_logic> master_rready_4;
sc_signal<sc_logic> master_rvalid_4;
sc_signal<sc_lv<128>> master_rdata_4;
sc_signal<sc_lv<6>> master_rid_4;
sc_signal<sc_lv<2>> master_rresp_4;
sc_signal<sc_logic> master_rlast_4;
};
#endif // TESTS_VCS_SIM_TOP_H_