From 69253f93602988f0b2c9cbd25064c5692bb2dbdd Mon Sep 17 00:00:00 2001 From: sergeykhbr Date: Tue, 28 Nov 2023 12:09:47 +0200 Subject: [PATCH] [*] rtlgen updates: improved sensitivity list generation and VCD tracing variable list. Minor changes in '0 initialization --- sc/prj/impl/asic/asic_top.cpp | 6 ++++++ sc/rtl/ambalib/apb_slv.cpp | 2 -- sc/rtl/ambalib/axi2apb_bus1.cpp | 2 -- sc/rtl/ambalib/axi_slv.cpp | 2 -- sc/rtl/ambalib/axictrl_bus0.cpp | 3 ++- sc/rtl/misclib/apb_ddr.cpp | 2 -- sc/rtl/misclib/apb_gpio.h | 2 -- sc/rtl/misclib/apb_pnp.h | 2 -- sc/rtl/misclib/apb_prci.cpp | 2 -- sc/rtl/misclib/apb_spi.h | 2 -- sc/rtl/misclib/apb_uart.h | 2 -- sc/rtl/misclib/axi_rom.h | 2 -- sc/rtl/misclib/axi_sram.h | 2 -- sc/rtl/misclib/clint.h | 10 +++++---- sc/rtl/misclib/plic.h | 18 ++++++++++++---- sc/rtl/riscv_soc.cpp | 8 ++----- sc/rtl/riverlib/cache/pmp.cpp | 6 ++++++ sc/rtl/riverlib/core/arith/divstage64.cpp | 2 +- sc/rtl/riverlib/core/arith/int_mul.cpp | 14 ++++++------ sc/rtl/riverlib/core/bp.cpp | 4 ++-- sc/rtl/riverlib/core/dec_rv.cpp | 2 -- sc/rtl/riverlib/core/dec_rvc.cpp | 2 -- sc/rtl/riverlib/core/decoder.cpp | 3 --- sc/rtl/riverlib/core/fpu_d/imul53.cpp | 2 +- sc/rtl/riverlib/core/tracer.cpp | 26 +++++++++++------------ sc/rtl/riverlib/dmi/dmidebug.cpp | 2 -- sc/rtl/riverlib/workgroup.cpp | 5 ++--- sc/rtl/sdctrl/sdctrl.cpp | 4 ---- sc/rtl/sdctrl/sdctrl_regs.cpp | 2 -- sv/rtl/misclib/apb_pnp.sv | 2 +- sv/rtl/misclib/apb_uart.sv | 8 +++---- sv/rtl/misclib/plic.sv | 4 ++-- sv/rtl/misclib/sfifo.sv | 4 ++-- sv/rtl/riverlib/core/arith/divstage64.sv | 2 +- sv/rtl/riverlib/core/arith/int_mul.sv | 14 ++++++------ sv/rtl/riverlib/core/bp.sv | 4 ++-- sv/rtl/riverlib/core/fpu_d/imul53.sv | 2 +- sv/rtl/riverlib/workgroup.sv | 2 +- 38 files changed, 83 insertions(+), 100 deletions(-) diff --git a/sc/prj/impl/asic/asic_top.cpp b/sc/prj/impl/asic/asic_top.cpp index a8b893ed9..56e251e24 100644 --- a/sc/prj/impl/asic/asic_top.cpp +++ b/sc/prj/impl/asic/asic_top.cpp @@ -223,6 +223,12 @@ void asic_top::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, io_sd_cd_dat3, io_sd_cd_dat3.name()); sc_trace(o_vcd, i_sd_detected, i_sd_detected.name()); sc_trace(o_vcd, i_sd_protect, i_sd_protect.name()); + sc_trace(o_vcd, ddr_xslvo, ddr_xslvo.name()); + sc_trace(o_vcd, ddr_xslvi, ddr_xslvi.name()); + sc_trace(o_vcd, ddr_apbi, ddr_apbi.name()); + sc_trace(o_vcd, ddr_apbo, ddr_apbo.name()); + sc_trace(o_vcd, prci_apbi, prci_apbi.name()); + sc_trace(o_vcd, prci_apbo, prci_apbo.name()); } if (iclk0) { diff --git a/sc/rtl/ambalib/apb_slv.cpp b/sc/rtl/ambalib/apb_slv.cpp index 83b843e39..d0360fe0d 100644 --- a/sc/rtl/ambalib/apb_slv.cpp +++ b/sc/rtl/ambalib/apb_slv.cpp @@ -66,8 +66,6 @@ apb_slv::apb_slv(sc_module_name name, void apb_slv::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, o_req_valid, o_req_valid.name()); diff --git a/sc/rtl/ambalib/axi2apb_bus1.cpp b/sc/rtl/ambalib/axi2apb_bus1.cpp index 7822daef6..bbbc16a5d 100644 --- a/sc/rtl/ambalib/axi2apb_bus1.cpp +++ b/sc/rtl/ambalib/axi2apb_bus1.cpp @@ -101,8 +101,6 @@ axi2apb_bus1::~axi2apb_bus1() { void axi2apb_bus1::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_xslvi, i_xslvi.name()); sc_trace(o_vcd, o_xslvo, o_xslvo.name()); sc_trace(o_vcd, r.state, pn + ".r_state"); diff --git a/sc/rtl/ambalib/axi_slv.cpp b/sc/rtl/ambalib/axi_slv.cpp index ada445932..f18cdafc6 100644 --- a/sc/rtl/ambalib/axi_slv.cpp +++ b/sc/rtl/ambalib/axi_slv.cpp @@ -81,8 +81,6 @@ axi_slv::axi_slv(sc_module_name name, void axi_slv::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_xslvi, i_xslvi.name()); sc_trace(o_vcd, o_xslvo, o_xslvo.name()); sc_trace(o_vcd, o_req_valid, o_req_valid.name()); diff --git a/sc/rtl/ambalib/axictrl_bus0.cpp b/sc/rtl/ambalib/axictrl_bus0.cpp index c3be03123..6d1db3b1f 100644 --- a/sc/rtl/ambalib/axictrl_bus0.cpp +++ b/sc/rtl/ambalib/axictrl_bus0.cpp @@ -100,7 +100,8 @@ axictrl_bus0::~axictrl_bus0() { void axictrl_bus0::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, o_cfg, o_cfg.name()); + sc_trace(o_vcd, wb_def_xslvi, wb_def_xslvi.name()); + sc_trace(o_vcd, wb_def_xslvo, wb_def_xslvo.name()); sc_trace(o_vcd, r.r_midx, pn + ".r_r_midx"); sc_trace(o_vcd, r.r_sidx, pn + ".r_r_sidx"); sc_trace(o_vcd, r.w_midx, pn + ".r_w_midx"); diff --git a/sc/rtl/misclib/apb_ddr.cpp b/sc/rtl/misclib/apb_ddr.cpp index 74a42189e..fdef75a40 100644 --- a/sc/rtl/misclib/apb_ddr.cpp +++ b/sc/rtl/misclib/apb_ddr.cpp @@ -95,8 +95,6 @@ apb_ddr::~apb_ddr() { void apb_ddr::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, i_pll_locked, i_pll_locked.name()); diff --git a/sc/rtl/misclib/apb_gpio.h b/sc/rtl/misclib/apb_gpio.h index 6983e068a..af391e83d 100644 --- a/sc/rtl/misclib/apb_gpio.h +++ b/sc/rtl/misclib/apb_gpio.h @@ -156,8 +156,6 @@ template void apb_gpio::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, i_gpio, i_gpio.name()); diff --git a/sc/rtl/misclib/apb_pnp.h b/sc/rtl/misclib/apb_pnp.h index 0934dc1d1..2c968582c 100644 --- a/sc/rtl/misclib/apb_pnp.h +++ b/sc/rtl/misclib/apb_pnp.h @@ -194,8 +194,6 @@ template void apb_pnp::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, o_irq, o_irq.name()); diff --git a/sc/rtl/misclib/apb_prci.cpp b/sc/rtl/misclib/apb_prci.cpp index f5af49be9..b9479f064 100644 --- a/sc/rtl/misclib/apb_prci.cpp +++ b/sc/rtl/misclib/apb_prci.cpp @@ -98,8 +98,6 @@ void apb_prci::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, o_sys_rst, o_sys_rst.name()); sc_trace(o_vcd, o_sys_nrst, o_sys_nrst.name()); sc_trace(o_vcd, o_dbg_nrst, o_dbg_nrst.name()); - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, r.sys_rst, pn + ".r_sys_rst"); diff --git a/sc/rtl/misclib/apb_spi.h b/sc/rtl/misclib/apb_spi.h index 509bfe5b0..229fa5925 100644 --- a/sc/rtl/misclib/apb_spi.h +++ b/sc/rtl/misclib/apb_spi.h @@ -274,8 +274,6 @@ template void apb_spi::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, o_cs, o_cs.name()); diff --git a/sc/rtl/misclib/apb_uart.h b/sc/rtl/misclib/apb_uart.h index ad80f2459..74ae9083a 100644 --- a/sc/rtl/misclib/apb_uart.h +++ b/sc/rtl/misclib/apb_uart.h @@ -216,8 +216,6 @@ template void apb_uart::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, i_rd, i_rd.name()); diff --git a/sc/rtl/misclib/axi_rom.h b/sc/rtl/misclib/axi_rom.h index 232b65956..cd6a17b3d 100644 --- a/sc/rtl/misclib/axi_rom.h +++ b/sc/rtl/misclib/axi_rom.h @@ -147,8 +147,6 @@ axi_rom::~axi_rom() { template void axi_rom::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_xslvi, i_xslvi.name()); sc_trace(o_vcd, o_xslvo, o_xslvo.name()); } diff --git a/sc/rtl/misclib/axi_sram.h b/sc/rtl/misclib/axi_sram.h index eeef5531d..1d5bc710d 100644 --- a/sc/rtl/misclib/axi_sram.h +++ b/sc/rtl/misclib/axi_sram.h @@ -144,8 +144,6 @@ axi_sram::~axi_sram() { template void axi_sram::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_xslvi, i_xslvi.name()); sc_trace(o_vcd, o_xslvo, o_xslvo.name()); } diff --git a/sc/rtl/misclib/clint.h b/sc/rtl/misclib/clint.h index b4223262b..7cb7b5bf5 100644 --- a/sc/rtl/misclib/clint.h +++ b/sc/rtl/misclib/clint.h @@ -135,8 +135,6 @@ clint::clint(sc_module_name name, sensitive << wb_resp_rdata; sensitive << wb_resp_err; sensitive << r.mtime; - for (int i = 0; i < cpu_total; i++) { - } sensitive << r.rdata; SC_METHOD(registers); @@ -155,8 +153,6 @@ template void clint::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_xslvi, i_xslvi.name()); sc_trace(o_vcd, o_xslvo, o_xslvo.name()); sc_trace(o_vcd, o_mtimer, o_mtimer.name()); @@ -165,6 +161,12 @@ void clint::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, r.mtime, pn + ".r_mtime"); for (int i = 0; i < cpu_total; i++) { char tstr[1024]; + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_hart%d_msip", pn.c_str(), i); + sc_trace(o_vcd, r.hart[i].msip, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_hart%d_mtip", pn.c_str(), i); + sc_trace(o_vcd, r.hart[i].mtip, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_hart%d_mtimecmp", pn.c_str(), i); + sc_trace(o_vcd, r.hart[i].mtimecmp, tstr); } sc_trace(o_vcd, r.rdata, pn + ".r_rdata"); } diff --git a/sc/rtl/misclib/plic.h b/sc/rtl/misclib/plic.h index d71247b51..df84830c6 100644 --- a/sc/rtl/misclib/plic.h +++ b/sc/rtl/misclib/plic.h @@ -143,8 +143,6 @@ plic::plic(sc_module_name name, sensitive << r.src_priority; sensitive << r.pending; sensitive << r.ip; - for (int i = 0; i < ctxmax; i++) { - } sensitive << r.rdata; SC_METHOD(registers); @@ -163,8 +161,6 @@ template void plic::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_xslvi, i_xslvi.name()); sc_trace(o_vcd, o_xslvo, o_xslvo.name()); sc_trace(o_vcd, i_irq_request, i_irq_request.name()); @@ -174,6 +170,20 @@ void plic::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vc sc_trace(o_vcd, r.ip, pn + ".r_ip"); for (int i = 0; i < ctxmax; i++) { char tstr[1024]; + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_ctx%d_priority_th", pn.c_str(), i); + sc_trace(o_vcd, r.ctx[i].priority_th, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_ctx%d_ie", pn.c_str(), i); + sc_trace(o_vcd, r.ctx[i].ie, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_ctx%d_ip_prio", pn.c_str(), i); + sc_trace(o_vcd, r.ctx[i].ip_prio, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_ctx%d_prio_mask", pn.c_str(), i); + sc_trace(o_vcd, r.ctx[i].prio_mask, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_ctx%d_sel_prio", pn.c_str(), i); + sc_trace(o_vcd, r.ctx[i].sel_prio, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_ctx%d_irq_idx", pn.c_str(), i); + sc_trace(o_vcd, r.ctx[i].irq_idx, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_ctx%d_irq_prio", pn.c_str(), i); + sc_trace(o_vcd, r.ctx[i].irq_prio, tstr); } sc_trace(o_vcd, r.rdata, pn + ".r_rdata"); } diff --git a/sc/rtl/riscv_soc.cpp b/sc/rtl/riscv_soc.cpp index 7ca073b71..518daf79d 100644 --- a/sc/rtl/riscv_soc.cpp +++ b/sc/rtl/riscv_soc.cpp @@ -415,18 +415,14 @@ void riscv_soc::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, i_sd_detected, i_sd_detected.name()); sc_trace(o_vcd, i_sd_protect, i_sd_protect.name()); sc_trace(o_vcd, o_dmreset, o_dmreset.name()); - sc_trace(o_vcd, o_prci_pmapinfo, o_prci_pmapinfo.name()); - sc_trace(o_vcd, i_prci_pdevcfg, i_prci_pdevcfg.name()); sc_trace(o_vcd, o_prci_apbi, o_prci_apbi.name()); sc_trace(o_vcd, i_prci_apbo, i_prci_apbo.name()); - sc_trace(o_vcd, o_ddr_pmapinfo, o_ddr_pmapinfo.name()); - sc_trace(o_vcd, i_ddr_pdevcfg, i_ddr_pdevcfg.name()); sc_trace(o_vcd, o_ddr_apbi, o_ddr_apbi.name()); sc_trace(o_vcd, i_ddr_apbo, i_ddr_apbo.name()); - sc_trace(o_vcd, o_ddr_xmapinfo, o_ddr_xmapinfo.name()); - sc_trace(o_vcd, i_ddr_xdevcfg, i_ddr_xdevcfg.name()); sc_trace(o_vcd, o_ddr_xslvi, o_ddr_xslvi.name()); sc_trace(o_vcd, i_ddr_xslvo, i_ddr_xslvo.name()); + sc_trace(o_vcd, acpo, acpo.name()); + sc_trace(o_vcd, acpi, acpi.name()); } if (bus0) { diff --git a/sc/rtl/riverlib/cache/pmp.cpp b/sc/rtl/riverlib/cache/pmp.cpp index ad45f764d..2cdd48db7 100644 --- a/sc/rtl/riverlib/cache/pmp.cpp +++ b/sc/rtl/riverlib/cache/pmp.cpp @@ -75,6 +75,12 @@ void PMP::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, o_x, o_x.name()); for (int i = 0; i < CFG_PMP_TBL_SIZE; i++) { char tstr[1024]; + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_tbl%d_start_addr", pn.c_str(), i); + sc_trace(o_vcd, r.tbl[i].start_addr, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_tbl%d_end_addr", pn.c_str(), i); + sc_trace(o_vcd, r.tbl[i].end_addr, tstr); + RISCV_sprintf(tstr, sizeof(tstr), "%s.r_tbl%d_flags", pn.c_str(), i); + sc_trace(o_vcd, r.tbl[i].flags, tstr); } } diff --git a/sc/rtl/riverlib/core/arith/divstage64.cpp b/sc/rtl/riverlib/core/arith/divstage64.cpp index d21ef0bbe..9ad121b15 100644 --- a/sc/rtl/riverlib/core/arith/divstage64.cpp +++ b/sc/rtl/riverlib/core/arith/divstage64.cpp @@ -86,7 +86,7 @@ void divstage64::comb() { wb_divident = 0; wb_divisor = 0; for (int i = 0; i < 16; i++) { - wb_thresh[i] = 0ull; + wb_thresh[i] = 0; } wb_divident = i_divident.read().to_uint64(); diff --git a/sc/rtl/riverlib/core/arith/int_mul.cpp b/sc/rtl/riverlib/core/arith/int_mul.cpp index 873cffbd3..39e236d87 100644 --- a/sc/rtl/riverlib/core/arith/int_mul.cpp +++ b/sc/rtl/riverlib/core/arith/int_mul.cpp @@ -119,13 +119,13 @@ void IntMul::comb() { vb_a2 = 0; wb_mux_lvl0 = 0; for (int i = 0; i < 32; i++) { - wb_lvl0[i] = 0ull; + wb_lvl0[i] = 0; } for (int i = 0; i < 8; i++) { - wb_lvl2[i] = 0ull; + wb_lvl2[i] = 0; } for (int i = 0; i < 2; i++) { - wb_lvl4[i] = 0ull; + wb_lvl4[i] = 0; } wb_lvl5 = 0; wb_res32 = 0; @@ -303,10 +303,10 @@ void IntMul::comb() { v.a2_dbg = 0; v.reference_mul = 0ull; for (int i = 0; i < 16; i++) { - v.lvl1[i] = 0ull; + v.lvl1[i] = 0; } for (int i = 0; i < 4; i++) { - v.lvl3[i] = 0ull; + v.lvl3[i] = 0; } } @@ -330,10 +330,10 @@ void IntMul::registers() { r.a2_dbg = 0; r.reference_mul = 0ull; for (int i = 0; i < 16; i++) { - r.lvl1[i] = 0ull; + r.lvl1[i] = 0; } for (int i = 0; i < 4; i++) { - r.lvl3[i] = 0ull; + r.lvl3[i] = 0; } } else { r.busy = v.busy; diff --git a/sc/rtl/riverlib/core/bp.cpp b/sc/rtl/riverlib/core/bp.cpp index 457fde1b3..3967ff58c 100644 --- a/sc/rtl/riverlib/core/bp.cpp +++ b/sc/rtl/riverlib/core/bp.cpp @@ -154,10 +154,10 @@ void BranchPredictor::comb() { sc_uint<2> vb_ignore_pd; for (int i = 0; i < CFG_BP_DEPTH; i++) { - vb_addr[i] = 0ull; + vb_addr[i] = 0; } for (int i = 0; i < 4; i++) { - vb_piped[i] = 0ull; + vb_piped[i] = 0; } vb_fetch_npc = 0; v_btb_we = 0; diff --git a/sc/rtl/riverlib/core/dec_rv.cpp b/sc/rtl/riverlib/core/dec_rv.cpp index 51fd1f7a4..bd282a554 100644 --- a/sc/rtl/riverlib/core/dec_rv.cpp +++ b/sc/rtl/riverlib/core/dec_rv.cpp @@ -119,14 +119,12 @@ void DecoderRv::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, o_f64, o_f64.name()); sc_trace(o_vcd, o_unsigned_op, o_unsigned_op.name()); sc_trace(o_vcd, o_isa_type, o_isa_type.name()); - sc_trace(o_vcd, o_instr_vec, o_instr_vec.name()); sc_trace(o_vcd, o_exception, o_exception.name()); sc_trace(o_vcd, o_instr_load_fault, o_instr_load_fault.name()); sc_trace(o_vcd, o_instr_page_fault_x, o_instr_page_fault_x.name()); sc_trace(o_vcd, o_progbuf_ena, o_progbuf_ena.name()); sc_trace(o_vcd, r.pc, pn + ".r_pc"); sc_trace(o_vcd, r.isa_type, pn + ".r_isa_type"); - sc_trace(o_vcd, r.instr_vec, pn + ".r_instr_vec"); sc_trace(o_vcd, r.instr, pn + ".r_instr"); sc_trace(o_vcd, r.memop_store, pn + ".r_memop_store"); sc_trace(o_vcd, r.memop_load, pn + ".r_memop_load"); diff --git a/sc/rtl/riverlib/core/dec_rvc.cpp b/sc/rtl/riverlib/core/dec_rvc.cpp index b42199b21..8dcdf6c3a 100644 --- a/sc/rtl/riverlib/core/dec_rvc.cpp +++ b/sc/rtl/riverlib/core/dec_rvc.cpp @@ -112,14 +112,12 @@ void DecoderRvc::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, o_f64, o_f64.name()); sc_trace(o_vcd, o_unsigned_op, o_unsigned_op.name()); sc_trace(o_vcd, o_isa_type, o_isa_type.name()); - sc_trace(o_vcd, o_instr_vec, o_instr_vec.name()); sc_trace(o_vcd, o_exception, o_exception.name()); sc_trace(o_vcd, o_instr_load_fault, o_instr_load_fault.name()); sc_trace(o_vcd, o_instr_page_fault_x, o_instr_page_fault_x.name()); sc_trace(o_vcd, o_progbuf_ena, o_progbuf_ena.name()); sc_trace(o_vcd, r.pc, pn + ".r_pc"); sc_trace(o_vcd, r.isa_type, pn + ".r_isa_type"); - sc_trace(o_vcd, r.instr_vec, pn + ".r_instr_vec"); sc_trace(o_vcd, r.instr, pn + ".r_instr"); sc_trace(o_vcd, r.memop_store, pn + ".r_memop_store"); sc_trace(o_vcd, r.memop_load, pn + ".r_memop_load"); diff --git a/sc/rtl/riverlib/core/decoder.cpp b/sc/rtl/riverlib/core/decoder.cpp index 099cd7abe..b788c1ba5 100644 --- a/sc/rtl/riverlib/core/decoder.cpp +++ b/sc/rtl/riverlib/core/decoder.cpp @@ -254,9 +254,6 @@ void InstrDecoder::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, o_instr_load_fault, o_instr_load_fault.name()); sc_trace(o_vcd, o_instr_page_fault_x, o_instr_page_fault_x.name()); sc_trace(o_vcd, o_progbuf_ena, o_progbuf_ena.name()); - for (int i = 0; i < FULL_DEC_DEPTH; i++) { - char tstr[1024]; - } } for (int i = 0; i < DEC_NUM; i++) { diff --git a/sc/rtl/riverlib/core/fpu_d/imul53.cpp b/sc/rtl/riverlib/core/fpu_d/imul53.cpp index 7b08d96df..b3eec1263 100644 --- a/sc/rtl/riverlib/core/fpu_d/imul53.cpp +++ b/sc/rtl/riverlib/core/fpu_d/imul53.cpp @@ -99,7 +99,7 @@ void imul53::comb() { v_ena = 0; for (int i = 0; i < 17; i++) { - vb_mux[i] = 0ull; + vb_mux[i] = 0; } vb_sel = 0; vb_shift = 0; diff --git a/sc/rtl/riverlib/core/tracer.cpp b/sc/rtl/riverlib/core/tracer.cpp index eb2a73b5f..4426dbf3a 100644 --- a/sc/rtl/riverlib/core/tracer.cpp +++ b/sc/rtl/riverlib/core/tracer.cpp @@ -156,20 +156,20 @@ Tracer::Tracer(sc_module_name name, sensitive << r.trace_tbl[i].instr; sensitive << r.trace_tbl[i].regactioncnt; sensitive << r.trace_tbl[i].memactioncnt; - for (int i = 0; i < TRACE_TBL_SZ; i++) { - sensitive << r.trace_tbl[i].regaction[i].waddr; - sensitive << r.trace_tbl[i].regaction[i].wres; + for (int j = 0; j < TRACE_TBL_SZ; j++) { + sensitive << r.trace_tbl[i].regaction[j].waddr; + sensitive << r.trace_tbl[i].regaction[j].wres; } - for (int i = 0; i < TRACE_TBL_SZ; i++) { - sensitive << r.trace_tbl[i].memaction[i].store; - sensitive << r.trace_tbl[i].memaction[i].size; - sensitive << r.trace_tbl[i].memaction[i].mask; - sensitive << r.trace_tbl[i].memaction[i].memaddr; - sensitive << r.trace_tbl[i].memaction[i].data; - sensitive << r.trace_tbl[i].memaction[i].regaddr; - sensitive << r.trace_tbl[i].memaction[i].complete; - sensitive << r.trace_tbl[i].memaction[i].sc_release; - sensitive << r.trace_tbl[i].memaction[i].ignored; + for (int j = 0; j < TRACE_TBL_SZ; j++) { + sensitive << r.trace_tbl[i].memaction[j].store; + sensitive << r.trace_tbl[i].memaction[j].size; + sensitive << r.trace_tbl[i].memaction[j].mask; + sensitive << r.trace_tbl[i].memaction[j].memaddr; + sensitive << r.trace_tbl[i].memaction[j].data; + sensitive << r.trace_tbl[i].memaction[j].regaddr; + sensitive << r.trace_tbl[i].memaction[j].complete; + sensitive << r.trace_tbl[i].memaction[j].sc_release; + sensitive << r.trace_tbl[i].memaction[j].ignored; } sensitive << r.trace_tbl[i].completed; } diff --git a/sc/rtl/riverlib/dmi/dmidebug.cpp b/sc/rtl/riverlib/dmi/dmidebug.cpp index c81252428..1916bbfe5 100644 --- a/sc/rtl/riverlib/dmi/dmidebug.cpp +++ b/sc/rtl/riverlib/dmi/dmidebug.cpp @@ -183,8 +183,6 @@ void dmidebug::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, i_tms, i_tms.name()); sc_trace(o_vcd, i_tdi, i_tdi.name()); sc_trace(o_vcd, o_tdo, o_tdo.name()); - sc_trace(o_vcd, i_mapinfo, i_mapinfo.name()); - sc_trace(o_vcd, o_cfg, o_cfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, o_ndmreset, o_ndmreset.name()); diff --git a/sc/rtl/riverlib/workgroup.cpp b/sc/rtl/riverlib/workgroup.cpp index fec754e55..eb367758d 100644 --- a/sc/rtl/riverlib/workgroup.cpp +++ b/sc/rtl/riverlib/workgroup.cpp @@ -314,14 +314,13 @@ void Workgroup::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { sc_trace(o_vcd, i_mtimer, i_mtimer.name()); sc_trace(o_vcd, i_acpo, i_acpo.name()); sc_trace(o_vcd, o_acpi, o_acpi.name()); - sc_trace(o_vcd, o_xmst_cfg, o_xmst_cfg.name()); sc_trace(o_vcd, i_msti, i_msti.name()); sc_trace(o_vcd, o_msto, o_msto.name()); - sc_trace(o_vcd, i_dmi_mapinfo, i_dmi_mapinfo.name()); - sc_trace(o_vcd, o_dmi_cfg, o_dmi_cfg.name()); sc_trace(o_vcd, i_dmi_apbi, i_dmi_apbi.name()); sc_trace(o_vcd, o_dmi_apbo, o_dmi_apbo.name()); sc_trace(o_vcd, o_dmreset, o_dmreset.name()); + sc_trace(o_vcd, l2i, l2i.name()); + sc_trace(o_vcd, l2o, l2o.name()); } if (dmi0) { diff --git a/sc/rtl/sdctrl/sdctrl.cpp b/sc/rtl/sdctrl/sdctrl.cpp index 9eed0d1a9..e46c38fc6 100644 --- a/sc/rtl/sdctrl/sdctrl.cpp +++ b/sc/rtl/sdctrl/sdctrl.cpp @@ -495,12 +495,8 @@ sdctrl::~sdctrl() { void sdctrl::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_xmapinfo, i_xmapinfo.name()); - sc_trace(o_vcd, o_xcfg, o_xcfg.name()); sc_trace(o_vcd, i_xslvi, i_xslvi.name()); sc_trace(o_vcd, o_xslvo, o_xslvo.name()); - sc_trace(o_vcd, i_pmapinfo, i_pmapinfo.name()); - sc_trace(o_vcd, o_pcfg, o_pcfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, o_sclk, o_sclk.name()); diff --git a/sc/rtl/sdctrl/sdctrl_regs.cpp b/sc/rtl/sdctrl/sdctrl_regs.cpp index bd60c3246..707afa982 100644 --- a/sc/rtl/sdctrl/sdctrl_regs.cpp +++ b/sc/rtl/sdctrl/sdctrl_regs.cpp @@ -135,8 +135,6 @@ sdctrl_regs::~sdctrl_regs() { void sdctrl_regs::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) { std::string pn(name()); if (o_vcd) { - sc_trace(o_vcd, i_pmapinfo, i_pmapinfo.name()); - sc_trace(o_vcd, o_pcfg, o_pcfg.name()); sc_trace(o_vcd, i_apbi, i_apbi.name()); sc_trace(o_vcd, o_apbo, o_apbo.name()); sc_trace(o_vcd, o_sck, o_sck.name()); diff --git a/sv/rtl/misclib/apb_pnp.sv b/sv/rtl/misclib/apb_pnp.sv index f1e79e2b6..cfe9fa786 100644 --- a/sv/rtl/misclib/apb_pnp.sv +++ b/sv/rtl/misclib/apb_pnp.sv @@ -111,7 +111,7 @@ begin: comb_proc logic [31:0] vrdata; for (int i = 0; i < (8 * cfg_slots); i++) begin - cfgmap[i] = 32'd0; + cfgmap[i] = '0; end vrdata = '0; diff --git a/sv/rtl/misclib/apb_uart.sv b/sv/rtl/misclib/apb_uart.sv index b78c86ceb..6d4f5dd8d 100644 --- a/sv/rtl/misclib/apb_uart.sv +++ b/sv/rtl/misclib/apb_uart.sv @@ -472,7 +472,7 @@ begin: comb_proc v.err_stopbit = 1'b0; v.fwcpuid = '0; for (int i = 0; i < fifosz; i++) begin - v.rx_fifo[i] = 8'd0; + v.rx_fifo[i] = '0; end v.rx_state = idle; v.rx_ena = 1'b0; @@ -488,7 +488,7 @@ begin: comb_proc v.rx_stop_cnt = 1'b0; v.rx_shift = '0; for (int i = 0; i < fifosz; i++) begin - v.tx_fifo[i] = 8'd0; + v.tx_fifo[i] = '0; end v.tx_state = idle; v.tx_ena = 1'b0; @@ -568,7 +568,7 @@ generate r.err_stopbit <= 1'b0; r.fwcpuid <= '0; for (int i = 0; i < fifosz; i++) begin - r.rx_fifo[i] <= 8'd0; + r.rx_fifo[i] <= '0; end r.rx_state <= idle; r.rx_ena <= 1'b0; @@ -584,7 +584,7 @@ generate r.rx_stop_cnt <= 1'b0; r.rx_shift <= '0; for (int i = 0; i < fifosz; i++) begin - r.tx_fifo[i] <= 8'd0; + r.tx_fifo[i] <= '0; end r.tx_state <= idle; r.tx_ena <= 1'b0; diff --git a/sv/rtl/misclib/plic.sv b/sv/rtl/misclib/plic.sv index 28fd0ac48..51e66d40f 100644 --- a/sv/rtl/misclib/plic.sv +++ b/sv/rtl/misclib/plic.sv @@ -105,10 +105,10 @@ begin: comb_proc vrdata = '0; for (int i = 0; i < ctxmax; i++) begin - vb_irq_idx[i] = 10'd0; + vb_irq_idx[i] = '0; end for (int i = 0; i < ctxmax; i++) begin - vb_irq_prio[i] = 10'd0; + vb_irq_prio[i] = '0; end for (int i = 0; i < ctxmax; i++) begin vb_ctx[i].priority_th = 4'd0; diff --git a/sv/rtl/misclib/sfifo.sv b/sv/rtl/misclib/sfifo.sv index 8f0cadf22..aff37e1e9 100644 --- a/sv/rtl/misclib/sfifo.sv +++ b/sv/rtl/misclib/sfifo.sv @@ -84,7 +84,7 @@ begin: comb_proc if (~async_reset && i_nrst == 1'b0) begin for (int i = 0; i < DEPTH; i++) begin - v.databuf[i] = 8'd0; + v.databuf[i] = '0; end v.wr_cnt = '0; v.rd_cnt = '0; @@ -108,7 +108,7 @@ generate always_ff @(posedge i_clk, negedge i_nrst) begin: rg_proc if (i_nrst == 1'b0) begin for (int i = 0; i < DEPTH; i++) begin - r.databuf[i] <= 8'd0; + r.databuf[i] <= '0; end r.wr_cnt <= '0; r.rd_cnt <= '0; diff --git a/sv/rtl/riverlib/core/arith/divstage64.sv b/sv/rtl/riverlib/core/arith/divstage64.sv index e16a04eae..817f9da70 100644 --- a/sv/rtl/riverlib/core/arith/divstage64.sv +++ b/sv/rtl/riverlib/core/arith/divstage64.sv @@ -70,7 +70,7 @@ begin: comb_proc wb_divident = '0; wb_divisor = '0; for (int i = 0; i < 16; i++) begin - wb_thresh[i] = 66'd0; + wb_thresh[i] = '0; end wb_divident = i_divident; diff --git a/sv/rtl/riverlib/core/arith/int_mul.sv b/sv/rtl/riverlib/core/arith/int_mul.sv index bb41012a8..ff00043ad 100644 --- a/sv/rtl/riverlib/core/arith/int_mul.sv +++ b/sv/rtl/riverlib/core/arith/int_mul.sv @@ -60,13 +60,13 @@ begin: comb_proc vb_a2 = '0; wb_mux_lvl0 = '0; for (int i = 0; i < 32; i++) begin - wb_lvl0[i] = 66'd0; + wb_lvl0[i] = '0; end for (int i = 0; i < 8; i++) begin - wb_lvl2[i] = 74'd0; + wb_lvl2[i] = '0; end for (int i = 0; i < 2; i++) begin - wb_lvl4[i] = 100'd0; + wb_lvl4[i] = '0; end wb_lvl5 = '0; wb_res32 = '0; @@ -244,10 +244,10 @@ begin: comb_proc v.a2_dbg = '0; v.reference_mul = 64'd0; for (int i = 0; i < 16; i++) begin - v.lvl1[i] = 69'd0; + v.lvl1[i] = '0; end for (int i = 0; i < 4; i++) begin - v.lvl3[i] = 83'd0; + v.lvl3[i] = '0; end end @@ -294,10 +294,10 @@ generate r.a2_dbg <= '0; r.reference_mul <= 64'd0; for (int i = 0; i < 16; i++) begin - r.lvl1[i] <= 69'd0; + r.lvl1[i] <= '0; end for (int i = 0; i < 4; i++) begin - r.lvl3[i] <= 83'd0; + r.lvl3[i] <= '0; end end else begin r.busy <= rin.busy; diff --git a/sv/rtl/riverlib/core/bp.sv b/sv/rtl/riverlib/core/bp.sv index 950caa95c..2830f086a 100644 --- a/sv/rtl/riverlib/core/bp.sv +++ b/sv/rtl/riverlib/core/bp.sv @@ -91,10 +91,10 @@ begin: comb_proc logic [1:0] vb_ignore_pd; for (int i = 0; i < CFG_BP_DEPTH; i++) begin - vb_addr[i] = 64'd0; + vb_addr[i] = '0; end for (int i = 0; i < 4; i++) begin - vb_piped[i] = 62'd0; + vb_piped[i] = '0; end vb_fetch_npc = '0; v_btb_we = 1'b0; diff --git a/sv/rtl/riverlib/core/fpu_d/imul53.sv b/sv/rtl/riverlib/core/fpu_d/imul53.sv index cd2ebf723..29c2f0459 100644 --- a/sv/rtl/riverlib/core/fpu_d/imul53.sv +++ b/sv/rtl/riverlib/core/fpu_d/imul53.sv @@ -57,7 +57,7 @@ begin: comb_proc v_ena = 1'b0; for (int i = 0; i < 17; i++) begin - vb_mux[i] = 57'd0; + vb_mux[i] = '0; end vb_sel = '0; vb_shift = '0; diff --git a/sv/rtl/riverlib/workgroup.sv b/sv/rtl/riverlib/workgroup.sv index 09e24a620..469ed3892 100644 --- a/sv/rtl/riverlib/workgroup.sv +++ b/sv/rtl/riverlib/workgroup.sv @@ -250,7 +250,7 @@ begin: comb_proc vb_halted = '0; vb_available = '0; for (int i = 0; i < CFG_CPU_MAX; i++) begin - vb_irq[i] = 16'd0; + vb_irq[i] = '0; end vb_xmst_cfg.descrsize = PNP_CFG_DEV_DESCR_BYTES;