verilator comments

pd
openpowerwtf 2 years ago
parent 7043a1645b
commit b0efaecf46

@ -135,9 +135,10 @@


//wtf: change for verilatorsim - didnt help //wtf: change for verilatorsim - didnt help
//`define INIT_BHT 1 // 0=> array init time set to 16 clocks, 1=> increased to 512 to init BHT //`define INIT_BHT 1 // 0=> array init time set to 16 clocks, 1=> increased to 512 to init BHT
//`define INIT_IUCR0 16'h00FA // BP enabled
`define INIT_BHT 0 // 0=> array init time set to 16 clocks, 1=> increased to 512 to init BHT `define INIT_BHT 0 // 0=> array init time set to 16 clocks, 1=> increased to 512 to init BHT
`define INIT_IUCR0 16'h0000 // BP disabled //`define INIT_IUCR0 16'h0000 // BP disabled
`define INIT_IUCR0 16'h00FA // BP enabled



`define INIT_MASK 2'b10 `define INIT_MASK 2'b10
`define RELQ_INCLUDE 0 // Reload Queue Included `define RELQ_INCLUDE 0 // Reload Queue Included

@ -216,7 +216,7 @@ module tri_bht_512x4_1r1w(
wire force_t; wire force_t;


wire [0:scan_right] siv; wire [0:scan_right] siv;
wire [0:scan_right] sov; wire [0:scan_right] sov /*verilator split_var*/;


wire tiup; wire tiup;



@ -14,17 +14,17 @@
// necessary for implementation of the Work that are available from OpenPOWER // necessary for implementation of the Work that are available from OpenPOWER
// via the Power ISA End User License Agreement (EULA) are explicitly excluded // via the Power ISA End User License Agreement (EULA) are explicitly excluded
// hereunder, and may be obtained from OpenPOWER under the terms and conditions // hereunder, and may be obtained from OpenPOWER under the terms and conditions
// of the EULA. // of the EULA.
// //
// Unless required by applicable law or agreed to in writing, the reference design // Unless required by applicable law or agreed to in writing, the reference design
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
// for the specific language governing permissions and limitations under the License. // for the specific language governing permissions and limitations under the License.
// //
// Additional rights, including the ability to physically implement a softcore that // Additional rights, including the ability to physically implement a softcore that
// is compliant with the required sections of the Power ISA Specification, are // is compliant with the required sections of the Power ISA Specification, are
// available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be // available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be
// obtained (along with the Power ISA) here: https://openpowerfoundation.org. // obtained (along with the Power ISA) here: https://openpowerfoundation.org.


`timescale 1 ns / 1 ns `timescale 1 ns / 1 ns


@ -118,7 +118,7 @@ module fu_alg_add(


parameter tiup = 1'b1; parameter tiup = 1'b1;
parameter tidn = 1'b0; parameter tidn = 1'b0;
wire [2:14] ex2_bsha_sim_c; wire [2:14] ex2_bsha_sim_c /*verilator split_var*/;
wire [1:13] ex2_bsha_sim_p; wire [1:13] ex2_bsha_sim_p;
wire [2:13] ex2_bsha_sim_g; wire [2:13] ex2_bsha_sim_g;
wire [1:13] ex2_bsha_sim; wire [1:13] ex2_bsha_sim;

@ -14,17 +14,17 @@
// necessary for implementation of the Work that are available from OpenPOWER // necessary for implementation of the Work that are available from OpenPOWER
// via the Power ISA End User License Agreement (EULA) are explicitly excluded // via the Power ISA End User License Agreement (EULA) are explicitly excluded
// hereunder, and may be obtained from OpenPOWER under the terms and conditions // hereunder, and may be obtained from OpenPOWER under the terms and conditions
// of the EULA. // of the EULA.
// //
// Unless required by applicable law or agreed to in writing, the reference design // Unless required by applicable law or agreed to in writing, the reference design
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
// for the specific language governing permissions and limitations under the License. // for the specific language governing permissions and limitations under the License.
// //
// Additional rights, including the ability to physically implement a softcore that // Additional rights, including the ability to physically implement a softcore that
// is compliant with the required sections of the Power ISA Specification, are // is compliant with the required sections of the Power ISA Specification, are
// available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be // available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be
// obtained (along with the Power ISA) here: https://openpowerfoundation.org. // obtained (along with the Power ISA) here: https://openpowerfoundation.org.


`timescale 1 ns / 1 ns `timescale 1 ns / 1 ns


@ -52,7 +52,7 @@ module fu_hc16pp_lsb(
wire [0:12] g01_b; wire [0:12] g01_b;
wire [0:13] t01_b; wire [0:13] t01_b;
wire [0:13] p01_b; wire [0:13] p01_b;
wire [0:13] p01; wire [0:13] p01 /*verilator split_var*/;


wire [0:5] g01od; wire [0:5] g01od;
wire [0:6] t01od; wire [0:6] t01od;

@ -362,7 +362,7 @@ module fu_oscr(
wire [0:23] ex7_mrg; wire [0:23] ex7_mrg;
wire [0:3] ex7_mrg_dfp; wire [0:3] ex7_mrg_dfp;
wire [0:3] ex7_fpscr_dfp_din; wire [0:3] ex7_fpscr_dfp_din;
wire [0:23] ex7_fpscr_din; wire [0:23] ex7_fpscr_din /*verilator split_var*/;
wire ex7_fpscr_din1_thr0; wire ex7_fpscr_din1_thr0;
wire ex7_fpscr_din1_thr1; wire ex7_fpscr_din1_thr1;
wire [0:3] ex7_cr_fld; wire [0:3] ex7_cr_fld;
@ -521,10 +521,10 @@ module fu_oscr(
wire re0_2_thr1; wire re0_2_thr1;
wire re1_2_thr1; wire re1_2_thr1;


wire [28:63] cfpscr_thr0_din; wire [28:63] cfpscr_thr0_din /*verilator split_var*/;
wire [28:63] cfpscr_thr1_din; wire [28:63] cfpscr_thr1_din /*verilator split_var*/;
wire [28:63] cfpscr_thr0_din_i0; wire [28:63] cfpscr_thr0_din_i0 /*verilator split_var*/;
wire [28:63] cfpscr_thr1_din_i0; wire [28:63] cfpscr_thr1_din_i0 /*verilator split_var*/;


wire [28:63] cfpscr_thr0_l2; wire [28:63] cfpscr_thr0_l2;
wire [28:63] cfpscr_thr1_l2; wire [28:63] cfpscr_thr1_l2;

@ -14,17 +14,17 @@
// necessary for implementation of the Work that are available from OpenPOWER // necessary for implementation of the Work that are available from OpenPOWER
// via the Power ISA End User License Agreement (EULA) are explicitly excluded // via the Power ISA End User License Agreement (EULA) are explicitly excluded
// hereunder, and may be obtained from OpenPOWER under the terms and conditions // hereunder, and may be obtained from OpenPOWER under the terms and conditions
// of the EULA. // of the EULA.
// //
// Unless required by applicable law or agreed to in writing, the reference design // Unless required by applicable law or agreed to in writing, the reference design
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
// for the specific language governing permissions and limitations under the License. // for the specific language governing permissions and limitations under the License.
// //
// Additional rights, including the ability to physically implement a softcore that // Additional rights, including the ability to physically implement a softcore that
// is compliant with the required sections of the Power ISA Specification, are // is compliant with the required sections of the Power ISA Specification, are
// available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be // available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be
// obtained (along with the Power ISA) here: https://openpowerfoundation.org. // obtained (along with the Power ISA) here: https://openpowerfoundation.org.


`timescale 1 ns / 1 ns `timescale 1 ns / 1 ns


@ -795,7 +795,7 @@ wire [0:1] bcache_bh1_hist;
wire [0:1] bcache_bh0_wr_data; wire [0:1] bcache_bh0_wr_data;
wire [0:1] bcache_bh1_wr_data; wire [0:1] bcache_bh1_wr_data;
wire [0:11] bcache_wr_addr; wire [0:11] bcache_wr_addr;
wire [0:15] bcache_data_new; wire [0:15] bcache_data_new /*verilator split_var*/;
wire [0:15] bcache_data0_d; wire [0:15] bcache_data0_d;
wire [0:15] bcache_data0_q; wire [0:15] bcache_data0_q;
wire [0:15] bcache_data1_d; wire [0:15] bcache_data1_d;

@ -127,7 +127,7 @@ module iuq_ibuf(
// buffer latches // buffer latches
reg [0:IBUFF_WIDTH-1] buffer_data_din[0:`IBUFF_DEPTH-1]; reg [0:IBUFF_WIDTH-1] buffer_data_din[0:`IBUFF_DEPTH-1];
reg [0:IBUFF_WIDTH-1] buffer_data_d[0:`IBUFF_DEPTH-1]; reg [0:IBUFF_WIDTH-1] buffer_data_d[0:`IBUFF_DEPTH-1];
reg [0:IBUFF_WIDTH-1] buffer_data_q[0:`IBUFF_DEPTH-1]; reg [0:IBUFF_WIDTH-1] buffer_data_q[0:`IBUFF_DEPTH-1] /*verilator split_var*/;
wire buffer_valid_act; wire buffer_valid_act;
wire [0:`IBUFF_DEPTH-1] buffer_valid_din; wire [0:`IBUFF_DEPTH-1] buffer_valid_din;
wire [0:`IBUFF_DEPTH-1] buffer_valid_d; wire [0:`IBUFF_DEPTH-1] buffer_valid_d;
@ -173,15 +173,15 @@ module iuq_ibuf(


// data/valid out // data/valid out
wire [0:1] valid_int; wire [0:1] valid_int;
wire [0:1] valid_out; wire [0:1] valid_out /*verilator split_var*/;
wire [0:IDATA_WIDTH-1] data0_out; wire [0:IDATA_WIDTH-1] data0_out;
wire [0:IDATA_WIDTH-1] data1_out; wire [0:IDATA_WIDTH-1] data1_out;
wire [0:IBUFF_WIDTH-1] buffer0_ibuff_data; wire [0:IBUFF_WIDTH-1] buffer0_ibuff_data;
wire [0:IBUFF_WIDTH-1] buffer1_ibuff_data; wire [0:IBUFF_WIDTH-1] buffer1_ibuff_data;
wire [0:IDATA_WIDTH-1] buffer0_data; wire [0:IDATA_WIDTH-1] buffer0_data;
wire [0:IDATA_WIDTH-1] buffer1_data; wire [0:IDATA_WIDTH-1] buffer1_data;
reg [0:IBUFF_WIDTH-1] buffer0_data_muxed[0:`IBUFF_DEPTH-1]; reg [0:IBUFF_WIDTH-1] buffer0_data_muxed[0:`IBUFF_DEPTH-1] /*verilator split_var*/;
reg [0:IBUFF_WIDTH-1] buffer1_data_muxed[0:`IBUFF_DEPTH-1]; reg [0:IBUFF_WIDTH-1] buffer1_data_muxed[0:`IBUFF_DEPTH-1] /*verilator split_var*/;


// output latches // output latches
wire iu4_0_valid_din; wire iu4_0_valid_din;

@ -500,8 +500,8 @@ module iuq_ic(


wire [0:scan_right] siv; wire [0:scan_right] siv;
wire [0:scan_right] sov; wire [0:scan_right] sov;
wire [0:1] tsiv; // time scan path wire [0:1] tsiv /*verilator split_var*/; // time scan path
wire [0:1] tsov; // time scan path wire [0:1] tsov /*verilator split_var*/; // time scan path
wire func_scan_in_cam; wire func_scan_in_cam;
wire func_scan_out_cam; wire func_scan_out_cam;



@ -563,7 +563,7 @@ module iuq_ic_dir(
wire stage_abist_g6t_r_wb; wire stage_abist_g6t_r_wb;


// scan // scan
wire [0:scan_right] siv; wire [0:scan_right] siv /*verilator split_var*/;
wire [0:scan_right] sov; wire [0:scan_right] sov;
wire [0:44] abst_siv; wire [0:44] abst_siv;
wire [0:44] abst_sov; wire [0:44] abst_sov;

@ -426,7 +426,7 @@ module iuq_ic_miss(
wire miss_thread_has_idle; wire miss_thread_has_idle;


wire release_sm; wire release_sm;
wire [0:SM_MAX-1] release_sm_hold; wire [0:SM_MAX-1] release_sm_hold /*verilator split_var*/;


// IU0 inval // IU0 inval
wire [0:TAGS_USED-1] iu0_inval_match; wire [0:TAGS_USED-1] iu0_inval_match;

@ -397,7 +397,7 @@ module iuq_ic_select(
wire [0:`THREADS-1] iu0_erat_tid; wire [0:`THREADS-1] iu0_erat_tid;


wire [0:`THREADS-1] need_fetch_reduce; wire [0:`THREADS-1] need_fetch_reduce;
reg [0:(`IBUFF_DEPTH/4)-1] need_fetch[0:`THREADS-1]; reg [0:(`IBUFF_DEPTH/4)-1] need_fetch[0:`THREADS-1] /*verilator split_var*/;
reg [0:(`IBUFF_DEPTH/4)-1] next_fetch[0:`THREADS-1]; reg [0:(`IBUFF_DEPTH/4)-1] next_fetch[0:`THREADS-1];
reg [0:(`IBUFF_DEPTH/4)-2] shift1_sent[0:`THREADS-1]; reg [0:(`IBUFF_DEPTH/4)-2] shift1_sent[0:`THREADS-1];
reg [0:`THREADS-1] shift1_sent_reduce; reg [0:`THREADS-1] shift1_sent_reduce;

@ -426,7 +426,7 @@ module lq_pfetch(
wire [0:1] rpt_rd_act; wire [0:1] rpt_rd_act;
wire [0:1] rpt_byp_val; wire [0:1] rpt_byp_val;
wire [0:4] rpt_wrt_addr; wire [0:4] rpt_wrt_addr;
wire [0:69] rpt_data_in; wire [0:69] rpt_data_in /*verilator split_var*/;
wire [0:4] rpt_rd_addr; wire [0:4] rpt_rd_addr;
wire [0:139] rpt_data_out; wire [0:139] rpt_data_out;
wire [0:69] rpt_byp_dat_d; wire [0:69] rpt_byp_dat_d;

@ -1347,7 +1347,7 @@ module lq_stq(
wire perf_stq_cmmt_attmpt; wire perf_stq_cmmt_attmpt;
wire perf_stq_cmmt_val; wire perf_stq_cmmt_val;
wire perf_stq_need_hole; wire perf_stq_need_hole;
wire [0:15] stq_rotcmp; wire [0:15] stq_rotcmp /*verilator split_var*/;
wire [0:`STQ_ENTRIES] ex3_agecmp; wire [0:`STQ_ENTRIES] ex3_agecmp;
wire [0:3] ex4_rot_sel_be[0:`STQ_ENTRIES-1]; wire [0:3] ex4_rot_sel_be[0:`STQ_ENTRIES-1];
wire [0:3] ex4_rot_sel_le[0:`STQ_ENTRIES-1]; wire [0:3] ex4_rot_sel_le[0:`STQ_ENTRIES-1];

@ -585,9 +585,9 @@ module mmq(
wire mm_xu_lsu_ind_sig; wire mm_xu_lsu_ind_sig;
wire mm_xu_lsu_lbit_sig; wire mm_xu_lsu_lbit_sig;
wire [64-`RS_DATA_WIDTH:63] xu_mm_ex2_eff_addr_sig; wire [64-`RS_DATA_WIDTH:63] xu_mm_ex2_eff_addr_sig;
wire [0:5] repr_scan_int; wire [0:5] repr_scan_int /*verilator split_var*/;
wire [0:5] time_scan_int; wire [0:5] time_scan_int /*verilator split_var*/;
wire [0:6] abst_scan_int; wire [0:6] abst_scan_int /*verilator split_var*/;
wire tlbwe_back_inv_valid_sig; wire tlbwe_back_inv_valid_sig;
wire [0:`MM_THREADS-1] tlbwe_back_inv_thdid_sig; wire [0:`MM_THREADS-1] tlbwe_back_inv_thdid_sig;
wire [52-`EPN_WIDTH:51] tlbwe_back_inv_addr_sig; wire [52-`EPN_WIDTH:51] tlbwe_back_inv_addr_sig;

@ -557,7 +557,7 @@ module mmq_inval(
wire [52-`EPN_WIDTH:51] snoop_vpn_clone_q; wire [52-`EPN_WIDTH:51] snoop_vpn_clone_q;
wire [0:2] snoop_ack_d; wire [0:2] snoop_ack_d;
wire [0:2] snoop_ack_q; wire [0:2] snoop_ack_q;
wire [0:4] snoop_coming_d; wire [0:4] snoop_coming_d /*verilator split_var*/;
wire [0:4] snoop_coming_q; wire [0:4] snoop_coming_q;
wire [0:8] an_ac_back_inv_d; wire [0:8] an_ac_back_inv_d;
wire [0:8] an_ac_back_inv_q; wire [0:8] an_ac_back_inv_q;

@ -14,17 +14,17 @@
// necessary for implementation of the Work that are available from OpenPOWER // necessary for implementation of the Work that are available from OpenPOWER
// via the Power ISA End User License Agreement (EULA) are explicitly excluded // via the Power ISA End User License Agreement (EULA) are explicitly excluded
// hereunder, and may be obtained from OpenPOWER under the terms and conditions // hereunder, and may be obtained from OpenPOWER under the terms and conditions
// of the EULA. // of the EULA.
// //
// Unless required by applicable law or agreed to in writing, the reference design // Unless required by applicable law or agreed to in writing, the reference design
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
// for the specific language governing permissions and limitations under the License. // for the specific language governing permissions and limitations under the License.
// //
// Additional rights, including the ability to physically implement a softcore that // Additional rights, including the ability to physically implement a softcore that
// is compliant with the required sections of the Power ISA Specification, are // is compliant with the required sections of the Power ISA Specification, are
// available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be // available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be
// obtained (along with the Power ISA) here: https://openpowerfoundation.org. // obtained (along with the Power ISA) here: https://openpowerfoundation.org.


//******************************************************************** //********************************************************************
//* TITLE: Memory Management Unit TLB Compare Logic //* TITLE: Memory Management Unit TLB Compare Logic
@ -649,7 +649,7 @@ module mmq_tlb_cmp(
wire [0:`ERAT_REL_DATA_WIDTH-1] tlb_erat_rel_q; wire [0:`ERAT_REL_DATA_WIDTH-1] tlb_erat_rel_q;
wire [0:`ERAT_REL_DATA_WIDTH-1] tlb_erat_rel_clone_d; wire [0:`ERAT_REL_DATA_WIDTH-1] tlb_erat_rel_clone_d;
wire [0:`ERAT_REL_DATA_WIDTH-1] tlb_erat_rel_clone_q; wire [0:`ERAT_REL_DATA_WIDTH-1] tlb_erat_rel_clone_q;
wire [0:2*`THDID_WIDTH+13] tlb_erat_dup_d; wire [0:2*`THDID_WIDTH+13] tlb_erat_dup_d /*verilator split_var*/;
wire [0:2*`THDID_WIDTH+13] tlb_erat_dup_q; wire [0:2*`THDID_WIDTH+13] tlb_erat_dup_q;


(* NO_MODIFICATION="TRUE" *) (* NO_MODIFICATION="TRUE" *)
@ -661,7 +661,7 @@ module mmq_tlb_cmp(
(* NO_MODIFICATION="TRUE" *) (* NO_MODIFICATION="TRUE" *)
wire [0:`TLB_ADDR_WIDTH-1] lru_wr_addr_q; wire [0:`TLB_ADDR_WIDTH-1] lru_wr_addr_q;
(* NO_MODIFICATION="TRUE" *) (* NO_MODIFICATION="TRUE" *)
wire [0:`LRU_WIDTH-1] lru_datain_d; wire [0:`LRU_WIDTH-1] lru_datain_d /*verilator split_var*/;
(* NO_MODIFICATION="TRUE" *) (* NO_MODIFICATION="TRUE" *)
wire [0:`LRU_WIDTH-1] lru_datain_q; wire [0:`LRU_WIDTH-1] lru_datain_q;


@ -990,7 +990,7 @@ module mmq_tlb_cmp(


// possible eco signals // possible eco signals
(* NO_MODIFICATION="TRUE" *) (* NO_MODIFICATION="TRUE" *)
wire [4:9] lru_datain_alt_d; wire [4:9] lru_datain_alt_d /*verilator split_var*/;
(* NO_MODIFICATION="TRUE" *) (* NO_MODIFICATION="TRUE" *)
wire [0:2] lru_update_data_alt; wire [0:2] lru_update_data_alt;
(* NO_MODIFICATION="TRUE" *) (* NO_MODIFICATION="TRUE" *)

@ -335,8 +335,8 @@ module pcq_regs(
wire [0:BCFG_RIGHT] bcfg_sov; wire [0:BCFG_RIGHT] bcfg_sov;
wire [0:DCFG_RIGHT] dcfg_siv; wire [0:DCFG_RIGHT] dcfg_siv;
wire [0:DCFG_RIGHT] dcfg_sov; wire [0:DCFG_RIGHT] dcfg_sov;
wire [0:FUNC_RIGHT] func_siv; wire [0:FUNC_RIGHT] func_siv /*verilator split_var*/;
wire [0:FUNC_RIGHT] func_sov; wire [0:FUNC_RIGHT] func_sov /*verilator split_var*/;
wire lcb_func_slp_sl_thold_0_b; wire lcb_func_slp_sl_thold_0_b;
wire lcb_cfg_slp_sl_thold_0_b; wire lcb_cfg_slp_sl_thold_0_b;
wire force_cfgslp; wire force_cfgslp;

@ -14,17 +14,17 @@
// necessary for implementation of the Work that are available from OpenPOWER // necessary for implementation of the Work that are available from OpenPOWER
// via the Power ISA End User License Agreement (EULA) are explicitly excluded // via the Power ISA End User License Agreement (EULA) are explicitly excluded
// hereunder, and may be obtained from OpenPOWER under the terms and conditions // hereunder, and may be obtained from OpenPOWER under the terms and conditions
// of the EULA. // of the EULA.
// //
// Unless required by applicable law or agreed to in writing, the reference design // Unless required by applicable law or agreed to in writing, the reference design
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
// for the specific language governing permissions and limitations under the License. // for the specific language governing permissions and limitations under the License.
// //
// Additional rights, including the ability to physically implement a softcore that // Additional rights, including the ability to physically implement a softcore that
// is compliant with the required sections of the Power ISA Specification, are // is compliant with the required sections of the Power ISA Specification, are
// available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be // available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be
// obtained (along with the Power ISA) here: https://openpowerfoundation.org. // obtained (along with the Power ISA) here: https://openpowerfoundation.org.


`timescale 1 ns / 1 ns `timescale 1 ns / 1 ns


@ -658,7 +658,7 @@ module rv_station(


parameter scan_right = dbg_bus_offset + 32; parameter scan_right = dbg_bus_offset + 32;


wire [0:scan_right-1] siv; wire [0:scan_right-1] siv /*verilator split_var*/;
wire [0:scan_right-1] sov; wire [0:scan_right-1] sov;


genvar n; genvar n;

@ -301,11 +301,11 @@ end
generate generate
if (BYPASS == 1) if (BYPASS == 1)
begin : read_bypass begin : read_bypass
wire [0:10] r0_byp_sel; wire [0:10] r0_byp_sel /*verilator split_var*/;
wire [0:10] r1_byp_sel; wire [0:10] r1_byp_sel /*verilator split_var*/;
wire [0:10] r2_byp_sel; wire [0:10] r2_byp_sel /*verilator split_var*/;
wire [0:10] r3_byp_sel; wire [0:10] r3_byp_sel /*verilator split_var*/;
wire [0:10] r4_byp_sel; wire [0:10] r4_byp_sel /*verilator split_var*/;
assign r0_byp_sel[0] = w0e_q & (w0a_q == r0a_q); assign r0_byp_sel[0] = w0e_q & (w0a_q == r0a_q);
assign r0_byp_sel[1] = w1e_q & (w1a_q == r0a_q); assign r0_byp_sel[1] = w1e_q & (w1a_q == r0a_q);
assign r0_byp_sel[2] = w2e_q & (w2a_q == r0a_q); assign r0_byp_sel[2] = w2e_q & (w2a_q == r0a_q);

@ -443,20 +443,20 @@ module xu_spr
localparam abist_g8t_bw_0_offset_abst = abist_g8t_bw_1_offset_abst + 1; localparam abist_g8t_bw_0_offset_abst = abist_g8t_bw_1_offset_abst + 1;
localparam scan_right_abst = abist_g8t_bw_0_offset_abst + 2; localparam scan_right_abst = abist_g8t_bw_0_offset_abst + 2;
// Scanchain Repower // Scanchain Repower
wire [0:scan_right_abst-1] siv_abst; wire [0:scan_right_abst-1] siv_abst /*verilator split_var*/;
wire [0:scan_right_abst-1] sov_abst; wire [0:scan_right_abst-1] sov_abst /*verilator split_var*/;
wire [0:2] siv_bcfg; wire [0:2] siv_bcfg;
wire [0:2] sov_bcfg; wire [0:2] sov_bcfg;
wire [0:`THREADS+2] siv_ccfg; wire [0:`THREADS+2] siv_ccfg;
wire [0:`THREADS+2] sov_ccfg; wire [0:`THREADS+2] sov_ccfg;
wire [0:`THREADS+2] siv_dcfg; wire [0:`THREADS+2] siv_dcfg;
wire [0:`THREADS+2] sov_dcfg; wire [0:`THREADS+2] sov_dcfg;
wire [0:2] siv_time; wire [0:2] siv_time /*verilator split_var*/;
wire [0:2] sov_time; wire [0:2] sov_time /*verilator split_var*/;
wire [0:2] siv_gptr; wire [0:2] siv_gptr;
wire [0:2] sov_gptr; wire [0:2] sov_gptr;
wire [0:2] siv_repr; wire [0:2] siv_repr /*verilator split_var*/;
wire [0:2] sov_repr; wire [0:2] sov_repr /*verilator split_var*/;
wire [0:`THREADS+1] func_scan_rpwr_in; wire [0:`THREADS+1] func_scan_rpwr_in;
wire [0:`THREADS+1] func_scan_rpwr_out; wire [0:`THREADS+1] func_scan_rpwr_out;
wire [0:`THREADS+1] func_scan_gate_out; wire [0:`THREADS+1] func_scan_gate_out;

@ -36,7 +36,7 @@ module xu_spr_cspr
#( #(
parameter hvmode = 1, parameter hvmode = 1,
parameter a2mode = 1, parameter a2mode = 1,
parameter spr_xucr0_init = 1120 parameter spr_xucr0_init = `INIT_XUCR0
)( )(
input [0:`NCLK_WIDTH-1] nclk, input [0:`NCLK_WIDTH-1] nclk,


@ -370,7 +370,7 @@ module xu_spr_cspr
wire [0:0] ex2_msr_gs_q ; // input=>ex1_msr_gs_q , act=>1'b1 , scan=>N, sleep=>N, ring=>func, needs_sreset=>1 wire [0:0] ex2_msr_gs_q ; // input=>ex1_msr_gs_q , act=>1'b1 , scan=>N, sleep=>N, ring=>func, needs_sreset=>1
wire ex2_tenc_we_q, ex1_tenc_we ; // input=>ex1_tenc_we , act=>exx_act[1] , scan=>N, sleep=>N, ring=>func, needs_sreset=>1 wire ex2_tenc_we_q, ex1_tenc_we ; // input=>ex1_tenc_we , act=>exx_act[1] , scan=>N, sleep=>N, ring=>func, needs_sreset=>1
wire ex2_ccr0_we_q, ex1_ccr0_we ; // input=>ex1_ccr0_we , act=>exx_act[1] , scan=>N, sleep=>N, ring=>func, needs_sreset=>1 wire ex2_ccr0_we_q, ex1_ccr0_we ; // input=>ex1_ccr0_we , act=>exx_act[1] , scan=>N, sleep=>N, ring=>func, needs_sreset=>1
wire [2-`GPR_WIDTH/32:1] ex2_aspr_re_q, ex1_aspr_re ; // input=>ex1_aspr_re , act=>exx_act[1] , scan=>N, sleep=>N, ring=>func, needs_sreset=>1 wire [2-`GPR_WIDTH/32:1] ex2_aspr_re_q, ex1_aspr_re /*verilator split_var*/ ; // input=>ex1_aspr_re , act=>exx_act[1] , scan=>N, sleep=>N, ring=>func, needs_sreset=>1
wire ex2_dnh_q, ex1_dnh ; // input=>ex1_dnh , act=>exx_act[1] wire ex2_dnh_q, ex1_dnh ; // input=>ex1_dnh , act=>exx_act[1]
wire [0:`THREADS-1] ex3_val_q, ex2_val ; // input=>ex2_val , act=>1'b1 , scan=>Y, sleep=>N, ring=>func, needs_sreset=>1 wire [0:`THREADS-1] ex3_val_q, ex2_val ; // input=>ex2_val , act=>1'b1 , scan=>Y, sleep=>N, ring=>func, needs_sreset=>1
wire ex3_val_rd_q, ex3_val_rd_d ; // input=>ex3_val_rd_d , act=>1'b1 , scan=>Y, sleep=>N, ring=>func, needs_sreset=>1 wire ex3_val_rd_q, ex3_val_rd_d ; // input=>ex3_val_rd_d , act=>1'b1 , scan=>Y, sleep=>N, ring=>func, needs_sreset=>1

Loading…
Cancel
Save