Skip to content

Commit

Permalink
[ibex/dv/rtl] Updates to run Cadence Xcelium
Browse files Browse the repository at this point in the history
This PR makes changes to support Cadence Xcelium 20.09.001

Compile error 1: Fixed the following rtl compile error in ibex_cs_registers.sv

assign tselect_rdata = {'b0, tselect_q};
                          |
xmvlog: *E,NONOWD (/proj/riscv_ibex/users/paulok/lowRISC/ibex_1/rtl/ibex_cs_registers.sv,1288|30): Illegal use of a constant without an explicit width specification [4.1.14(IEEE)].

Compile error 2: Fixed the following DV compile error in ibex_mem_intf.sv
.data_req_o (data_mem_vif.request ),
|
xmelab: *E,ICDCBA (./tb/core_ibex_tb_top.sv,89|14): Illegal combination of driver and output clockvar to variable 'request' detected (output clockvar found in clocking block at line 25 in file ./common/ibex_mem_intf_agent/ibex_mem_intf.sv).

Simulation probes: Fixed issue with probing in yaml for xrun and added licqueue.

Signed-off-by: Paul OKeeffe <[email protected]>
  • Loading branch information
PaulOKCrevinn authored and imphil committed Oct 30, 2020
1 parent a612650 commit 09f6d4f
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 12 deletions.
20 changes: 10 additions & 10 deletions dv/uvm/core_ibex/common/ibex_mem_intf_agent/ibex_mem_intf.sv
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ interface ibex_mem_intf#(
input clk
);

logic reset;
logic request;
logic grant;
logic [ADDR_WIDTH-1:0] addr;
logic we;
logic [DATA_WIDTH/8-1:0] be;
logic rvalid;
logic [DATA_WIDTH-1:0] wdata;
logic [DATA_WIDTH-1:0] rdata;
logic error;
wire reset;
wire request;
wire grant;
wire [ADDR_WIDTH-1:0] addr;
wire we;
wire [DATA_WIDTH/8-1:0] be;
wire rvalid;
wire [DATA_WIDTH-1:0] wdata;
wire [DATA_WIDTH-1:0] rdata;
wire error;

clocking request_driver_cb @(posedge clk);
input reset;
Expand Down
4 changes: 3 additions & 1 deletion dv/uvm/core_ibex/yaml/rtl_simulation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@
-q
-f ibex_dv.f
-sv
-licqueue
-uvm
-uvmhome CDNS-1.2
-define UVM_REGEX_NO_DPI
Expand All @@ -153,6 +154,7 @@
-R
-xmlibdirpath <out>
-l <sim_dir>/sim.log
-licqueue
-svseed <seed>
-svrnc rand_struct
+UVM_TESTNAME=<rtl_test>
Expand All @@ -163,5 +165,5 @@
<wave_opts>
wave_opts: >
-input @"database -open <sim_dir>/waves -shm -default"
-input @"probe -create -all -depth all"
-input @"probe -create core_ibex_tb_top -all -depth all -variables"
-input @"run"
4 changes: 3 additions & 1 deletion rtl/ibex_cs_registers.sv
Original file line number Diff line number Diff line change
Expand Up @@ -1285,7 +1285,9 @@ module ibex_cs_registers #(

// Assign read data
// TSELECT - number of supported triggers defined by parameter DbgHwBreakNum
assign tselect_rdata = {'b0, tselect_q};
localparam int unsigned TSelectRdataPadlen = DbgHwNumLen >= 32 ? 0 : (32 - DbgHwNumLen);
assign tselect_rdata = {{TSelectRdataPadlen{1'b0}}, tselect_q};

// TDATA0 - only support simple address matching
assign tmatch_control_rdata = {4'h2, // type : address/data match
1'b1, // dmode : access from D mode only
Expand Down

0 comments on commit 09f6d4f

Please sign in to comment.