I$ disable error fixed

This commit is contained in:
waleed-lm 2021-01-06 13:13:11 +05:00
parent b0fee672bc
commit 9aab86c2aa
11 changed files with 627 additions and 135 deletions

View File

@ -113,8 +113,8 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
Mux(((bus_ifu_wr_en_ff & last_beat) & !uncacheable_miss_ff).asBool, idle_C,
Mux((ic_byp_hit_f & !io.exu_flush_final & !(bus_ifu_wr_en_ff & last_beat) & !ifu_bp_hit_taken_q_f & !uncacheable_miss_ff).asBool, stream_C,
Mux((bus_ifu_wr_en_ff & !io.exu_flush_final & !(bus_ifu_wr_en_ff & last_beat) & !ifu_bp_hit_taken_q_f & !uncacheable_miss_ff).asBool, stream_C,
Mux((!ic_byp_hit_f & !io.exu_flush_final & (bus_ifu_wr_en_ff & last_beat) & !uncacheable_miss_ff).asBool, idle_C,
Mux(((io.exu_flush_final | ifu_bp_hit_taken_q_f) & !(bus_ifu_wr_en_ff & last_beat)).asBool, hit_u_miss_C, idle_C))))))))
Mux((!ic_byp_hit_f & !io.exu_flush_final & (bus_ifu_wr_en_ff & last_beat) & !uncacheable_miss_ff).asBool, idle_C,
Mux(((io.exu_flush_final | ifu_bp_hit_taken_q_f) & !(bus_ifu_wr_en_ff & last_beat)).asBool, hit_u_miss_C, idle_C))))))))
miss_state_en := io.dec_mem_ctrl.dec_tlu_force_halt | io.exu_flush_final | ic_byp_hit_f | ifu_bp_hit_taken_q_f | (bus_ifu_wr_en_ff & last_beat) | (bus_ifu_wr_en_ff & !uncacheable_miss_ff)
}
is (crit_wrd_rdy_C){ // Critical word hit but not complete, its going to be available in next cycle
@ -159,7 +159,7 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
miss_pending := miss_state =/= idle_C
val crit_wd_byp_ok_ff = (miss_state === crit_byp_ok_C) | ((miss_state === crit_wrd_rdy_C) & !flush_final_f)
val sel_hold_imb = (miss_pending & !(bus_ifu_wr_en_ff & last_beat) & !((miss_state === crit_wrd_rdy_C) & io.exu_flush_final) &
!((miss_state === crit_wrd_rdy_C) & crit_byp_hit_f) ) | ic_act_miss_f |
!((miss_state === crit_wrd_rdy_C) & crit_byp_hit_f) ) | ic_act_miss_f |
(miss_pending & (miss_nxtstate === crit_wrd_rdy_C))
val sel_hold_imb_scnd = ((miss_state === scnd_miss_C) | ic_miss_under_miss_f) & !flush_final_f
@ -200,12 +200,12 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
val way_status_mb_ff = WireInit(UInt(ICACHE_STATUS_BITS.W), 0.U)
val way_status_rep_new = WireInit(UInt(ICACHE_STATUS_BITS.W), 0.U)
val way_status_mb_in = Mux((scnd_miss_req & !scnd_miss_index_match).asBool, way_status_mb_scnd_ff,
Mux((scnd_miss_req & scnd_miss_index_match).asBool, way_status_rep_new,
Mux(miss_pending.asBool, way_status_mb_ff, way_status)))
Mux((scnd_miss_req & scnd_miss_index_match).asBool, way_status_rep_new,
Mux(miss_pending.asBool, way_status_mb_ff, way_status)))
val replace_way_mb_any = Wire(Vec(ICACHE_NUM_WAYS, UInt(1.W)))
val tagv_mb_ff = WireInit(UInt(ICACHE_NUM_WAYS.W), 0.U)
val tagv_mb_in = Mux(scnd_miss_req.asBool, tagv_mb_scnd_ff | (Fill(ICACHE_NUM_WAYS, scnd_miss_index_match) & replace_way_mb_any.reverse.reduce(Cat(_,_))),
Mux(miss_pending.asBool, tagv_mb_ff, io.ic.tag_valid & Fill(ICACHE_NUM_WAYS, !reset_all_tags)))
Mux(miss_pending.asBool, tagv_mb_ff, io.ic.tag_valid & Fill(ICACHE_NUM_WAYS, !reset_all_tags)))
val scnd_miss_req_q = WireInit(Bool(), false.B)
val reset_ic_ff = WireInit(Bool(), false.B)
val reset_ic_in = miss_pending & !scnd_miss_req_q & (reset_all_tags | reset_ic_ff)
@ -237,7 +237,7 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
val reset_tag_valid_for_miss = WireInit(Bool(), false.B)
val sel_mb_addr = (miss_pending & write_ic_16_bytes & !uncacheable_miss_ff) | reset_tag_valid_for_miss
val ifu_ic_rw_int_addr = Mux1H(Seq(sel_mb_addr -> Cat(imb_ff(30,ICACHE_BEAT_ADDR_HI) , ic_wr_addr_bits_hi_3 , imb_ff(1,0)),
!sel_mb_addr -> io.ifc_fetch_addr_bf))
!sel_mb_addr -> io.ifc_fetch_addr_bf))
val bus_ifu_wr_en_ff_q = WireInit(Bool(), false.B)
val sel_mb_status_addr = (miss_pending & write_ic_16_bytes & !uncacheable_miss_ff & last_beat & bus_ifu_wr_en_ff_q) | reset_tag_valid_for_miss
val ifu_status_wr_addr = Mux(sel_mb_status_addr, Cat(imb_ff(30, ICACHE_BEAT_ADDR_HI),ic_wr_addr_bits_hi_3, imb_ff(1,0)), ifu_fetch_addr_int_f)
@ -286,9 +286,9 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
val final_data_out1 = VecInit(io.ic.rd_data, ic_byp_data_only_new, io.ic.rd_data, ic_byp_data_only_new)
val final_data_out2 = VecInit(1.U, io.iccm.rd_data, 1.U, 1.U)
val ic_final_data = if(ICCM_ICACHE) Fill(64, sel_byp_data | sel_iccm_data | sel_ic_data) & io.ic.rd_data else
if (ICCM_ONLY) (Fill(64, sel_byp_data) & ic_byp_data_only_new) | (Fill(64, sel_iccm_data) & io.iccm.rd_data) else
if (ICCM_ONLY) (Fill(64, sel_byp_data) & ic_byp_data_only_new) | (Fill(64, sel_iccm_data) & io.iccm.rd_data) else
if (ICACHE_ONLY) Fill(64, sel_byp_data | sel_ic_data) & io.ic.rd_data else
if (NO_ICCM_NO_ICACHE) Fill(64, sel_byp_data) & ic_byp_data_only_new else 0.U
if (NO_ICCM_NO_ICACHE) Fill(64, sel_byp_data) & ic_byp_data_only_new else 0.U
val ic_premux_data_temp = if(ICCM_ICACHE) (Fill(64,sel_iccm_data) & io.iccm.rd_data) | (Fill(64, sel_byp_data) & ic_byp_data_only_new)
else if(ICACHE_ONLY) Fill(64, sel_byp_data) & ic_byp_data_only_new else 0.U
val ic_sel_premux_data_temp = if(ICCM_ICACHE) sel_iccm_data | sel_byp_data else if(ICACHE_ONLY) sel_byp_data else 0.U
@ -313,8 +313,8 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
val ic_miss_buff_data = Wire(Vec(2*ICACHE_NUM_BEATS, UInt(32.W)))
for(i<- 0 until ICACHE_NUM_BEATS){
val wr_data_c1_clk = write_fill_data.map(rvclkhdr(clock, _ , io.scan_mode))
ic_miss_buff_data(2*i) := withClock(wr_data_c1_clk(i)){RegNext(ic_miss_buff_data_in(31,0), 0.U)}
ic_miss_buff_data(2*i+1) := withClock(wr_data_c1_clk(i)){RegNext(ic_miss_buff_data_in(63,32), 0.U)}}
ic_miss_buff_data(2*i) := withClock(wr_data_c1_clk(i)){RegNext(ic_miss_buff_data_in(31,0), 0.U)}
ic_miss_buff_data(2*i+1) := withClock(wr_data_c1_clk(i)){RegNext(ic_miss_buff_data_in(63,32), 0.U)}}
val ic_miss_buff_data_valid = WireInit(UInt(ICACHE_NUM_BEATS.W), 0.U)
val ic_miss_buff_data_valid_in = (0 until ICACHE_NUM_BEATS).map(i=>write_fill_data(i)|(ic_miss_buff_data_valid(i)&(!ic_act_miss_f)))
ic_miss_buff_data_valid := withClock(io.free_clk){RegNext(ic_miss_buff_data_valid_in.map(i=>i.asUInt()).reverse.reduce(Cat(_,_)), 0.U)}
@ -329,16 +329,16 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
val bypass_index_5_3_inc = bypass_index(bypass_index.getWidth-1,2) + 1.U
val bypass_valid_value_check = Mux1H((0 until ICACHE_NUM_BEATS).map(i=>(bypass_index(bypass_index.getWidth-1,2)===i.U).asBool->ic_miss_buff_data_valid_in(i)))
val bypass_data_ready_in = (bypass_valid_value_check & !bypass_index(1) & !bypass_index(0)) |
(bypass_valid_value_check & !bypass_index(1) & bypass_index(0)) |
(bypass_valid_value_check & bypass_index(1) & !bypass_index(0)) |
(bypass_valid_value_check & bypass_index(1) & bypass_index(0) & Mux1H((0 until ICACHE_NUM_BEATS).map(i=>(bypass_index_5_3_inc===i.U).asBool->ic_miss_buff_data_valid_in(i)))) |
(bypass_valid_value_check & bypass_index(ICACHE_BEAT_ADDR_HI-1,2)===Fill(ICACHE_BEAT_ADDR_HI,1.U))
(bypass_valid_value_check & !bypass_index(1) & bypass_index(0)) |
(bypass_valid_value_check & bypass_index(1) & !bypass_index(0)) |
(bypass_valid_value_check & bypass_index(1) & bypass_index(0) & Mux1H((0 until ICACHE_NUM_BEATS).map(i=>(bypass_index_5_3_inc===i.U).asBool->ic_miss_buff_data_valid_in(i)))) |
(bypass_valid_value_check & bypass_index(ICACHE_BEAT_ADDR_HI-1,2)===Fill(ICACHE_BEAT_ADDR_HI,1.U))
val ic_crit_wd_rdy_new_ff = WireInit(Bool(), 0.U)
val ic_crit_wd_rdy_new_in = (bypass_data_ready_in & crit_wd_byp_ok_ff & uncacheable_miss_ff & !io.exu_flush_final & !ifu_bp_hit_taken_q_f) |
( crit_wd_byp_ok_ff & !uncacheable_miss_ff & !io.exu_flush_final & !ifu_bp_hit_taken_q_f) |
(ic_crit_wd_rdy_new_ff & crit_wd_byp_ok_ff & !fetch_req_icache_f & !io.exu_flush_final)
( crit_wd_byp_ok_ff & !uncacheable_miss_ff & !io.exu_flush_final & !ifu_bp_hit_taken_q_f) |
(ic_crit_wd_rdy_new_ff & crit_wd_byp_ok_ff & !fetch_req_icache_f & !io.exu_flush_final)
ic_crit_wd_rdy_new_ff := withClock(io.free_clk){RegNext(ic_crit_wd_rdy_new_in, 0.U)}
val byp_fetch_index = ifu_fetch_addr_int_f(ICACHE_BEAT_ADDR_HI-1,0)
val byp_fetch_index_0 = Cat(ifu_fetch_addr_int_f(ICACHE_BEAT_ADDR_HI-1,2), 0.U)
@ -348,12 +348,12 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
val byp_fetch_index_inc_1 = Cat(byp_fetch_index_inc, 1.U)
val ic_miss_buff_data_error_bypass = Mux1H((0 until ICACHE_NUM_BEATS).map(i=>(bypass_index(ICACHE_BEAT_ADDR_HI-1,2)===i.U).asBool->ic_miss_buff_data_error(i)))
val ic_miss_buff_data_error_bypass_inc = Mux1H((0 until ICACHE_NUM_BEATS).map(i=>(byp_fetch_index_inc===i.U).asBool->ic_miss_buff_data_error(i)))
ifu_byp_data_err_new := (!ifu_fetch_addr_int_f(1) & !ifu_fetch_addr_int_f(0) & ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2))) |
(!ifu_fetch_addr_int_f(1) & ifu_fetch_addr_int_f(0) & ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2))) |
(!ifu_fetch_addr_int_f(1) & ifu_fetch_addr_int_f(0) & ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2))) |
( ifu_fetch_addr_int_f(1) & !ifu_fetch_addr_int_f(0) & ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2))) |
(ifu_fetch_addr_int_f(1) & ifu_fetch_addr_int_f(0) & (ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2)) |
ic_miss_buff_data_error(byp_fetch_index_inc(ICACHE_BEAT_ADDR_HI-3,0))))
ifu_byp_data_err_new := (!ifu_fetch_addr_int_f(1) & !ifu_fetch_addr_int_f(0) & ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2))) |
(!ifu_fetch_addr_int_f(1) & ifu_fetch_addr_int_f(0) & ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2))) |
(!ifu_fetch_addr_int_f(1) & ifu_fetch_addr_int_f(0) & ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2))) |
( ifu_fetch_addr_int_f(1) & !ifu_fetch_addr_int_f(0) & ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2))) |
(ifu_fetch_addr_int_f(1) & ifu_fetch_addr_int_f(0) & (ic_miss_buff_data_error(byp_fetch_index(ICACHE_BEAT_ADDR_HI-1,2)) |
ic_miss_buff_data_error(byp_fetch_index_inc(ICACHE_BEAT_ADDR_HI-3,0))))
val ic_byp_data_only_pre_new = Mux(!ifu_fetch_addr_int_f(1).asBool,
Cat(Mux1H((0 until 2*ICACHE_NUM_BEATS).map(i=>(byp_fetch_index_inc_0===i.U).asBool->ic_miss_buff_data(i)(15,0))), Mux1H((0 until 2*ICACHE_NUM_BEATS).map(i=>(byp_fetch_index_1===i.U).asBool->ic_miss_buff_data(i)(31,0))), Mux1H((0 until 2*ICACHE_NUM_BEATS).map(i=>(byp_fetch_index_0===i.U).asBool->ic_miss_buff_data(i)(31,0)))),
Cat(Mux1H((0 until 2*ICACHE_NUM_BEATS).map(i=>(byp_fetch_index_inc_1===i.U).asBool->ic_miss_buff_data(i)(15,0))), Mux1H((0 until 2*ICACHE_NUM_BEATS).map(i=>(byp_fetch_index_inc_0===i.U).asBool->ic_miss_buff_data(i)(31,0))), Mux1H((0 until 2*ICACHE_NUM_BEATS).map(i=>(byp_fetch_index_1===i.U).asBool->ic_miss_buff_data(i)(31,0)))))
@ -458,8 +458,8 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
}
err_stop_state := withClock(io.free_clk){RegEnable(err_stop_nxtstate, 0.U, err_stop_state_en)}
bus_ifu_bus_clk_en := io.ifu_bus_clk_en
val busclk = rvclkhdr(clock, bus_ifu_bus_clk_en, io.scan_mode)
val busclk_force = rvclkhdr(clock, bus_ifu_bus_clk_en | io.dec_mem_ctrl.dec_tlu_force_halt , io.scan_mode)
val busclk = rvclkhdr(clock, bus_ifu_bus_clk_en, io.scan_mode)
val busclk_force = rvclkhdr(clock, bus_ifu_bus_clk_en | io.dec_mem_ctrl.dec_tlu_force_halt , io.scan_mode)
val bus_ifu_bus_clk_en_ff = withClock(io.free_clk){RegNext(bus_ifu_bus_clk_en, 0.U)}
scnd_miss_req_q := withClock(io.free_clk){RegNext(scnd_miss_req_in, 0.U)}
val scnd_miss_req_ff2 = withClock(io.free_clk){RegNext(scnd_miss_req, 0.U)}
@ -535,8 +535,8 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
last_data_recieved_ff := withClock(io.free_clk){RegNext(last_data_recieved_in, 0.U)}
// Request Address Count
val bus_new_rd_addr_count = Mux(!miss_pending, imb_ff(ICACHE_BEAT_ADDR_HI-1, 2),
Mux(scnd_miss_req_q, imb_scnd_ff(ICACHE_BEAT_ADDR_HI-1, 2),
Mux(bus_cmd_sent, bus_rd_addr_count + 1.U, bus_rd_addr_count)))
Mux(scnd_miss_req_q, imb_scnd_ff(ICACHE_BEAT_ADDR_HI-1, 2),
Mux(bus_cmd_sent, bus_rd_addr_count + 1.U, bus_rd_addr_count)))
bus_rd_addr_count := withClock(busclk_reset){RegNext(bus_new_rd_addr_count, 0.U)}
// Command beat Count
val bus_inc_cmd_beat_cnt = ifu_bus_cmd_valid & ifu_bus_cmd_ready & miss_pending & !io.dec_mem_ctrl.dec_tlu_force_halt
@ -630,115 +630,110 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
((miss_state===miss_wait_C) & !miss_state_en) |
((miss_state===crit_wrd_rdy_C) & !miss_state_en) |
((miss_state===crit_byp_ok_C) & miss_state_en & (miss_nxtstate===miss_wait_C)) )) |
(io.ifc_fetch_req_bf & io.exu_flush_final & !io.ifc_fetch_uncacheable_bf & !io.ifc_iccm_access_bf)
(io.ifc_fetch_req_bf & io.exu_flush_final & !io.ifc_fetch_uncacheable_bf & !io.ifc_iccm_access_bf)
val bus_ic_wr_en = WireInit(UInt(ICACHE_NUM_WAYS.W), 0.U)
io.ic.wr_en := bus_ic_wr_en & Fill(ICACHE_NUM_WAYS, write_ic_16_bytes)
io.ic_write_stall := write_ic_16_bytes & !((((miss_state===crit_byp_ok_C) | ((miss_state===stream_C) & !(io.exu_flush_final | ifu_bp_hit_taken_q_f | stream_eol_f ))) & !(bus_ifu_wr_en_ff & last_beat & !uncacheable_miss_ff)))
reset_all_tags := withClock(io.active_clk){RegNext(io.dec_mem_ctrl.dec_tlu_fence_i_wb, false.B)}
// I$ status and P-LRU
val ic_valid = !ifu_wr_cumulative_err_data & !(reset_ic_in | reset_ic_ff) & !reset_tag_valid_for_miss
val ifu_status_wr_addr_w_debug = Mux((io.ic.debug_rd_en | io.ic.debug_wr_en) & io.ic.debug_tag_array, io.ic.debug_addr(ICACHE_INDEX_HI - 3, ICACHE_TAG_INDEX_LO - 3),
ifu_status_wr_addr(ICACHE_INDEX_HI - 1, ICACHE_TAG_INDEX_LO - 1))
val ifu_status_wr_addr_ff = withClock(io.free_clk) {
RegNext(ifu_status_wr_addr_w_debug, 0.U)
}
val way_status_wr_en = WireInit(Bool(), false.B)
val way_status_wr_en_w_debug = way_status_wr_en | (io.ic.debug_wr_en & io.ic.debug_tag_array)
val way_status_wr_en_ff = withClock(io.free_clk) {
RegNext(way_status_wr_en_w_debug, false.B)
}
val way_status_new = WireInit(UInt(ICACHE_STATUS_BITS.W), 0.U)
val way_status_new_w_debug = Mux(io.ic.debug_wr_en & io.ic.debug_tag_array,
if (ICACHE_STATUS_BITS == 1) io.ic.debug_wr_data(4) else io.ic.debug_wr_data(6, 4), way_status_new)
val way_status_new_ff = withClock(io.free_clk) {
RegNext(way_status_new_w_debug, 0.U)
}
val way_status_clken = (0 until ICACHE_TAG_DEPTH / 8).map(i => ifu_status_wr_addr_ff(ICACHE_INDEX_HI - ICACHE_TAG_INDEX_LO, 3) === i.U)
val way_status_clk = way_status_clken.map(rvclkhdr(clock, _, io.scan_mode))
val way_status_out = Wire(Vec(ICACHE_TAG_DEPTH, UInt(ICACHE_STATUS_BITS.W)))
for (i <- 0 until ICACHE_TAG_DEPTH / 8; j <- 0 until 8)
way_status_out((8 * i) + j) := withClock(way_status_clk(i)){RegEnable(way_status_new_ff, 0.U, (ifu_status_wr_addr_ff(2,0)===j.U) & way_status_wr_en_ff)}
// I$ status and P-LRU
val ic_valid = !ifu_wr_cumulative_err_data & !(reset_ic_in | reset_ic_ff) & !reset_tag_valid_for_miss
val ifu_status_wr_addr_w_debug = Mux((io.ic.debug_rd_en | io.ic.debug_wr_en) & io.ic.debug_tag_array, io.ic.debug_addr(ICACHE_INDEX_HI - 3, ICACHE_TAG_INDEX_LO - 3),
ifu_status_wr_addr(ICACHE_INDEX_HI - 1, ICACHE_TAG_INDEX_LO - 1))
val ifu_status_wr_addr_ff = withClock(io.free_clk) {
RegNext(ifu_status_wr_addr_w_debug, 0.U)
}
val way_status_wr_en = WireInit(Bool(), false.B)
val way_status_wr_en_w_debug = way_status_wr_en | (io.ic.debug_wr_en & io.ic.debug_tag_array)
val way_status_wr_en_ff = withClock(io.free_clk) {
RegNext(way_status_wr_en_w_debug, false.B)
}
val way_status_new = WireInit(UInt(ICACHE_STATUS_BITS.W), 0.U)
val way_status_new_w_debug = Mux(io.ic.debug_wr_en & io.ic.debug_tag_array,
if (ICACHE_STATUS_BITS == 1) io.ic.debug_wr_data(4) else io.ic.debug_wr_data(6, 4), way_status_new)
val way_status_new_ff = withClock(io.free_clk) {
RegNext(way_status_new_w_debug, 0.U)
}
val way_status_clken = (0 until ICACHE_TAG_DEPTH / 8).map(i => ifu_status_wr_addr_ff(ICACHE_INDEX_HI - ICACHE_TAG_INDEX_LO, 3) === i.U)
val way_status_clk = way_status_clken.map(rvclkhdr(clock, _, io.scan_mode))
val way_status_out = Wire(Vec(ICACHE_TAG_DEPTH, UInt(ICACHE_STATUS_BITS.W)))
for (i <- 0 until ICACHE_TAG_DEPTH / 8; j <- 0 until 8)
way_status_out((8 * i) + j) := withClock(way_status_clk(i)){RegEnable(way_status_new_ff, 0.U, (ifu_status_wr_addr_ff(2,0)===j.U) & way_status_wr_en_ff)}
val test_way_status_out = (0 until ICACHE_TAG_DEPTH).map(i=>way_status_out(i).asUInt).reverse.reduce(Cat(_,_))
// io.test_way_status_out := test_way_status_out
// io.test_way_status_out := test_way_status_out
val test_way_status_clken = (0 until ICACHE_TAG_DEPTH/8).map(i=>way_status_clken(i).asUInt()).reverse.reduce(Cat(_,_))
//io.test_way_status_clken := test_way_status_clken
way_status := Mux1H((0 until ICACHE_TAG_DEPTH).map(i=>(ifu_ic_rw_int_addr_ff === i.U) -> way_status_out(i)))
val ifu_ic_rw_int_addr_w_debug = Mux((io.ic.debug_rd_en | io.ic.debug_wr_en) & io.ic.debug_tag_array,
io.ic.debug_addr(ICACHE_INDEX_HI - 3, ICACHE_TAG_INDEX_LO - 3), ifu_ic_rw_int_addr(ICACHE_INDEX_HI - 1, ICACHE_TAG_INDEX_LO - 1))
ifu_ic_rw_int_addr_ff := withClock(io.free_clk) {
RegNext(ifu_ic_rw_int_addr_w_debug, 0.U)
}
val ifu_tag_wren = WireInit(UInt(ICACHE_NUM_WAYS.W), 0.U)
val ic_debug_tag_wr_en = WireInit(UInt(ICACHE_NUM_WAYS.W), 0.U)
val ifu_tag_wren_w_debug = ifu_tag_wren | ic_debug_tag_wr_en
val ifu_tag_wren_ff = withClock(io.free_clk) {
RegNext(ifu_tag_wren_w_debug, 0.U)
}
val ic_valid_w_debug = Mux(io.ic.debug_wr_en & io.ic.debug_tag_array, io.ic.debug_wr_data(0), ic_valid)
val ic_valid_ff = withClock(io.free_clk) {
RegNext(ic_valid_w_debug, false.B)
}
val tag_valid_clken = (0 until (ICACHE_TAG_DEPTH / 32)).map(i => (0 until ICACHE_NUM_WAYS).map(j =>
if (ICACHE_TAG_DEPTH == 32) ifu_tag_wren_ff(j) | perr_err_inv_way(j) | reset_all_tags
else ((ifu_ic_rw_int_addr_ff(ICACHE_INDEX_HI - ICACHE_TAG_INDEX_LO, 5) === i.U) & ifu_tag_wren_ff(j)) |
((perr_ic_index_ff(ICACHE_INDEX_HI - ICACHE_TAG_INDEX_LO, 5) === i.U) & perr_err_inv_way(j)) |
reset_all_tags).reverse.reduce(Cat(_, _)))
val tag_valid_clk = (0 until ICACHE_TAG_DEPTH / 32).map(i => (0 until ICACHE_NUM_WAYS).map(j => rvclkhdr(clock, tag_valid_clken(i)(j), io.scan_mode)))
val ic_tag_valid_out = Wire(Vec(ICACHE_NUM_WAYS, Vec(ICACHE_TAG_DEPTH, Bool())))
// io.valids := Cat((0 until ICACHE_TAG_DEPTH).map(i=>ic_tag_valid_out(1)(i).asUInt()).reverse.reduce(Cat(_,_)),
// (0 until ICACHE_TAG_DEPTH).map(i=>ic_tag_valid_out(0)(i).asUInt()).reverse.reduce(Cat(_,_)))
val ifu_ic_rw_int_addr_w_debug = Mux((io.ic.debug_rd_en | io.ic.debug_wr_en) & io.ic.debug_tag_array,
io.ic.debug_addr(ICACHE_INDEX_HI - 3, ICACHE_TAG_INDEX_LO - 3), ifu_ic_rw_int_addr(ICACHE_INDEX_HI - 1, ICACHE_TAG_INDEX_LO - 1))
ifu_ic_rw_int_addr_ff := withClock(io.free_clk) {
RegNext(ifu_ic_rw_int_addr_w_debug, 0.U)
}
val ifu_tag_wren = WireInit(UInt(ICACHE_NUM_WAYS.W), 0.U)
val ic_debug_tag_wr_en = WireInit(UInt(ICACHE_NUM_WAYS.W), 0.U)
val ifu_tag_wren_w_debug = ifu_tag_wren | ic_debug_tag_wr_en
val ifu_tag_wren_ff = withClock(io.free_clk) {
RegNext(ifu_tag_wren_w_debug, 0.U)
}
val ic_valid_w_debug = Mux(io.ic.debug_wr_en & io.ic.debug_tag_array, io.ic.debug_wr_data(0), ic_valid)
val ic_valid_ff = withClock(io.free_clk) {
RegNext(ic_valid_w_debug, false.B)
}
val tag_valid_clken = (0 until (ICACHE_TAG_DEPTH / 32)).map(i => (0 until ICACHE_NUM_WAYS).map(j =>
if (ICACHE_TAG_DEPTH == 32) ifu_tag_wren_ff(j) | perr_err_inv_way(j) | reset_all_tags
else ((ifu_ic_rw_int_addr_ff(ICACHE_INDEX_HI - ICACHE_TAG_INDEX_LO, 5) === i.U) & ifu_tag_wren_ff(j)) |
((perr_ic_index_ff(ICACHE_INDEX_HI - ICACHE_TAG_INDEX_LO, 5) === i.U) & perr_err_inv_way(j)) |
reset_all_tags).reverse.reduce(Cat(_, _)))
val tag_valid_clk = (0 until ICACHE_TAG_DEPTH / 32).map(i => (0 until ICACHE_NUM_WAYS).map(j => rvclkhdr(clock, tag_valid_clken(i)(j), io.scan_mode)))
val ic_tag_valid_out = Wire(Vec(ICACHE_NUM_WAYS, Vec(ICACHE_TAG_DEPTH, Bool())))
// io.valids := Cat((0 until ICACHE_TAG_DEPTH).map(i=>ic_tag_valid_out(1)(i).asUInt()).reverse.reduce(Cat(_,_)),
// (0 until ICACHE_TAG_DEPTH).map(i=>ic_tag_valid_out(0)(i).asUInt()).reverse.reduce(Cat(_,_)))
for (i <- 0 until (ICACHE_TAG_DEPTH / 32); j <- 0 until ICACHE_NUM_WAYS; k <- 0 until 32)
ic_tag_valid_out(j)((32 * i) + k) := withClock(tag_valid_clk(i)(j)){RegEnable(ic_valid_ff & !reset_all_tags.asBool & !perr_sel_invalidate, false.B,
((((ifu_ic_rw_int_addr_ff === (k + (32 * i)).U) & ifu_tag_wren_ff(j)) | ((perr_ic_index_ff === (k + (32 * i)).U) & perr_err_inv_way(j)) | reset_all_tags)).asBool)}
for (i <- 0 until (ICACHE_TAG_DEPTH / 32); j <- 0 until ICACHE_NUM_WAYS; k <- 0 until 32)
ic_tag_valid_out(j)((32 * i) + k) := withClock(tag_valid_clk(i)(j)){RegEnable(ic_valid_ff & !reset_all_tags.asBool & !perr_sel_invalidate, false.B,
((((ifu_ic_rw_int_addr_ff === (k + (32 * i)).U) & ifu_tag_wren_ff(j)) | ((perr_ic_index_ff === (k + (32 * i)).U) & perr_err_inv_way(j)) | reset_all_tags)).asBool)}
val ic_tag_valid_unq = (0 until ICACHE_NUM_WAYS).map(k => (0 until ICACHE_TAG_DEPTH).map(j =>
Mux(ifu_ic_rw_int_addr_ff === j.U, ic_tag_valid_out(k)(j), false.B).asUInt).reduce(_|_)).reverse.reduce(Cat(_,_))
val ic_tag_valid_unq = if(ICACHE_ENABLE)(0 until ICACHE_NUM_WAYS).map(k => (0 until ICACHE_TAG_DEPTH).map(j =>
Mux(ifu_ic_rw_int_addr_ff === j.U, ic_tag_valid_out(k)(j), false.B).asUInt).reduce(_|_)).reverse.reduce(Cat(_,_))
else 0.U(ICACHE_NUM_WAYS.W)
// Making sudo LRU
val way_status_hit_new = WireInit(UInt(ICACHE_STATUS_BITS.W), 0.U)
if (ICACHE_NUM_WAYS == 4) {
replace_way_mb_any(3) := (way_status_mb_ff(2) & way_status_mb_ff(0) & tagv_mb_ff(3, 0).andR) |
(!tagv_mb_ff(3) & tagv_mb_ff(2) & tagv_mb_ff(1) & tagv_mb_ff(0))
replace_way_mb_any(2) := (!way_status_mb_ff(2) & way_status_mb_ff(0) & tagv_mb_ff(3, 0).andR) |
(!tagv_mb_ff(2) & tagv_mb_ff(1) & tagv_mb_ff(0))
replace_way_mb_any(1) := (way_status_mb_ff(1) & !way_status_mb_ff(0) & tagv_mb_ff(3, 0).andR) |
(!tagv_mb_ff(1) & tagv_mb_ff(0))
replace_way_mb_any(0) := (!way_status_mb_ff(1) & !way_status_mb_ff(0) & tagv_mb_ff(3, 0).andR) | !tagv_mb_ff(0)
// Making sudo LRU
val way_status_hit_new = WireInit(UInt(ICACHE_STATUS_BITS.W), 0.U)
if (ICACHE_NUM_WAYS == 4) {
replace_way_mb_any(3) := (way_status_mb_ff(2) & way_status_mb_ff(0) & tagv_mb_ff(3, 0).andR) |
(!tagv_mb_ff(3) & tagv_mb_ff(2) & tagv_mb_ff(1) & tagv_mb_ff(0))
replace_way_mb_any(2) := (!way_status_mb_ff(2) & way_status_mb_ff(0) & tagv_mb_ff(3, 0).andR) |
(!tagv_mb_ff(2) & tagv_mb_ff(1) & tagv_mb_ff(0))
replace_way_mb_any(1) := (way_status_mb_ff(1) & !way_status_mb_ff(0) & tagv_mb_ff(3, 0).andR) |
(!tagv_mb_ff(1) & tagv_mb_ff(0))
replace_way_mb_any(0) := (!way_status_mb_ff(1) & !way_status_mb_ff(0) & tagv_mb_ff(3, 0).andR) | !tagv_mb_ff(0)
way_status_hit_new := Mux1H(Seq(io.ic.rd_hit(0) -> Cat(way_status(2), 3.U),
io.ic.rd_hit(1) -> Cat(way_status(2), 1.U(2.W)),
io.ic.rd_hit(2) -> Cat(1.U, way_status(1), 0.U),
io.ic.rd_hit(3) -> Cat(0.U, way_status(1), 0.U)))
way_status_hit_new := Mux1H(Seq(io.ic.rd_hit(0) -> Cat(way_status(2), 3.U),
io.ic.rd_hit(1) -> Cat(way_status(2), 1.U(2.W)),
io.ic.rd_hit(2) -> Cat(1.U, way_status(1), 0.U),
io.ic.rd_hit(3) -> Cat(0.U, way_status(1), 0.U)))
way_status_rep_new := Mux1H(Seq(io.ic.rd_hit(0) -> Cat(way_status_mb_ff(2), 3.U),
io.ic.rd_hit(1) -> Cat(way_status_mb_ff(2), 1.U(2.W)),
io.ic.rd_hit(2) -> Cat(1.U, way_status_mb_ff(1), 0.U),
io.ic.rd_hit(3) -> Cat(0.U, way_status_mb_ff(1), 0.U)))
}
else {
replace_way_mb_any(0) := (!way_status_mb_ff & tagv_mb_ff(0) & tagv_mb_ff(1)) | !tagv_mb_ff(0)
replace_way_mb_any(1) := (way_status_mb_ff & tagv_mb_ff(0) & tagv_mb_ff(1)) | !tagv_mb_ff(1) & tagv_mb_ff(0)
way_status_hit_new := io.ic.rd_hit(0)
way_status_rep_new := replace_way_mb_any(0)
}
way_status_new := Mux((bus_ifu_wr_en_ff_q & last_beat).asBool, way_status_rep_new, way_status_hit_new)
way_status_wr_en := (bus_ifu_wr_en_ff_q & last_beat) | ic_act_hit_f
val bus_wren = (0 until ICACHE_NUM_WAYS).map(i => bus_ifu_wr_en_ff_q & replace_way_mb_any(i) & miss_pending)
val bus_wren_last = (0 until ICACHE_NUM_WAYS).map(i => bus_ifu_wr_en_ff_wo_err & replace_way_mb_any(i) & miss_pending & bus_last_data_beat)
val wren_reset_miss = (0 until ICACHE_NUM_WAYS).map(i => replace_way_mb_any(i) & reset_tag_valid_for_miss)
ifu_tag_wren := (0 until ICACHE_NUM_WAYS).map(i => bus_wren_last(i) | wren_reset_miss(i)).reverse.reduce(Cat(_, _))
way_status_rep_new := Mux1H(Seq(io.ic.rd_hit(0) -> Cat(way_status_mb_ff(2), 3.U),
io.ic.rd_hit(1) -> Cat(way_status_mb_ff(2), 1.U(2.W)),
io.ic.rd_hit(2) -> Cat(1.U, way_status_mb_ff(1), 0.U),
io.ic.rd_hit(3) -> Cat(0.U, way_status_mb_ff(1), 0.U)))
}
else {
replace_way_mb_any(0) := (!way_status_mb_ff & tagv_mb_ff(0) & tagv_mb_ff(1)) | !tagv_mb_ff(0)
replace_way_mb_any(1) := (way_status_mb_ff & tagv_mb_ff(0) & tagv_mb_ff(1)) | !tagv_mb_ff(1) & tagv_mb_ff(0)
way_status_hit_new := io.ic.rd_hit(0)
way_status_rep_new := replace_way_mb_any(0)
}
way_status_new := Mux((bus_ifu_wr_en_ff_q & last_beat).asBool, way_status_rep_new, way_status_hit_new)
way_status_wr_en := (bus_ifu_wr_en_ff_q & last_beat) | ic_act_hit_f
val bus_wren = if(ICACHE_ENABLE)(0 until ICACHE_NUM_WAYS).map(i => bus_ifu_wr_en_ff_q & replace_way_mb_any(i) & miss_pending)
else (0 until ICACHE_NUM_WAYS).map(i => 0.U)
val bus_wren_last = (0 until ICACHE_NUM_WAYS).map(i => bus_ifu_wr_en_ff_wo_err & replace_way_mb_any(i) & miss_pending & bus_last_data_beat)
val wren_reset_miss = (0 until ICACHE_NUM_WAYS).map(i => replace_way_mb_any(i) & reset_tag_valid_for_miss)
ifu_tag_wren := (0 until ICACHE_NUM_WAYS).map(i => bus_wren_last(i) | wren_reset_miss(i)).reverse.reduce(Cat(_, _))
bus_ic_wr_en := bus_wren.reverse.reduce(Cat(_,_))
if(!ICACHE_ENABLE){
for(i<- 0 until ICACHE_NUM_WAYS){
bus_wren(i) := 0.U
}
ic_tag_valid_unq := 0.U
way_status := 0.U
replace_way_mb_any := 0.U
replace_way_mb_any := (0 until ICACHE_NUM_WAYS).map(i =>0.U)
way_status_hit_new := 0.U
way_status_rep_new := 0.U
way_status_new := 0.U
@ -770,16 +765,17 @@ class ifu_mem_ctl extends Module with lib with RequireAsyncReset {
io.dec_mem_ctrl.ifu_ic_debug_rd_data_valid := withClock(io.free_clk){RegNext(ic_debug_rd_en_ff, 0.U)}
// Memory protection each access enable with its Mask
val ifc_region_acc_okay = !(Cat(INST_ACCESS_ENABLE0.U,INST_ACCESS_ENABLE1.U,INST_ACCESS_ENABLE2.U,INST_ACCESS_ENABLE3.U,INST_ACCESS_ENABLE4.U,INST_ACCESS_ENABLE5.U,INST_ACCESS_ENABLE6.U,INST_ACCESS_ENABLE7.U).orR()) |
(INST_ACCESS_ENABLE0.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK0).U) === (aslong(INST_ACCESS_ADDR0).U | aslong(INST_ACCESS_MASK0).U))) |
(INST_ACCESS_ENABLE1.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK1).U) === (aslong(INST_ACCESS_ADDR1).U | aslong(INST_ACCESS_MASK1).U))) |
(INST_ACCESS_ENABLE2.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK2).U) === (aslong(INST_ACCESS_ADDR2).U | aslong(INST_ACCESS_MASK2).U))) |
(INST_ACCESS_ENABLE3.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK3).U) === (aslong(INST_ACCESS_ADDR3).U | aslong(INST_ACCESS_MASK3).U))) |
(INST_ACCESS_ENABLE4.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK4).U) === (aslong(INST_ACCESS_ADDR4).U | aslong(INST_ACCESS_MASK4).U))) |
(INST_ACCESS_ENABLE5.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK5).U) === (aslong(INST_ACCESS_ADDR5).U | aslong(INST_ACCESS_MASK5).U))) |
(INST_ACCESS_ENABLE6.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK6).U) === (aslong(INST_ACCESS_ADDR6).U | aslong(INST_ACCESS_MASK6).U))) |
(INST_ACCESS_ENABLE7.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK7).U) === (aslong(INST_ACCESS_ADDR7).U | aslong(INST_ACCESS_MASK7).U)))
(INST_ACCESS_ENABLE0.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK0).U) === (aslong(INST_ACCESS_ADDR0).U | aslong(INST_ACCESS_MASK0).U))) |
(INST_ACCESS_ENABLE1.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK1).U) === (aslong(INST_ACCESS_ADDR1).U | aslong(INST_ACCESS_MASK1).U))) |
(INST_ACCESS_ENABLE2.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK2).U) === (aslong(INST_ACCESS_ADDR2).U | aslong(INST_ACCESS_MASK2).U))) |
(INST_ACCESS_ENABLE3.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK3).U) === (aslong(INST_ACCESS_ADDR3).U | aslong(INST_ACCESS_MASK3).U))) |
(INST_ACCESS_ENABLE4.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK4).U) === (aslong(INST_ACCESS_ADDR4).U | aslong(INST_ACCESS_MASK4).U))) |
(INST_ACCESS_ENABLE5.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK5).U) === (aslong(INST_ACCESS_ADDR5).U | aslong(INST_ACCESS_MASK5).U))) |
(INST_ACCESS_ENABLE6.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK6).U) === (aslong(INST_ACCESS_ADDR6).U | aslong(INST_ACCESS_MASK6).U))) |
(INST_ACCESS_ENABLE7.U & ((Cat(io.ifc_fetch_addr_bf, 0.U) | aslong(INST_ACCESS_MASK7).U) === (aslong(INST_ACCESS_ADDR7).U | aslong(INST_ACCESS_MASK7).U)))
val ifc_region_acc_fault_memory_bf = !io.ifc_iccm_access_bf & !ifc_region_acc_okay & io.ifc_fetch_req_bf
ifc_region_acc_fault_final_bf := io.ifc_region_acc_fault_bf | ifc_region_acc_fault_memory_bf
ifc_region_acc_fault_memory_f := withClock(io.free_clk){RegNext(ifc_region_acc_fault_memory_bf, false.B)}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1,36 @@
[debug] No changes
[debug] 
[debug] Initial source changes: 
[debug]  removed:Set()
[debug]  added: Set()
[debug]  modified: Set(/home/waleedbinehsan/Desktop/Quasar/design/src/main/scala/ifu/ifu_mem_ctl.scala)
[debug] Invalidated products: Set()
[debug] External API changes: API Changes: Set()
[debug] Modified binary dependencies: Set()
[debug] Initial directly invalidated classes: Set(ifu.ifu_mem_ctl, ifu.mem_ctl_io)
[debug] 
[debug] Sources indirectly invalidated by:
[debug]  product: Set()
[debug]  binary dep: Set()
[debug]  external source: Set()
[debug] All initially invalidated classes: Set(ifu.ifu_mem_ctl, ifu.mem_ctl_io)
[debug] All initially invalidated sources:Set(/home/waleedbinehsan/Desktop/Quasar/design/src/main/scala/ifu/ifu_mem_ctl.scala)
[debug] Initial set of included nodes: ifu.ifu_mem_ctl, ifu.mem_ctl_io
[info] Compiling 1 Scala source to /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes ...
[debug] Getting org.scala-sbt:compiler-bridge_2.12:1.3.5:compile for Scala 2.12.10
[debug] Getting org.scala-sbt:compiler-bridge_2.12:1.3.5:compile for Scala 2.12.10
[debug] [zinc] Running cached compiler 284ab752 for Scala compiler version 2.12.10
[debug] [zinc] The Scala compiler is invoked with:
[debug]  -Xsource:2.11
[debug]  -Xplugin:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalamacros/paradise_2.12.10/2.1.0/paradise_2.12.10-2.1.0.jar
[debug]  -bootclasspath
[debug]  /home/waleedbinehsan/.sbt/boot/scala-2.12.10/lib/scala-library.jar
[debug]  -classpath
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/edu/berkeley/cs/chisel-iotesters_2.12/1.4.1/chisel-iotesters_2.12-1.4.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/edu/berkeley/cs/chiseltest_2.12/0.2.1/chiseltest_2.12-0.2.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/edu/berkeley/cs/chisel3_2.12/3.3.1/chisel3_2.12-3.3.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/edu/berkeley/cs/firrtl_2.12/1.3.1/firrtl_2.12-1.3.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/edu/berkeley/cs/firrtl-interpreter_2.12/1.3.1/firrtl-interpreter_2.12-1.3.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/edu/berkeley/cs/treadle_2.12/1.2.1/treadle_2.12-1.2.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/junit/junit/4.13/junit-4.13.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalatest/scalatest_2.12/3.0.8/scalatest_2.12-3.0.8.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalacheck/scalacheck_2.12/1.14.3/scalacheck_2.12-1.14.3.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/scopt/scopt_2.12/3.7.1/scopt_2.12-3.7.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/utest_2.12/0.6.6/utest_2.12-0.6.6.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/edu/berkeley/cs/chisel3-macros_2.12/3.3.1/chisel3-macros_2.12-3.3.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/edu/berkeley/cs/chisel3-core_2.12/3.3.1/chisel3-core_2.12-3.3.1.jar:/home/waleedbinehsan/.sbt/boot/scala-2.12.10/lib/scala-reflect.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.9.0/protobuf-java-3.9.0.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/net/jcazevedo/moultingyaml_2.12/0.4.2/moultingyaml_2.12-0.4.2.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/json4s/json4s-native_2.12/3.6.8/json4s-native_2.12-3.6.8.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/commons/commons-text/1.8/commons-text-1.8.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-jline/2.12.1/scala-jline-2.12.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalactic/scalactic_2.12/3.0.8/scalactic_2.12-3.0.8.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.2.0/scala-xml_2.12-1.2.0.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/portable-scala/portable-scala-reflect_2.12/0.1.0/portable-scala-reflect_2.12-0.1.0.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/nscala-time/nscala-time_2.12/2.22.0/nscala-time_2.12-2.22.0.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/yaml/snakeyaml/1.26/snakeyaml-1.26.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/json4s/json4s-core_2.12/3.6.8/json4s-core_2.12-3.6.8.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/1.11/jansi-1.11.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/joda-time/joda-time/2.10.1/joda-time-2.10.1.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/joda/joda-convert/2.2.0/joda-convert-2.2.0.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/json4s/json4s-ast_2.12/3.6.8/json4s-ast_2.12-3.6.8.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/org/json4s/json4s-scalap_2.12/3.6.8/json4s-scalap_2.12-3.6.8.jar:/home/waleedbinehsan/.cache/coursier/v1/https/repo1.maven.org/maven2/com/thoughtworks/paranamer/paranamer/2.8/paranamer-2.8.jar
[debug] Scala compilation took 17.036715456 s
[debug] Done compiling.
[debug] New invalidations:
[debug]  Set()
[debug] Initial set of included nodes: 
[debug] Previously invalidated, but (transitively) depend on new invalidations:
[debug]  Set()
[debug] No classes were invalidated.

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
-157721800
447944643

View File

@ -1 +1,423 @@
[debug] Jar uptodate: /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/quasar_2.12-3.3.0.jar
[debug] Packaging /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/quasar_2.12-3.3.0.jar ...
[debug] Input file mappings:
[debug]  pic_ctrl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/pic_ctrl$$anon$1.class
[debug]  ifu
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu
[debug]  ifu/ifu_aln_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu_aln_ctl$$anon$1.class
[debug]  ifu/ifu_aln_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu_aln_ctl.class
[debug]  ifu/ifu_compress_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu_compress_ctl$$anon$1.class
[debug]  ifu/ifu_ifc_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu_ifc_ctl$$anon$1.class
[debug]  ifu/mem_ctl_io.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/mem_ctl_io.class
[debug]  ifu/ifu_mem_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu_mem_ctl.class
[debug]  ifu/ifu$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu$$anon$1.class
[debug]  ifu/ifu_ifc_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu_ifc_ctl.class
[debug]  ifu/ifu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu.class
[debug]  ifu/ifu_bp_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu_bp_ctl$$anon$1.class
[debug]  ifu/ifu_compress_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu_compress_ctl.class
[debug]  ifu/ifu_bp_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/ifu/ifu_bp_ctl.class
[debug]  quasar_wrapper.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/quasar_wrapper.class
[debug]  quasar_bundle$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/quasar_bundle$$anon$1.class
[debug]  vsrc
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc
[debug]  vsrc/ifu_iccm_mem.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/ifu_iccm_mem.sv
[debug]  vsrc/dmi_wrapper.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/dmi_wrapper.sv
[debug]  vsrc/dmi_jtag_to_core_sync.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/dmi_jtag_to_core_sync.sv
[debug]  vsrc/beh_lib.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/beh_lib.sv
[debug]  vsrc/lsu_dccm_mem.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/lsu_dccm_mem.sv
[debug]  vsrc/gated_latch.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/gated_latch.sv
[debug]  vsrc/rvjtag_tap.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/rvjtag_tap.sv
[debug]  vsrc/mem.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/mem.sv
[debug]  vsrc/mem_lib.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/mem_lib.sv
[debug]  vsrc/mem_mod.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/mem_mod.sv
[debug]  vsrc/ifu_ic_mem.sv
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/vsrc/ifu_ic_mem.sv
[debug]  lsu
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu
[debug]  lsu/lsu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu.class
[debug]  lsu/lsu_dccm_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_dccm_ctl.class
[debug]  lsu/lsu_trigger.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_trigger.class
[debug]  lsu/lsu_lsc_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_lsc_ctl.class
[debug]  lsu/lsu_ecc.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_ecc.class
[debug]  lsu/lsu_bus_buffer.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_bus_buffer.class
[debug]  lsu/lsu_stbuf$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_stbuf$$anon$1.class
[debug]  lsu/lsu_clkdomain$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_clkdomain$$anon$1.class
[debug]  lsu/lsu_lsc_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_lsc_ctl$$anon$1.class
[debug]  lsu/lsu_bus_buffer$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_bus_buffer$$anon$1.class
[debug]  lsu/lsu_clkdomain.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_clkdomain.class
[debug]  lsu/lsu_stbuf.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_stbuf.class
[debug]  lsu/lsu_ecc$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_ecc$$anon$1.class
[debug]  lsu/lsu_trigger$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_trigger$$anon$1.class
[debug]  lsu/lsu_addrcheck.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_addrcheck.class
[debug]  lsu/lsu_dccm_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_dccm_ctl$$anon$1.class
[debug]  lsu/lsu_addrcheck$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_addrcheck$$anon$1.class
[debug]  lsu/lsu_bus_intf$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_bus_intf$$anon$1.class
[debug]  lsu/lsu_bus_intf.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu_bus_intf.class
[debug]  lsu/lsu$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lsu/lsu$$anon$1.class
[debug]  pic_ctrl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/pic_ctrl.class
[debug]  wrapper$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/wrapper$.class
[debug]  quasar.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/quasar.class
[debug]  .vscode
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/.vscode
[debug]  .vscode/settings.json
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/.vscode/settings.json
[debug]  wrapper$delayedInit$body.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/wrapper$delayedInit$body.class
[debug]  wrapper.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/wrapper.class
[debug]  exu
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/exu
[debug]  exu/exu$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/exu/exu$$anon$1.class
[debug]  exu/exu_div_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/exu/exu_div_ctl$$anon$1.class
[debug]  exu/exu_alu_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/exu/exu_alu_ctl$$anon$1.class
[debug]  exu/exu_alu_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/exu/exu_alu_ctl.class
[debug]  exu/exu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/exu/exu.class
[debug]  exu/exu_mul_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/exu/exu_mul_ctl.class
[debug]  exu/exu_mul_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/exu/exu_mul_ctl$$anon$1.class
[debug]  exu/exu_div_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/exu/exu_div_ctl.class
[debug]  dbg
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dbg
[debug]  dbg/state_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dbg/state_t.class
[debug]  dbg/sb_state_t$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dbg/sb_state_t$.class
[debug]  dbg/sb_state_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dbg/sb_state_t.class
[debug]  dbg/dbg$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dbg/dbg$$anon$1.class
[debug]  dbg/dbg_dma.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dbg/dbg_dma.class
[debug]  dbg/dbg.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dbg/dbg.class
[debug]  dbg/state_t$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dbg/state_t$.class
[debug]  lib
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib
[debug]  lib/lib$rvdffe$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$rvdffe$.class
[debug]  lib/lib$rvclkhdr.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$rvclkhdr.class
[debug]  lib/lib$rvecc_encode.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$rvecc_encode.class
[debug]  lib/lib$gated_latch$$anon$4.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$gated_latch$$anon$4.class
[debug]  lib/axi4_to_ahb_IO.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/axi4_to_ahb_IO.class
[debug]  lib/lib.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib.class
[debug]  lib/axi4_to_ahb$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/axi4_to_ahb$.class
[debug]  lib/lib$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$$anon$1.class
[debug]  lib/lib$rvecc_encode_64.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$rvecc_encode_64.class
[debug]  lib/ahb_to_axi4.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/ahb_to_axi4.class
[debug]  lib/lib$rvecc_encode_64$$anon$3.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$rvecc_encode_64$$anon$3.class
[debug]  lib/ahb_to_axi4$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/ahb_to_axi4$$anon$1.class
[debug]  lib/lib$rvsyncss$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$rvsyncss$.class
[debug]  lib/lib$gated_latch.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$gated_latch.class
[debug]  lib/ahb_to_axi4$$anon$1$$anon$2.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/ahb_to_axi4$$anon$1$$anon$2.class
[debug]  lib/lib$rvclkhdr$$anon$5.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$rvclkhdr$$anon$5.class
[debug]  lib/lib$rvecc_encode$$anon$2.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$rvecc_encode$$anon$2.class
[debug]  lib/axi4_to_ahb.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/axi4_to_ahb.class
[debug]  lib/param.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/param.class
[debug]  lib/lib$rvclkhdr$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/lib/lib$rvclkhdr$.class
[debug]  quasar_wrapper$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/quasar_wrapper$$anon$1.class
[debug]  dmi
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dmi
[debug]  dmi/dmi_wrapper_module.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dmi/dmi_wrapper_module.class
[debug]  dmi/dmi_wrapper_module$$anon$2.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dmi/dmi_wrapper_module$$anon$2.class
[debug]  dmi/dmi_wrapper.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dmi/dmi_wrapper.class
[debug]  dmi/dmi_wrapper$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dmi/dmi_wrapper$$anon$1.class
[debug]  dma_ctrl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dma_ctrl.class
[debug]  mem
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/mem
[debug]  mem/Mem_bundle.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/mem/Mem_bundle.class
[debug]  mem/blackbox_mem.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/mem/blackbox_mem.class
[debug]  mem/quasar.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/mem/quasar.class
[debug]  mem/mem_lsu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/mem/mem_lsu.class
[debug]  mem/quasar$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/mem/quasar$.class
[debug]  mem/quasar$mem.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/mem/quasar$mem.class
[debug]  quasar_bundle.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/quasar_bundle.class
[debug]  dma_ctrl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dma_ctrl$$anon$1.class
[debug]  include
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include
[debug]  include/dctl_dma.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dctl_dma.class
[debug]  include/exu_ifu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/exu_ifu.class
[debug]  include/trace_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/trace_pkt_t.class
[debug]  include/lsu_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/lsu_pkt_t.class
[debug]  include/div_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/div_pkt_t.class
[debug]  include/write_resp.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/write_resp.class
[debug]  include/lsu_error_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/lsu_error_pkt_t.class
[debug]  include/read_addr.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/read_addr.class
[debug]  include/ahb_out_dma.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ahb_out_dma.class
[debug]  include/dest_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dest_pkt_t.class
[debug]  include/dbg_ib.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dbg_ib.class
[debug]  include/reg_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/reg_pkt_t.class
[debug]  include/tlu_exu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/tlu_exu.class
[debug]  include/inst_pkt_t$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/inst_pkt_t$.class
[debug]  include/tlu_dma.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/tlu_dma.class
[debug]  include/write_addr$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/write_addr$.class
[debug]  include/axi_channels.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/axi_channels.class
[debug]  include/ahb_out.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ahb_out.class
[debug]  include/ic_mem.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ic_mem.class
[debug]  include/write_addr.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/write_addr.class
[debug]  include/iccm_mem.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/iccm_mem.class
[debug]  include/aln_dec.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/aln_dec.class
[debug]  include/tlu_busbuff.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/tlu_busbuff.class
[debug]  include/trap_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/trap_pkt_t.class
[debug]  include/dma_lsc_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dma_lsc_ctl.class
[debug]  include/mul_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/mul_pkt_t.class
[debug]  include/ib_exu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ib_exu.class
[debug]  include/ccm_ext_in_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ccm_ext_in_pkt_t.class
[debug]  include/dbg_dctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dbg_dctl.class
[debug]  include/dec_div.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_div.class
[debug]  include/dec_exu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_exu.class
[debug]  include/decode_exu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/decode_exu.class
[debug]  include/dec_dma.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_dma.class
[debug]  include/ic_data_ext_in_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ic_data_ext_in_pkt_t.class
[debug]  include/dec_ifc.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_ifc.class
[debug]  include/ifu_dec.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ifu_dec.class
[debug]  include/ahb_channel.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ahb_channel.class
[debug]  include/lsu_pic.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/lsu_pic.class
[debug]  include/dctl_busbuff.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dctl_busbuff.class
[debug]  include/dec_aln.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_aln.class
[debug]  include/dma_ifc.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dma_ifc.class
[debug]  include/dccm_ext_in_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dccm_ext_in_pkt_t.class
[debug]  include/ifu_dma.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ifu_dma.class
[debug]  include/br_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/br_pkt_t.class
[debug]  include/lsu_tlu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/lsu_tlu.class
[debug]  include/dec_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_pkt_t.class
[debug]  include/aln_ib.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/aln_ib.class
[debug]  include/read_data$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/read_data$.class
[debug]  include/cache_debug_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/cache_debug_pkt_t.class
[debug]  include/load_cam_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/load_cam_pkt_t.class
[debug]  include/dec_mem_ctrl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_mem_ctrl.class
[debug]  include/ahb_in.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ahb_in.class
[debug]  include/axi_channels$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/axi_channels$.class
[debug]  include/ic_tag_ext_in_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/ic_tag_ext_in_pkt_t.class
[debug]  include/gpr_exu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/gpr_exu.class
[debug]  include/inst_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/inst_pkt_t.class
[debug]  include/dec_bp.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_bp.class
[debug]  include/dec_pic.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_pic.class
[debug]  include/lsu_exu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/lsu_exu.class
[debug]  include/lsu_dma.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/lsu_dma.class
[debug]  include/class_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/class_pkt_t.class
[debug]  include/dma_mem_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dma_mem_ctl.class
[debug]  include/dec_dbg.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_dbg.class
[debug]  include/dma_dccm_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dma_dccm_ctl.class
[debug]  include/predict_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/predict_pkt_t.class
[debug]  include/br_tlu_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/br_tlu_pkt_t.class
[debug]  include/exu_bp.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/exu_bp.class
[debug]  include/dec_tlu_csr_pkt.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_tlu_csr_pkt.class
[debug]  include/trigger_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/trigger_pkt_t.class
[debug]  include/dec_alu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/dec_alu.class
[debug]  include/lsu_dec.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/lsu_dec.class
[debug]  include/read_data.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/read_data.class
[debug]  include/write_data.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/write_data.class
[debug]  include/alu_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/alu_pkt_t.class
[debug]  include/rets_pkt_t.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/rets_pkt_t.class
[debug]  include/read_addr$.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/include/read_addr$.class
[debug]  dec
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec
[debug]  dec/dec_trigger$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_trigger$$anon$1.class
[debug]  dec/dec_IO.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_IO.class
[debug]  dec/CSR_VAL.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/CSR_VAL.class
[debug]  dec/dec_ib_ctl_IO.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_ib_ctl_IO.class
[debug]  dec/dec_tlu_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_tlu_ctl.class
[debug]  dec/dec_timer_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_timer_ctl.class
[debug]  dec/dec_dec_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_dec_ctl$$anon$1.class
[debug]  dec/dec_gpr_ctl_IO.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_gpr_ctl_IO.class
[debug]  dec/dec_ib_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_ib_ctl.class
[debug]  dec/CSR_IO.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/CSR_IO.class
[debug]  dec/dec_decode_ctl$$anon$1.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_decode_ctl$$anon$1.class
[debug]  dec/dec_decode_csr_read.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_decode_csr_read.class
[debug]  dec/dec.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec.class
[debug]  dec/dec_decode_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_decode_ctl.class
[debug]  dec/dec_trigger.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_trigger.class
[debug]  dec/csr_tlu.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/csr_tlu.class
[debug]  dec/dec_dec_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_dec_ctl.class
[debug]  dec/dec_gpr_ctl.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_gpr_ctl.class
[debug]  dec/CSRs.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/CSRs.class
[debug]  dec/dec_decode_csr_read_IO.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_decode_csr_read_IO.class
[debug]  dec/dec_tlu_ctl_IO.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_tlu_ctl_IO.class
[debug]  dec/dec_timer_ctl_IO.class
[debug]  /home/waleedbinehsan/Desktop/Quasar/design/target/scala-2.12/classes/dec/dec_timer_ctl_IO.class
[debug] Done packaging.

39
verif/LEC/config.py Normal file
View File

@ -0,0 +1,39 @@
import re
infile= open("./configs/snapshots/default/param.vh",'r')
params = []
lines = infile.readlines()
for line in lines:
patern_1=re.match(r'(.*):(.*)' , line )
if ((patern_1)):
lesson_group2=patern_1.group(1)
splittedl = lesson_group2.split()
split_data=''
for x in splittedl:
split_data=split_data+" "+x
lesson_group3=patern_1.group(2)
splittedl2 = lesson_group3.split()
split_data2=''
for x in splittedl2:
split_data2=split_data2+" "+x
else:
continue
params.append(split_data+" = " + split_data2)
#writing to a file
filename2 = "./verif/LEC/LEC_RTL/Golden_RTL/parameter.sv"
#w+ tells python we are opening the file to write into it
outfile = open(filename2, 'w+')
outfile.write("#(parameter"+"\n")
outfile.write("\t"+" AWIDTH = 7,"+"\n")
outfile.write("\t"+" TAG = 1'h1,"+"\n")
for x in params:
if ("DCCM_INDEX_BITS") in x:
y="// " + "DCCM_INDEX_BITS = 4'hC ,"
outfile.write("\t"+str(y)+"\n")
else:
outfile.write("\t"+str(x)+"\n")
outfile.write(")"+"\n")
outfile.close() #Close file
print("Done...!")