BPU-TOP Final Report

This commit is contained in:
yunlongLi 2024-10-27 21:22:34 +08:00
parent 5faebaa684
commit c7465f3f65
271 changed files with 147014 additions and 713 deletions

View File

@ -2,5 +2,5 @@ import os
ROOT_PATH = os.path.dirname(os.path.abspath(__file__))+"/../../"
TESTS_PATH = ROOT_PATH + "tests/"
DUT_PATH = ROOT_PATH + "out/picker_out_BPUTop/"
FTB_PATH = ROOT_PATH + "tests/bpu_top/env/"
#os.sys.path.append(DUT_PATH)

514
tests/bpu_top/env/bpu_agent.py vendored Normal file
View File

@ -0,0 +1,514 @@
#from mlvp import Bundle, Signals
from mlvp import *
import mlvp
from config import *
import os
os.sys.path.append(TESTS_PATH)
os.sys.path.append(DUT_PATH)
from UT_Predictor import *
import random
ENV_PATH = os.path.dirname(os.path.abspath(__file__))+"/../"
os.sys.path.append(ENV_PATH)
from mlvp.agent import *
from env.bpu_bundle import *
###########################################################################################
#################################################### Agent ################################
###########################################################################################
class SubPrediCtrlAgent(Agent):
#Self-define var
en_dict = {
'ubtb_en' : 1,
'btb_en' : 1,
'tage_en' : 1,
'sc_en' : 1,
'ras_en' : 1
}
def __init__(self, bundle: SubPrediCtrlBundle):
super().__init__(bundle.step)
self.bundle = bundle
#Self-define func
@driver_method()
async def reset(self, step=1, reset_vector=0x1000):
self.bundle.set_all(0)
self.bundle.reset.value = 1
self.bundle.io_reset_vector.value = reset_vector
await self.bundle.step(step)
self.bundle.reset.value = 0
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
@driver_method()
async def set_sub_predic_ctrl_en(self, en_dict: dict = en_dict):
# async def set_sub_predic_ctrl_en(self,dut, en_dict: dict):
print("set_sub_predic_ctrl_en Begin exec")
# mlvp.start_clock(dut)
self.bundle.io_ctrl_ubtb_enable.value = en_dict['ubtb_en']
self.bundle.io_ctrl_btb_enable.value = en_dict['btb_en']
self.bundle.io_ctrl_tage_enable.value = en_dict['tage_en']
self.bundle.io_ctrl_sc_enable.value = en_dict['sc_en']
self.bundle.io_ctrl_ras_enable.value = en_dict['ras_en']
# why the clock is sync with DUT's clock
await self.bundle.step()
## 2 Can't use monitor_method
@monitor_method()
async def mon_ubtb_enable(self):
if self.bundle.io_ctrl_ubtb_enable.value > 0:
print(self.bundle.io_ctrl_ubtb_enable.value)
return self.bundle.as_dict()
## update_FTB_entry Signals
class Ftq2BpuUpdateFtbEntryAgent(Agent):
#Self-define var
update_ftb_entry_dict = {
'ftb_entry_valid' : 1,
'tailSlot_valid' : 1,
'tailSlot_tarStat' : 0b10,
'tailSlot_sharing' : 1,
'tailSlot_offset' : 0b0100,
'tailSlot_lower' : 0x20,
'pftAddr' : 0b1000,
'may_be_rvi_call' : 1,
'isRet' : 1,
'isJalr' : 1,
'isCall' : 1,
'carry' : 1,
'always_taken_0' : 1,
'always_taken_1' : 1,
'brSlots_0_valid' : 1,
'brSlots_0_tarStat' : 0b10,
'brSlots_0_sharing' : 1,
'brSlots_0_offset' : 0b0100,
'brSlots_0_lower' : 0x200
}
def __init__(self,bundle: Ftq2BpuUpdateFtbEntryBundle):
super().__init__(bundle.step)
self.bundle = bundle
@driver_method()
async def reset(self, step=1, reset_vector=0x1000):
self.bundle.set_all(0)
self.bundle.reset.value = 1
self.bundle.io_reset_vector.value = reset_vector
await self.bundle.step(step)
self.bundle.reset.value = 0
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
@driver_method()
async def set_update_ftb_entry_value(self, update_pc = 0x1280, update_ftb_entry_dict: dict = update_ftb_entry_dict):
#demo update_ftb_entry_dict
self.bundle.io_ftq_to_bpu_update_valid.value = 1
self.bundle.io_ftq_to_bpu_update_bits_pc.value = update_pc
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_valid.value = update_ftb_entry_dict['ftb_entry_valid']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_valid.value = update_ftb_entry_dict['tailSlot_valid']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_offset.value = update_ftb_entry_dict['tailSlot_offset']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_lower.value = update_ftb_entry_dict['tailSlot_lower']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_tarStat.value = update_ftb_entry_dict['tailSlot_tarStat']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_sharing.value = update_ftb_entry_dict['tailSlot_sharing']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_valid.value = update_ftb_entry_dict['brSlots_0_valid']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_offset.value = update_ftb_entry_dict['brSlots_0_offset']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_lower.value = update_ftb_entry_dict['brSlots_0_lower']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_sharing.value = update_ftb_entry_dict['brSlots_0_sharing']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_tarStat.value = update_ftb_entry_dict['brSlots_0_tarStat']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_pftAddr.value = update_ftb_entry_dict['pftAddr']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_carry.value = update_ftb_entry_dict['carry']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_isCall.value = update_ftb_entry_dict['isCall']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_isRet.value = update_ftb_entry_dict['isRet']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_isJalr.value = update_ftb_entry_dict['isJalr']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_last_may_be_rvi_call.value = update_ftb_entry_dict['may_be_rvi_call']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_always_taken_0.value= update_ftb_entry_dict['always_taken_0']
self.bundle.io_ftq_to_bpu_update_bits_ftb_entry_always_taken_1.value= update_ftb_entry_dict['always_taken_1']
await self.bundle.step(1)
self.bundle.set_all(0)
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
#@driver_method()
#async def set_update_valid_and_pc(self, update_valid = 1, update_bits_pc = 0x2000):
# self.bundle.io_ftq_to_bpu_update_valid.value = update_valid
# self.bundle.io_ftq_to_bpu_update_bits_pc.value = update_bits_pc
# await self.bundle.step(1)
# self.bundle.io_ftq_to_bpu_update_valid.value = 0
# self.bundle.io_ftq_to_bpu_update_bits_pc.value = 0
class Ftq2BpuUpdateOtherAgent(Agent):
## Varia
update_other_dict = {
'cfi_idx_valid' : 1,
'cfi_idx_bits' : 0b1000,
'br_taken_mask_0' : 1,
'br_taken_mask_1' : 1,
'jmp_taken' : 1,
'mispred_mask_0' : 1,
'mispred_mask_1' : 1,
'mispred_mask_2' : 1,
'old_entry' : 1,
'meta' : 1,
'full_target' : 1
}
##__init__
def __init__(self,bundle: Ftq2BpuUpdateOtherBundle):
super().__init__(bundle.step)
self.bundle = bundle
@driver_method()
async def reset(self, step=1, reset_vector=0x1000):
self.bundle.set_all(0)
self.bundle.reset.value = 1
self.bundle.io_reset_vector.value = reset_vector
await self.bundle.step(step)
self.bundle.reset.value = 0
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
@driver_method()
async def set_update_other_value(self,update_pc = 0x1280 ,update_other_dict: dict = update_other_dict ):
#demo update_ftb_entry_dict
self.bundle.io_ftq_to_bpu_update_valid.value = 1
self.bundle.io_ftq_to_bpu_update_bits_pc.value = update_pc
self.bundle.io_ftq_to_bpu_update_bits_cfi_idx_valid.value = update_other_dict['cfi_idx_valid']
self.bundle.io_ftq_to_bpu_update_bits_cfi_idx_bits.value = update_other_dict['cfi_idx_bits']
self.bundle.io_ftq_to_bpu_update_bits_br_taken_mask_0.value = update_other_dict['br_taken_mask_0']
self.bundle.io_ftq_to_bpu_update_bits_br_taken_mask_1.value = update_other_dict['br_taken_mask_1']
self.bundle.io_ftq_to_bpu_update_bits_jmp_taken.value = update_other_dict['jmp_taken']
self.bundle.io_ftq_to_bpu_update_bits_mispred_mask_0.value = update_other_dict['mispred_mask_0']
self.bundle.io_ftq_to_bpu_update_bits_mispred_mask_1.value = update_other_dict['mispred_mask_1']
self.bundle.io_ftq_to_bpu_update_bits_mispred_mask_2.value = update_other_dict['mispred_mask_2']
self.bundle.io_ftq_to_bpu_update_bits_old_entry.value = update_other_dict['old_entry']
self.bundle.io_ftq_to_bpu_update_bits_meta.value = update_other_dict['meta']
self.bundle.io_ftq_to_bpu_update_bits_full_target.value = update_other_dict['full_target']
await self.bundle.step(1)
self.bundle.set_all(0)
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
class Ftq2BpuUpdateFoldHistAgent(Agent):
## Varia
update_fold_hist_dict = {
'folded_hist_1' : 0b1111,
'folded_hist_2' : 0b1111,
'folded_hist_3' : 0b1111,
'folded_hist_4' : 0b1111,
'folded_hist_5' : 0b1111,
'folded_hist_6' : 0b1111,
'folded_hist_7' : 0b1111,
'folded_hist_8' : 0b1111,
'folded_hist_9' : 0b1111,
'folded_hist_10' : 0b1011,
'folded_hist_11' : 0b1011,
'folded_hist_12' : 0b1011,
'folded_hist_13' : 0b1011,
'folded_hist_14' : 0b1011,
'folded_hist_15' : 0b1011,
'folded_hist_16' : 0b1011,
'folded_hist_17' : 0b1011
}
## Method
def __init__(self,bundle: Ftq2BpuUpdateFoldHistBundle):
super().__init__(bundle.step)
self.bundle = bundle
@driver_method()
async def reset(self, step=1, reset_vector=0x1000):
self.bundle.set_all(0)
self.bundle.reset.value = 1
self.bundle.io_reset_vector.value = reset_vector
await self.bundle.step(step)
self.bundle.reset.value = 0
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
@driver_method()
async def set_update_fold_hist_value(self, update_pc = 0x1280, hist_dict: dict = update_fold_hist_dict):
self.bundle.io_ftq_to_bpu_update_valid.value = 1
self.bundle.io_ftq_to_bpu_update_bits_pc.value = update_pc
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_17_folded_hist.value = hist_dict['folded_hist_17']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_16_folded_hist.value = hist_dict['folded_hist_16']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_15_folded_hist.value = hist_dict['folded_hist_15']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_14_folded_hist.value = hist_dict['folded_hist_14']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_13_folded_hist.value = hist_dict['folded_hist_13']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_12_folded_hist.value = hist_dict['folded_hist_12']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_11_folded_hist.value = hist_dict['folded_hist_11']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_10_folded_hist.value = hist_dict['folded_hist_10']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_9_folded_hist.value = hist_dict['folded_hist_9']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_8_folded_hist.value = hist_dict['folded_hist_8']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_7_folded_hist.value = hist_dict['folded_hist_7']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_6_folded_hist.value = hist_dict['folded_hist_6']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_5_folded_hist.value = hist_dict['folded_hist_5']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_4_folded_hist.value = hist_dict['folded_hist_4']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_3_folded_hist.value = hist_dict['folded_hist_3']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_2_folded_hist.value = hist_dict['folded_hist_2']
self.bundle.io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_1_folded_hist.value = hist_dict['folded_hist_1']
await self.bundle.step(1)
self.bundle.set_all(0)
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
class Ftq2BpuRedirectOtherAgent(Agent):
## Varia
rediretc_ohter_dict = {
'level' : 1,
'cfiUpdate_pc' : 0x1280,
'cfiUpdate_pd_isRVC' : 1,
'cfiUpdate_pd_isCall' : 1,
'cfiUpdate_pd_isRet' : 1,
'cfiUpdate_ssp' : 1,
'cfiUpdate_sctr' : 1,
'cfiUpdate_TOSW_flag' : 1,
'cfiUpdate_TOSW_value' : 1,
'cfiUpdate_TOSR_flag' : 1,
'cfiUpdate_TOSR_value' : 1,
'cfiUpdate_NOS_flag' : 1,
'cfiUpdate_NOS_value' : 1,
'cfiUpdate_lastBrNumOH' : 1,
'cfiUpdate_histPtr_flag': 1,
'cfiUpdate_histPtr_value':1,
'cfiUpdate_target' : 1,
'cfiUpdate_taken' : 1,
'cfiUpdate_shift' : 1,
'cfiUpdate_addIntoHist' : 1
}
## Method
def __init__(self,bundle: Ftq2BpuRedirectOtherBundle):
super().__init__(bundle.step)
self.bundle = bundle
@driver_method()
async def reset(self, step=1, reset_vector=0x1000):
self.bundle.set_all(0)
self.bundle.reset.value = 1
self.bundle.io_reset_vector.value = reset_vector
await self.bundle.step(step)
self.bundle.reset.value = 0
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
@driver_method()
async def set_redirect_other_value(self, rediretc_ohter_dict: dict = rediretc_ohter_dict):
self.bundle.io_ftq_to_bpu_redirect_valid.value = 1
self.bundle.io_ftq_to_bpu_redirect_bits_level.value = rediretc_ohter_dict['level']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_pc.value = rediretc_ohter_dict['cfiUpdate_pc']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_pd_isRVC.value = rediretc_ohter_dict['cfiUpdate_pd_isRVC']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_pd_isCall.value = rediretc_ohter_dict['cfiUpdate_pd_isCall']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_pd_isRet.value = rediretc_ohter_dict['cfiUpdate_pd_isRet']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_ssp.value = rediretc_ohter_dict['cfiUpdate_ssp']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_sctr.value = rediretc_ohter_dict['cfiUpdate_sctr']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_TOSW_flag.value = rediretc_ohter_dict['cfiUpdate_TOSW_flag']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_TOSW_value.value = rediretc_ohter_dict['cfiUpdate_TOSW_value']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_TOSR_flag.value = rediretc_ohter_dict['cfiUpdate_TOSR_flag']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_TOSR_value.value = rediretc_ohter_dict['cfiUpdate_TOSR_value']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_NOS_flag.value = rediretc_ohter_dict['cfiUpdate_NOS_flag']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_NOS_value.value = rediretc_ohter_dict['cfiUpdate_NOS_value']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_lastBrNumOH.value = rediretc_ohter_dict['cfiUpdate_lastBrNumOH']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_histPtr_flag.value= rediretc_ohter_dict['cfiUpdate_histPtr_flag']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_histPtr_value.value=rediretc_ohter_dict['cfiUpdate_histPtr_value']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_target.value = rediretc_ohter_dict['cfiUpdate_target']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_taken.value = rediretc_ohter_dict['cfiUpdate_taken']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_shift.value = rediretc_ohter_dict['cfiUpdate_shift']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_addIntoHist.value = rediretc_ohter_dict['cfiUpdate_addIntoHist']
await self.bundle.step(1)
self.bundle.set_all(0)
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
class Ftq2BpuRedirectFoldHistAgent(Agent):
## Varia
redirect_fold_hist_dict = {
'cfiUpdate_folded_hist_0' : 0b100,
'cfiUpdate_folded_hist_1' : 0b100,
'cfiUpdate_folded_hist_2' : 0b100,
'cfiUpdate_folded_hist_3' : 0b100,
'cfiUpdate_folded_hist_4' : 0b100,
'cfiUpdate_folded_hist_5' : 0b100,
'cfiUpdate_folded_hist_6' : 0b100,
'cfiUpdate_folded_hist_7' : 0b100,
'cfiUpdate_folded_hist_8' : 0b100,
'cfiUpdate_folded_hist_9' : 0b100,
'cfiUpdate_folded_hist_10': 0b100,
'cfiUpdate_folded_hist_11': 0b100,
'cfiUpdate_folded_hist_12': 0b100,
'cfiUpdate_folded_hist_13': 0b100,
'cfiUpdate_folded_hist_14': 0b100,
'cfiUpdate_folded_hist_15': 0b100,
'cfiUpdate_folded_hist_16': 0b100,
'cfiUpdate_folded_hist_17': 0b100
}
## Method
def __init__(self,bundle: Ftq2BpuRedirectFoldHistBundle):
super().__init__(bundle.step)
self.bundle = bundle
@driver_method()
async def reset(self, step=1, reset_vector=0x1000):
self.bundle.set_all(0)
self.bundle.reset.value = 1
self.bundle.io_reset_vector.value = reset_vector
await self.bundle.step(step)
self.bundle.reset.value = 0
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
@driver_method()
async def set_redirect_fold_hist_value(self, fold_hist_dict: dict = redirect_fold_hist_dict):
self.bundle.io_ftq_to_bpu_redirect_valid.value = 1
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_17_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_17']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_16_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_16']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_15_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_15']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_14_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_14']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_13_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_13']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_12_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_12']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_11_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_11']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_10_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_10']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_9_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_9']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_8_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_8']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_7_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_7']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_6_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_6']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_5_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_5']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_4_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_4']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_3_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_3']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_2_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_2']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_1_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_1']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_0_folded_hist.value = fold_hist_dict['cfiUpdate_folded_hist_0']
await self.bundle.step(1)
self.bundle.set_all(0)
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
class Ftq2BpuRedirectAfhobAgent(Agent):
## Varia
redirect_afhob_dict = {
'afhob_0_bits_0' : 0b1,
'afhob_0_bits_1' : 0b1,
'afhob_0_bits_2' : 0b1,
'afhob_0_bits_3' : 0b1,
'afhob_1_bits_0' : 0b1,
'afhob_1_bits_1' : 0b1,
'afhob_1_bits_2' : 0b1,
'afhob_1_bits_3' : 0b1,
'afhob_2_bits_0' : 0b1,
'afhob_2_bits_1' : 0b1,
'afhob_2_bits_2' : 0b1,
'afhob_2_bits_3' : 0b1,
'afhob_3_bits_0' : 0b1,
'afhob_3_bits_1' : 0b1,
'afhob_3_bits_2' : 0b1,
'afhob_3_bits_3' : 0b1,
'afhob_4_bits_0' : 0b1,
'afhob_4_bits_1' : 0b1,
'afhob_4_bits_2' : 0b1,
'afhob_5_bits_0' : 0b1,
'afhob_5_bits_1' : 0b1,
'afhob_5_bits_2' : 0b1,
'afhob_5_bits_3' : 0b1
}
## Method
def __init__(self,bundle: Ftq2BpuRedirectAfhobBundle):
super().__init__(bundle.step)
self.bundle = bundle
@driver_method()
async def reset(self, step=1, reset_vector=0x1000):
self.bundle.set_all(0)
self.bundle.reset.value = 1
self.bundle.io_reset_vector.value = reset_vector
await self.bundle.step(step)
self.bundle.reset.value = 0
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
@driver_method()
async def set_redirect_afhob_value(self, afhob_dict: dict = redirect_afhob_dict):
self.bundle.io_ftq_to_bpu_redirect_valid.value = 1
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_5_bits_0.value = afhob_dict['afhob_5_bits_0']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_5_bits_1.value = afhob_dict['afhob_5_bits_1']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_5_bits_2.value = afhob_dict['afhob_5_bits_2']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_5_bits_3.value = afhob_dict['afhob_5_bits_3']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_4_bits_0.value = afhob_dict['afhob_4_bits_0']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_4_bits_1.value = afhob_dict['afhob_4_bits_1']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_4_bits_2.value = afhob_dict['afhob_4_bits_2']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_3_bits_0.value = afhob_dict['afhob_3_bits_0']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_3_bits_1.value = afhob_dict['afhob_3_bits_1']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_3_bits_2.value = afhob_dict['afhob_3_bits_2']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_3_bits_3.value = afhob_dict['afhob_3_bits_3']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_2_bits_0.value = afhob_dict['afhob_2_bits_0']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_2_bits_1.value = afhob_dict['afhob_2_bits_1']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_2_bits_2.value = afhob_dict['afhob_2_bits_2']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_2_bits_3.value = afhob_dict['afhob_2_bits_3']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_1_bits_0.value = afhob_dict['afhob_1_bits_0']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_1_bits_1.value = afhob_dict['afhob_1_bits_1']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_1_bits_2.value = afhob_dict['afhob_1_bits_2']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_1_bits_3.value = afhob_dict['afhob_1_bits_3']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_0_bits_0.value = afhob_dict['afhob_0_bits_0']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_0_bits_1.value = afhob_dict['afhob_0_bits_1']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_0_bits_2.value = afhob_dict['afhob_0_bits_2']
self.bundle.io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_0_bits_3.value = afhob_dict['afhob_0_bits_3']
await self.bundle.step(1)
self.bundle.set_all(0)
self.bundle.io_bpu_to_ftq_resp_ready.value = 1
################################ Only for agent_test#################0
async def agent_test():
sub_predic_ctrl_bundle = SubPrediCtrlBundle()
dut: DUTPredictor = DUTPredictor()
sub_predic_ctrl_bundle.bind(dut)
sub_predi_ctrl_agent = SubPrediCtrlAgent(sub_predic_ctrl_bundle)
enable_dict = {
'ubtb_en' : 1,
'btb_en' : 1,
'tage_en' : 1,
'sc_en' : 1,
'ras_en' : 1
}
# print(enable_dict)
## 1 Can't use driver_method
mlvp.run(sub_predi_ctrl_agent.set_sub_predic_ctrl_en(dut, enable_dict))
spec_info_dict = {
'spec_info_folded_hist_hist_17_folded_hist' : 1,
'spec_info_folded_hist_hist_16_folded_hist' : 1,
'spec_info_folded_hist_hist_15_folded_hist' : 1,
'spec_info_folded_hist_hist_14_folded_hist' : 1,
'spec_info_folded_hist_hist_13_folded_hist' : 1,
'spec_info_folded_hist_hist_12_folded_hist' : 1,
'spec_info_folded_hist_hist_11_folded_hist' : 1,
'spec_info_folded_hist_hist_10_folded_hist' : 1,
'spec_info_folded_hist_hist_9_folded_hist' : 1,
'spec_info_folded_hist_hist_8_folded_hist' : 1,
'spec_info_folded_hist_hist_7_folded_hist' : 1,
'spec_info_folded_hist_hist_6_folded_hist' : 1,
'spec_info_folded_hist_hist_5_folded_hist' : 1,
'spec_info_folded_hist_hist_4_folded_hist' : 1,
'spec_info_folded_hist_hist_3_folded_hist' : 1,
'spec_info_folded_hist_hist_2_folded_hist' : 1,
'spec_info_folded_hist_hist_1_folded_hist' : 1
}
spec_info_dict['spec_info_folded_hist_hist_1_folded_hist'] = 2
print(spec_info_dict['spec_info_folded_hist_hist_1_folded_hist'])
if __name__ == "__main__":
print("bpu_agent exec!")
# mlvp.run(agent_test())

372
tests/bpu_top/env/bpu_bundle.py vendored Normal file
View File

@ -0,0 +1,372 @@
#from mlvp import Bundle, Signals
from mlvp import *
import mlvp
from config import *
import os
os.sys.path.append(TESTS_PATH)
os.sys.path.append(DUT_PATH)
from UT_Predictor import *
import random
#Input Bundle
class SubPrediCtrlBundle(Bundle):
reset = Signal()
io_reset_vector = Signal()
io_bpu_to_ftq_resp_ready= Signal()
io_ctrl_ubtb_enable = Signal()
io_ctrl_btb_enable = Signal()
io_ctrl_tage_enable = Signal()
io_ctrl_sc_enable = Signal()
io_ctrl_ras_enable = Signal()
class Ftq2BpuUpdateFtbEntryBundle(Bundle):
reset = Signal()
io_reset_vector = Signal()
io_bpu_to_ftq_resp_ready= Signal()
io_ftq_to_bpu_update_valid = Signal()
io_ftq_to_bpu_update_bits_pc = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_valid = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_offset = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_lower = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_tarStat = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_sharing = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_brSlots_0_valid = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_offset = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_lower = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_tarStat = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_sharing = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_tailSlot_valid = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_pftAddr = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_carry = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_isCall = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_isRet = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_isJalr = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_last_may_be_rvi_call= Signal()
io_ftq_to_bpu_update_bits_ftb_entry_always_taken_0 = Signal()
io_ftq_to_bpu_update_bits_ftb_entry_always_taken_1 = Signal()
class Ftq2BpuUpdateOtherBundle(Bundle):
reset = Signal()
io_reset_vector = Signal()
io_bpu_to_ftq_resp_ready= Signal()
io_ftq_to_bpu_update_valid = Signal()
io_ftq_to_bpu_update_bits_pc = Signal()
io_ftq_to_bpu_update_bits_cfi_idx_valid = Signal()
io_ftq_to_bpu_update_bits_cfi_idx_bits = Signal()
io_ftq_to_bpu_update_bits_br_taken_mask_0 = Signal()
io_ftq_to_bpu_update_bits_br_taken_mask_1 = Signal()
io_ftq_to_bpu_update_bits_jmp_taken = Signal()
io_ftq_to_bpu_update_bits_mispred_mask_0 = Signal()
io_ftq_to_bpu_update_bits_mispred_mask_1 = Signal()
io_ftq_to_bpu_update_bits_mispred_mask_2 = Signal()
io_ftq_to_bpu_update_bits_old_entry = Signal()
io_ftq_to_bpu_update_bits_meta = Signal()
io_ftq_to_bpu_update_bits_full_target = Signal()
#Input: update signals
class Ftq2BpuUpdateFoldHistBundle(Bundle):
reset = Signal()
io_reset_vector = Signal()
io_bpu_to_ftq_resp_ready= Signal()
io_ftq_to_bpu_update_valid = Signal()
io_ftq_to_bpu_update_bits_pc = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_17_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_16_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_15_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_14_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_13_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_12_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_11_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_10_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_9_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_8_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_7_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_6_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_5_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_4_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_3_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_2_folded_hist = Signal()
io_ftq_to_bpu_update_bits_spec_info_folded_hist_hist_1_folded_hist = Signal()
class Ftq2BpuRedirectOtherBundle(Bundle):
reset = Signal()
io_reset_vector = Signal()
io_bpu_to_ftq_resp_ready = Signal()
io_ftq_to_bpu_redirect_valid = Signal()
io_ftq_to_bpu_redirect_bits_level = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_pc = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_pd_isRVC = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_pd_isCall = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_pd_isRet = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_ssp = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_sctr = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_TOSW_flag = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_TOSW_value= Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_TOSR_flag = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_TOSR_value= Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_NOS_flag = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_NOS_value = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_lastBrNumOH = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_histPtr_flag = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_histPtr_value = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_target = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_taken = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_shift = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_addIntoHist = Signal()
class Ftq2BpuRedirectFoldHistBundle(Bundle):
reset = Signal()
io_reset_vector = Signal()
io_bpu_to_ftq_resp_ready = Signal()
io_ftq_to_bpu_redirect_valid = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_17_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_16_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_15_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_14_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_13_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_12_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_11_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_10_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_9_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_8_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_7_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_6_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_5_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_4_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_3_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_2_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_1_folded_hist = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_folded_hist_hist_0_folded_hist = Signal()
class Ftq2BpuRedirectAfhobBundle(Bundle):
reset = Signal()
io_reset_vector = Signal()
io_bpu_to_ftq_resp_ready = Signal()
io_ftq_to_bpu_redirect_valid= Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_5_bits_0 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_5_bits_1 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_5_bits_2 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_5_bits_3 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_4_bits_0 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_4_bits_1 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_4_bits_2 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_3_bits_0 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_3_bits_1 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_3_bits_2 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_3_bits_3 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_2_bits_0 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_2_bits_1 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_2_bits_2 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_2_bits_3 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_1_bits_0 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_1_bits_1 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_1_bits_2 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_1_bits_3 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_0_bits_0 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_0_bits_1 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_0_bits_2 = Signal()
io_ftq_to_bpu_redirect_bits_cfiUpdate_afhob_afhob_0_bits_3 = Signal()
################################################Output Ports #######################################
class Bpu2FtqRespS1Bundle(Bundle):
io_bpu_to_ftq_resp_valid = Signal()
io_bpu_to_ftq_resp_bits_s1_pc_3 = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_br_taken_mask_0 = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_br_taken_mask_1 = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_slot_valids_0 = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_slot_valids_1 = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_targets_0 = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_targets_1 = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_offsets_0 = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_offsets_1 = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_fallThroughAddr = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_fallThroughErr = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_is_br_sharing = Signal()
io_bpu_to_ftq_resp_bits_s1_full_pred_3_hit = Signal()
class Bpu2FtqRespS2Bundle(Bundle):
io_bpu_to_ftq_resp_valid = Signal()
io_bpu_to_ftq_resp_bits_s2_pc_3 = Signal()
io_bpu_to_ftq_resp_bits_s2_valid_3 = Signal()
io_bpu_to_ftq_resp_bits_s2_hasRedirect_3 = Signal()
io_bpu_to_ftq_resp_bits_s2_ftq_idx_flag = Signal()
io_bpu_to_ftq_resp_bits_s2_ftq_idx_value = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_br_taken_mask_0 = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_br_taken_mask_1 = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_slot_valids_0 = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_slot_valids_1 = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_targets_0 = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_targets_1 = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_offsets_0 = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_offsets_1 = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_fallThroughAddr = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_fallThroughErr = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_is_br_sharing = Signal()
io_bpu_to_ftq_resp_bits_s2_full_pred_3_hit = Signal()
class Bpu2FtqRespS3Bundle(Bundle):
io_bpu_to_ftq_resp_bits_s3_pc_3 = Signal()
io_bpu_to_ftq_resp_bits_s3_valid_3 = Signal()
io_bpu_to_ftq_resp_bits_s3_hasRedirect_3 = Signal()
io_bpu_to_ftq_resp_bits_s3_ftq_idx_flag = Signal()
io_bpu_to_ftq_resp_bits_s3_ftq_idx_value = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_br_taken_mask_0 = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_br_taken_mask_1 = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_slot_valids_0 = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_slot_valids_1 = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_targets_0 = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_targets_1 = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_offsets_0 = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_offsets_1 = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_fallThroughAddr = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_fallThroughErr = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_is_br_sharing = Signal()
io_bpu_to_ftq_resp_bits_s3_full_pred_3_hit = Signal()
class Bpu2FtqLastStageSpecInfoBundle(Bundle):
io_bpu_to_ftq_resp_bits_last_stage_meta = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_17_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_16_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_15_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_14_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_13_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_12_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_11_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_10_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_9_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_8_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_7_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_6_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_5_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_4_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_3_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_2_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_1_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_folded_hist_hist_0_folded_hist = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_5_bits_0 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_5_bits_1 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_5_bits_2 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_5_bits_3 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_4_bits_0 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_4_bits_1 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_4_bits_2 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_4_bits_3 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_3_bits_0 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_3_bits_1 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_3_bits_2 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_3_bits_3 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_2_bits_0 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_2_bits_1 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_2_bits_2 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_2_bits_3 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_1_bits_0 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_1_bits_1 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_1_bits_2 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_1_bits_3 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_0_bits_0 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_0_bits_1 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_0_bits_2 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_afhob_afhob_0_bits_3 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_lastBrNumOH = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_histPtr_flag = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_histPtr_value = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_ssp = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_sctr = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_TOSW_flag = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_TOSW_value = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_TOSR_flag = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_TOSR_value = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_NOS_flag = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_NOS_value = Signal()
io_bpu_to_ftq_resp_bits_last_stage_spec_info_topAddr = Signal()
class Bpu2FtqLastStageSpecInfoBundle(Bundle):
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_valid = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_brSlots_0_offset = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_brSlots_0_lower = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_brSlots_0_tarStat = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_brSlots_0_sharing = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_brSlots_0_valid = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_tailSlot_offset = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_tailSlot_lower = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_tailSlot_tarStat = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_tailSlot_sharing = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_tailSlot_valid = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_pftAddr = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_carry = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_isCall = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_isRet = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_isJalr = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_last_may_be_rvi_call = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_always_taken_0 = Signal()
io_bpu_to_ftq_resp_bits_last_stage_ftb_entry_always_taken_1 = Signal()
async def set_sub_predic_ctrl_bundle(dut, sub_predic_ctrl_bundle: SubPrediCtrlBundle):
mlvp.start_clock(dut)
sub_predic_ctrl_bundle.io_ctrl_ubtb_enable.value = 1
print(sub_predic_ctrl_bundle.io_ctrl_ubtb_enable.value)
await sub_predic_ctrl_bundle.step()
print(sub_predic_ctrl_bundle.io_ctrl_ubtb_enable.value)
if __name__ == "__main__":
mlvp.setup_logging(mlvp.INFO)
sub_predic_ctrl_bundle = SubPrediCtrlBundle.from_prefix()
dut: DUTPredictor = DUTPredictor()
sub_predic_ctrl_bundle.bind(dut)
sub_predic_ctrl_bundle.set_write_mode_as_imme()
## 1 set value
sub_predic_ctrl_bundle.io_ctrl_ubtb_enable.value = 0
# sub_predic_ctrl_bundle.io_ctrl_ubtb_enable = 0
print("1xxx", sub_predic_ctrl_bundle.io_ctrl_ubtb_enable)
## 2 access the signal by index
sub_predic_ctrl_bundle['io_ctrl_ubtb_enable'].value = 1
print(sub_predic_ctrl_bundle.io_ctrl_ubtb_enable)
## 3 set value by set_all()
sub_predic_ctrl_bundle.set_all(1)
print("set_all():",sub_predic_ctrl_bundle.io_ctrl_ubtb_enable) # result is 0
## 4 set value by assign
sub_predic_ctrl_bundle.assign({
'*' : 0,
'io_ctrl_ubtb_enable' : 1
})
print("assign():",sub_predic_ctrl_bundle.io_ctrl_ubtb_enable) # result is 0
## 5 asyncio support
mlvp.run(set_sub_predic_ctrl_bundle(dut, sub_predic_ctrl_bundle))
# sub_predic_ctrl_bundle.io_ctrl_ubtb_enable = 1
# print(sub_predic_ctrl_bundle.io_ctrl_ubtb_enable)
# sub_predic_ctrl_bundle.io_ctrl_btb_enable = 1
# print(sub_predic_ctrl_bundle.io_ctrl_btb_enable)

27
tests/bpu_top/env/bpu_dut.py vendored Normal file
View File

@ -0,0 +1,27 @@
import os
CFG_PATH = os.path.dirname(os.path.abspath(__file__))+"/../"
os.sys.path.append(CFG_PATH)
from config import *
os.sys.path.append(DUT_PATH)
os.sys.path.append(TESTS_PATH)
from UT_Predictor import *
import random
import mlvp
import logging
import mlvp.funcov as fc
from mlvp.reporter import *
import asyncio
#do the sub-class extended the DUT
class bpu_dut(DUTPredictor):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.InitClock("clock")
self.reset.value = 1
self.Step(2)
self.reset.value = 0
self.Step(2)

62
tests/bpu_top/env/bpu_env.py vendored Normal file
View File

@ -0,0 +1,62 @@
#from mlvp import Bundle, Signals
from mlvp import *
import mlvp
from mlvp.env import *
from config import *
import os
os.sys.path.append(TESTS_PATH)
os.sys.path.append(DUT_PATH)
from UT_Predictor import *
import random
ENV_PATH = os.path.dirname(os.path.abspath(__file__))+"/../"
os.sys.path.append(ENV_PATH)
from env.bpu_bundle import *
from env.bpu_agent import *
class BpuEnv(Env):
def __init__(self, SubPrediCtrlBundle, Ftq2BpuUpdateFtbEntryBundle,Ftq2BpuUpdateOtherBundle,
Ftq2BpuUpdateFoldHistBundle, Ftq2BpuRedirectOtherBundle, Ftq2BpuRedirectFoldHistBundle,
Ftq2BpuRedirectAfhobBundle):
super().__init__()
self.sub_predi_ctrl_agent = SubPrediCtrlAgent(SubPrediCtrlBundle)
self.update_ftb_entry_agent = Ftq2BpuUpdateFtbEntryAgent(Ftq2BpuUpdateFtbEntryBundle)
self.update_other_agent = Ftq2BpuUpdateOtherAgent(Ftq2BpuUpdateOtherBundle)
self.update_fold_hist_agent = Ftq2BpuUpdateFoldHistAgent(Ftq2BpuUpdateFoldHistBundle)
self.redirect_other_agent = Ftq2BpuRedirectOtherAgent(Ftq2BpuRedirectOtherBundle)
self.redirect_fold_hist_agent = Ftq2BpuRedirectFoldHistAgent(Ftq2BpuRedirectFoldHistBundle)
self.redirect_afhob_agent = Ftq2BpuRedirectAfhobAgent(Ftq2BpuRedirectAfhobBundle)
################################# Only for Test_ENV #####################
# async def test_env():
# sub_predic_ctrl_bundle = SubPrediCtrlBundle()
# spec_info_bundle = Ftq2BpuUpdateSpecInfoBundle()
#
# dut: DUTPredictor = DUTPredictor()
# sub_predic_ctrl_bundle.bind(dut)
# spec_info_bundle.bind(dut)
#
# bpu_env = BpuEnv(sub_predic_ctrl_bundle, spec_info_bundle)
#
# #the transaction
# enable_dict = {
# 'ubtb_en' : 1,
# 'btb_en' : 1,
# 'tage_en' : 1,
# 'sc_en' : 1,
# 'ras_en' : 1
# }
#
# await bpu_env.sub_predi_ctrl_agent.set_sub_predic_ctrl_en(dut, enable_dict)
#
# print("exec bottom!!!")
# if __name__ == "__main__":
# mlvp.run(test_env())

6
tests/bpu_top/env/config.py vendored Normal file
View File

@ -0,0 +1,6 @@
import os
ROOT_PATH = os.path.dirname(os.path.abspath(__file__))+"/../../../"
TESTS_PATH = ROOT_PATH + "tests/"
DUT_PATH = ROOT_PATH + "out/picker_out_BPUTop/"
#FTB_PATH = ROOT_PATH + "tests/bpu_top/env/"
#os.sys.path.append(DUT_PATH)

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate.sv<span style="font-size: 80%;"> (<a href="CAMTemplate.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">39</td>
<td class="headerCovTableEntry">39</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="CAMTemplate.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate.sv<span style="font-size: 80%;"> (<a href="CAMTemplate.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">39</td>
<td class="headerCovTableEntry">39</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="CAMTemplate.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,212 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate.sv<span style="font-size: 80%;"> (source / <a href="CAMTemplate.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">39</td>
<td class="headerCovTableEntry">39</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module CAMTemplate(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 261 : input [8:0] io_r_req_0_idx,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 539 : output io_r_resp_0_0,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 466 : output io_r_resp_0_1,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 490 : output io_r_resp_0_2,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 455 : output io_r_resp_0_3,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 493 : output io_r_resp_0_4,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 472 : output io_r_resp_0_5,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 439 : output io_r_resp_0_6,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 473 : output io_r_resp_0_7,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 612 : input io_w_valid,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 261 : input [8:0] io_w_bits_data_idx,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 2358 : input [2:0] io_w_bits_index</span></a>
<a name="72"><span class="lineNum"> 72 </span> : );</a>
<a name="73"><span class="lineNum"> 73 </span> : </a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 4484 : reg [8:0] array_0;</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 4158 : reg [8:0] array_1;</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 4152 : reg [8:0] array_2;</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 4135 : reg [8:0] array_3;</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 4321 : reg [8:0] array_4;</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 4222 : reg [8:0] array_5;</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 4201 : reg [8:0] array_6;</span></a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 4284 : reg [8:0] array_7;</span></a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 4086208 : always @(posedge clock) begin</span></a>
<a name="83"><span class="lineNum"> 83 </span><span class="lineCov"> 152 : if (io_w_valid &amp; io_w_bits_index == 3'h0)</span></a>
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 76 : array_0 &lt;= io_w_bits_data_idx;</span></a>
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 22 : if (io_w_valid &amp; io_w_bits_index == 3'h1)</span></a>
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 11 : array_1 &lt;= io_w_bits_data_idx;</span></a>
<a name="87"><span class="lineNum"> 87 </span><span class="lineCov"> 14 : if (io_w_valid &amp; io_w_bits_index == 3'h2)</span></a>
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 7 : array_2 &lt;= io_w_bits_data_idx;</span></a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 10 : if (io_w_valid &amp; io_w_bits_index == 3'h3)</span></a>
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 5 : array_3 &lt;= io_w_bits_data_idx;</span></a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 30 : if (io_w_valid &amp; io_w_bits_index == 3'h4)</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 15 : array_4 &lt;= io_w_bits_data_idx;</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 18 : if (io_w_valid &amp; io_w_bits_index == 3'h5)</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 9 : array_5 &lt;= io_w_bits_data_idx;</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 10 : if (io_w_valid &amp; io_w_bits_index == 3'h6)</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 5 : array_6 &lt;= io_w_bits_data_idx;</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 20 : if (io_w_valid &amp; (&amp;io_w_bits_index))</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 10 : array_7 &lt;= io_w_bits_data_idx;</span></a>
<a name="99"><span class="lineNum"> 99 </span> : end // always @(posedge)</a>
<a name="100"><span class="lineNum"> 100 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="101"><span class="lineNum"> 101 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="102"><span class="lineNum"> 102 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="103"><span class="lineNum"> 103 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="104"><span class="lineNum"> 104 </span> : logic [31:0] _RANDOM[0:2];</a>
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 1856 : initial begin</span></a>
<a name="106"><span class="lineNum"> 106 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="107"><span class="lineNum"> 107 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="108"><span class="lineNum"> 108 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="109"><span class="lineNum"> 109 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="110"><span class="lineNum"> 110 </span> : for (logic [1:0] i = 2'h0; i &lt; 2'h3; i += 2'h1) begin</a>
<a name="111"><span class="lineNum"> 111 </span> : _RANDOM[i] = `RANDOM;</a>
<a name="112"><span class="lineNum"> 112 </span> : end</a>
<a name="113"><span class="lineNum"> 113 </span> : array_0 = _RANDOM[2'h0][8:0];</a>
<a name="114"><span class="lineNum"> 114 </span> : array_1 = _RANDOM[2'h0][17:9];</a>
<a name="115"><span class="lineNum"> 115 </span> : array_2 = _RANDOM[2'h0][26:18];</a>
<a name="116"><span class="lineNum"> 116 </span> : array_3 = {_RANDOM[2'h0][31:27], _RANDOM[2'h1][3:0]};</a>
<a name="117"><span class="lineNum"> 117 </span> : array_4 = _RANDOM[2'h1][12:4];</a>
<a name="118"><span class="lineNum"> 118 </span> : array_5 = _RANDOM[2'h1][21:13];</a>
<a name="119"><span class="lineNum"> 119 </span> : array_6 = _RANDOM[2'h1][30:22];</a>
<a name="120"><span class="lineNum"> 120 </span> : array_7 = {_RANDOM[2'h1][31], _RANDOM[2'h2][7:0]};</a>
<a name="121"><span class="lineNum"> 121 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="122"><span class="lineNum"> 122 </span> : end // initial</a>
<a name="123"><span class="lineNum"> 123 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="124"><span class="lineNum"> 124 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="125"><span class="lineNum"> 125 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="126"><span class="lineNum"> 126 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="127"><span class="lineNum"> 127 </span> : assign io_r_resp_0_0 = io_r_req_0_idx == array_0;</a>
<a name="128"><span class="lineNum"> 128 </span> : assign io_r_resp_0_1 = io_r_req_0_idx == array_1;</a>
<a name="129"><span class="lineNum"> 129 </span> : assign io_r_resp_0_2 = io_r_req_0_idx == array_2;</a>
<a name="130"><span class="lineNum"> 130 </span> : assign io_r_resp_0_3 = io_r_req_0_idx == array_3;</a>
<a name="131"><span class="lineNum"> 131 </span> : assign io_r_resp_0_4 = io_r_req_0_idx == array_4;</a>
<a name="132"><span class="lineNum"> 132 </span> : assign io_r_resp_0_5 = io_r_req_0_idx == array_5;</a>
<a name="133"><span class="lineNum"> 133 </span> : assign io_r_resp_0_6 = io_r_req_0_idx == array_6;</a>
<a name="134"><span class="lineNum"> 134 </span> : assign io_r_resp_0_7 = io_r_req_0_idx == array_7;</a>
<a name="135"><span class="lineNum"> 135 </span> : endmodule</a>
<a name="136"><span class="lineNum"> 136 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_32.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_32.sv<span style="font-size: 80%;"> (<a href="CAMTemplate_32.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">33</td>
<td class="headerCovTableEntry">39</td>
<td class="headerCovTableEntryMed">84.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="CAMTemplate_32.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_32.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_32.sv<span style="font-size: 80%;"> (<a href="CAMTemplate_32.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">33</td>
<td class="headerCovTableEntry">39</td>
<td class="headerCovTableEntryMed">84.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="CAMTemplate_32.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,212 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_32.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_32.sv<span style="font-size: 80%;"> (source / <a href="CAMTemplate_32.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">33</td>
<td class="headerCovTableEntry">39</td>
<td class="headerCovTableEntryMed">84.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module CAMTemplate_32(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 189 : input [10:0] io_r_req_0_idx,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 25 : output io_r_resp_0_0,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 13 : output io_r_resp_0_1,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 19 : output io_r_resp_0_2,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 25 : output io_r_resp_0_3,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 16 : output io_r_resp_0_4,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 17 : output io_r_resp_0_5,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 15 : output io_r_resp_0_6,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 14 : output io_r_resp_0_7,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 40 : input io_w_valid,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 189 : input [10:0] io_w_bits_data_idx,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 94 : input [2:0] io_w_bits_index</span></a>
<a name="72"><span class="lineNum"> 72 </span> : );</a>
<a name="73"><span class="lineNum"> 73 </span> : </a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 227 : reg [10:0] array_0;</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 157 : reg [10:0] array_1;</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 184 : reg [10:0] array_2;</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 179 : reg [10:0] array_3;</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 153 : reg [10:0] array_4;</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 162 : reg [10:0] array_5;</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 151 : reg [10:0] array_6;</span></a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 158 : reg [10:0] array_7;</span></a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="83"><span class="lineNum"> 83 </span><span class="lineCov"> 28 : if (io_w_valid &amp; io_w_bits_index == 3'h0)</span></a>
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 14 : array_0 &lt;= io_w_bits_data_idx;</span></a>
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 2 : if (io_w_valid &amp; io_w_bits_index == 3'h1)</span></a>
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 1 : array_1 &lt;= io_w_bits_data_idx;</span></a>
<a name="87"><span class="lineNum"> 87 </span><span class="lineCov"> 8 : if (io_w_valid &amp; io_w_bits_index == 3'h2)</span></a>
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 4 : array_2 &lt;= io_w_bits_data_idx;</span></a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 6 : if (io_w_valid &amp; io_w_bits_index == 3'h3)</span></a>
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 3 : array_3 &lt;= io_w_bits_data_idx;</span></a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineNoCov"> 0 : if (io_w_valid &amp; io_w_bits_index == 3'h4)</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineNoCov"> 0 : array_4 &lt;= io_w_bits_data_idx;</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 4 : if (io_w_valid &amp; io_w_bits_index == 3'h5)</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 2 : array_5 &lt;= io_w_bits_data_idx;</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineNoCov"> 0 : if (io_w_valid &amp; io_w_bits_index == 3'h6)</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineNoCov"> 0 : array_6 &lt;= io_w_bits_data_idx;</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineNoCov"> 0 : if (io_w_valid &amp; (&amp;io_w_bits_index))</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineNoCov"> 0 : array_7 &lt;= io_w_bits_data_idx;</span></a>
<a name="99"><span class="lineNum"> 99 </span> : end // always @(posedge)</a>
<a name="100"><span class="lineNum"> 100 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="101"><span class="lineNum"> 101 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="102"><span class="lineNum"> 102 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="103"><span class="lineNum"> 103 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="104"><span class="lineNum"> 104 </span> : logic [31:0] _RANDOM[0:2];</a>
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="106"><span class="lineNum"> 106 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="107"><span class="lineNum"> 107 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="108"><span class="lineNum"> 108 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="109"><span class="lineNum"> 109 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="110"><span class="lineNum"> 110 </span> : for (logic [1:0] i = 2'h0; i &lt; 2'h3; i += 2'h1) begin</a>
<a name="111"><span class="lineNum"> 111 </span> : _RANDOM[i] = `RANDOM;</a>
<a name="112"><span class="lineNum"> 112 </span> : end</a>
<a name="113"><span class="lineNum"> 113 </span> : array_0 = _RANDOM[2'h0][10:0];</a>
<a name="114"><span class="lineNum"> 114 </span> : array_1 = _RANDOM[2'h0][21:11];</a>
<a name="115"><span class="lineNum"> 115 </span> : array_2 = {_RANDOM[2'h0][31:22], _RANDOM[2'h1][0]};</a>
<a name="116"><span class="lineNum"> 116 </span> : array_3 = _RANDOM[2'h1][11:1];</a>
<a name="117"><span class="lineNum"> 117 </span> : array_4 = _RANDOM[2'h1][22:12];</a>
<a name="118"><span class="lineNum"> 118 </span> : array_5 = {_RANDOM[2'h1][31:23], _RANDOM[2'h2][1:0]};</a>
<a name="119"><span class="lineNum"> 119 </span> : array_6 = _RANDOM[2'h2][12:2];</a>
<a name="120"><span class="lineNum"> 120 </span> : array_7 = _RANDOM[2'h2][23:13];</a>
<a name="121"><span class="lineNum"> 121 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="122"><span class="lineNum"> 122 </span> : end // initial</a>
<a name="123"><span class="lineNum"> 123 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="124"><span class="lineNum"> 124 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="125"><span class="lineNum"> 125 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="126"><span class="lineNum"> 126 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="127"><span class="lineNum"> 127 </span> : assign io_r_resp_0_0 = io_r_req_0_idx == array_0;</a>
<a name="128"><span class="lineNum"> 128 </span> : assign io_r_resp_0_1 = io_r_req_0_idx == array_1;</a>
<a name="129"><span class="lineNum"> 129 </span> : assign io_r_resp_0_2 = io_r_req_0_idx == array_2;</a>
<a name="130"><span class="lineNum"> 130 </span> : assign io_r_resp_0_3 = io_r_req_0_idx == array_3;</a>
<a name="131"><span class="lineNum"> 131 </span> : assign io_r_resp_0_4 = io_r_req_0_idx == array_4;</a>
<a name="132"><span class="lineNum"> 132 </span> : assign io_r_resp_0_5 = io_r_req_0_idx == array_5;</a>
<a name="133"><span class="lineNum"> 133 </span> : assign io_r_resp_0_6 = io_r_req_0_idx == array_6;</a>
<a name="134"><span class="lineNum"> 134 </span> : assign io_r_resp_0_7 = io_r_req_0_idx == array_7;</a>
<a name="135"><span class="lineNum"> 135 </span> : endmodule</a>
<a name="136"><span class="lineNum"> 136 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_33.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_33.sv<span style="font-size: 80%;"> (<a href="CAMTemplate_33.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">71</td>
<td class="headerCovTableEntry">71</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="CAMTemplate_33.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_33.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_33.sv<span style="font-size: 80%;"> (<a href="CAMTemplate_33.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">71</td>
<td class="headerCovTableEntry">71</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="CAMTemplate_33.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,260 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_33.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_33.sv<span style="font-size: 80%;"> (source / <a href="CAMTemplate_33.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">71</td>
<td class="headerCovTableEntry">71</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module CAMTemplate_33(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 131 : input [7:0] io_r_req_0_idx,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 188 : output io_r_resp_0_0,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 124 : output io_r_resp_0_1,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 118 : output io_r_resp_0_2,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 127 : output io_r_resp_0_3,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 122 : output io_r_resp_0_4,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 139 : output io_r_resp_0_5,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 113 : output io_r_resp_0_6,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 129 : output io_r_resp_0_7,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 115 : output io_r_resp_0_8,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 136 : output io_r_resp_0_9,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 121 : output io_r_resp_0_10,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 128 : output io_r_resp_0_11,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 123 : output io_r_resp_0_12,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 121 : output io_r_resp_0_13,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 108 : output io_r_resp_0_14,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 121 : output io_r_resp_0_15,</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 251 : input io_w_valid,</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 131 : input [7:0] io_w_bits_data_idx,</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 926 : input [3:0] io_w_bits_index</span></a>
<a name="80"><span class="lineNum"> 80 </span> : );</a>
<a name="81"><span class="lineNum"> 81 </span> : </a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 1172 : reg [7:0] array_0;</span></a>
<a name="83"><span class="lineNum"> 83 </span><span class="lineCov"> 949 : reg [7:0] array_1;</span></a>
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 951 : reg [7:0] array_2;</span></a>
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 983 : reg [7:0] array_3;</span></a>
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 917 : reg [7:0] array_4;</span></a>
<a name="87"><span class="lineNum"> 87 </span><span class="lineCov"> 965 : reg [7:0] array_5;</span></a>
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 949 : reg [7:0] array_6;</span></a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 939 : reg [7:0] array_7;</span></a>
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 942 : reg [7:0] array_8;</span></a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 922 : reg [7:0] array_9;</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 931 : reg [7:0] array_10;</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 962 : reg [7:0] array_11;</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 946 : reg [7:0] array_12;</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 931 : reg [7:0] array_13;</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 960 : reg [7:0] array_14;</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 978 : reg [7:0] array_15;</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 1021552 : always @(posedge clock) begin</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 138 : if (io_w_valid &amp; io_w_bits_index == 4'h0)</span></a>
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 69 : array_0 &lt;= io_w_bits_data_idx;</span></a>
<a name="101"><span class="lineNum"> 101 </span><span class="lineCov"> 10 : if (io_w_valid &amp; io_w_bits_index == 4'h1)</span></a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 5 : array_1 &lt;= io_w_bits_data_idx;</span></a>
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 8 : if (io_w_valid &amp; io_w_bits_index == 4'h2)</span></a>
<a name="104"><span class="lineNum"> 104 </span><span class="lineCov"> 4 : array_2 &lt;= io_w_bits_data_idx;</span></a>
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 12 : if (io_w_valid &amp; io_w_bits_index == 4'h3)</span></a>
<a name="106"><span class="lineNum"> 106 </span><span class="lineCov"> 6 : array_3 &lt;= io_w_bits_data_idx;</span></a>
<a name="107"><span class="lineNum"> 107 </span><span class="lineCov"> 10 : if (io_w_valid &amp; io_w_bits_index == 4'h4)</span></a>
<a name="108"><span class="lineNum"> 108 </span><span class="lineCov"> 5 : array_4 &lt;= io_w_bits_data_idx;</span></a>
<a name="109"><span class="lineNum"> 109 </span><span class="lineCov"> 10 : if (io_w_valid &amp; io_w_bits_index == 4'h5)</span></a>
<a name="110"><span class="lineNum"> 110 </span><span class="lineCov"> 5 : array_5 &lt;= io_w_bits_data_idx;</span></a>
<a name="111"><span class="lineNum"> 111 </span><span class="lineCov"> 6 : if (io_w_valid &amp; io_w_bits_index == 4'h6)</span></a>
<a name="112"><span class="lineNum"> 112 </span><span class="lineCov"> 3 : array_6 &lt;= io_w_bits_data_idx;</span></a>
<a name="113"><span class="lineNum"> 113 </span><span class="lineCov"> 6 : if (io_w_valid &amp; io_w_bits_index == 4'h7)</span></a>
<a name="114"><span class="lineNum"> 114 </span><span class="lineCov"> 3 : array_7 &lt;= io_w_bits_data_idx;</span></a>
<a name="115"><span class="lineNum"> 115 </span><span class="lineCov"> 4 : if (io_w_valid &amp; io_w_bits_index == 4'h8)</span></a>
<a name="116"><span class="lineNum"> 116 </span><span class="lineCov"> 2 : array_8 &lt;= io_w_bits_data_idx;</span></a>
<a name="117"><span class="lineNum"> 117 </span><span class="lineCov"> 8 : if (io_w_valid &amp; io_w_bits_index == 4'h9)</span></a>
<a name="118"><span class="lineNum"> 118 </span><span class="lineCov"> 4 : array_9 &lt;= io_w_bits_data_idx;</span></a>
<a name="119"><span class="lineNum"> 119 </span><span class="lineCov"> 4 : if (io_w_valid &amp; io_w_bits_index == 4'hA)</span></a>
<a name="120"><span class="lineNum"> 120 </span><span class="lineCov"> 2 : array_10 &lt;= io_w_bits_data_idx;</span></a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 10 : if (io_w_valid &amp; io_w_bits_index == 4'hB)</span></a>
<a name="122"><span class="lineNum"> 122 </span><span class="lineCov"> 5 : array_11 &lt;= io_w_bits_data_idx;</span></a>
<a name="123"><span class="lineNum"> 123 </span><span class="lineCov"> 8 : if (io_w_valid &amp; io_w_bits_index == 4'hC)</span></a>
<a name="124"><span class="lineNum"> 124 </span><span class="lineCov"> 4 : array_12 &lt;= io_w_bits_data_idx;</span></a>
<a name="125"><span class="lineNum"> 125 </span><span class="lineCov"> 6 : if (io_w_valid &amp; io_w_bits_index == 4'hD)</span></a>
<a name="126"><span class="lineNum"> 126 </span><span class="lineCov"> 3 : array_13 &lt;= io_w_bits_data_idx;</span></a>
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 6 : if (io_w_valid &amp; io_w_bits_index == 4'hE)</span></a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 3 : array_14 &lt;= io_w_bits_data_idx;</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 8 : if (io_w_valid &amp; (&amp;io_w_bits_index))</span></a>
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 4 : array_15 &lt;= io_w_bits_data_idx;</span></a>
<a name="131"><span class="lineNum"> 131 </span> : end // always @(posedge)</a>
<a name="132"><span class="lineNum"> 132 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="133"><span class="lineNum"> 133 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="134"><span class="lineNum"> 134 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="135"><span class="lineNum"> 135 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="136"><span class="lineNum"> 136 </span> : logic [31:0] _RANDOM[0:3];</a>
<a name="137"><span class="lineNum"> 137 </span><span class="lineCov"> 464 : initial begin</span></a>
<a name="138"><span class="lineNum"> 138 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="139"><span class="lineNum"> 139 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="140"><span class="lineNum"> 140 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="141"><span class="lineNum"> 141 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="142"><span class="lineNum"> 142 </span> : for (logic [2:0] i = 3'h0; i &lt; 3'h4; i += 3'h1) begin</a>
<a name="143"><span class="lineNum"> 143 </span> : _RANDOM[i[1:0]] = `RANDOM;</a>
<a name="144"><span class="lineNum"> 144 </span> : end</a>
<a name="145"><span class="lineNum"> 145 </span> : array_0 = _RANDOM[2'h0][7:0];</a>
<a name="146"><span class="lineNum"> 146 </span> : array_1 = _RANDOM[2'h0][15:8];</a>
<a name="147"><span class="lineNum"> 147 </span> : array_2 = _RANDOM[2'h0][23:16];</a>
<a name="148"><span class="lineNum"> 148 </span> : array_3 = _RANDOM[2'h0][31:24];</a>
<a name="149"><span class="lineNum"> 149 </span> : array_4 = _RANDOM[2'h1][7:0];</a>
<a name="150"><span class="lineNum"> 150 </span> : array_5 = _RANDOM[2'h1][15:8];</a>
<a name="151"><span class="lineNum"> 151 </span> : array_6 = _RANDOM[2'h1][23:16];</a>
<a name="152"><span class="lineNum"> 152 </span> : array_7 = _RANDOM[2'h1][31:24];</a>
<a name="153"><span class="lineNum"> 153 </span> : array_8 = _RANDOM[2'h2][7:0];</a>
<a name="154"><span class="lineNum"> 154 </span> : array_9 = _RANDOM[2'h2][15:8];</a>
<a name="155"><span class="lineNum"> 155 </span> : array_10 = _RANDOM[2'h2][23:16];</a>
<a name="156"><span class="lineNum"> 156 </span> : array_11 = _RANDOM[2'h2][31:24];</a>
<a name="157"><span class="lineNum"> 157 </span> : array_12 = _RANDOM[2'h3][7:0];</a>
<a name="158"><span class="lineNum"> 158 </span> : array_13 = _RANDOM[2'h3][15:8];</a>
<a name="159"><span class="lineNum"> 159 </span> : array_14 = _RANDOM[2'h3][23:16];</a>
<a name="160"><span class="lineNum"> 160 </span> : array_15 = _RANDOM[2'h3][31:24];</a>
<a name="161"><span class="lineNum"> 161 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="162"><span class="lineNum"> 162 </span> : end // initial</a>
<a name="163"><span class="lineNum"> 163 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="164"><span class="lineNum"> 164 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="165"><span class="lineNum"> 165 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="166"><span class="lineNum"> 166 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="167"><span class="lineNum"> 167 </span> : assign io_r_resp_0_0 = io_r_req_0_idx == array_0;</a>
<a name="168"><span class="lineNum"> 168 </span> : assign io_r_resp_0_1 = io_r_req_0_idx == array_1;</a>
<a name="169"><span class="lineNum"> 169 </span> : assign io_r_resp_0_2 = io_r_req_0_idx == array_2;</a>
<a name="170"><span class="lineNum"> 170 </span> : assign io_r_resp_0_3 = io_r_req_0_idx == array_3;</a>
<a name="171"><span class="lineNum"> 171 </span> : assign io_r_resp_0_4 = io_r_req_0_idx == array_4;</a>
<a name="172"><span class="lineNum"> 172 </span> : assign io_r_resp_0_5 = io_r_req_0_idx == array_5;</a>
<a name="173"><span class="lineNum"> 173 </span> : assign io_r_resp_0_6 = io_r_req_0_idx == array_6;</a>
<a name="174"><span class="lineNum"> 174 </span> : assign io_r_resp_0_7 = io_r_req_0_idx == array_7;</a>
<a name="175"><span class="lineNum"> 175 </span> : assign io_r_resp_0_8 = io_r_req_0_idx == array_8;</a>
<a name="176"><span class="lineNum"> 176 </span> : assign io_r_resp_0_9 = io_r_req_0_idx == array_9;</a>
<a name="177"><span class="lineNum"> 177 </span> : assign io_r_resp_0_10 = io_r_req_0_idx == array_10;</a>
<a name="178"><span class="lineNum"> 178 </span> : assign io_r_resp_0_11 = io_r_req_0_idx == array_11;</a>
<a name="179"><span class="lineNum"> 179 </span> : assign io_r_resp_0_12 = io_r_req_0_idx == array_12;</a>
<a name="180"><span class="lineNum"> 180 </span> : assign io_r_resp_0_13 = io_r_req_0_idx == array_13;</a>
<a name="181"><span class="lineNum"> 181 </span> : assign io_r_resp_0_14 = io_r_req_0_idx == array_14;</a>
<a name="182"><span class="lineNum"> 182 </span> : assign io_r_resp_0_15 = io_r_req_0_idx == array_15;</a>
<a name="183"><span class="lineNum"> 183 </span> : endmodule</a>
<a name="184"><span class="lineNum"> 184 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_41.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_41.sv<span style="font-size: 80%;"> (<a href="CAMTemplate_41.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="CAMTemplate_41.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_41.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_41.sv<span style="font-size: 80%;"> (<a href="CAMTemplate_41.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="CAMTemplate_41.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,186 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_41.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_41.sv<span style="font-size: 80%;"> (source / <a href="CAMTemplate_41.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module CAMTemplate_41(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 105 : input [7:0] io_r_req_0_idx,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 43 : output io_r_resp_0_0,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 32 : output io_r_resp_0_1,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 30 : output io_r_resp_0_2,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 30 : output io_r_resp_0_3,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 49 : input io_w_valid,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 105 : input [7:0] io_w_bits_data_idx,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 118 : input [1:0] io_w_bits_index</span></a>
<a name="68"><span class="lineNum"> 68 </span> : );</a>
<a name="69"><span class="lineNum"> 69 </span> : </a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 286 : reg [7:0] array_0;</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 233 : reg [7:0] array_1;</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 252 : reg [7:0] array_2;</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 242 : reg [7:0] array_3;</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 255388 : always @(posedge clock) begin</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 28 : if (io_w_valid &amp; io_w_bits_index == 2'h0)</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 14 : array_0 &lt;= io_w_bits_data_idx;</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 4 : if (io_w_valid &amp; io_w_bits_index == 2'h1)</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 2 : array_1 &lt;= io_w_bits_data_idx;</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 8 : if (io_w_valid &amp; io_w_bits_index == 2'h2)</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 4 : array_2 &lt;= io_w_bits_data_idx;</span></a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 6 : if (io_w_valid &amp; (&amp;io_w_bits_index))</span></a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 3 : array_3 &lt;= io_w_bits_data_idx;</span></a>
<a name="83"><span class="lineNum"> 83 </span> : end // always @(posedge)</a>
<a name="84"><span class="lineNum"> 84 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="85"><span class="lineNum"> 85 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="86"><span class="lineNum"> 86 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="87"><span class="lineNum"> 87 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="88"><span class="lineNum"> 88 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 116 : initial begin</span></a>
<a name="90"><span class="lineNum"> 90 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="91"><span class="lineNum"> 91 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="92"><span class="lineNum"> 92 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="93"><span class="lineNum"> 93 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="94"><span class="lineNum"> 94 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="95"><span class="lineNum"> 95 </span> : array_0 = _RANDOM[/*Zero width*/ 1'b0][7:0];</a>
<a name="96"><span class="lineNum"> 96 </span> : array_1 = _RANDOM[/*Zero width*/ 1'b0][15:8];</a>
<a name="97"><span class="lineNum"> 97 </span> : array_2 = _RANDOM[/*Zero width*/ 1'b0][23:16];</a>
<a name="98"><span class="lineNum"> 98 </span> : array_3 = _RANDOM[/*Zero width*/ 1'b0][31:24];</a>
<a name="99"><span class="lineNum"> 99 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="100"><span class="lineNum"> 100 </span> : end // initial</a>
<a name="101"><span class="lineNum"> 101 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="102"><span class="lineNum"> 102 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="103"><span class="lineNum"> 103 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="104"><span class="lineNum"> 104 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="105"><span class="lineNum"> 105 </span> : assign io_r_resp_0_0 = io_r_req_0_idx == array_0;</a>
<a name="106"><span class="lineNum"> 106 </span> : assign io_r_resp_0_1 = io_r_req_0_idx == array_1;</a>
<a name="107"><span class="lineNum"> 107 </span> : assign io_r_resp_0_2 = io_r_req_0_idx == array_2;</a>
<a name="108"><span class="lineNum"> 108 </span> : assign io_r_resp_0_3 = io_r_req_0_idx == array_3;</a>
<a name="109"><span class="lineNum"> 109 </span> : endmodule</a>
<a name="110"><span class="lineNum"> 110 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_43.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_43.sv<span style="font-size: 80%;"> (<a href="CAMTemplate_43.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">21</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntryHi">91.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="CAMTemplate_43.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_43.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_43.sv<span style="font-size: 80%;"> (<a href="CAMTemplate_43.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">21</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntryHi">91.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="CAMTemplate_43.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,188 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/CAMTemplate_43.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - CAMTemplate_43.sv<span style="font-size: 80%;"> (source / <a href="CAMTemplate_43.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">21</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntryHi">91.3 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module CAMTemplate_43(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 125 : input [8:0] io_r_req_0_idx,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 73 : output io_r_resp_0_0,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 41 : output io_r_resp_0_1,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 50 : output io_r_resp_0_2,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 51 : output io_r_resp_0_3,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 82 : input io_w_valid,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 125 : input [8:0] io_w_bits_data_idx,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 180 : input [1:0] io_w_bits_index</span></a>
<a name="68"><span class="lineNum"> 68 </span> : );</a>
<a name="69"><span class="lineNum"> 69 </span> : </a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 509 : reg [8:0] array_0;</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 392 : reg [8:0] array_1;</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 440 : reg [8:0] array_2;</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 407 : reg [8:0] array_3;</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 383082 : always @(posedge clock) begin</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 54 : if (io_w_valid &amp; io_w_bits_index == 2'h0)</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 27 : array_0 &lt;= io_w_bits_data_idx;</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineNoCov"> 0 : if (io_w_valid &amp; io_w_bits_index == 2'h1)</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineNoCov"> 0 : array_1 &lt;= io_w_bits_data_idx;</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 18 : if (io_w_valid &amp; io_w_bits_index == 2'h2)</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 9 : array_2 &lt;= io_w_bits_data_idx;</span></a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 8 : if (io_w_valid &amp; (&amp;io_w_bits_index))</span></a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 4 : array_3 &lt;= io_w_bits_data_idx;</span></a>
<a name="83"><span class="lineNum"> 83 </span> : end // always @(posedge)</a>
<a name="84"><span class="lineNum"> 84 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="85"><span class="lineNum"> 85 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="86"><span class="lineNum"> 86 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="87"><span class="lineNum"> 87 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="88"><span class="lineNum"> 88 </span> : logic [31:0] _RANDOM[0:1];</a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 174 : initial begin</span></a>
<a name="90"><span class="lineNum"> 90 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="91"><span class="lineNum"> 91 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="92"><span class="lineNum"> 92 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="93"><span class="lineNum"> 93 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="94"><span class="lineNum"> 94 </span> : for (logic [1:0] i = 2'h0; i &lt; 2'h2; i += 2'h1) begin</a>
<a name="95"><span class="lineNum"> 95 </span> : _RANDOM[i[0]] = `RANDOM;</a>
<a name="96"><span class="lineNum"> 96 </span> : end</a>
<a name="97"><span class="lineNum"> 97 </span> : array_0 = _RANDOM[1'h0][8:0];</a>
<a name="98"><span class="lineNum"> 98 </span> : array_1 = _RANDOM[1'h0][17:9];</a>
<a name="99"><span class="lineNum"> 99 </span> : array_2 = _RANDOM[1'h0][26:18];</a>
<a name="100"><span class="lineNum"> 100 </span> : array_3 = {_RANDOM[1'h0][31:27], _RANDOM[1'h1][3:0]};</a>
<a name="101"><span class="lineNum"> 101 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="102"><span class="lineNum"> 102 </span> : end // initial</a>
<a name="103"><span class="lineNum"> 103 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="104"><span class="lineNum"> 104 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="105"><span class="lineNum"> 105 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="106"><span class="lineNum"> 106 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="107"><span class="lineNum"> 107 </span> : assign io_r_resp_0_0 = io_r_req_0_idx == array_0;</a>
<a name="108"><span class="lineNum"> 108 </span> : assign io_r_resp_0_1 = io_r_req_0_idx == array_1;</a>
<a name="109"><span class="lineNum"> 109 </span> : assign io_r_resp_0_2 = io_r_req_0_idx == array_2;</a>
<a name="110"><span class="lineNum"> 110 </span> : assign io_r_resp_0_3 = io_r_req_0_idx == array_3;</a>
<a name="111"><span class="lineNum"> 111 </span> : endmodule</a>
<a name="112"><span class="lineNum"> 112 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/Composer.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - Composer.sv<span style="font-size: 80%;"> (<a href="Composer.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">320</td>
<td class="headerCovTableEntry">320</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="Composer.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/Composer.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - Composer.sv<span style="font-size: 80%;"> (<a href="Composer.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">320</td>
<td class="headerCovTableEntry">320</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="Composer.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayNWithValid.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayNWithValid.sv<span style="font-size: 80%;"> (<a href="DelayNWithValid.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">20</td>
<td class="headerCovTableEntry">20</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="DelayNWithValid.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayNWithValid.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayNWithValid.sv<span style="font-size: 80%;"> (<a href="DelayNWithValid.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">20</td>
<td class="headerCovTableEntry">20</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="DelayNWithValid.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,183 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayNWithValid.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayNWithValid.sv<span style="font-size: 80%;"> (source / <a href="DelayNWithValid.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">20</td>
<td class="headerCovTableEntry">20</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module DelayNWithValid(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 1143 : input [40:0] io_in_bits,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 57 : input io_in_valid,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 1057 : output [40:0] io_out_bits</span></a>
<a name="64"><span class="lineNum"> 64 </span> : );</a>
<a name="65"><span class="lineNum"> 65 </span> : </a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 58 : reg valid_REG;</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 968 : reg [40:0] data;</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 1057 : reg [40:0] res_bits;</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 127730 : always @(posedge clock or posedge reset) begin</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 272 : if (reset)</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 136 : valid_REG &lt;= 1'h0;</span></a>
<a name="72"><span class="lineNum"> 72 </span> : else</a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 63729 : valid_REG &lt;= io_in_valid;</span></a>
<a name="74"><span class="lineNum"> 74 </span> : end // always @(posedge, posedge)</a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 44 : if (io_in_valid)</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 22 : data &lt;= io_in_bits;</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 50 : if (valid_REG)</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 25 : res_bits &lt;= data;</span></a>
<a name="80"><span class="lineNum"> 80 </span> : end // always @(posedge)</a>
<a name="81"><span class="lineNum"> 81 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="82"><span class="lineNum"> 82 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="83"><span class="lineNum"> 83 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="84"><span class="lineNum"> 84 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="85"><span class="lineNum"> 85 </span> : logic [31:0] _RANDOM[0:2];</a>
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="87"><span class="lineNum"> 87 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="88"><span class="lineNum"> 88 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="89"><span class="lineNum"> 89 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="90"><span class="lineNum"> 90 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="91"><span class="lineNum"> 91 </span> : for (logic [1:0] i = 2'h0; i &lt; 2'h3; i += 2'h1) begin</a>
<a name="92"><span class="lineNum"> 92 </span> : _RANDOM[i] = `RANDOM;</a>
<a name="93"><span class="lineNum"> 93 </span> : end</a>
<a name="94"><span class="lineNum"> 94 </span> : valid_REG = _RANDOM[2'h0][0];</a>
<a name="95"><span class="lineNum"> 95 </span> : data = {_RANDOM[2'h0][31:1], _RANDOM[2'h1][9:0]};</a>
<a name="96"><span class="lineNum"> 96 </span> : res_bits = {_RANDOM[2'h1][31:11], _RANDOM[2'h2][19:0]};</a>
<a name="97"><span class="lineNum"> 97 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 17 : if (reset)</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 12 : valid_REG = 1'h0;</span></a>
<a name="100"><span class="lineNum"> 100 </span> : end // initial</a>
<a name="101"><span class="lineNum"> 101 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="102"><span class="lineNum"> 102 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="103"><span class="lineNum"> 103 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="104"><span class="lineNum"> 104 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="105"><span class="lineNum"> 105 </span> : assign io_out_bits = res_bits;</a>
<a name="106"><span class="lineNum"> 106 </span> : endmodule</a>
<a name="107"><span class="lineNum"> 107 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayNWithValid_1.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayNWithValid_1.sv<span style="font-size: 80%;"> (<a href="DelayNWithValid_1.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">128</td>
<td class="headerCovTableEntry">128</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="DelayNWithValid_1.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayNWithValid_1.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayNWithValid_1.sv<span style="font-size: 80%;"> (<a href="DelayNWithValid_1.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">128</td>
<td class="headerCovTableEntry">128</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="DelayNWithValid_1.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,347 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayNWithValid_1.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayNWithValid_1.sv<span style="font-size: 80%;"> (source / <a href="DelayNWithValid_1.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">128</td>
<td class="headerCovTableEntry">128</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module DelayNWithValid_1(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 33 : input io_in_bits_valid,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 122 : input [3:0] io_in_bits_brSlots_0_offset,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 337 : input [11:0] io_in_bits_brSlots_0_lower,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 65 : input [1:0] io_in_bits_brSlots_0_tarStat,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 33 : input io_in_bits_brSlots_0_sharing,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 35 : input io_in_bits_brSlots_0_valid,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 137 : input [3:0] io_in_bits_tailSlot_offset,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 552 : input [19:0] io_in_bits_tailSlot_lower,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 63 : input [1:0] io_in_bits_tailSlot_tarStat,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 33 : input io_in_bits_tailSlot_sharing,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 28 : input io_in_bits_tailSlot_valid,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 152 : input [3:0] io_in_bits_pftAddr,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 34 : input io_in_bits_carry,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 39 : input io_in_bits_isCall,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 36 : input io_in_bits_isRet,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 37 : input io_in_bits_isJalr,</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 41 : input io_in_bits_last_may_be_rvi_call,</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 32 : input io_in_bits_always_taken_0,</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 33 : input io_in_bits_always_taken_1,</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 57 : input io_in_valid,</span></a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 27 : output io_out_bits_valid,</span></a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 90 : output [3:0] io_out_bits_brSlots_0_offset,</span></a>
<a name="83"><span class="lineNum"> 83 </span><span class="lineCov"> 291 : output [11:0] io_out_bits_brSlots_0_lower,</span></a>
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 53 : output [1:0] io_out_bits_brSlots_0_tarStat,</span></a>
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 26 : output io_out_bits_brSlots_0_sharing,</span></a>
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 25 : output io_out_bits_brSlots_0_valid,</span></a>
<a name="87"><span class="lineNum"> 87 </span><span class="lineCov"> 97 : output [3:0] io_out_bits_tailSlot_offset,</span></a>
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 508 : output [19:0] io_out_bits_tailSlot_lower,</span></a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 42 : output [1:0] io_out_bits_tailSlot_tarStat,</span></a>
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 24 : output io_out_bits_tailSlot_sharing,</span></a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 21 : output io_out_bits_tailSlot_valid,</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 101 : output [3:0] io_out_bits_pftAddr,</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 31 : output io_out_bits_carry,</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 25 : output io_out_bits_isCall,</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 21 : output io_out_bits_isRet,</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 25 : output io_out_bits_isJalr,</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 24 : output io_out_bits_last_may_be_rvi_call,</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 21 : output io_out_bits_always_taken_0,</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 26 : output io_out_bits_always_taken_1</span></a>
<a name="100"><span class="lineNum"> 100 </span> : );</a>
<a name="101"><span class="lineNum"> 101 </span> : </a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 59 : reg valid_REG;</span></a>
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 30 : reg data_valid;</span></a>
<a name="104"><span class="lineNum"> 104 </span><span class="lineCov"> 91 : reg [3:0] data_brSlots_0_offset;</span></a>
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 294 : reg [11:0] data_brSlots_0_lower;</span></a>
<a name="106"><span class="lineNum"> 106 </span><span class="lineCov"> 48 : reg [1:0] data_brSlots_0_tarStat;</span></a>
<a name="107"><span class="lineNum"> 107 </span><span class="lineCov"> 21 : reg data_brSlots_0_sharing;</span></a>
<a name="108"><span class="lineNum"> 108 </span><span class="lineCov"> 27 : reg data_brSlots_0_valid;</span></a>
<a name="109"><span class="lineNum"> 109 </span><span class="lineCov"> 100 : reg [3:0] data_tailSlot_offset;</span></a>
<a name="110"><span class="lineNum"> 110 </span><span class="lineCov"> 470 : reg [19:0] data_tailSlot_lower;</span></a>
<a name="111"><span class="lineNum"> 111 </span><span class="lineCov"> 43 : reg [1:0] data_tailSlot_tarStat;</span></a>
<a name="112"><span class="lineNum"> 112 </span><span class="lineCov"> 20 : reg data_tailSlot_sharing;</span></a>
<a name="113"><span class="lineNum"> 113 </span><span class="lineCov"> 26 : reg data_tailSlot_valid;</span></a>
<a name="114"><span class="lineNum"> 114 </span><span class="lineCov"> 87 : reg [3:0] data_pftAddr;</span></a>
<a name="115"><span class="lineNum"> 115 </span><span class="lineCov"> 24 : reg data_carry;</span></a>
<a name="116"><span class="lineNum"> 116 </span><span class="lineCov"> 25 : reg data_isCall;</span></a>
<a name="117"><span class="lineNum"> 117 </span><span class="lineCov"> 13 : reg data_isRet;</span></a>
<a name="118"><span class="lineNum"> 118 </span><span class="lineCov"> 24 : reg data_isJalr;</span></a>
<a name="119"><span class="lineNum"> 119 </span><span class="lineCov"> 23 : reg data_last_may_be_rvi_call;</span></a>
<a name="120"><span class="lineNum"> 120 </span><span class="lineCov"> 22 : reg data_always_taken_0;</span></a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 24 : reg data_always_taken_1;</span></a>
<a name="122"><span class="lineNum"> 122 </span><span class="lineCov"> 27 : reg res_bits_valid;</span></a>
<a name="123"><span class="lineNum"> 123 </span><span class="lineCov"> 90 : reg [3:0] res_bits_brSlots_0_offset;</span></a>
<a name="124"><span class="lineNum"> 124 </span><span class="lineCov"> 291 : reg [11:0] res_bits_brSlots_0_lower;</span></a>
<a name="125"><span class="lineNum"> 125 </span><span class="lineCov"> 53 : reg [1:0] res_bits_brSlots_0_tarStat;</span></a>
<a name="126"><span class="lineNum"> 126 </span><span class="lineCov"> 26 : reg res_bits_brSlots_0_sharing;</span></a>
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 25 : reg res_bits_brSlots_0_valid;</span></a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 97 : reg [3:0] res_bits_tailSlot_offset;</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 508 : reg [19:0] res_bits_tailSlot_lower;</span></a>
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 42 : reg [1:0] res_bits_tailSlot_tarStat;</span></a>
<a name="131"><span class="lineNum"> 131 </span><span class="lineCov"> 24 : reg res_bits_tailSlot_sharing;</span></a>
<a name="132"><span class="lineNum"> 132 </span><span class="lineCov"> 21 : reg res_bits_tailSlot_valid;</span></a>
<a name="133"><span class="lineNum"> 133 </span><span class="lineCov"> 101 : reg [3:0] res_bits_pftAddr;</span></a>
<a name="134"><span class="lineNum"> 134 </span><span class="lineCov"> 31 : reg res_bits_carry;</span></a>
<a name="135"><span class="lineNum"> 135 </span><span class="lineCov"> 25 : reg res_bits_isCall;</span></a>
<a name="136"><span class="lineNum"> 136 </span><span class="lineCov"> 21 : reg res_bits_isRet;</span></a>
<a name="137"><span class="lineNum"> 137 </span><span class="lineCov"> 25 : reg res_bits_isJalr;</span></a>
<a name="138"><span class="lineNum"> 138 </span><span class="lineCov"> 24 : reg res_bits_last_may_be_rvi_call;</span></a>
<a name="139"><span class="lineNum"> 139 </span><span class="lineCov"> 21 : reg res_bits_always_taken_0;</span></a>
<a name="140"><span class="lineNum"> 140 </span><span class="lineCov"> 26 : reg res_bits_always_taken_1;</span></a>
<a name="141"><span class="lineNum"> 141 </span><span class="lineCov"> 127730 : always @(posedge clock or posedge reset) begin</span></a>
<a name="142"><span class="lineNum"> 142 </span><span class="lineCov"> 272 : if (reset)</span></a>
<a name="143"><span class="lineNum"> 143 </span><span class="lineCov"> 136 : valid_REG &lt;= 1'h0;</span></a>
<a name="144"><span class="lineNum"> 144 </span> : else</a>
<a name="145"><span class="lineNum"> 145 </span><span class="lineCov"> 63729 : valid_REG &lt;= io_in_valid;</span></a>
<a name="146"><span class="lineNum"> 146 </span> : end // always @(posedge, posedge)</a>
<a name="147"><span class="lineNum"> 147 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="148"><span class="lineNum"> 148 </span><span class="lineCov"> 44 : if (io_in_valid) begin</span></a>
<a name="149"><span class="lineNum"> 149 </span><span class="lineCov"> 22 : data_valid &lt;= io_in_bits_valid;</span></a>
<a name="150"><span class="lineNum"> 150 </span><span class="lineCov"> 22 : data_brSlots_0_offset &lt;= io_in_bits_brSlots_0_offset;</span></a>
<a name="151"><span class="lineNum"> 151 </span><span class="lineCov"> 22 : data_brSlots_0_lower &lt;= io_in_bits_brSlots_0_lower;</span></a>
<a name="152"><span class="lineNum"> 152 </span><span class="lineCov"> 22 : data_brSlots_0_tarStat &lt;= io_in_bits_brSlots_0_tarStat;</span></a>
<a name="153"><span class="lineNum"> 153 </span><span class="lineCov"> 22 : data_brSlots_0_sharing &lt;= io_in_bits_brSlots_0_sharing;</span></a>
<a name="154"><span class="lineNum"> 154 </span><span class="lineCov"> 22 : data_brSlots_0_valid &lt;= io_in_bits_brSlots_0_valid;</span></a>
<a name="155"><span class="lineNum"> 155 </span><span class="lineCov"> 22 : data_tailSlot_offset &lt;= io_in_bits_tailSlot_offset;</span></a>
<a name="156"><span class="lineNum"> 156 </span><span class="lineCov"> 22 : data_tailSlot_lower &lt;= io_in_bits_tailSlot_lower;</span></a>
<a name="157"><span class="lineNum"> 157 </span><span class="lineCov"> 22 : data_tailSlot_tarStat &lt;= io_in_bits_tailSlot_tarStat;</span></a>
<a name="158"><span class="lineNum"> 158 </span><span class="lineCov"> 22 : data_tailSlot_sharing &lt;= io_in_bits_tailSlot_sharing;</span></a>
<a name="159"><span class="lineNum"> 159 </span><span class="lineCov"> 22 : data_tailSlot_valid &lt;= io_in_bits_tailSlot_valid;</span></a>
<a name="160"><span class="lineNum"> 160 </span><span class="lineCov"> 22 : data_pftAddr &lt;= io_in_bits_pftAddr;</span></a>
<a name="161"><span class="lineNum"> 161 </span><span class="lineCov"> 22 : data_carry &lt;= io_in_bits_carry;</span></a>
<a name="162"><span class="lineNum"> 162 </span><span class="lineCov"> 22 : data_isCall &lt;= io_in_bits_isCall;</span></a>
<a name="163"><span class="lineNum"> 163 </span><span class="lineCov"> 22 : data_isRet &lt;= io_in_bits_isRet;</span></a>
<a name="164"><span class="lineNum"> 164 </span><span class="lineCov"> 22 : data_isJalr &lt;= io_in_bits_isJalr;</span></a>
<a name="165"><span class="lineNum"> 165 </span><span class="lineCov"> 22 : data_last_may_be_rvi_call &lt;= io_in_bits_last_may_be_rvi_call;</span></a>
<a name="166"><span class="lineNum"> 166 </span><span class="lineCov"> 22 : data_always_taken_0 &lt;= io_in_bits_always_taken_0;</span></a>
<a name="167"><span class="lineNum"> 167 </span><span class="lineCov"> 22 : data_always_taken_1 &lt;= io_in_bits_always_taken_1;</span></a>
<a name="168"><span class="lineNum"> 168 </span> : end</a>
<a name="169"><span class="lineNum"> 169 </span><span class="lineCov"> 50 : if (valid_REG) begin</span></a>
<a name="170"><span class="lineNum"> 170 </span><span class="lineCov"> 25 : res_bits_valid &lt;= data_valid;</span></a>
<a name="171"><span class="lineNum"> 171 </span><span class="lineCov"> 25 : res_bits_brSlots_0_offset &lt;= data_brSlots_0_offset;</span></a>
<a name="172"><span class="lineNum"> 172 </span><span class="lineCov"> 25 : res_bits_brSlots_0_lower &lt;= data_brSlots_0_lower;</span></a>
<a name="173"><span class="lineNum"> 173 </span><span class="lineCov"> 25 : res_bits_brSlots_0_tarStat &lt;= data_brSlots_0_tarStat;</span></a>
<a name="174"><span class="lineNum"> 174 </span><span class="lineCov"> 25 : res_bits_brSlots_0_sharing &lt;= data_brSlots_0_sharing;</span></a>
<a name="175"><span class="lineNum"> 175 </span><span class="lineCov"> 25 : res_bits_brSlots_0_valid &lt;= data_brSlots_0_valid;</span></a>
<a name="176"><span class="lineNum"> 176 </span><span class="lineCov"> 25 : res_bits_tailSlot_offset &lt;= data_tailSlot_offset;</span></a>
<a name="177"><span class="lineNum"> 177 </span><span class="lineCov"> 25 : res_bits_tailSlot_lower &lt;= data_tailSlot_lower;</span></a>
<a name="178"><span class="lineNum"> 178 </span><span class="lineCov"> 25 : res_bits_tailSlot_tarStat &lt;= data_tailSlot_tarStat;</span></a>
<a name="179"><span class="lineNum"> 179 </span><span class="lineCov"> 25 : res_bits_tailSlot_sharing &lt;= data_tailSlot_sharing;</span></a>
<a name="180"><span class="lineNum"> 180 </span><span class="lineCov"> 25 : res_bits_tailSlot_valid &lt;= data_tailSlot_valid;</span></a>
<a name="181"><span class="lineNum"> 181 </span><span class="lineCov"> 25 : res_bits_pftAddr &lt;= data_pftAddr;</span></a>
<a name="182"><span class="lineNum"> 182 </span><span class="lineCov"> 25 : res_bits_carry &lt;= data_carry;</span></a>
<a name="183"><span class="lineNum"> 183 </span><span class="lineCov"> 25 : res_bits_isCall &lt;= data_isCall;</span></a>
<a name="184"><span class="lineNum"> 184 </span><span class="lineCov"> 25 : res_bits_isRet &lt;= data_isRet;</span></a>
<a name="185"><span class="lineNum"> 185 </span><span class="lineCov"> 25 : res_bits_isJalr &lt;= data_isJalr;</span></a>
<a name="186"><span class="lineNum"> 186 </span><span class="lineCov"> 25 : res_bits_last_may_be_rvi_call &lt;= data_last_may_be_rvi_call;</span></a>
<a name="187"><span class="lineNum"> 187 </span><span class="lineCov"> 25 : res_bits_always_taken_0 &lt;= data_always_taken_0;</span></a>
<a name="188"><span class="lineNum"> 188 </span><span class="lineCov"> 25 : res_bits_always_taken_1 &lt;= data_always_taken_1;</span></a>
<a name="189"><span class="lineNum"> 189 </span> : end</a>
<a name="190"><span class="lineNum"> 190 </span> : end // always @(posedge)</a>
<a name="191"><span class="lineNum"> 191 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="192"><span class="lineNum"> 192 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="193"><span class="lineNum"> 193 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="194"><span class="lineNum"> 194 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="195"><span class="lineNum"> 195 </span> : logic [31:0] _RANDOM[0:3];</a>
<a name="196"><span class="lineNum"> 196 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="197"><span class="lineNum"> 197 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="198"><span class="lineNum"> 198 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="199"><span class="lineNum"> 199 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="200"><span class="lineNum"> 200 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="201"><span class="lineNum"> 201 </span> : for (logic [2:0] i = 3'h0; i &lt; 3'h4; i += 3'h1) begin</a>
<a name="202"><span class="lineNum"> 202 </span> : _RANDOM[i[1:0]] = `RANDOM;</a>
<a name="203"><span class="lineNum"> 203 </span> : end</a>
<a name="204"><span class="lineNum"> 204 </span> : valid_REG = _RANDOM[2'h0][0];</a>
<a name="205"><span class="lineNum"> 205 </span> : data_valid = _RANDOM[2'h0][1];</a>
<a name="206"><span class="lineNum"> 206 </span> : data_brSlots_0_offset = _RANDOM[2'h0][5:2];</a>
<a name="207"><span class="lineNum"> 207 </span> : data_brSlots_0_lower = _RANDOM[2'h0][17:6];</a>
<a name="208"><span class="lineNum"> 208 </span> : data_brSlots_0_tarStat = _RANDOM[2'h0][19:18];</a>
<a name="209"><span class="lineNum"> 209 </span> : data_brSlots_0_sharing = _RANDOM[2'h0][20];</a>
<a name="210"><span class="lineNum"> 210 </span> : data_brSlots_0_valid = _RANDOM[2'h0][21];</a>
<a name="211"><span class="lineNum"> 211 </span> : data_tailSlot_offset = _RANDOM[2'h0][25:22];</a>
<a name="212"><span class="lineNum"> 212 </span> : data_tailSlot_lower = {_RANDOM[2'h0][31:26], _RANDOM[2'h1][13:0]};</a>
<a name="213"><span class="lineNum"> 213 </span> : data_tailSlot_tarStat = _RANDOM[2'h1][15:14];</a>
<a name="214"><span class="lineNum"> 214 </span> : data_tailSlot_sharing = _RANDOM[2'h1][16];</a>
<a name="215"><span class="lineNum"> 215 </span> : data_tailSlot_valid = _RANDOM[2'h1][17];</a>
<a name="216"><span class="lineNum"> 216 </span> : data_pftAddr = _RANDOM[2'h1][21:18];</a>
<a name="217"><span class="lineNum"> 217 </span> : data_carry = _RANDOM[2'h1][22];</a>
<a name="218"><span class="lineNum"> 218 </span> : data_isCall = _RANDOM[2'h1][23];</a>
<a name="219"><span class="lineNum"> 219 </span> : data_isRet = _RANDOM[2'h1][24];</a>
<a name="220"><span class="lineNum"> 220 </span> : data_isJalr = _RANDOM[2'h1][25];</a>
<a name="221"><span class="lineNum"> 221 </span> : data_last_may_be_rvi_call = _RANDOM[2'h1][26];</a>
<a name="222"><span class="lineNum"> 222 </span> : data_always_taken_0 = _RANDOM[2'h1][27];</a>
<a name="223"><span class="lineNum"> 223 </span> : data_always_taken_1 = _RANDOM[2'h1][28];</a>
<a name="224"><span class="lineNum"> 224 </span> : res_bits_valid = _RANDOM[2'h1][30];</a>
<a name="225"><span class="lineNum"> 225 </span> : res_bits_brSlots_0_offset = {_RANDOM[2'h1][31], _RANDOM[2'h2][2:0]};</a>
<a name="226"><span class="lineNum"> 226 </span> : res_bits_brSlots_0_lower = _RANDOM[2'h2][14:3];</a>
<a name="227"><span class="lineNum"> 227 </span> : res_bits_brSlots_0_tarStat = _RANDOM[2'h2][16:15];</a>
<a name="228"><span class="lineNum"> 228 </span> : res_bits_brSlots_0_sharing = _RANDOM[2'h2][17];</a>
<a name="229"><span class="lineNum"> 229 </span> : res_bits_brSlots_0_valid = _RANDOM[2'h2][18];</a>
<a name="230"><span class="lineNum"> 230 </span> : res_bits_tailSlot_offset = _RANDOM[2'h2][22:19];</a>
<a name="231"><span class="lineNum"> 231 </span> : res_bits_tailSlot_lower = {_RANDOM[2'h2][31:23], _RANDOM[2'h3][10:0]};</a>
<a name="232"><span class="lineNum"> 232 </span> : res_bits_tailSlot_tarStat = _RANDOM[2'h3][12:11];</a>
<a name="233"><span class="lineNum"> 233 </span> : res_bits_tailSlot_sharing = _RANDOM[2'h3][13];</a>
<a name="234"><span class="lineNum"> 234 </span> : res_bits_tailSlot_valid = _RANDOM[2'h3][14];</a>
<a name="235"><span class="lineNum"> 235 </span> : res_bits_pftAddr = _RANDOM[2'h3][18:15];</a>
<a name="236"><span class="lineNum"> 236 </span> : res_bits_carry = _RANDOM[2'h3][19];</a>
<a name="237"><span class="lineNum"> 237 </span> : res_bits_isCall = _RANDOM[2'h3][20];</a>
<a name="238"><span class="lineNum"> 238 </span> : res_bits_isRet = _RANDOM[2'h3][21];</a>
<a name="239"><span class="lineNum"> 239 </span> : res_bits_isJalr = _RANDOM[2'h3][22];</a>
<a name="240"><span class="lineNum"> 240 </span> : res_bits_last_may_be_rvi_call = _RANDOM[2'h3][23];</a>
<a name="241"><span class="lineNum"> 241 </span> : res_bits_always_taken_0 = _RANDOM[2'h3][24];</a>
<a name="242"><span class="lineNum"> 242 </span> : res_bits_always_taken_1 = _RANDOM[2'h3][25];</a>
<a name="243"><span class="lineNum"> 243 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="244"><span class="lineNum"> 244 </span><span class="lineCov"> 17 : if (reset)</span></a>
<a name="245"><span class="lineNum"> 245 </span><span class="lineCov"> 12 : valid_REG = 1'h0;</span></a>
<a name="246"><span class="lineNum"> 246 </span> : end // initial</a>
<a name="247"><span class="lineNum"> 247 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="248"><span class="lineNum"> 248 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="249"><span class="lineNum"> 249 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="250"><span class="lineNum"> 250 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="251"><span class="lineNum"> 251 </span> : assign io_out_bits_valid = res_bits_valid;</a>
<a name="252"><span class="lineNum"> 252 </span> : assign io_out_bits_brSlots_0_offset = res_bits_brSlots_0_offset;</a>
<a name="253"><span class="lineNum"> 253 </span> : assign io_out_bits_brSlots_0_lower = res_bits_brSlots_0_lower;</a>
<a name="254"><span class="lineNum"> 254 </span> : assign io_out_bits_brSlots_0_tarStat = res_bits_brSlots_0_tarStat;</a>
<a name="255"><span class="lineNum"> 255 </span> : assign io_out_bits_brSlots_0_sharing = res_bits_brSlots_0_sharing;</a>
<a name="256"><span class="lineNum"> 256 </span> : assign io_out_bits_brSlots_0_valid = res_bits_brSlots_0_valid;</a>
<a name="257"><span class="lineNum"> 257 </span> : assign io_out_bits_tailSlot_offset = res_bits_tailSlot_offset;</a>
<a name="258"><span class="lineNum"> 258 </span> : assign io_out_bits_tailSlot_lower = res_bits_tailSlot_lower;</a>
<a name="259"><span class="lineNum"> 259 </span> : assign io_out_bits_tailSlot_tarStat = res_bits_tailSlot_tarStat;</a>
<a name="260"><span class="lineNum"> 260 </span> : assign io_out_bits_tailSlot_sharing = res_bits_tailSlot_sharing;</a>
<a name="261"><span class="lineNum"> 261 </span> : assign io_out_bits_tailSlot_valid = res_bits_tailSlot_valid;</a>
<a name="262"><span class="lineNum"> 262 </span> : assign io_out_bits_pftAddr = res_bits_pftAddr;</a>
<a name="263"><span class="lineNum"> 263 </span> : assign io_out_bits_carry = res_bits_carry;</a>
<a name="264"><span class="lineNum"> 264 </span> : assign io_out_bits_isCall = res_bits_isCall;</a>
<a name="265"><span class="lineNum"> 265 </span> : assign io_out_bits_isRet = res_bits_isRet;</a>
<a name="266"><span class="lineNum"> 266 </span> : assign io_out_bits_isJalr = res_bits_isJalr;</a>
<a name="267"><span class="lineNum"> 267 </span> : assign io_out_bits_last_may_be_rvi_call = res_bits_last_may_be_rvi_call;</a>
<a name="268"><span class="lineNum"> 268 </span> : assign io_out_bits_always_taken_0 = res_bits_always_taken_0;</a>
<a name="269"><span class="lineNum"> 269 </span> : assign io_out_bits_always_taken_1 = res_bits_always_taken_1;</a>
<a name="270"><span class="lineNum"> 270 </span> : endmodule</a>
<a name="271"><span class="lineNum"> 271 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayN_1.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayN_1.sv<span style="font-size: 80%;"> (<a href="DelayN_1.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="DelayN_1.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayN_1.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayN_1.sv<span style="font-size: 80%;"> (<a href="DelayN_1.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="DelayN_1.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,188 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayN_1.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayN_1.sv<span style="font-size: 80%;"> (source / <a href="DelayN_1.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntry">23</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module DelayN_1(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 638930 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 325 : input io_in_ubtb_enable,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 315 : input io_in_btb_enable,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 307 : input io_in_tage_enable,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 356 : input io_in_sc_enable,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 328 : input io_in_ras_enable,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 386 : output io_out_ubtb_enable,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 398 : output io_out_btb_enable,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 378 : output io_out_tage_enable,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 422 : output io_out_sc_enable,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 412 : output io_out_ras_enable</span></a>
<a name="70"><span class="lineNum"> 70 </span> : );</a>
<a name="71"><span class="lineNum"> 71 </span> : </a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 386 : reg REG_ubtb_enable;</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 398 : reg REG_btb_enable;</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 378 : reg REG_tage_enable;</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 422 : reg REG_sc_enable;</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 412 : reg REG_ras_enable;</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 638470 : always @(posedge clock) begin</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 319235 : REG_ubtb_enable &lt;= io_in_ubtb_enable;</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 319235 : REG_btb_enable &lt;= io_in_btb_enable;</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 319235 : REG_tage_enable &lt;= io_in_tage_enable;</span></a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 319235 : REG_sc_enable &lt;= io_in_sc_enable;</span></a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 319235 : REG_ras_enable &lt;= io_in_ras_enable;</span></a>
<a name="83"><span class="lineNum"> 83 </span> : end // always @(posedge)</a>
<a name="84"><span class="lineNum"> 84 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="85"><span class="lineNum"> 85 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="86"><span class="lineNum"> 86 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="87"><span class="lineNum"> 87 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="88"><span class="lineNum"> 88 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 290 : initial begin</span></a>
<a name="90"><span class="lineNum"> 90 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="91"><span class="lineNum"> 91 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="92"><span class="lineNum"> 92 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="93"><span class="lineNum"> 93 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="94"><span class="lineNum"> 94 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="95"><span class="lineNum"> 95 </span> : REG_ubtb_enable = _RANDOM[/*Zero width*/ 1'b0][0];</a>
<a name="96"><span class="lineNum"> 96 </span> : REG_btb_enable = _RANDOM[/*Zero width*/ 1'b0][1];</a>
<a name="97"><span class="lineNum"> 97 </span> : REG_tage_enable = _RANDOM[/*Zero width*/ 1'b0][3];</a>
<a name="98"><span class="lineNum"> 98 </span> : REG_sc_enable = _RANDOM[/*Zero width*/ 1'b0][4];</a>
<a name="99"><span class="lineNum"> 99 </span> : REG_ras_enable = _RANDOM[/*Zero width*/ 1'b0][5];</a>
<a name="100"><span class="lineNum"> 100 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="101"><span class="lineNum"> 101 </span> : end // initial</a>
<a name="102"><span class="lineNum"> 102 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="103"><span class="lineNum"> 103 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="104"><span class="lineNum"> 104 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="105"><span class="lineNum"> 105 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="106"><span class="lineNum"> 106 </span> : assign io_out_ubtb_enable = REG_ubtb_enable;</a>
<a name="107"><span class="lineNum"> 107 </span> : assign io_out_btb_enable = REG_btb_enable;</a>
<a name="108"><span class="lineNum"> 108 </span> : assign io_out_tage_enable = REG_tage_enable;</a>
<a name="109"><span class="lineNum"> 109 </span> : assign io_out_sc_enable = REG_sc_enable;</a>
<a name="110"><span class="lineNum"> 110 </span> : assign io_out_ras_enable = REG_ras_enable;</a>
<a name="111"><span class="lineNum"> 111 </span> : endmodule</a>
<a name="112"><span class="lineNum"> 112 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayN_2.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayN_2.sv<span style="font-size: 80%;"> (<a href="DelayN_2.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="DelayN_2.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayN_2.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayN_2.sv<span style="font-size: 80%;"> (<a href="DelayN_2.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="DelayN_2.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,178 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayN_2.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayN_2.sv<span style="font-size: 80%;"> (source / <a href="DelayN_2.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module DelayN_2(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 1105 : input [35:0] io_in,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 18419 : output [35:0] io_out</span></a>
<a name="62"><span class="lineNum"> 62 </span> : );</a>
<a name="63"><span class="lineNum"> 63 </span> : </a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 8059 : reg [35:0] REG;</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 10571 : reg [35:0] REG_1;</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 13265 : reg [35:0] REG_2;</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 15817 : reg [35:0] REG_3;</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 18419 : reg [35:0] REG_4;</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 638470 : always @(posedge clock) begin</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 319235 : REG &lt;= io_in;</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 319235 : REG_1 &lt;= REG;</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 319235 : REG_2 &lt;= REG_1;</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 319235 : REG_3 &lt;= REG_2;</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 319235 : REG_4 &lt;= REG_3;</span></a>
<a name="75"><span class="lineNum"> 75 </span> : end // always @(posedge)</a>
<a name="76"><span class="lineNum"> 76 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="77"><span class="lineNum"> 77 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="78"><span class="lineNum"> 78 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="79"><span class="lineNum"> 79 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="80"><span class="lineNum"> 80 </span> : logic [31:0] _RANDOM[0:5];</a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 290 : initial begin</span></a>
<a name="82"><span class="lineNum"> 82 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="83"><span class="lineNum"> 83 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="84"><span class="lineNum"> 84 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="85"><span class="lineNum"> 85 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="86"><span class="lineNum"> 86 </span> : for (logic [2:0] i = 3'h0; i &lt; 3'h6; i += 3'h1) begin</a>
<a name="87"><span class="lineNum"> 87 </span> : _RANDOM[i] = `RANDOM;</a>
<a name="88"><span class="lineNum"> 88 </span> : end</a>
<a name="89"><span class="lineNum"> 89 </span> : REG = {_RANDOM[3'h0], _RANDOM[3'h1][3:0]};</a>
<a name="90"><span class="lineNum"> 90 </span> : REG_1 = {_RANDOM[3'h1][31:4], _RANDOM[3'h2][7:0]};</a>
<a name="91"><span class="lineNum"> 91 </span> : REG_2 = {_RANDOM[3'h2][31:8], _RANDOM[3'h3][11:0]};</a>
<a name="92"><span class="lineNum"> 92 </span> : REG_3 = {_RANDOM[3'h3][31:12], _RANDOM[3'h4][15:0]};</a>
<a name="93"><span class="lineNum"> 93 </span> : REG_4 = {_RANDOM[3'h4][31:16], _RANDOM[3'h5][19:0]};</a>
<a name="94"><span class="lineNum"> 94 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="95"><span class="lineNum"> 95 </span> : end // initial</a>
<a name="96"><span class="lineNum"> 96 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="97"><span class="lineNum"> 97 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="98"><span class="lineNum"> 98 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="99"><span class="lineNum"> 99 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="100"><span class="lineNum"> 100 </span> : assign io_out = REG_4;</a>
<a name="101"><span class="lineNum"> 101 </span> : endmodule</a>
<a name="102"><span class="lineNum"> 102 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayN_4.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayN_4.sv<span style="font-size: 80%;"> (<a href="DelayN_4.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">9</td>
<td class="headerCovTableEntry">9</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="DelayN_4.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayN_4.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayN_4.sv<span style="font-size: 80%;"> (<a href="DelayN_4.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">9</td>
<td class="headerCovTableEntry">9</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="DelayN_4.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,167 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/DelayN_4.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - DelayN_4.sv<span style="font-size: 80%;"> (source / <a href="DelayN_4.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">9</td>
<td class="headerCovTableEntry">9</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module DelayN_4(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 50 : input io_in,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 72 : output io_out</span></a>
<a name="62"><span class="lineNum"> 62 </span> : );</a>
<a name="63"><span class="lineNum"> 63 </span> : </a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 60 : reg REG;</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 72 : reg REG_1;</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 63847 : REG &lt;= io_in;</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 63847 : REG_1 &lt;= REG;</span></a>
<a name="69"><span class="lineNum"> 69 </span> : end // always @(posedge)</a>
<a name="70"><span class="lineNum"> 70 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="71"><span class="lineNum"> 71 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="72"><span class="lineNum"> 72 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="73"><span class="lineNum"> 73 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="74"><span class="lineNum"> 74 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="76"><span class="lineNum"> 76 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="77"><span class="lineNum"> 77 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="78"><span class="lineNum"> 78 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="79"><span class="lineNum"> 79 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="80"><span class="lineNum"> 80 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="81"><span class="lineNum"> 81 </span> : REG = _RANDOM[/*Zero width*/ 1'b0][0];</a>
<a name="82"><span class="lineNum"> 82 </span> : REG_1 = _RANDOM[/*Zero width*/ 1'b0][1];</a>
<a name="83"><span class="lineNum"> 83 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="84"><span class="lineNum"> 84 </span> : end // initial</a>
<a name="85"><span class="lineNum"> 85 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="86"><span class="lineNum"> 86 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="87"><span class="lineNum"> 87 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="88"><span class="lineNum"> 88 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="89"><span class="lineNum"> 89 </span> : assign io_out = REG_1;</a>
<a name="90"><span class="lineNum"> 90 </span> : endmodule</a>
<a name="91"><span class="lineNum"> 91 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FTB.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FTB.sv<span style="font-size: 80%;"> (<a href="FTB.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">703</td>
<td class="headerCovTableEntry">703</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="FTB.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FTB.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FTB.sv<span style="font-size: 80%;"> (<a href="FTB.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">703</td>
<td class="headerCovTableEntry">703</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="FTB.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FTBBank.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FTBBank.sv<span style="font-size: 80%;"> (<a href="FTBBank.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">1935</td>
<td class="headerCovTableEntry">4420</td>
<td class="headerCovTableEntryLo">43.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="FTBBank.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FTBBank.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FTBBank.sv<span style="font-size: 80%;"> (<a href="FTBBank.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">1935</td>
<td class="headerCovTableEntry">4420</td>
<td class="headerCovTableEntryLo">43.8 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="FTBBank.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FauFTB.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FauFTB.sv<span style="font-size: 80%;"> (<a href="FauFTB.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">648</td>
<td class="headerCovTableEntry">1058</td>
<td class="headerCovTableEntryLo">61.2 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="FauFTB.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FauFTB.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FauFTB.sv<span style="font-size: 80%;"> (<a href="FauFTB.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">648</td>
<td class="headerCovTableEntry">1058</td>
<td class="headerCovTableEntryLo">61.2 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="FauFTB.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FauFTBWay.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FauFTBWay.sv<span style="font-size: 80%;"> (<a href="FauFTBWay.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">72</td>
<td class="headerCovTableEntry">72</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="FauFTBWay.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FauFTBWay.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FauFTBWay.sv<span style="font-size: 80%;"> (<a href="FauFTBWay.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">72</td>
<td class="headerCovTableEntry">72</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="FauFTBWay.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,263 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FauFTBWay.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FauFTBWay.sv<span style="font-size: 80%;"> (source / <a href="FauFTBWay.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">72</td>
<td class="headerCovTableEntry">72</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module FauFTBWay(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 8872 : input [15:0] io_req_tag,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 2268 : output [3:0] io_resp_brSlots_0_offset,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 6550 : output [11:0] io_resp_brSlots_0_lower,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 1131 : output [1:0] io_resp_brSlots_0_tarStat,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 544 : output io_resp_brSlots_0_valid,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 2222 : output [3:0] io_resp_tailSlot_offset,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 10939 : output [19:0] io_resp_tailSlot_lower,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 1094 : output [1:0] io_resp_tailSlot_tarStat,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 551 : output io_resp_tailSlot_sharing,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 567 : output io_resp_tailSlot_valid,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 2286 : output [3:0] io_resp_pftAddr,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 558 : output io_resp_carry,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 564 : output io_resp_always_taken_0,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 543 : output io_resp_always_taken_1,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 510 : output io_resp_hit,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 454 : input [15:0] io_update_req_tag,</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 527 : output io_update_hit,</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 12 : input io_write_valid,</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 127 : input [3:0] io_write_entry_brSlots_0_offset,</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 345 : input [11:0] io_write_entry_brSlots_0_lower,</span></a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 57 : input [1:0] io_write_entry_brSlots_0_tarStat,</span></a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 43 : input io_write_entry_brSlots_0_valid,</span></a>
<a name="83"><span class="lineNum"> 83 </span><span class="lineCov"> 127 : input [3:0] io_write_entry_tailSlot_offset,</span></a>
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 573 : input [19:0] io_write_entry_tailSlot_lower,</span></a>
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 70 : input [1:0] io_write_entry_tailSlot_tarStat,</span></a>
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 33 : input io_write_entry_tailSlot_sharing,</span></a>
<a name="87"><span class="lineNum"> 87 </span><span class="lineCov"> 29 : input io_write_entry_tailSlot_valid,</span></a>
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 135 : input [3:0] io_write_entry_pftAddr,</span></a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 30 : input io_write_entry_carry,</span></a>
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 26 : input io_write_entry_always_taken_0,</span></a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 37 : input io_write_entry_always_taken_1,</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 435 : input [15:0] io_write_tag</span></a>
<a name="93"><span class="lineNum"> 93 </span> : );</a>
<a name="94"><span class="lineNum"> 94 </span> : </a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 2268 : reg [3:0] data_brSlots_0_offset;</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 6550 : reg [11:0] data_brSlots_0_lower;</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 1131 : reg [1:0] data_brSlots_0_tarStat;</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 544 : reg data_brSlots_0_valid;</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 2222 : reg [3:0] data_tailSlot_offset;</span></a>
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 10939 : reg [19:0] data_tailSlot_lower;</span></a>
<a name="101"><span class="lineNum"> 101 </span><span class="lineCov"> 1094 : reg [1:0] data_tailSlot_tarStat;</span></a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 551 : reg data_tailSlot_sharing;</span></a>
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 567 : reg data_tailSlot_valid;</span></a>
<a name="104"><span class="lineNum"> 104 </span><span class="lineCov"> 2286 : reg [3:0] data_pftAddr;</span></a>
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 558 : reg data_carry;</span></a>
<a name="106"><span class="lineNum"> 106 </span><span class="lineCov"> 564 : reg data_always_taken_0;</span></a>
<a name="107"><span class="lineNum"> 107 </span><span class="lineCov"> 543 : reg data_always_taken_1;</span></a>
<a name="108"><span class="lineNum"> 108 </span><span class="lineCov"> 8837 : reg [15:0] tag;</span></a>
<a name="109"><span class="lineNum"> 109 </span><span class="lineCov"> 831 : reg valid;</span></a>
<a name="110"><span class="lineNum"> 110 </span><span class="lineCov"> 4086208 : always @(posedge clock) begin</span></a>
<a name="111"><span class="lineNum"> 111 </span><span class="lineCov"> 380 : if (io_write_valid) begin</span></a>
<a name="112"><span class="lineNum"> 112 </span><span class="lineCov"> 190 : data_brSlots_0_offset &lt;= io_write_entry_brSlots_0_offset;</span></a>
<a name="113"><span class="lineNum"> 113 </span><span class="lineCov"> 190 : data_brSlots_0_lower &lt;= io_write_entry_brSlots_0_lower;</span></a>
<a name="114"><span class="lineNum"> 114 </span><span class="lineCov"> 190 : data_brSlots_0_tarStat &lt;= io_write_entry_brSlots_0_tarStat;</span></a>
<a name="115"><span class="lineNum"> 115 </span><span class="lineCov"> 190 : data_brSlots_0_valid &lt;= io_write_entry_brSlots_0_valid;</span></a>
<a name="116"><span class="lineNum"> 116 </span><span class="lineCov"> 190 : data_tailSlot_offset &lt;= io_write_entry_tailSlot_offset;</span></a>
<a name="117"><span class="lineNum"> 117 </span><span class="lineCov"> 190 : data_tailSlot_lower &lt;= io_write_entry_tailSlot_lower;</span></a>
<a name="118"><span class="lineNum"> 118 </span><span class="lineCov"> 190 : data_tailSlot_tarStat &lt;= io_write_entry_tailSlot_tarStat;</span></a>
<a name="119"><span class="lineNum"> 119 </span><span class="lineCov"> 190 : data_tailSlot_sharing &lt;= io_write_entry_tailSlot_sharing;</span></a>
<a name="120"><span class="lineNum"> 120 </span><span class="lineCov"> 190 : data_tailSlot_valid &lt;= io_write_entry_tailSlot_valid;</span></a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 190 : data_pftAddr &lt;= io_write_entry_pftAddr;</span></a>
<a name="122"><span class="lineNum"> 122 </span><span class="lineCov"> 190 : data_carry &lt;= io_write_entry_carry;</span></a>
<a name="123"><span class="lineNum"> 123 </span><span class="lineCov"> 190 : data_always_taken_0 &lt;= io_write_entry_always_taken_0;</span></a>
<a name="124"><span class="lineNum"> 124 </span><span class="lineCov"> 190 : data_always_taken_1 &lt;= io_write_entry_always_taken_1;</span></a>
<a name="125"><span class="lineNum"> 125 </span><span class="lineCov"> 190 : tag &lt;= io_write_tag;</span></a>
<a name="126"><span class="lineNum"> 126 </span> : end</a>
<a name="127"><span class="lineNum"> 127 </span> : end // always @(posedge)</a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 4087360 : always @(posedge clock or posedge reset) begin</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 8704 : if (reset)</span></a>
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 4352 : valid &lt;= 1'h0;</span></a>
<a name="131"><span class="lineNum"> 131 </span> : else</a>
<a name="132"><span class="lineNum"> 132 </span><span class="lineCov"> 2039328 : valid &lt;= io_write_valid &amp; ~valid | valid;</span></a>
<a name="133"><span class="lineNum"> 133 </span> : end // always @(posedge, posedge)</a>
<a name="134"><span class="lineNum"> 134 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="135"><span class="lineNum"> 135 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="136"><span class="lineNum"> 136 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="137"><span class="lineNum"> 137 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="138"><span class="lineNum"> 138 </span> : logic [31:0] _RANDOM[0:2];</a>
<a name="139"><span class="lineNum"> 139 </span><span class="lineCov"> 1856 : initial begin</span></a>
<a name="140"><span class="lineNum"> 140 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="141"><span class="lineNum"> 141 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="142"><span class="lineNum"> 142 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="143"><span class="lineNum"> 143 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="144"><span class="lineNum"> 144 </span> : for (logic [1:0] i = 2'h0; i &lt; 2'h3; i += 2'h1) begin</a>
<a name="145"><span class="lineNum"> 145 </span> : _RANDOM[i] = `RANDOM;</a>
<a name="146"><span class="lineNum"> 146 </span> : end</a>
<a name="147"><span class="lineNum"> 147 </span> : data_brSlots_0_offset = _RANDOM[2'h0][4:1];</a>
<a name="148"><span class="lineNum"> 148 </span> : data_brSlots_0_lower = _RANDOM[2'h0][16:5];</a>
<a name="149"><span class="lineNum"> 149 </span> : data_brSlots_0_tarStat = _RANDOM[2'h0][18:17];</a>
<a name="150"><span class="lineNum"> 150 </span> : data_brSlots_0_valid = _RANDOM[2'h0][20];</a>
<a name="151"><span class="lineNum"> 151 </span> : data_tailSlot_offset = _RANDOM[2'h0][24:21];</a>
<a name="152"><span class="lineNum"> 152 </span> : data_tailSlot_lower = {_RANDOM[2'h0][31:25], _RANDOM[2'h1][12:0]};</a>
<a name="153"><span class="lineNum"> 153 </span> : data_tailSlot_tarStat = _RANDOM[2'h1][14:13];</a>
<a name="154"><span class="lineNum"> 154 </span> : data_tailSlot_sharing = _RANDOM[2'h1][15];</a>
<a name="155"><span class="lineNum"> 155 </span> : data_tailSlot_valid = _RANDOM[2'h1][16];</a>
<a name="156"><span class="lineNum"> 156 </span> : data_pftAddr = _RANDOM[2'h1][20:17];</a>
<a name="157"><span class="lineNum"> 157 </span> : data_carry = _RANDOM[2'h1][21];</a>
<a name="158"><span class="lineNum"> 158 </span> : data_always_taken_0 = _RANDOM[2'h1][26];</a>
<a name="159"><span class="lineNum"> 159 </span> : data_always_taken_1 = _RANDOM[2'h1][27];</a>
<a name="160"><span class="lineNum"> 160 </span> : tag = {_RANDOM[2'h1][31:28], _RANDOM[2'h2][11:0]};</a>
<a name="161"><span class="lineNum"> 161 </span> : valid = _RANDOM[2'h2][12];</a>
<a name="162"><span class="lineNum"> 162 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="163"><span class="lineNum"> 163 </span><span class="lineCov"> 544 : if (reset)</span></a>
<a name="164"><span class="lineNum"> 164 </span><span class="lineCov"> 384 : valid = 1'h0;</span></a>
<a name="165"><span class="lineNum"> 165 </span> : end // initial</a>
<a name="166"><span class="lineNum"> 166 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="167"><span class="lineNum"> 167 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="168"><span class="lineNum"> 168 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="169"><span class="lineNum"> 169 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="170"><span class="lineNum"> 170 </span> : assign io_resp_brSlots_0_offset = data_brSlots_0_offset;</a>
<a name="171"><span class="lineNum"> 171 </span> : assign io_resp_brSlots_0_lower = data_brSlots_0_lower;</a>
<a name="172"><span class="lineNum"> 172 </span> : assign io_resp_brSlots_0_tarStat = data_brSlots_0_tarStat;</a>
<a name="173"><span class="lineNum"> 173 </span> : assign io_resp_brSlots_0_valid = data_brSlots_0_valid;</a>
<a name="174"><span class="lineNum"> 174 </span> : assign io_resp_tailSlot_offset = data_tailSlot_offset;</a>
<a name="175"><span class="lineNum"> 175 </span> : assign io_resp_tailSlot_lower = data_tailSlot_lower;</a>
<a name="176"><span class="lineNum"> 176 </span> : assign io_resp_tailSlot_tarStat = data_tailSlot_tarStat;</a>
<a name="177"><span class="lineNum"> 177 </span> : assign io_resp_tailSlot_sharing = data_tailSlot_sharing;</a>
<a name="178"><span class="lineNum"> 178 </span> : assign io_resp_tailSlot_valid = data_tailSlot_valid;</a>
<a name="179"><span class="lineNum"> 179 </span> : assign io_resp_pftAddr = data_pftAddr;</a>
<a name="180"><span class="lineNum"> 180 </span> : assign io_resp_carry = data_carry;</a>
<a name="181"><span class="lineNum"> 181 </span> : assign io_resp_always_taken_0 = data_always_taken_0;</a>
<a name="182"><span class="lineNum"> 182 </span> : assign io_resp_always_taken_1 = data_always_taken_1;</a>
<a name="183"><span class="lineNum"> 183 </span> : assign io_resp_hit = tag == io_req_tag &amp; valid;</a>
<a name="184"><span class="lineNum"> 184 </span> : assign io_update_hit =</a>
<a name="185"><span class="lineNum"> 185 </span> : tag == io_update_req_tag &amp; valid | io_write_tag == io_update_req_tag &amp; io_write_valid;</a>
<a name="186"><span class="lineNum"> 186 </span> : endmodule</a>
<a name="187"><span class="lineNum"> 187 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/Folded1WDataModuleTemplate.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - Folded1WDataModuleTemplate.sv<span style="font-size: 80%;"> (<a href="Folded1WDataModuleTemplate.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="Folded1WDataModuleTemplate.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/Folded1WDataModuleTemplate.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - Folded1WDataModuleTemplate.sv<span style="font-size: 80%;"> (<a href="Folded1WDataModuleTemplate.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="Folded1WDataModuleTemplate.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,222 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/Folded1WDataModuleTemplate.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - Folded1WDataModuleTemplate.sv<span style="font-size: 80%;"> (source / <a href="Folded1WDataModuleTemplate.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module Folded1WDataModuleTemplate(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 73 : input io_ren_0,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 24675 : input [7:0] io_raddr_0,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 127 : output io_rdata_0,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 11 : input io_wen,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 105 : input [7:0] io_waddr,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 14 : input io_wdata,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 33 : input io_resetEn</span></a>
<a name="68"><span class="lineNum"> 68 </span> : );</a>
<a name="69"><span class="lineNum"> 69 </span> : </a>
<a name="70"><span class="lineNum"> 70 </span> : wire [15:0] _data_ext_R0_data;</a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 113 : reg doing_reset;</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 2019 : reg [3:0] resetRow;</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 16031 : reg [7:0] raddr_0;</span></a>
<a name="74"><span class="lineNum"> 74 </span> : wire [15:0] _GEN =</a>
<a name="75"><span class="lineNum"> 75 </span> : {{_data_ext_R0_data[15]},</a>
<a name="76"><span class="lineNum"> 76 </span> : {_data_ext_R0_data[14]},</a>
<a name="77"><span class="lineNum"> 77 </span> : {_data_ext_R0_data[13]},</a>
<a name="78"><span class="lineNum"> 78 </span> : {_data_ext_R0_data[12]},</a>
<a name="79"><span class="lineNum"> 79 </span> : {_data_ext_R0_data[11]},</a>
<a name="80"><span class="lineNum"> 80 </span> : {_data_ext_R0_data[10]},</a>
<a name="81"><span class="lineNum"> 81 </span> : {_data_ext_R0_data[9]},</a>
<a name="82"><span class="lineNum"> 82 </span> : {_data_ext_R0_data[8]},</a>
<a name="83"><span class="lineNum"> 83 </span> : {_data_ext_R0_data[7]},</a>
<a name="84"><span class="lineNum"> 84 </span> : {_data_ext_R0_data[6]},</a>
<a name="85"><span class="lineNum"> 85 </span> : {_data_ext_R0_data[5]},</a>
<a name="86"><span class="lineNum"> 86 </span> : {_data_ext_R0_data[4]},</a>
<a name="87"><span class="lineNum"> 87 </span> : {_data_ext_R0_data[3]},</a>
<a name="88"><span class="lineNum"> 88 </span> : {_data_ext_R0_data[2]},</a>
<a name="89"><span class="lineNum"> 89 </span> : {_data_ext_R0_data[1]},</a>
<a name="90"><span class="lineNum"> 90 </span> : {_data_ext_R0_data[0]}};</a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 255460 : always @(posedge clock or posedge reset) begin</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 544 : if (reset) begin</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 272 : doing_reset &lt;= 1'h1;</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 272 : resetRow &lt;= 4'h0;</span></a>
<a name="95"><span class="lineNum"> 95 </span> : end</a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 127458 : else begin</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 127458 : doing_reset &lt;= resetRow != 4'hF &amp; (io_resetEn | doing_reset);</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 1956 : if (doing_reset)</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 978 : resetRow &lt;= 4'(resetRow + 4'h1);</span></a>
<a name="100"><span class="lineNum"> 100 </span> : end</a>
<a name="101"><span class="lineNum"> 101 </span> : end // always @(posedge, posedge)</a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 255388 : always @(posedge clock) begin</span></a>
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 16700 : if (io_ren_0)</span></a>
<a name="104"><span class="lineNum"> 104 </span><span class="lineCov"> 8350 : raddr_0 &lt;= io_raddr_0;</span></a>
<a name="105"><span class="lineNum"> 105 </span> : end // always @(posedge)</a>
<a name="106"><span class="lineNum"> 106 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="107"><span class="lineNum"> 107 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="108"><span class="lineNum"> 108 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="109"><span class="lineNum"> 109 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="110"><span class="lineNum"> 110 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="111"><span class="lineNum"> 111 </span><span class="lineCov"> 116 : initial begin</span></a>
<a name="112"><span class="lineNum"> 112 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="113"><span class="lineNum"> 113 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="114"><span class="lineNum"> 114 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="115"><span class="lineNum"> 115 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="116"><span class="lineNum"> 116 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="117"><span class="lineNum"> 117 </span> : doing_reset = _RANDOM[/*Zero width*/ 1'b0][0];</a>
<a name="118"><span class="lineNum"> 118 </span> : resetRow = _RANDOM[/*Zero width*/ 1'b0][4:1];</a>
<a name="119"><span class="lineNum"> 119 </span> : raddr_0 = _RANDOM[/*Zero width*/ 1'b0][12:5];</a>
<a name="120"><span class="lineNum"> 120 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 34 : if (reset) begin</span></a>
<a name="122"><span class="lineNum"> 122 </span><span class="lineCov"> 24 : doing_reset = 1'h1;</span></a>
<a name="123"><span class="lineNum"> 123 </span><span class="lineCov"> 24 : resetRow = 4'h0;</span></a>
<a name="124"><span class="lineNum"> 124 </span> : end</a>
<a name="125"><span class="lineNum"> 125 </span> : end // initial</a>
<a name="126"><span class="lineNum"> 126 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="127"><span class="lineNum"> 127 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="128"><span class="lineNum"> 128 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="129"><span class="lineNum"> 129 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="130"><span class="lineNum"> 130 </span> : data_16x16 data_ext (</a>
<a name="131"><span class="lineNum"> 131 </span> : .R0_addr (raddr_0[7:4]),</a>
<a name="132"><span class="lineNum"> 132 </span> : .R0_en (1'h1),</a>
<a name="133"><span class="lineNum"> 133 </span> : .R0_clk (clock),</a>
<a name="134"><span class="lineNum"> 134 </span> : .R0_data (_data_ext_R0_data),</a>
<a name="135"><span class="lineNum"> 135 </span> : .W0_addr (io_waddr[7:4]),</a>
<a name="136"><span class="lineNum"> 136 </span> : .W0_en (~doing_reset &amp; io_wen),</a>
<a name="137"><span class="lineNum"> 137 </span> : .W0_clk (clock),</a>
<a name="138"><span class="lineNum"> 138 </span> : .W0_data ({16{io_wdata}}),</a>
<a name="139"><span class="lineNum"> 139 </span> : .W1_addr (resetRow),</a>
<a name="140"><span class="lineNum"> 140 </span> : .W1_en (doing_reset),</a>
<a name="141"><span class="lineNum"> 141 </span> : .W1_clk (clock),</a>
<a name="142"><span class="lineNum"> 142 </span> : .W1_data (16'h0)</a>
<a name="143"><span class="lineNum"> 143 </span> : );</a>
<a name="144"><span class="lineNum"> 144 </span> : assign io_rdata_0 = ~doing_reset &amp; _GEN[raddr_0[3:0]];</a>
<a name="145"><span class="lineNum"> 145 </span> : endmodule</a>
<a name="146"><span class="lineNum"> 146 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/Folded1WDataModuleTemplate_2.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - Folded1WDataModuleTemplate_2.sv<span style="font-size: 80%;"> (<a href="Folded1WDataModuleTemplate_2.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="Folded1WDataModuleTemplate_2.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/Folded1WDataModuleTemplate_2.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - Folded1WDataModuleTemplate_2.sv<span style="font-size: 80%;"> (<a href="Folded1WDataModuleTemplate_2.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="Folded1WDataModuleTemplate_2.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,222 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/Folded1WDataModuleTemplate_2.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - Folded1WDataModuleTemplate_2.sv<span style="font-size: 80%;"> (source / <a href="Folded1WDataModuleTemplate_2.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntry">27</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module Folded1WDataModuleTemplate_2(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 73 : input io_ren_0,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 8597 : input [8:0] io_raddr_0,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 36 : output io_rdata_0,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 17 : input io_wen,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 125 : input [8:0] io_waddr,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 20 : input io_wdata,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 27 : input io_resetEn</span></a>
<a name="68"><span class="lineNum"> 68 </span> : );</a>
<a name="69"><span class="lineNum"> 69 </span> : </a>
<a name="70"><span class="lineNum"> 70 </span> : wire [15:0] _data_ext_R0_data;</a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 176 : reg doing_reset;</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 5949 : reg [4:0] resetRow;</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 24862 : reg [8:0] raddr_0;</span></a>
<a name="74"><span class="lineNum"> 74 </span> : wire [15:0] _GEN =</a>
<a name="75"><span class="lineNum"> 75 </span> : {{_data_ext_R0_data[15]},</a>
<a name="76"><span class="lineNum"> 76 </span> : {_data_ext_R0_data[14]},</a>
<a name="77"><span class="lineNum"> 77 </span> : {_data_ext_R0_data[13]},</a>
<a name="78"><span class="lineNum"> 78 </span> : {_data_ext_R0_data[12]},</a>
<a name="79"><span class="lineNum"> 79 </span> : {_data_ext_R0_data[11]},</a>
<a name="80"><span class="lineNum"> 80 </span> : {_data_ext_R0_data[10]},</a>
<a name="81"><span class="lineNum"> 81 </span> : {_data_ext_R0_data[9]},</a>
<a name="82"><span class="lineNum"> 82 </span> : {_data_ext_R0_data[8]},</a>
<a name="83"><span class="lineNum"> 83 </span> : {_data_ext_R0_data[7]},</a>
<a name="84"><span class="lineNum"> 84 </span> : {_data_ext_R0_data[6]},</a>
<a name="85"><span class="lineNum"> 85 </span> : {_data_ext_R0_data[5]},</a>
<a name="86"><span class="lineNum"> 86 </span> : {_data_ext_R0_data[4]},</a>
<a name="87"><span class="lineNum"> 87 </span> : {_data_ext_R0_data[3]},</a>
<a name="88"><span class="lineNum"> 88 </span> : {_data_ext_R0_data[2]},</a>
<a name="89"><span class="lineNum"> 89 </span> : {_data_ext_R0_data[1]},</a>
<a name="90"><span class="lineNum"> 90 </span> : {_data_ext_R0_data[0]}};</a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 383190 : always @(posedge clock or posedge reset) begin</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 816 : if (reset) begin</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 408 : doing_reset &lt;= 1'h1;</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 408 : resetRow &lt;= 5'h0;</span></a>
<a name="95"><span class="lineNum"> 95 </span> : end</a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 191187 : else begin</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 191187 : doing_reset &lt;= resetRow != 5'h1F &amp; (io_resetEn | doing_reset);</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 5800 : if (doing_reset)</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 2900 : resetRow &lt;= 5'(resetRow + 5'h1);</span></a>
<a name="100"><span class="lineNum"> 100 </span> : end</a>
<a name="101"><span class="lineNum"> 101 </span> : end // always @(posedge, posedge)</a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 383082 : always @(posedge clock) begin</span></a>
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 25050 : if (io_ren_0)</span></a>
<a name="104"><span class="lineNum"> 104 </span><span class="lineCov"> 12525 : raddr_0 &lt;= io_raddr_0;</span></a>
<a name="105"><span class="lineNum"> 105 </span> : end // always @(posedge)</a>
<a name="106"><span class="lineNum"> 106 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="107"><span class="lineNum"> 107 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="108"><span class="lineNum"> 108 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="109"><span class="lineNum"> 109 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="110"><span class="lineNum"> 110 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="111"><span class="lineNum"> 111 </span><span class="lineCov"> 174 : initial begin</span></a>
<a name="112"><span class="lineNum"> 112 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="113"><span class="lineNum"> 113 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="114"><span class="lineNum"> 114 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="115"><span class="lineNum"> 115 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="116"><span class="lineNum"> 116 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="117"><span class="lineNum"> 117 </span> : doing_reset = _RANDOM[/*Zero width*/ 1'b0][0];</a>
<a name="118"><span class="lineNum"> 118 </span> : resetRow = _RANDOM[/*Zero width*/ 1'b0][5:1];</a>
<a name="119"><span class="lineNum"> 119 </span> : raddr_0 = _RANDOM[/*Zero width*/ 1'b0][14:6];</a>
<a name="120"><span class="lineNum"> 120 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 51 : if (reset) begin</span></a>
<a name="122"><span class="lineNum"> 122 </span><span class="lineCov"> 36 : doing_reset = 1'h1;</span></a>
<a name="123"><span class="lineNum"> 123 </span><span class="lineCov"> 36 : resetRow = 5'h0;</span></a>
<a name="124"><span class="lineNum"> 124 </span> : end</a>
<a name="125"><span class="lineNum"> 125 </span> : end // initial</a>
<a name="126"><span class="lineNum"> 126 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="127"><span class="lineNum"> 127 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="128"><span class="lineNum"> 128 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="129"><span class="lineNum"> 129 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="130"><span class="lineNum"> 130 </span> : data_32x16 data_ext (</a>
<a name="131"><span class="lineNum"> 131 </span> : .R0_addr (raddr_0[8:4]),</a>
<a name="132"><span class="lineNum"> 132 </span> : .R0_en (1'h1),</a>
<a name="133"><span class="lineNum"> 133 </span> : .R0_clk (clock),</a>
<a name="134"><span class="lineNum"> 134 </span> : .R0_data (_data_ext_R0_data),</a>
<a name="135"><span class="lineNum"> 135 </span> : .W0_addr (io_waddr[8:4]),</a>
<a name="136"><span class="lineNum"> 136 </span> : .W0_en (~doing_reset &amp; io_wen),</a>
<a name="137"><span class="lineNum"> 137 </span> : .W0_clk (clock),</a>
<a name="138"><span class="lineNum"> 138 </span> : .W0_data ({16{io_wdata}}),</a>
<a name="139"><span class="lineNum"> 139 </span> : .W1_addr (resetRow),</a>
<a name="140"><span class="lineNum"> 140 </span> : .W1_en (doing_reset),</a>
<a name="141"><span class="lineNum"> 141 </span> : .W1_clk (clock),</a>
<a name="142"><span class="lineNum"> 142 </span> : .W1_data (16'h0)</a>
<a name="143"><span class="lineNum"> 143 </span> : );</a>
<a name="144"><span class="lineNum"> 144 </span> : assign io_rdata_0 = ~doing_reset &amp; _GEN[raddr_0[3:0]];</a>
<a name="145"><span class="lineNum"> 145 </span> : endmodule</a>
<a name="146"><span class="lineNum"> 146 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">40</td>
<td class="headerCovTableEntry">40</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="FoldedSRAMTemplate.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">40</td>
<td class="headerCovTableEntry">40</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="FoldedSRAMTemplate.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,300 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate.sv<span style="font-size: 80%;"> (source / <a href="FoldedSRAMTemplate.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">40</td>
<td class="headerCovTableEntry">40</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module FoldedSRAMTemplate(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 201 : output io_r_req_ready,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 309 : input io_r_req_valid,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 26388 : input [10:0] io_r_req_bits_setIdx,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 106 : output io_r_resp_data_0,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 119 : output io_r_resp_data_1,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 125 : input io_w_req_valid,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 323 : input [10:0] io_w_req_bits_setIdx,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 53 : input io_w_req_bits_data_0,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 65 : input io_w_req_bits_data_1,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 114 : input [1:0] io_w_req_bits_waymask,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 146 : input extra_reset</span></a>
<a name="72"><span class="lineNum"> 72 </span> : );</a>
<a name="73"><span class="lineNum"> 73 </span> : </a>
<a name="74"><span class="lineNum"> 74 </span> : wire _array_io_r_resp_data_0;</a>
<a name="75"><span class="lineNum"> 75 </span> : wire _array_io_r_resp_data_1;</a>
<a name="76"><span class="lineNum"> 76 </span> : wire _array_io_r_resp_data_2;</a>
<a name="77"><span class="lineNum"> 77 </span> : wire _array_io_r_resp_data_3;</a>
<a name="78"><span class="lineNum"> 78 </span> : wire _array_io_r_resp_data_4;</a>
<a name="79"><span class="lineNum"> 79 </span> : wire _array_io_r_resp_data_5;</a>
<a name="80"><span class="lineNum"> 80 </span> : wire _array_io_r_resp_data_6;</a>
<a name="81"><span class="lineNum"> 81 </span> : wire _array_io_r_resp_data_7;</a>
<a name="82"><span class="lineNum"> 82 </span> : wire _array_io_r_resp_data_8;</a>
<a name="83"><span class="lineNum"> 83 </span> : wire _array_io_r_resp_data_9;</a>
<a name="84"><span class="lineNum"> 84 </span> : wire _array_io_r_resp_data_10;</a>
<a name="85"><span class="lineNum"> 85 </span> : wire _array_io_r_resp_data_11;</a>
<a name="86"><span class="lineNum"> 86 </span> : wire _array_io_r_resp_data_12;</a>
<a name="87"><span class="lineNum"> 87 </span> : wire _array_io_r_resp_data_13;</a>
<a name="88"><span class="lineNum"> 88 </span> : wire _array_io_r_resp_data_14;</a>
<a name="89"><span class="lineNum"> 89 </span> : wire _array_io_r_resp_data_15;</a>
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 485 : reg [2:0] ridx;</span></a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 326 : reg holdRidx_last_r;</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 564 : reg [2:0] holdRidx_hold_data;</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 507 : wire [2:0] holdRidx = holdRidx_last_r ? ridx : holdRidx_hold_data;</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 340 : reg holdRidx_last_r_1;</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 544 : reg [2:0] holdRidx_hold_data_1;</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 495 : wire [2:0] holdRidx_1 = holdRidx_last_r_1 ? ridx : holdRidx_hold_data_1;</span></a>
<a name="97"><span class="lineNum"> 97 </span> : wire _wmask_T_3 = io_w_req_bits_setIdx[2:0] == 3'h0;</a>
<a name="98"><span class="lineNum"> 98 </span> : wire _wmask_T_9 = io_w_req_bits_setIdx[2:0] == 3'h1;</a>
<a name="99"><span class="lineNum"> 99 </span> : wire _wmask_T_15 = io_w_req_bits_setIdx[2:0] == 3'h2;</a>
<a name="100"><span class="lineNum"> 100 </span> : wire _wmask_T_21 = io_w_req_bits_setIdx[2:0] == 3'h3;</a>
<a name="101"><span class="lineNum"> 101 </span> : wire _wmask_T_27 = io_w_req_bits_setIdx[2:0] == 3'h4;</a>
<a name="102"><span class="lineNum"> 102 </span> : wire _wmask_T_33 = io_w_req_bits_setIdx[2:0] == 3'h5;</a>
<a name="103"><span class="lineNum"> 103 </span> : wire _wmask_T_39 = io_w_req_bits_setIdx[2:0] == 3'h6;</a>
<a name="104"><span class="lineNum"> 104 </span><span class="lineCov"> 510776 : always @(posedge clock) begin</span></a>
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 33400 : if (io_r_req_valid)</span></a>
<a name="106"><span class="lineNum"> 106 </span><span class="lineCov"> 16700 : ridx &lt;= io_r_req_bits_setIdx[2:0];</span></a>
<a name="107"><span class="lineNum"> 107 </span><span class="lineCov"> 33224 : if (holdRidx_last_r)</span></a>
<a name="108"><span class="lineNum"> 108 </span><span class="lineCov"> 16612 : holdRidx_hold_data &lt;= ridx;</span></a>
<a name="109"><span class="lineNum"> 109 </span><span class="lineCov"> 33232 : if (holdRidx_last_r_1)</span></a>
<a name="110"><span class="lineNum"> 110 </span><span class="lineCov"> 16616 : holdRidx_hold_data_1 &lt;= ridx;</span></a>
<a name="111"><span class="lineNum"> 111 </span> : end // always @(posedge)</a>
<a name="112"><span class="lineNum"> 112 </span><span class="lineCov"> 510920 : always @(posedge clock or posedge reset) begin</span></a>
<a name="113"><span class="lineNum"> 113 </span><span class="lineCov"> 1088 : if (reset) begin</span></a>
<a name="114"><span class="lineNum"> 114 </span><span class="lineCov"> 544 : holdRidx_last_r &lt;= 1'h0;</span></a>
<a name="115"><span class="lineNum"> 115 </span><span class="lineCov"> 544 : holdRidx_last_r_1 &lt;= 1'h0;</span></a>
<a name="116"><span class="lineNum"> 116 </span> : end</a>
<a name="117"><span class="lineNum"> 117 </span><span class="lineCov"> 254916 : else begin</span></a>
<a name="118"><span class="lineNum"> 118 </span><span class="lineCov"> 33584 : if (io_r_req_valid | holdRidx_last_r)</span></a>
<a name="119"><span class="lineNum"> 119 </span><span class="lineCov"> 16792 : holdRidx_last_r &lt;= io_r_req_valid;</span></a>
<a name="120"><span class="lineNum"> 120 </span><span class="lineCov"> 33592 : if (io_r_req_valid | holdRidx_last_r_1)</span></a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 16796 : holdRidx_last_r_1 &lt;= io_r_req_valid;</span></a>
<a name="122"><span class="lineNum"> 122 </span> : end</a>
<a name="123"><span class="lineNum"> 123 </span> : end // always @(posedge, posedge)</a>
<a name="124"><span class="lineNum"> 124 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="125"><span class="lineNum"> 125 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="126"><span class="lineNum"> 126 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="127"><span class="lineNum"> 127 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="128"><span class="lineNum"> 128 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 232 : initial begin</span></a>
<a name="130"><span class="lineNum"> 130 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="131"><span class="lineNum"> 131 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="132"><span class="lineNum"> 132 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="133"><span class="lineNum"> 133 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="134"><span class="lineNum"> 134 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="135"><span class="lineNum"> 135 </span> : ridx = _RANDOM[/*Zero width*/ 1'b0][2:0];</a>
<a name="136"><span class="lineNum"> 136 </span> : holdRidx_last_r = _RANDOM[/*Zero width*/ 1'b0][3];</a>
<a name="137"><span class="lineNum"> 137 </span> : holdRidx_hold_data = _RANDOM[/*Zero width*/ 1'b0][6:4];</a>
<a name="138"><span class="lineNum"> 138 </span> : holdRidx_last_r_1 = _RANDOM[/*Zero width*/ 1'b0][7];</a>
<a name="139"><span class="lineNum"> 139 </span> : holdRidx_hold_data_1 = _RANDOM[/*Zero width*/ 1'b0][10:8];</a>
<a name="140"><span class="lineNum"> 140 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="141"><span class="lineNum"> 141 </span><span class="lineCov"> 68 : if (reset) begin</span></a>
<a name="142"><span class="lineNum"> 142 </span><span class="lineCov"> 48 : holdRidx_last_r = 1'h0;</span></a>
<a name="143"><span class="lineNum"> 143 </span><span class="lineCov"> 48 : holdRidx_last_r_1 = 1'h0;</span></a>
<a name="144"><span class="lineNum"> 144 </span> : end</a>
<a name="145"><span class="lineNum"> 145 </span> : end // initial</a>
<a name="146"><span class="lineNum"> 146 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="147"><span class="lineNum"> 147 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="148"><span class="lineNum"> 148 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="149"><span class="lineNum"> 149 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="150"><span class="lineNum"> 150 </span> : SRAMTemplate_14 array (</a>
<a name="151"><span class="lineNum"> 151 </span> : .clock (clock),</a>
<a name="152"><span class="lineNum"> 152 </span> : .reset (reset),</a>
<a name="153"><span class="lineNum"> 153 </span> : .io_r_req_ready (io_r_req_ready),</a>
<a name="154"><span class="lineNum"> 154 </span> : .io_r_req_valid (io_r_req_valid),</a>
<a name="155"><span class="lineNum"> 155 </span> : .io_r_req_bits_setIdx (io_r_req_bits_setIdx[10:3]),</a>
<a name="156"><span class="lineNum"> 156 </span> : .io_r_resp_data_0 (_array_io_r_resp_data_0),</a>
<a name="157"><span class="lineNum"> 157 </span> : .io_r_resp_data_1 (_array_io_r_resp_data_1),</a>
<a name="158"><span class="lineNum"> 158 </span> : .io_r_resp_data_2 (_array_io_r_resp_data_2),</a>
<a name="159"><span class="lineNum"> 159 </span> : .io_r_resp_data_3 (_array_io_r_resp_data_3),</a>
<a name="160"><span class="lineNum"> 160 </span> : .io_r_resp_data_4 (_array_io_r_resp_data_4),</a>
<a name="161"><span class="lineNum"> 161 </span> : .io_r_resp_data_5 (_array_io_r_resp_data_5),</a>
<a name="162"><span class="lineNum"> 162 </span> : .io_r_resp_data_6 (_array_io_r_resp_data_6),</a>
<a name="163"><span class="lineNum"> 163 </span> : .io_r_resp_data_7 (_array_io_r_resp_data_7),</a>
<a name="164"><span class="lineNum"> 164 </span> : .io_r_resp_data_8 (_array_io_r_resp_data_8),</a>
<a name="165"><span class="lineNum"> 165 </span> : .io_r_resp_data_9 (_array_io_r_resp_data_9),</a>
<a name="166"><span class="lineNum"> 166 </span> : .io_r_resp_data_10 (_array_io_r_resp_data_10),</a>
<a name="167"><span class="lineNum"> 167 </span> : .io_r_resp_data_11 (_array_io_r_resp_data_11),</a>
<a name="168"><span class="lineNum"> 168 </span> : .io_r_resp_data_12 (_array_io_r_resp_data_12),</a>
<a name="169"><span class="lineNum"> 169 </span> : .io_r_resp_data_13 (_array_io_r_resp_data_13),</a>
<a name="170"><span class="lineNum"> 170 </span> : .io_r_resp_data_14 (_array_io_r_resp_data_14),</a>
<a name="171"><span class="lineNum"> 171 </span> : .io_r_resp_data_15 (_array_io_r_resp_data_15),</a>
<a name="172"><span class="lineNum"> 172 </span> : .io_w_req_valid (io_w_req_valid),</a>
<a name="173"><span class="lineNum"> 173 </span> : .io_w_req_bits_setIdx (io_w_req_bits_setIdx[10:3]),</a>
<a name="174"><span class="lineNum"> 174 </span> : .io_w_req_bits_data_0 (io_w_req_bits_data_0),</a>
<a name="175"><span class="lineNum"> 175 </span> : .io_w_req_bits_data_1 (io_w_req_bits_data_1),</a>
<a name="176"><span class="lineNum"> 176 </span> : .io_w_req_bits_data_2 (io_w_req_bits_data_0),</a>
<a name="177"><span class="lineNum"> 177 </span> : .io_w_req_bits_data_3 (io_w_req_bits_data_1),</a>
<a name="178"><span class="lineNum"> 178 </span> : .io_w_req_bits_data_4 (io_w_req_bits_data_0),</a>
<a name="179"><span class="lineNum"> 179 </span> : .io_w_req_bits_data_5 (io_w_req_bits_data_1),</a>
<a name="180"><span class="lineNum"> 180 </span> : .io_w_req_bits_data_6 (io_w_req_bits_data_0),</a>
<a name="181"><span class="lineNum"> 181 </span> : .io_w_req_bits_data_7 (io_w_req_bits_data_1),</a>
<a name="182"><span class="lineNum"> 182 </span> : .io_w_req_bits_data_8 (io_w_req_bits_data_0),</a>
<a name="183"><span class="lineNum"> 183 </span> : .io_w_req_bits_data_9 (io_w_req_bits_data_1),</a>
<a name="184"><span class="lineNum"> 184 </span> : .io_w_req_bits_data_10 (io_w_req_bits_data_0),</a>
<a name="185"><span class="lineNum"> 185 </span> : .io_w_req_bits_data_11 (io_w_req_bits_data_1),</a>
<a name="186"><span class="lineNum"> 186 </span> : .io_w_req_bits_data_12 (io_w_req_bits_data_0),</a>
<a name="187"><span class="lineNum"> 187 </span> : .io_w_req_bits_data_13 (io_w_req_bits_data_1),</a>
<a name="188"><span class="lineNum"> 188 </span> : .io_w_req_bits_data_14 (io_w_req_bits_data_0),</a>
<a name="189"><span class="lineNum"> 189 </span> : .io_w_req_bits_data_15 (io_w_req_bits_data_1),</a>
<a name="190"><span class="lineNum"> 190 </span> : .io_w_req_bits_waymask</a>
<a name="191"><span class="lineNum"> 191 </span> : ({(&amp;(io_w_req_bits_setIdx[2:0])) &amp; io_w_req_bits_waymask[1],</a>
<a name="192"><span class="lineNum"> 192 </span> : (&amp;(io_w_req_bits_setIdx[2:0])) &amp; io_w_req_bits_waymask[0],</a>
<a name="193"><span class="lineNum"> 193 </span> : _wmask_T_39 &amp; io_w_req_bits_waymask[1],</a>
<a name="194"><span class="lineNum"> 194 </span> : _wmask_T_39 &amp; io_w_req_bits_waymask[0],</a>
<a name="195"><span class="lineNum"> 195 </span> : _wmask_T_33 &amp; io_w_req_bits_waymask[1],</a>
<a name="196"><span class="lineNum"> 196 </span> : _wmask_T_33 &amp; io_w_req_bits_waymask[0],</a>
<a name="197"><span class="lineNum"> 197 </span> : _wmask_T_27 &amp; io_w_req_bits_waymask[1],</a>
<a name="198"><span class="lineNum"> 198 </span> : _wmask_T_27 &amp; io_w_req_bits_waymask[0],</a>
<a name="199"><span class="lineNum"> 199 </span> : _wmask_T_21 &amp; io_w_req_bits_waymask[1],</a>
<a name="200"><span class="lineNum"> 200 </span> : _wmask_T_21 &amp; io_w_req_bits_waymask[0],</a>
<a name="201"><span class="lineNum"> 201 </span> : _wmask_T_15 &amp; io_w_req_bits_waymask[1],</a>
<a name="202"><span class="lineNum"> 202 </span> : _wmask_T_15 &amp; io_w_req_bits_waymask[0],</a>
<a name="203"><span class="lineNum"> 203 </span> : _wmask_T_9 &amp; io_w_req_bits_waymask[1],</a>
<a name="204"><span class="lineNum"> 204 </span> : _wmask_T_9 &amp; io_w_req_bits_waymask[0],</a>
<a name="205"><span class="lineNum"> 205 </span> : _wmask_T_3 &amp; io_w_req_bits_waymask[1],</a>
<a name="206"><span class="lineNum"> 206 </span> : _wmask_T_3 &amp; io_w_req_bits_waymask[0]}),</a>
<a name="207"><span class="lineNum"> 207 </span> : .extra_reset (extra_reset)</a>
<a name="208"><span class="lineNum"> 208 </span> : );</a>
<a name="209"><span class="lineNum"> 209 </span> : assign io_r_resp_data_0 =</a>
<a name="210"><span class="lineNum"> 210 </span> : holdRidx == 3'h0 &amp; _array_io_r_resp_data_0 | holdRidx == 3'h1</a>
<a name="211"><span class="lineNum"> 211 </span> : &amp; _array_io_r_resp_data_2 | holdRidx == 3'h2 &amp; _array_io_r_resp_data_4</a>
<a name="212"><span class="lineNum"> 212 </span> : | holdRidx == 3'h3 &amp; _array_io_r_resp_data_6 | holdRidx == 3'h4</a>
<a name="213"><span class="lineNum"> 213 </span> : &amp; _array_io_r_resp_data_8 | holdRidx == 3'h5 &amp; _array_io_r_resp_data_10</a>
<a name="214"><span class="lineNum"> 214 </span> : | holdRidx == 3'h6 &amp; _array_io_r_resp_data_12 | (&amp;holdRidx)</a>
<a name="215"><span class="lineNum"> 215 </span> : &amp; _array_io_r_resp_data_14;</a>
<a name="216"><span class="lineNum"> 216 </span> : assign io_r_resp_data_1 =</a>
<a name="217"><span class="lineNum"> 217 </span> : holdRidx_1 == 3'h0 &amp; _array_io_r_resp_data_1 | holdRidx_1 == 3'h1</a>
<a name="218"><span class="lineNum"> 218 </span> : &amp; _array_io_r_resp_data_3 | holdRidx_1 == 3'h2 &amp; _array_io_r_resp_data_5</a>
<a name="219"><span class="lineNum"> 219 </span> : | holdRidx_1 == 3'h3 &amp; _array_io_r_resp_data_7 | holdRidx_1 == 3'h4</a>
<a name="220"><span class="lineNum"> 220 </span> : &amp; _array_io_r_resp_data_9 | holdRidx_1 == 3'h5 &amp; _array_io_r_resp_data_11</a>
<a name="221"><span class="lineNum"> 221 </span> : | holdRidx_1 == 3'h6 &amp; _array_io_r_resp_data_13 | (&amp;holdRidx_1)</a>
<a name="222"><span class="lineNum"> 222 </span> : &amp; _array_io_r_resp_data_15;</a>
<a name="223"><span class="lineNum"> 223 </span> : endmodule</a>
<a name="224"><span class="lineNum"> 224 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_1.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_1.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate_1.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">18</td>
<td class="headerCovTableEntry">18</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="FoldedSRAMTemplate_1.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_1.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_1.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate_1.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">18</td>
<td class="headerCovTableEntry">18</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="FoldedSRAMTemplate_1.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,176 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_1.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_1.sv<span style="font-size: 80%;"> (source / <a href="FoldedSRAMTemplate_1.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">18</td>
<td class="headerCovTableEntry">18</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module FoldedSRAMTemplate_1(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 883 : output io_r_req_ready,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 630 : input io_r_req_valid,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 26102 : input [8:0] io_r_req_bits_setIdx,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 341 : output io_r_resp_data_0_valid,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 2670 : output [7:0] io_r_resp_data_0_tag,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 1013 : output [2:0] io_r_resp_data_0_ctr,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 339 : output io_r_resp_data_1_valid,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 2650 : output [7:0] io_r_resp_data_1_tag,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 1006 : output [2:0] io_r_resp_data_1_ctr,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 331 : input io_w_req_valid,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 261 : input [8:0] io_w_req_bits_setIdx,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 123 : input [7:0] io_w_req_bits_data_0_tag,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 41 : input [2:0] io_w_req_bits_data_0_ctr,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 123 : input [7:0] io_w_req_bits_data_1_tag,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 45 : input [2:0] io_w_req_bits_data_1_ctr,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 63 : input [1:0] io_w_req_bits_waymask</span></a>
<a name="77"><span class="lineNum"> 77 </span> : );</a>
<a name="78"><span class="lineNum"> 78 </span> : </a>
<a name="79"><span class="lineNum"> 79 </span> : SRAMTemplate_15 array (</a>
<a name="80"><span class="lineNum"> 80 </span> : .clock (clock),</a>
<a name="81"><span class="lineNum"> 81 </span> : .reset (reset),</a>
<a name="82"><span class="lineNum"> 82 </span> : .io_r_req_ready (io_r_req_ready),</a>
<a name="83"><span class="lineNum"> 83 </span> : .io_r_req_valid (io_r_req_valid),</a>
<a name="84"><span class="lineNum"> 84 </span> : .io_r_req_bits_setIdx (io_r_req_bits_setIdx),</a>
<a name="85"><span class="lineNum"> 85 </span> : .io_r_resp_data_0_valid (io_r_resp_data_0_valid),</a>
<a name="86"><span class="lineNum"> 86 </span> : .io_r_resp_data_0_tag (io_r_resp_data_0_tag),</a>
<a name="87"><span class="lineNum"> 87 </span> : .io_r_resp_data_0_ctr (io_r_resp_data_0_ctr),</a>
<a name="88"><span class="lineNum"> 88 </span> : .io_r_resp_data_1_valid (io_r_resp_data_1_valid),</a>
<a name="89"><span class="lineNum"> 89 </span> : .io_r_resp_data_1_tag (io_r_resp_data_1_tag),</a>
<a name="90"><span class="lineNum"> 90 </span> : .io_r_resp_data_1_ctr (io_r_resp_data_1_ctr),</a>
<a name="91"><span class="lineNum"> 91 </span> : .io_w_req_valid (io_w_req_valid),</a>
<a name="92"><span class="lineNum"> 92 </span> : .io_w_req_bits_setIdx (io_w_req_bits_setIdx),</a>
<a name="93"><span class="lineNum"> 93 </span> : .io_w_req_bits_data_0_tag (io_w_req_bits_data_0_tag),</a>
<a name="94"><span class="lineNum"> 94 </span> : .io_w_req_bits_data_0_ctr (io_w_req_bits_data_0_ctr),</a>
<a name="95"><span class="lineNum"> 95 </span> : .io_w_req_bits_data_1_tag (io_w_req_bits_data_1_tag),</a>
<a name="96"><span class="lineNum"> 96 </span> : .io_w_req_bits_data_1_ctr (io_w_req_bits_data_1_ctr),</a>
<a name="97"><span class="lineNum"> 97 </span> : .io_w_req_bits_waymask (io_w_req_bits_waymask)</a>
<a name="98"><span class="lineNum"> 98 </span> : );</a>
<a name="99"><span class="lineNum"> 99 </span> : endmodule</a>
<a name="100"><span class="lineNum"> 100 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_20.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_20.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate_20.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">38</td>
<td class="headerCovTableEntry">38</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="FoldedSRAMTemplate_20.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_20.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_20.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate_20.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">38</td>
<td class="headerCovTableEntry">38</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="FoldedSRAMTemplate_20.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,256 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_20.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_20.sv<span style="font-size: 80%;"> (source / <a href="FoldedSRAMTemplate_20.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">38</td>
<td class="headerCovTableEntry">38</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module FoldedSRAMTemplate_20(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 76 : input io_r_req_valid,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 8746 : input [10:0] io_r_req_bits_setIdx,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 56 : output [1:0] io_r_resp_data_0,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 59 : output [1:0] io_r_resp_data_1,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 59 : input io_w_req_valid,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 119038 : input [10:0] io_w_req_bits_setIdx,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 76 : input [1:0] io_w_req_bits_data_0,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 64 : input [1:0] io_w_req_bits_data_1,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 113 : input [1:0] io_w_req_bits_waymask</span></a>
<a name="70"><span class="lineNum"> 70 </span> : );</a>
<a name="71"><span class="lineNum"> 71 </span> : </a>
<a name="72"><span class="lineNum"> 72 </span> : wire [1:0] _array_io_r_resp_data_0;</a>
<a name="73"><span class="lineNum"> 73 </span> : wire [1:0] _array_io_r_resp_data_1;</a>
<a name="74"><span class="lineNum"> 74 </span> : wire [1:0] _array_io_r_resp_data_2;</a>
<a name="75"><span class="lineNum"> 75 </span> : wire [1:0] _array_io_r_resp_data_3;</a>
<a name="76"><span class="lineNum"> 76 </span> : wire [1:0] _array_io_r_resp_data_4;</a>
<a name="77"><span class="lineNum"> 77 </span> : wire [1:0] _array_io_r_resp_data_5;</a>
<a name="78"><span class="lineNum"> 78 </span> : wire [1:0] _array_io_r_resp_data_6;</a>
<a name="79"><span class="lineNum"> 79 </span> : wire [1:0] _array_io_r_resp_data_7;</a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 58 : reg [1:0] ridx;</span></a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 87 : reg holdRidx_last_r;</span></a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 60 : reg [1:0] holdRidx_hold_data;</span></a>
<a name="83"><span class="lineNum"> 83 </span><span class="lineCov"> 55 : wire [1:0] holdRidx = holdRidx_last_r ? ridx : holdRidx_hold_data;</span></a>
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 78 : reg holdRidx_last_r_1;</span></a>
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 60 : reg [1:0] holdRidx_hold_data_1;</span></a>
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 64 : wire [1:0] holdRidx_1 = holdRidx_last_r_1 ? ridx : holdRidx_hold_data_1;</span></a>
<a name="87"><span class="lineNum"> 87 </span> : wire _wmask_T_3 = io_w_req_bits_setIdx[1:0] == 2'h0;</a>
<a name="88"><span class="lineNum"> 88 </span> : wire _wmask_T_9 = io_w_req_bits_setIdx[1:0] == 2'h1;</a>
<a name="89"><span class="lineNum"> 89 </span> : wire _wmask_T_15 = io_w_req_bits_setIdx[1:0] == 2'h2;</a>
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 8350 : if (io_r_req_valid)</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 4175 : ridx &lt;= io_r_req_bits_setIdx[1:0];</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 8310 : if (holdRidx_last_r)</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 4155 : holdRidx_hold_data &lt;= ridx;</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 8300 : if (holdRidx_last_r_1)</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 4150 : holdRidx_hold_data_1 &lt;= ridx;</span></a>
<a name="97"><span class="lineNum"> 97 </span> : end // always @(posedge)</a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 127730 : always @(posedge clock or posedge reset) begin</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 272 : if (reset) begin</span></a>
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 136 : holdRidx_last_r &lt;= 1'h0;</span></a>
<a name="101"><span class="lineNum"> 101 </span><span class="lineCov"> 136 : holdRidx_last_r_1 &lt;= 1'h0;</span></a>
<a name="102"><span class="lineNum"> 102 </span> : end</a>
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 63729 : else begin</span></a>
<a name="104"><span class="lineNum"> 104 </span><span class="lineCov"> 8400 : if (io_r_req_valid | holdRidx_last_r)</span></a>
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 4200 : holdRidx_last_r &lt;= io_r_req_valid;</span></a>
<a name="106"><span class="lineNum"> 106 </span><span class="lineCov"> 8390 : if (io_r_req_valid | holdRidx_last_r_1)</span></a>
<a name="107"><span class="lineNum"> 107 </span><span class="lineCov"> 4195 : holdRidx_last_r_1 &lt;= io_r_req_valid;</span></a>
<a name="108"><span class="lineNum"> 108 </span> : end</a>
<a name="109"><span class="lineNum"> 109 </span> : end // always @(posedge, posedge)</a>
<a name="110"><span class="lineNum"> 110 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="111"><span class="lineNum"> 111 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="112"><span class="lineNum"> 112 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="113"><span class="lineNum"> 113 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="114"><span class="lineNum"> 114 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="115"><span class="lineNum"> 115 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="116"><span class="lineNum"> 116 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="117"><span class="lineNum"> 117 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="118"><span class="lineNum"> 118 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="119"><span class="lineNum"> 119 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="120"><span class="lineNum"> 120 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="121"><span class="lineNum"> 121 </span> : ridx = _RANDOM[/*Zero width*/ 1'b0][1:0];</a>
<a name="122"><span class="lineNum"> 122 </span> : holdRidx_last_r = _RANDOM[/*Zero width*/ 1'b0][2];</a>
<a name="123"><span class="lineNum"> 123 </span> : holdRidx_hold_data = _RANDOM[/*Zero width*/ 1'b0][4:3];</a>
<a name="124"><span class="lineNum"> 124 </span> : holdRidx_last_r_1 = _RANDOM[/*Zero width*/ 1'b0][5];</a>
<a name="125"><span class="lineNum"> 125 </span> : holdRidx_hold_data_1 = _RANDOM[/*Zero width*/ 1'b0][7:6];</a>
<a name="126"><span class="lineNum"> 126 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 17 : if (reset) begin</span></a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 12 : holdRidx_last_r = 1'h0;</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 12 : holdRidx_last_r_1 = 1'h0;</span></a>
<a name="130"><span class="lineNum"> 130 </span> : end</a>
<a name="131"><span class="lineNum"> 131 </span> : end // initial</a>
<a name="132"><span class="lineNum"> 132 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="133"><span class="lineNum"> 133 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="134"><span class="lineNum"> 134 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="135"><span class="lineNum"> 135 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="136"><span class="lineNum"> 136 </span> : SRAMTemplate_34 array (</a>
<a name="137"><span class="lineNum"> 137 </span> : .clock (clock),</a>
<a name="138"><span class="lineNum"> 138 </span> : .reset (reset),</a>
<a name="139"><span class="lineNum"> 139 </span> : .io_r_req_valid (io_r_req_valid),</a>
<a name="140"><span class="lineNum"> 140 </span> : .io_r_req_bits_setIdx (io_r_req_bits_setIdx[10:2]),</a>
<a name="141"><span class="lineNum"> 141 </span> : .io_r_resp_data_0 (_array_io_r_resp_data_0),</a>
<a name="142"><span class="lineNum"> 142 </span> : .io_r_resp_data_1 (_array_io_r_resp_data_1),</a>
<a name="143"><span class="lineNum"> 143 </span> : .io_r_resp_data_2 (_array_io_r_resp_data_2),</a>
<a name="144"><span class="lineNum"> 144 </span> : .io_r_resp_data_3 (_array_io_r_resp_data_3),</a>
<a name="145"><span class="lineNum"> 145 </span> : .io_r_resp_data_4 (_array_io_r_resp_data_4),</a>
<a name="146"><span class="lineNum"> 146 </span> : .io_r_resp_data_5 (_array_io_r_resp_data_5),</a>
<a name="147"><span class="lineNum"> 147 </span> : .io_r_resp_data_6 (_array_io_r_resp_data_6),</a>
<a name="148"><span class="lineNum"> 148 </span> : .io_r_resp_data_7 (_array_io_r_resp_data_7),</a>
<a name="149"><span class="lineNum"> 149 </span> : .io_w_req_valid (io_w_req_valid),</a>
<a name="150"><span class="lineNum"> 150 </span> : .io_w_req_bits_setIdx (io_w_req_bits_setIdx[10:2]),</a>
<a name="151"><span class="lineNum"> 151 </span> : .io_w_req_bits_data_0 (io_w_req_bits_data_0),</a>
<a name="152"><span class="lineNum"> 152 </span> : .io_w_req_bits_data_1 (io_w_req_bits_data_1),</a>
<a name="153"><span class="lineNum"> 153 </span> : .io_w_req_bits_data_2 (io_w_req_bits_data_0),</a>
<a name="154"><span class="lineNum"> 154 </span> : .io_w_req_bits_data_3 (io_w_req_bits_data_1),</a>
<a name="155"><span class="lineNum"> 155 </span> : .io_w_req_bits_data_4 (io_w_req_bits_data_0),</a>
<a name="156"><span class="lineNum"> 156 </span> : .io_w_req_bits_data_5 (io_w_req_bits_data_1),</a>
<a name="157"><span class="lineNum"> 157 </span> : .io_w_req_bits_data_6 (io_w_req_bits_data_0),</a>
<a name="158"><span class="lineNum"> 158 </span> : .io_w_req_bits_data_7 (io_w_req_bits_data_1),</a>
<a name="159"><span class="lineNum"> 159 </span> : .io_w_req_bits_waymask</a>
<a name="160"><span class="lineNum"> 160 </span> : ({(&amp;(io_w_req_bits_setIdx[1:0])) &amp; io_w_req_bits_waymask[1],</a>
<a name="161"><span class="lineNum"> 161 </span> : (&amp;(io_w_req_bits_setIdx[1:0])) &amp; io_w_req_bits_waymask[0],</a>
<a name="162"><span class="lineNum"> 162 </span> : _wmask_T_15 &amp; io_w_req_bits_waymask[1],</a>
<a name="163"><span class="lineNum"> 163 </span> : _wmask_T_15 &amp; io_w_req_bits_waymask[0],</a>
<a name="164"><span class="lineNum"> 164 </span> : _wmask_T_9 &amp; io_w_req_bits_waymask[1],</a>
<a name="165"><span class="lineNum"> 165 </span> : _wmask_T_9 &amp; io_w_req_bits_waymask[0],</a>
<a name="166"><span class="lineNum"> 166 </span> : _wmask_T_3 &amp; io_w_req_bits_waymask[1],</a>
<a name="167"><span class="lineNum"> 167 </span> : _wmask_T_3 &amp; io_w_req_bits_waymask[0]})</a>
<a name="168"><span class="lineNum"> 168 </span> : );</a>
<a name="169"><span class="lineNum"> 169 </span> : assign io_r_resp_data_0 =</a>
<a name="170"><span class="lineNum"> 170 </span> : (holdRidx == 2'h0 ? _array_io_r_resp_data_0 : 2'h0)</a>
<a name="171"><span class="lineNum"> 171 </span> : | (holdRidx == 2'h1 ? _array_io_r_resp_data_2 : 2'h0)</a>
<a name="172"><span class="lineNum"> 172 </span> : | (holdRidx == 2'h2 ? _array_io_r_resp_data_4 : 2'h0)</a>
<a name="173"><span class="lineNum"> 173 </span> : | ((&amp;holdRidx) ? _array_io_r_resp_data_6 : 2'h0);</a>
<a name="174"><span class="lineNum"> 174 </span> : assign io_r_resp_data_1 =</a>
<a name="175"><span class="lineNum"> 175 </span> : (holdRidx_1 == 2'h0 ? _array_io_r_resp_data_1 : 2'h0)</a>
<a name="176"><span class="lineNum"> 176 </span> : | (holdRidx_1 == 2'h1 ? _array_io_r_resp_data_3 : 2'h0)</a>
<a name="177"><span class="lineNum"> 177 </span> : | (holdRidx_1 == 2'h2 ? _array_io_r_resp_data_5 : 2'h0)</a>
<a name="178"><span class="lineNum"> 178 </span> : | ((&amp;holdRidx_1) ? _array_io_r_resp_data_7 : 2'h0);</a>
<a name="179"><span class="lineNum"> 179 </span> : endmodule</a>
<a name="180"><span class="lineNum"> 180 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_21.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_21.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate_21.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">13</td>
<td class="headerCovTableEntry">13</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="FoldedSRAMTemplate_21.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_21.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_21.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate_21.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">13</td>
<td class="headerCovTableEntry">13</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="FoldedSRAMTemplate_21.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,166 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_21.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_21.sv<span style="font-size: 80%;"> (source / <a href="FoldedSRAMTemplate_21.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">13</td>
<td class="headerCovTableEntry">13</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module FoldedSRAMTemplate_21(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 254 : input io_r_req_valid,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 24520 : input [6:0] io_r_req_bits_setIdx,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 100 : output io_r_resp_data_0_valid,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 846 : output [8:0] io_r_resp_data_0_tag,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 197 : output [1:0] io_r_resp_data_0_ctr,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 4028 : output [40:0] io_r_resp_data_0_target,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 80 : input io_w_req_valid,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 91 : input [6:0] io_w_req_bits_setIdx,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 127 : input [8:0] io_w_req_bits_data_0_tag,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 36 : input [1:0] io_w_req_bits_data_0_ctr,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 642 : input [40:0] io_w_req_bits_data_0_target</span></a>
<a name="72"><span class="lineNum"> 72 </span> : );</a>
<a name="73"><span class="lineNum"> 73 </span> : </a>
<a name="74"><span class="lineNum"> 74 </span> : SRAMTemplate_39 array (</a>
<a name="75"><span class="lineNum"> 75 </span> : .clock (clock),</a>
<a name="76"><span class="lineNum"> 76 </span> : .reset (reset),</a>
<a name="77"><span class="lineNum"> 77 </span> : .io_r_req_valid (io_r_req_valid),</a>
<a name="78"><span class="lineNum"> 78 </span> : .io_r_req_bits_setIdx (io_r_req_bits_setIdx),</a>
<a name="79"><span class="lineNum"> 79 </span> : .io_r_resp_data_0_valid (io_r_resp_data_0_valid),</a>
<a name="80"><span class="lineNum"> 80 </span> : .io_r_resp_data_0_tag (io_r_resp_data_0_tag),</a>
<a name="81"><span class="lineNum"> 81 </span> : .io_r_resp_data_0_ctr (io_r_resp_data_0_ctr),</a>
<a name="82"><span class="lineNum"> 82 </span> : .io_r_resp_data_0_target (io_r_resp_data_0_target),</a>
<a name="83"><span class="lineNum"> 83 </span> : .io_w_req_valid (io_w_req_valid),</a>
<a name="84"><span class="lineNum"> 84 </span> : .io_w_req_bits_setIdx (io_w_req_bits_setIdx),</a>
<a name="85"><span class="lineNum"> 85 </span> : .io_w_req_bits_data_0_tag (io_w_req_bits_data_0_tag),</a>
<a name="86"><span class="lineNum"> 86 </span> : .io_w_req_bits_data_0_ctr (io_w_req_bits_data_0_ctr),</a>
<a name="87"><span class="lineNum"> 87 </span> : .io_w_req_bits_data_0_target (io_w_req_bits_data_0_target)</a>
<a name="88"><span class="lineNum"> 88 </span> : );</a>
<a name="89"><span class="lineNum"> 89 </span> : endmodule</a>
<a name="90"><span class="lineNum"> 90 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_25.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_25.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate_25.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">30</td>
<td class="headerCovTableEntry">30</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="FoldedSRAMTemplate_25.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_25.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_25.sv<span style="font-size: 80%;"> (<a href="FoldedSRAMTemplate_25.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">30</td>
<td class="headerCovTableEntry">30</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="FoldedSRAMTemplate_25.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,231 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/FoldedSRAMTemplate_25.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - FoldedSRAMTemplate_25.sv<span style="font-size: 80%;"> (source / <a href="FoldedSRAMTemplate_25.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">30</td>
<td class="headerCovTableEntry">30</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module FoldedSRAMTemplate_25(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 394 : input io_r_req_valid,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 8520 : input [7:0] io_r_req_bits_setIdx,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 145 : output io_r_resp_data_0_valid,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 1367 : output [8:0] io_r_resp_data_0_tag,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 287 : output [1:0] io_r_resp_data_0_ctr,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 6132 : output [40:0] io_r_resp_data_0_target,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 129 : input io_w_req_valid,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 109 : input [7:0] io_w_req_bits_setIdx,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 122 : input [8:0] io_w_req_bits_data_0_tag,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 33 : input [1:0] io_w_req_bits_data_0_ctr,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 607 : input [40:0] io_w_req_bits_data_0_target</span></a>
<a name="72"><span class="lineNum"> 72 </span> : );</a>
<a name="73"><span class="lineNum"> 73 </span> : </a>
<a name="74"><span class="lineNum"> 74 </span> : wire _array_io_r_resp_data_0_valid;</a>
<a name="75"><span class="lineNum"> 75 </span> : wire [8:0] _array_io_r_resp_data_0_tag;</a>
<a name="76"><span class="lineNum"> 76 </span> : wire [1:0] _array_io_r_resp_data_0_ctr;</a>
<a name="77"><span class="lineNum"> 77 </span> : wire [40:0] _array_io_r_resp_data_0_target;</a>
<a name="78"><span class="lineNum"> 78 </span> : wire _array_io_r_resp_data_1_valid;</a>
<a name="79"><span class="lineNum"> 79 </span> : wire [8:0] _array_io_r_resp_data_1_tag;</a>
<a name="80"><span class="lineNum"> 80 </span> : wire [1:0] _array_io_r_resp_data_1_ctr;</a>
<a name="81"><span class="lineNum"> 81 </span> : wire [40:0] _array_io_r_resp_data_1_target;</a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 163 : reg ridx;</span></a>
<a name="83"><span class="lineNum"> 83 </span><span class="lineCov"> 448 : reg holdRidx_last_r;</span></a>
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 215 : reg holdRidx_hold_data;</span></a>
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 179 : wire holdRidx = holdRidx_last_r ? ridx : holdRidx_hold_data;</span></a>
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 766164 : always @(posedge clock) begin</span></a>
<a name="87"><span class="lineNum"> 87 </span><span class="lineCov"> 25050 : if (io_r_req_valid)</span></a>
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 12525 : ridx &lt;= io_r_req_bits_setIdx[0];</span></a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 24990 : if (holdRidx_last_r)</span></a>
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 12495 : holdRidx_hold_data &lt;= ridx;</span></a>
<a name="91"><span class="lineNum"> 91 </span> : end // always @(posedge)</a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 766380 : always @(posedge clock or posedge reset) begin</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 1632 : if (reset)</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 816 : holdRidx_last_r &lt;= 1'h0;</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 25380 : else if (io_r_req_valid | holdRidx_last_r)</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 12690 : holdRidx_last_r &lt;= io_r_req_valid;</span></a>
<a name="97"><span class="lineNum"> 97 </span> : end // always @(posedge, posedge)</a>
<a name="98"><span class="lineNum"> 98 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="99"><span class="lineNum"> 99 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="100"><span class="lineNum"> 100 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="101"><span class="lineNum"> 101 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="102"><span class="lineNum"> 102 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 348 : initial begin</span></a>
<a name="104"><span class="lineNum"> 104 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="105"><span class="lineNum"> 105 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="106"><span class="lineNum"> 106 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="107"><span class="lineNum"> 107 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="108"><span class="lineNum"> 108 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="109"><span class="lineNum"> 109 </span> : ridx = _RANDOM[/*Zero width*/ 1'b0][0];</a>
<a name="110"><span class="lineNum"> 110 </span> : holdRidx_last_r = _RANDOM[/*Zero width*/ 1'b0][1];</a>
<a name="111"><span class="lineNum"> 111 </span> : holdRidx_hold_data = _RANDOM[/*Zero width*/ 1'b0][2];</a>
<a name="112"><span class="lineNum"> 112 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="113"><span class="lineNum"> 113 </span><span class="lineCov"> 102 : if (reset)</span></a>
<a name="114"><span class="lineNum"> 114 </span><span class="lineCov"> 72 : holdRidx_last_r = 1'h0;</span></a>
<a name="115"><span class="lineNum"> 115 </span> : end // initial</a>
<a name="116"><span class="lineNum"> 116 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="117"><span class="lineNum"> 117 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="118"><span class="lineNum"> 118 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="119"><span class="lineNum"> 119 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="120"><span class="lineNum"> 120 </span> : SRAMTemplate_43 array (</a>
<a name="121"><span class="lineNum"> 121 </span> : .clock (clock),</a>
<a name="122"><span class="lineNum"> 122 </span> : .reset (reset),</a>
<a name="123"><span class="lineNum"> 123 </span> : .io_r_req_valid (io_r_req_valid),</a>
<a name="124"><span class="lineNum"> 124 </span> : .io_r_req_bits_setIdx (io_r_req_bits_setIdx[7:1]),</a>
<a name="125"><span class="lineNum"> 125 </span> : .io_r_resp_data_0_valid (_array_io_r_resp_data_0_valid),</a>
<a name="126"><span class="lineNum"> 126 </span> : .io_r_resp_data_0_tag (_array_io_r_resp_data_0_tag),</a>
<a name="127"><span class="lineNum"> 127 </span> : .io_r_resp_data_0_ctr (_array_io_r_resp_data_0_ctr),</a>
<a name="128"><span class="lineNum"> 128 </span> : .io_r_resp_data_0_target (_array_io_r_resp_data_0_target),</a>
<a name="129"><span class="lineNum"> 129 </span> : .io_r_resp_data_1_valid (_array_io_r_resp_data_1_valid),</a>
<a name="130"><span class="lineNum"> 130 </span> : .io_r_resp_data_1_tag (_array_io_r_resp_data_1_tag),</a>
<a name="131"><span class="lineNum"> 131 </span> : .io_r_resp_data_1_ctr (_array_io_r_resp_data_1_ctr),</a>
<a name="132"><span class="lineNum"> 132 </span> : .io_r_resp_data_1_target (_array_io_r_resp_data_1_target),</a>
<a name="133"><span class="lineNum"> 133 </span> : .io_w_req_valid (io_w_req_valid),</a>
<a name="134"><span class="lineNum"> 134 </span> : .io_w_req_bits_setIdx (io_w_req_bits_setIdx[7:1]),</a>
<a name="135"><span class="lineNum"> 135 </span> : .io_w_req_bits_data_0_tag (io_w_req_bits_data_0_tag),</a>
<a name="136"><span class="lineNum"> 136 </span> : .io_w_req_bits_data_0_ctr (io_w_req_bits_data_0_ctr),</a>
<a name="137"><span class="lineNum"> 137 </span> : .io_w_req_bits_data_0_target (io_w_req_bits_data_0_target),</a>
<a name="138"><span class="lineNum"> 138 </span> : .io_w_req_bits_data_1_tag (io_w_req_bits_data_0_tag),</a>
<a name="139"><span class="lineNum"> 139 </span> : .io_w_req_bits_data_1_ctr (io_w_req_bits_data_0_ctr),</a>
<a name="140"><span class="lineNum"> 140 </span> : .io_w_req_bits_data_1_target (io_w_req_bits_data_0_target),</a>
<a name="141"><span class="lineNum"> 141 </span> : .io_w_req_bits_waymask (2'h1 &lt;&lt; io_w_req_bits_setIdx[0])</a>
<a name="142"><span class="lineNum"> 142 </span> : );</a>
<a name="143"><span class="lineNum"> 143 </span> : assign io_r_resp_data_0_valid =</a>
<a name="144"><span class="lineNum"> 144 </span> : ~holdRidx &amp; _array_io_r_resp_data_0_valid | holdRidx &amp; _array_io_r_resp_data_1_valid;</a>
<a name="145"><span class="lineNum"> 145 </span> : assign io_r_resp_data_0_tag =</a>
<a name="146"><span class="lineNum"> 146 </span> : (holdRidx ? 9'h0 : _array_io_r_resp_data_0_tag)</a>
<a name="147"><span class="lineNum"> 147 </span> : | (holdRidx ? _array_io_r_resp_data_1_tag : 9'h0);</a>
<a name="148"><span class="lineNum"> 148 </span> : assign io_r_resp_data_0_ctr =</a>
<a name="149"><span class="lineNum"> 149 </span> : (holdRidx ? 2'h0 : _array_io_r_resp_data_0_ctr)</a>
<a name="150"><span class="lineNum"> 150 </span> : | (holdRidx ? _array_io_r_resp_data_1_ctr : 2'h0);</a>
<a name="151"><span class="lineNum"> 151 </span> : assign io_r_resp_data_0_target =</a>
<a name="152"><span class="lineNum"> 152 </span> : (holdRidx ? 41'h0 : _array_io_r_resp_data_0_target)</a>
<a name="153"><span class="lineNum"> 153 </span> : | (holdRidx ? _array_io_r_resp_data_1_target : 41'h0);</a>
<a name="154"><span class="lineNum"> 154 </span> : endmodule</a>
<a name="155"><span class="lineNum"> 155 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTage.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTage.sv<span style="font-size: 80%;"> (<a href="ITTage.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">495</td>
<td class="headerCovTableEntry">578</td>
<td class="headerCovTableEntryMed">85.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="ITTage.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTage.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTage.sv<span style="font-size: 80%;"> (<a href="ITTage.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">495</td>
<td class="headerCovTableEntry">578</td>
<td class="headerCovTableEntryMed">85.6 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="ITTage.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable.sv<span style="font-size: 80%;"> (<a href="ITTageTable.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="ITTageTable.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable.sv<span style="font-size: 80%;"> (<a href="ITTageTable.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="ITTageTable.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,302 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable.sv<span style="font-size: 80%;"> (source / <a href="ITTageTable.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module ITTageTable(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 73 : input io_req_valid,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 35066 : input [40:0] io_req_bits_pc,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 474 : input [3:0] io_req_bits_folded_hist_hist_12_folded_hist,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 13 : output io_resp_valid,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 48 : output [1:0] io_resp_bits_ctr,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 176 : output [1:0] io_resp_bits_u,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 1096 : output [40:0] io_resp_bits_target,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 594 : input [40:0] io_update_pc,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 54 : input [3:0] io_update_folded_hist_hist_12_folded_hist,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 25 : input io_update_valid,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 15 : input io_update_correct,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 13 : input io_update_alloc,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 27 : input [1:0] io_update_oldCtr,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 12 : input io_update_uValid,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 16 : input io_update_u,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 28 : input io_update_reset_u,</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 585 : input [40:0] io_update_target,</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 611 : input [40:0] io_update_old_target</span></a>
<a name="79"><span class="lineNum"> 79 </span> : );</a>
<a name="80"><span class="lineNum"> 80 </span> : </a>
<a name="81"><span class="lineNum"> 81 </span> : wire _resp_invalid_by_write_T_2;</a>
<a name="82"><span class="lineNum"> 82 </span> : wire _wrbypass_io_hit;</a>
<a name="83"><span class="lineNum"> 83 </span> : wire [1:0] _wrbypass_io_hit_data_0_bits;</a>
<a name="84"><span class="lineNum"> 84 </span> : wire _table_banks_1_io_r_resp_data_0_valid;</a>
<a name="85"><span class="lineNum"> 85 </span> : wire [8:0] _table_banks_1_io_r_resp_data_0_tag;</a>
<a name="86"><span class="lineNum"> 86 </span> : wire [1:0] _table_banks_1_io_r_resp_data_0_ctr;</a>
<a name="87"><span class="lineNum"> 87 </span> : wire [40:0] _table_banks_1_io_r_resp_data_0_target;</a>
<a name="88"><span class="lineNum"> 88 </span> : wire _table_banks_0_io_r_resp_data_0_valid;</a>
<a name="89"><span class="lineNum"> 89 </span> : wire [8:0] _table_banks_0_io_r_resp_data_0_tag;</a>
<a name="90"><span class="lineNum"> 90 </span> : wire [1:0] _table_banks_0_io_r_resp_data_0_ctr;</a>
<a name="91"><span class="lineNum"> 91 </span> : wire [40:0] _table_banks_0_io_r_resp_data_0_target;</a>
<a name="92"><span class="lineNum"> 92 </span> : wire _us_io_rdata_0;</a>
<a name="93"><span class="lineNum"> 93 </span> : wire [3:0] _GEN = io_req_bits_pc[4:1] ^ io_req_bits_folded_hist_hist_12_folded_hist;</a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 714 : reg [8:0] s1_tag;</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 53 : reg s1_bank_req_1h_0;</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 46 : reg s1_bank_req_1h_1;</span></a>
<a name="97"><span class="lineNum"> 97 </span> : wire [6:0] _table_banks_1_io_r_req_bits_setIdx_T = {io_req_bits_pc[8:5], _GEN[3:1]};</a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 34 : reg s1_bank_has_write_on_this_req_0;</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 35 : reg s1_bank_has_write_on_this_req_1;</span></a>
<a name="100"><span class="lineNum"> 100 </span> : wire [3:0] _GEN_0 = io_update_pc[4:1] ^ io_update_folded_hist_hist_12_folded_hist;</a>
<a name="101"><span class="lineNum"> 101 </span><span class="lineCov"> 105 : wire [7:0] update_idx = {io_update_pc[8:5], _GEN_0};</span></a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 131 : wire [8:0] update_tag =</span></a>
<a name="103"><span class="lineNum"> 103 </span> : {io_update_pc[17:14],</a>
<a name="104"><span class="lineNum"> 104 </span> : {io_update_pc[13], io_update_pc[12:9] ^ io_update_folded_hist_hist_12_folded_hist}</a>
<a name="105"><span class="lineNum"> 105 </span> : ^ {io_update_folded_hist_hist_12_folded_hist, 1'h0}};</a>
<a name="106"><span class="lineNum"> 106 </span><span class="lineCov"> 99 : wire [6:0] update_idx_in_bank = {io_update_pc[8:5], _GEN_0[3:1]};</span></a>
<a name="107"><span class="lineNum"> 107 </span> : assign _resp_invalid_by_write_T_2 =</a>
<a name="108"><span class="lineNum"> 108 </span> : s1_bank_req_1h_0 &amp; s1_bank_has_write_on_this_req_0 | s1_bank_req_1h_1</a>
<a name="109"><span class="lineNum"> 109 </span> : &amp; s1_bank_has_write_on_this_req_1;</a>
<a name="110"><span class="lineNum"> 110 </span> : wire _s1_bank_has_write_on_this_req_WIRE_0 = io_update_valid &amp; ~(_GEN_0[0]);</a>
<a name="111"><span class="lineNum"> 111 </span> : wire _s1_bank_has_write_on_this_req_WIRE_1 = io_update_valid &amp; _GEN_0[0];</a>
<a name="112"><span class="lineNum"> 112 </span><span class="lineCov"> 44 : wire [1:0] old_ctr =</span></a>
<a name="113"><span class="lineNum"> 113 </span> : _wrbypass_io_hit ? _wrbypass_io_hit_data_0_bits : io_update_oldCtr;</a>
<a name="114"><span class="lineNum"> 114 </span><span class="lineCov"> 16 : wire update_wdata_ctr_oldSatNotTaken = old_ctr == 2'h0;</span></a>
<a name="115"><span class="lineNum"> 115 </span><span class="lineCov"> 51 : wire [1:0] update_wdata_ctr =</span></a>
<a name="116"><span class="lineNum"> 116 </span> : io_update_alloc</a>
<a name="117"><span class="lineNum"> 117 </span> : ? 2'h2</a>
<a name="118"><span class="lineNum"> 118 </span> : : (&amp;old_ctr) &amp; io_update_correct</a>
<a name="119"><span class="lineNum"> 119 </span> : ? 2'h3</a>
<a name="120"><span class="lineNum"> 120 </span> : : update_wdata_ctr_oldSatNotTaken &amp; ~io_update_correct</a>
<a name="121"><span class="lineNum"> 121 </span> : ? 2'h0</a>
<a name="122"><span class="lineNum"> 122 </span> : : io_update_correct ? 2'(old_ctr + 2'h1) : 2'(old_ctr - 2'h1);</a>
<a name="123"><span class="lineNum"> 123 </span><span class="lineCov"> 599 : wire [40:0] update_wdata_target =</span></a>
<a name="124"><span class="lineNum"> 124 </span> : io_update_alloc | update_wdata_ctr_oldSatNotTaken</a>
<a name="125"><span class="lineNum"> 125 </span> : ? io_update_target</a>
<a name="126"><span class="lineNum"> 126 </span> : : io_update_old_target;</a>
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 8350 : if (io_req_valid) begin</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 4175 : s1_tag &lt;=</span></a>
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 4175 : {io_req_bits_pc[17:14],</span></a>
<a name="131"><span class="lineNum"> 131 </span><span class="lineCov"> 4175 : {io_req_bits_pc[13],</span></a>
<a name="132"><span class="lineNum"> 132 </span><span class="lineCov"> 4175 : io_req_bits_pc[12:9] ^ io_req_bits_folded_hist_hist_12_folded_hist}</span></a>
<a name="133"><span class="lineNum"> 133 </span><span class="lineCov"> 4175 : ^ {io_req_bits_folded_hist_hist_12_folded_hist, 1'h0}};</span></a>
<a name="134"><span class="lineNum"> 134 </span><span class="lineCov"> 4175 : s1_bank_req_1h_0 &lt;= ~(_GEN[0]);</span></a>
<a name="135"><span class="lineNum"> 135 </span><span class="lineCov"> 4175 : s1_bank_req_1h_1 &lt;= _GEN[0];</span></a>
<a name="136"><span class="lineNum"> 136 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_0 &lt;= _s1_bank_has_write_on_this_req_WIRE_0;</span></a>
<a name="137"><span class="lineNum"> 137 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_1 &lt;= _s1_bank_has_write_on_this_req_WIRE_1;</span></a>
<a name="138"><span class="lineNum"> 138 </span> : end</a>
<a name="139"><span class="lineNum"> 139 </span> : end // always @(posedge)</a>
<a name="140"><span class="lineNum"> 140 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="141"><span class="lineNum"> 141 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="142"><span class="lineNum"> 142 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="143"><span class="lineNum"> 143 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="144"><span class="lineNum"> 144 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="145"><span class="lineNum"> 145 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="146"><span class="lineNum"> 146 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="147"><span class="lineNum"> 147 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="148"><span class="lineNum"> 148 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="149"><span class="lineNum"> 149 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="150"><span class="lineNum"> 150 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="151"><span class="lineNum"> 151 </span> : s1_tag = _RANDOM[/*Zero width*/ 1'b0][16:8];</a>
<a name="152"><span class="lineNum"> 152 </span> : s1_bank_req_1h_0 = _RANDOM[/*Zero width*/ 1'b0][17];</a>
<a name="153"><span class="lineNum"> 153 </span> : s1_bank_req_1h_1 = _RANDOM[/*Zero width*/ 1'b0][18];</a>
<a name="154"><span class="lineNum"> 154 </span> : s1_bank_has_write_on_this_req_0 = _RANDOM[/*Zero width*/ 1'b0][19];</a>
<a name="155"><span class="lineNum"> 155 </span> : s1_bank_has_write_on_this_req_1 = _RANDOM[/*Zero width*/ 1'b0][20];</a>
<a name="156"><span class="lineNum"> 156 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="157"><span class="lineNum"> 157 </span> : end // initial</a>
<a name="158"><span class="lineNum"> 158 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="159"><span class="lineNum"> 159 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="160"><span class="lineNum"> 160 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="161"><span class="lineNum"> 161 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="162"><span class="lineNum"> 162 </span> : Folded1WDataModuleTemplate us (</a>
<a name="163"><span class="lineNum"> 163 </span> : .clock (clock),</a>
<a name="164"><span class="lineNum"> 164 </span> : .reset (reset),</a>
<a name="165"><span class="lineNum"> 165 </span> : .io_ren_0 (io_req_valid),</a>
<a name="166"><span class="lineNum"> 166 </span> : .io_raddr_0 ({io_req_bits_pc[8:5], _GEN}),</a>
<a name="167"><span class="lineNum"> 167 </span> : .io_rdata_0 (_us_io_rdata_0),</a>
<a name="168"><span class="lineNum"> 168 </span> : .io_wen (io_update_uValid),</a>
<a name="169"><span class="lineNum"> 169 </span> : .io_waddr (update_idx),</a>
<a name="170"><span class="lineNum"> 170 </span> : .io_wdata (io_update_u),</a>
<a name="171"><span class="lineNum"> 171 </span> : .io_resetEn (io_update_reset_u)</a>
<a name="172"><span class="lineNum"> 172 </span> : );</a>
<a name="173"><span class="lineNum"> 173 </span> : FoldedSRAMTemplate_21 table_banks_0 (</a>
<a name="174"><span class="lineNum"> 174 </span> : .clock (clock),</a>
<a name="175"><span class="lineNum"> 175 </span> : .reset (reset),</a>
<a name="176"><span class="lineNum"> 176 </span> : .io_r_req_valid (io_req_valid &amp; ~(_GEN[0])),</a>
<a name="177"><span class="lineNum"> 177 </span> : .io_r_req_bits_setIdx (_table_banks_1_io_r_req_bits_setIdx_T),</a>
<a name="178"><span class="lineNum"> 178 </span> : .io_r_resp_data_0_valid (_table_banks_0_io_r_resp_data_0_valid),</a>
<a name="179"><span class="lineNum"> 179 </span> : .io_r_resp_data_0_tag (_table_banks_0_io_r_resp_data_0_tag),</a>
<a name="180"><span class="lineNum"> 180 </span> : .io_r_resp_data_0_ctr (_table_banks_0_io_r_resp_data_0_ctr),</a>
<a name="181"><span class="lineNum"> 181 </span> : .io_r_resp_data_0_target (_table_banks_0_io_r_resp_data_0_target),</a>
<a name="182"><span class="lineNum"> 182 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_0),</a>
<a name="183"><span class="lineNum"> 183 </span> : .io_w_req_bits_setIdx (update_idx_in_bank),</a>
<a name="184"><span class="lineNum"> 184 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="185"><span class="lineNum"> 185 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="186"><span class="lineNum"> 186 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="187"><span class="lineNum"> 187 </span> : );</a>
<a name="188"><span class="lineNum"> 188 </span> : FoldedSRAMTemplate_21 table_banks_1 (</a>
<a name="189"><span class="lineNum"> 189 </span> : .clock (clock),</a>
<a name="190"><span class="lineNum"> 190 </span> : .reset (reset),</a>
<a name="191"><span class="lineNum"> 191 </span> : .io_r_req_valid (io_req_valid &amp; _GEN[0]),</a>
<a name="192"><span class="lineNum"> 192 </span> : .io_r_req_bits_setIdx (_table_banks_1_io_r_req_bits_setIdx_T),</a>
<a name="193"><span class="lineNum"> 193 </span> : .io_r_resp_data_0_valid (_table_banks_1_io_r_resp_data_0_valid),</a>
<a name="194"><span class="lineNum"> 194 </span> : .io_r_resp_data_0_tag (_table_banks_1_io_r_resp_data_0_tag),</a>
<a name="195"><span class="lineNum"> 195 </span> : .io_r_resp_data_0_ctr (_table_banks_1_io_r_resp_data_0_ctr),</a>
<a name="196"><span class="lineNum"> 196 </span> : .io_r_resp_data_0_target (_table_banks_1_io_r_resp_data_0_target),</a>
<a name="197"><span class="lineNum"> 197 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_1),</a>
<a name="198"><span class="lineNum"> 198 </span> : .io_w_req_bits_setIdx (update_idx_in_bank),</a>
<a name="199"><span class="lineNum"> 199 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="200"><span class="lineNum"> 200 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="201"><span class="lineNum"> 201 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="202"><span class="lineNum"> 202 </span> : );</a>
<a name="203"><span class="lineNum"> 203 </span> : WrBypass_41 wrbypass (</a>
<a name="204"><span class="lineNum"> 204 </span> : .clock (clock),</a>
<a name="205"><span class="lineNum"> 205 </span> : .reset (reset),</a>
<a name="206"><span class="lineNum"> 206 </span> : .io_wen (io_update_valid),</a>
<a name="207"><span class="lineNum"> 207 </span> : .io_write_idx (update_idx),</a>
<a name="208"><span class="lineNum"> 208 </span> : .io_write_data_0 (update_wdata_ctr),</a>
<a name="209"><span class="lineNum"> 209 </span> : .io_hit (_wrbypass_io_hit),</a>
<a name="210"><span class="lineNum"> 210 </span> : .io_hit_data_0_bits (_wrbypass_io_hit_data_0_bits)</a>
<a name="211"><span class="lineNum"> 211 </span> : );</a>
<a name="212"><span class="lineNum"> 212 </span> : assign io_resp_valid =</a>
<a name="213"><span class="lineNum"> 213 </span> : (s1_bank_req_1h_0 &amp; _table_banks_0_io_r_resp_data_0_valid | s1_bank_req_1h_1</a>
<a name="214"><span class="lineNum"> 214 </span> : &amp; _table_banks_1_io_r_resp_data_0_valid)</a>
<a name="215"><span class="lineNum"> 215 </span> : &amp; ((s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_tag : 9'h0)</a>
<a name="216"><span class="lineNum"> 216 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_tag : 9'h0)) == s1_tag</a>
<a name="217"><span class="lineNum"> 217 </span> : &amp; ~_resp_invalid_by_write_T_2;</a>
<a name="218"><span class="lineNum"> 218 </span> : assign io_resp_bits_ctr =</a>
<a name="219"><span class="lineNum"> 219 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_ctr : 2'h0)</a>
<a name="220"><span class="lineNum"> 220 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_ctr : 2'h0);</a>
<a name="221"><span class="lineNum"> 221 </span> : assign io_resp_bits_u = {1'h0, _us_io_rdata_0};</a>
<a name="222"><span class="lineNum"> 222 </span> : assign io_resp_bits_target =</a>
<a name="223"><span class="lineNum"> 223 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_target : 41'h0)</a>
<a name="224"><span class="lineNum"> 224 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_target : 41'h0);</a>
<a name="225"><span class="lineNum"> 225 </span> : endmodule</a>
<a name="226"><span class="lineNum"> 226 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_1.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_1.sv<span style="font-size: 80%;"> (<a href="ITTageTable_1.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">43</td>
<td class="headerCovTableEntry">43</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="ITTageTable_1.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_1.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_1.sv<span style="font-size: 80%;"> (<a href="ITTageTable_1.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">43</td>
<td class="headerCovTableEntry">43</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="ITTageTable_1.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,297 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_1.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_1.sv<span style="font-size: 80%;"> (source / <a href="ITTageTable_1.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">43</td>
<td class="headerCovTableEntry">43</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module ITTageTable_1(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 73 : input io_req_valid,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 35066 : input [40:0] io_req_bits_pc,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 564 : input [7:0] io_req_bits_folded_hist_hist_14_folded_hist,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 12 : output io_resp_valid,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 55 : output [1:0] io_resp_bits_ctr,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 144 : output [1:0] io_resp_bits_u,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 1170 : output [40:0] io_resp_bits_target,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 577 : input [40:0] io_update_pc,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 108 : input [7:0] io_update_folded_hist_hist_14_folded_hist,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 27 : input io_update_valid,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 13 : input io_update_correct,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 13 : input io_update_alloc,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 33 : input [1:0] io_update_oldCtr,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 11 : input io_update_uValid,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 14 : input io_update_u,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 33 : input io_update_reset_u,</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 588 : input [40:0] io_update_target,</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 587 : input [40:0] io_update_old_target</span></a>
<a name="79"><span class="lineNum"> 79 </span> : );</a>
<a name="80"><span class="lineNum"> 80 </span> : </a>
<a name="81"><span class="lineNum"> 81 </span> : wire _resp_invalid_by_write_T_2;</a>
<a name="82"><span class="lineNum"> 82 </span> : wire _wrbypass_io_hit;</a>
<a name="83"><span class="lineNum"> 83 </span> : wire [1:0] _wrbypass_io_hit_data_0_bits;</a>
<a name="84"><span class="lineNum"> 84 </span> : wire _table_banks_1_io_r_resp_data_0_valid;</a>
<a name="85"><span class="lineNum"> 85 </span> : wire [8:0] _table_banks_1_io_r_resp_data_0_tag;</a>
<a name="86"><span class="lineNum"> 86 </span> : wire [1:0] _table_banks_1_io_r_resp_data_0_ctr;</a>
<a name="87"><span class="lineNum"> 87 </span> : wire [40:0] _table_banks_1_io_r_resp_data_0_target;</a>
<a name="88"><span class="lineNum"> 88 </span> : wire _table_banks_0_io_r_resp_data_0_valid;</a>
<a name="89"><span class="lineNum"> 89 </span> : wire [8:0] _table_banks_0_io_r_resp_data_0_tag;</a>
<a name="90"><span class="lineNum"> 90 </span> : wire [1:0] _table_banks_0_io_r_resp_data_0_ctr;</a>
<a name="91"><span class="lineNum"> 91 </span> : wire [40:0] _table_banks_0_io_r_resp_data_0_target;</a>
<a name="92"><span class="lineNum"> 92 </span> : wire _us_io_rdata_0;</a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 24675 : wire [7:0] s0_idx = io_req_bits_pc[8:1] ^ io_req_bits_folded_hist_hist_14_folded_hist;</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 720 : reg [8:0] s1_tag;</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 46 : reg s1_bank_req_1h_0;</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 53 : reg s1_bank_req_1h_1;</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 29 : reg s1_bank_has_write_on_this_req_0;</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 30 : reg s1_bank_has_write_on_this_req_1;</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 105 : wire [7:0] update_idx = io_update_pc[8:1] ^ io_update_folded_hist_hist_14_folded_hist;</span></a>
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 127 : wire [8:0] update_tag =</span></a>
<a name="101"><span class="lineNum"> 101 </span> : {io_update_pc[17], io_update_pc[16:9] ^ io_update_folded_hist_hist_14_folded_hist}</a>
<a name="102"><span class="lineNum"> 102 </span> : ^ {io_update_folded_hist_hist_14_folded_hist, 1'h0};</a>
<a name="103"><span class="lineNum"> 103 </span> : assign _resp_invalid_by_write_T_2 =</a>
<a name="104"><span class="lineNum"> 104 </span> : s1_bank_req_1h_0 &amp; s1_bank_has_write_on_this_req_0 | s1_bank_req_1h_1</a>
<a name="105"><span class="lineNum"> 105 </span> : &amp; s1_bank_has_write_on_this_req_1;</a>
<a name="106"><span class="lineNum"> 106 </span> : wire _s1_bank_has_write_on_this_req_WIRE_0 = io_update_valid &amp; ~(update_idx[0]);</a>
<a name="107"><span class="lineNum"> 107 </span> : wire _s1_bank_has_write_on_this_req_WIRE_1 = io_update_valid &amp; update_idx[0];</a>
<a name="108"><span class="lineNum"> 108 </span><span class="lineCov"> 51 : wire [1:0] old_ctr =</span></a>
<a name="109"><span class="lineNum"> 109 </span> : _wrbypass_io_hit ? _wrbypass_io_hit_data_0_bits : io_update_oldCtr;</a>
<a name="110"><span class="lineNum"> 110 </span><span class="lineCov"> 19 : wire update_wdata_ctr_oldSatNotTaken = old_ctr == 2'h0;</span></a>
<a name="111"><span class="lineNum"> 111 </span><span class="lineCov"> 36 : wire [1:0] update_wdata_ctr =</span></a>
<a name="112"><span class="lineNum"> 112 </span> : io_update_alloc</a>
<a name="113"><span class="lineNum"> 113 </span> : ? 2'h2</a>
<a name="114"><span class="lineNum"> 114 </span> : : (&amp;old_ctr) &amp; io_update_correct</a>
<a name="115"><span class="lineNum"> 115 </span> : ? 2'h3</a>
<a name="116"><span class="lineNum"> 116 </span> : : update_wdata_ctr_oldSatNotTaken &amp; ~io_update_correct</a>
<a name="117"><span class="lineNum"> 117 </span> : ? 2'h0</a>
<a name="118"><span class="lineNum"> 118 </span> : : io_update_correct ? 2'(old_ctr + 2'h1) : 2'(old_ctr - 2'h1);</a>
<a name="119"><span class="lineNum"> 119 </span><span class="lineCov"> 642 : wire [40:0] update_wdata_target =</span></a>
<a name="120"><span class="lineNum"> 120 </span> : io_update_alloc | update_wdata_ctr_oldSatNotTaken</a>
<a name="121"><span class="lineNum"> 121 </span> : ? io_update_target</a>
<a name="122"><span class="lineNum"> 122 </span> : : io_update_old_target;</a>
<a name="123"><span class="lineNum"> 123 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="124"><span class="lineNum"> 124 </span><span class="lineCov"> 8350 : if (io_req_valid) begin</span></a>
<a name="125"><span class="lineNum"> 125 </span><span class="lineCov"> 4175 : s1_tag &lt;=</span></a>
<a name="126"><span class="lineNum"> 126 </span><span class="lineCov"> 4175 : {io_req_bits_pc[17],</span></a>
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 4175 : io_req_bits_pc[16:9] ^ io_req_bits_folded_hist_hist_14_folded_hist}</span></a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 4175 : ^ {io_req_bits_folded_hist_hist_14_folded_hist, 1'h0};</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 4175 : s1_bank_req_1h_0 &lt;= ~(s0_idx[0]);</span></a>
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 4175 : s1_bank_req_1h_1 &lt;= s0_idx[0];</span></a>
<a name="131"><span class="lineNum"> 131 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_0 &lt;= _s1_bank_has_write_on_this_req_WIRE_0;</span></a>
<a name="132"><span class="lineNum"> 132 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_1 &lt;= _s1_bank_has_write_on_this_req_WIRE_1;</span></a>
<a name="133"><span class="lineNum"> 133 </span> : end</a>
<a name="134"><span class="lineNum"> 134 </span> : end // always @(posedge)</a>
<a name="135"><span class="lineNum"> 135 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="136"><span class="lineNum"> 136 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="137"><span class="lineNum"> 137 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="138"><span class="lineNum"> 138 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="139"><span class="lineNum"> 139 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="140"><span class="lineNum"> 140 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="141"><span class="lineNum"> 141 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="142"><span class="lineNum"> 142 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="143"><span class="lineNum"> 143 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="144"><span class="lineNum"> 144 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="145"><span class="lineNum"> 145 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="146"><span class="lineNum"> 146 </span> : s1_tag = _RANDOM[/*Zero width*/ 1'b0][16:8];</a>
<a name="147"><span class="lineNum"> 147 </span> : s1_bank_req_1h_0 = _RANDOM[/*Zero width*/ 1'b0][17];</a>
<a name="148"><span class="lineNum"> 148 </span> : s1_bank_req_1h_1 = _RANDOM[/*Zero width*/ 1'b0][18];</a>
<a name="149"><span class="lineNum"> 149 </span> : s1_bank_has_write_on_this_req_0 = _RANDOM[/*Zero width*/ 1'b0][19];</a>
<a name="150"><span class="lineNum"> 150 </span> : s1_bank_has_write_on_this_req_1 = _RANDOM[/*Zero width*/ 1'b0][20];</a>
<a name="151"><span class="lineNum"> 151 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="152"><span class="lineNum"> 152 </span> : end // initial</a>
<a name="153"><span class="lineNum"> 153 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="154"><span class="lineNum"> 154 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="155"><span class="lineNum"> 155 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="156"><span class="lineNum"> 156 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="157"><span class="lineNum"> 157 </span> : Folded1WDataModuleTemplate us (</a>
<a name="158"><span class="lineNum"> 158 </span> : .clock (clock),</a>
<a name="159"><span class="lineNum"> 159 </span> : .reset (reset),</a>
<a name="160"><span class="lineNum"> 160 </span> : .io_ren_0 (io_req_valid),</a>
<a name="161"><span class="lineNum"> 161 </span> : .io_raddr_0 (s0_idx),</a>
<a name="162"><span class="lineNum"> 162 </span> : .io_rdata_0 (_us_io_rdata_0),</a>
<a name="163"><span class="lineNum"> 163 </span> : .io_wen (io_update_uValid),</a>
<a name="164"><span class="lineNum"> 164 </span> : .io_waddr (update_idx),</a>
<a name="165"><span class="lineNum"> 165 </span> : .io_wdata (io_update_u),</a>
<a name="166"><span class="lineNum"> 166 </span> : .io_resetEn (io_update_reset_u)</a>
<a name="167"><span class="lineNum"> 167 </span> : );</a>
<a name="168"><span class="lineNum"> 168 </span> : FoldedSRAMTemplate_21 table_banks_0 (</a>
<a name="169"><span class="lineNum"> 169 </span> : .clock (clock),</a>
<a name="170"><span class="lineNum"> 170 </span> : .reset (reset),</a>
<a name="171"><span class="lineNum"> 171 </span> : .io_r_req_valid (io_req_valid &amp; ~(s0_idx[0])),</a>
<a name="172"><span class="lineNum"> 172 </span> : .io_r_req_bits_setIdx (s0_idx[7:1]),</a>
<a name="173"><span class="lineNum"> 173 </span> : .io_r_resp_data_0_valid (_table_banks_0_io_r_resp_data_0_valid),</a>
<a name="174"><span class="lineNum"> 174 </span> : .io_r_resp_data_0_tag (_table_banks_0_io_r_resp_data_0_tag),</a>
<a name="175"><span class="lineNum"> 175 </span> : .io_r_resp_data_0_ctr (_table_banks_0_io_r_resp_data_0_ctr),</a>
<a name="176"><span class="lineNum"> 176 </span> : .io_r_resp_data_0_target (_table_banks_0_io_r_resp_data_0_target),</a>
<a name="177"><span class="lineNum"> 177 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_0),</a>
<a name="178"><span class="lineNum"> 178 </span> : .io_w_req_bits_setIdx (update_idx[7:1]),</a>
<a name="179"><span class="lineNum"> 179 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="180"><span class="lineNum"> 180 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="181"><span class="lineNum"> 181 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="182"><span class="lineNum"> 182 </span> : );</a>
<a name="183"><span class="lineNum"> 183 </span> : FoldedSRAMTemplate_21 table_banks_1 (</a>
<a name="184"><span class="lineNum"> 184 </span> : .clock (clock),</a>
<a name="185"><span class="lineNum"> 185 </span> : .reset (reset),</a>
<a name="186"><span class="lineNum"> 186 </span> : .io_r_req_valid (io_req_valid &amp; s0_idx[0]),</a>
<a name="187"><span class="lineNum"> 187 </span> : .io_r_req_bits_setIdx (s0_idx[7:1]),</a>
<a name="188"><span class="lineNum"> 188 </span> : .io_r_resp_data_0_valid (_table_banks_1_io_r_resp_data_0_valid),</a>
<a name="189"><span class="lineNum"> 189 </span> : .io_r_resp_data_0_tag (_table_banks_1_io_r_resp_data_0_tag),</a>
<a name="190"><span class="lineNum"> 190 </span> : .io_r_resp_data_0_ctr (_table_banks_1_io_r_resp_data_0_ctr),</a>
<a name="191"><span class="lineNum"> 191 </span> : .io_r_resp_data_0_target (_table_banks_1_io_r_resp_data_0_target),</a>
<a name="192"><span class="lineNum"> 192 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_1),</a>
<a name="193"><span class="lineNum"> 193 </span> : .io_w_req_bits_setIdx (update_idx[7:1]),</a>
<a name="194"><span class="lineNum"> 194 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="195"><span class="lineNum"> 195 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="196"><span class="lineNum"> 196 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="197"><span class="lineNum"> 197 </span> : );</a>
<a name="198"><span class="lineNum"> 198 </span> : WrBypass_41 wrbypass (</a>
<a name="199"><span class="lineNum"> 199 </span> : .clock (clock),</a>
<a name="200"><span class="lineNum"> 200 </span> : .reset (reset),</a>
<a name="201"><span class="lineNum"> 201 </span> : .io_wen (io_update_valid),</a>
<a name="202"><span class="lineNum"> 202 </span> : .io_write_idx (update_idx),</a>
<a name="203"><span class="lineNum"> 203 </span> : .io_write_data_0 (update_wdata_ctr),</a>
<a name="204"><span class="lineNum"> 204 </span> : .io_hit (_wrbypass_io_hit),</a>
<a name="205"><span class="lineNum"> 205 </span> : .io_hit_data_0_bits (_wrbypass_io_hit_data_0_bits)</a>
<a name="206"><span class="lineNum"> 206 </span> : );</a>
<a name="207"><span class="lineNum"> 207 </span> : assign io_resp_valid =</a>
<a name="208"><span class="lineNum"> 208 </span> : (s1_bank_req_1h_0 &amp; _table_banks_0_io_r_resp_data_0_valid | s1_bank_req_1h_1</a>
<a name="209"><span class="lineNum"> 209 </span> : &amp; _table_banks_1_io_r_resp_data_0_valid)</a>
<a name="210"><span class="lineNum"> 210 </span> : &amp; ((s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_tag : 9'h0)</a>
<a name="211"><span class="lineNum"> 211 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_tag : 9'h0)) == s1_tag</a>
<a name="212"><span class="lineNum"> 212 </span> : &amp; ~_resp_invalid_by_write_T_2;</a>
<a name="213"><span class="lineNum"> 213 </span> : assign io_resp_bits_ctr =</a>
<a name="214"><span class="lineNum"> 214 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_ctr : 2'h0)</a>
<a name="215"><span class="lineNum"> 215 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_ctr : 2'h0);</a>
<a name="216"><span class="lineNum"> 216 </span> : assign io_resp_bits_u = {1'h0, _us_io_rdata_0};</a>
<a name="217"><span class="lineNum"> 217 </span> : assign io_resp_bits_target =</a>
<a name="218"><span class="lineNum"> 218 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_target : 41'h0)</a>
<a name="219"><span class="lineNum"> 219 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_target : 41'h0);</a>
<a name="220"><span class="lineNum"> 220 </span> : endmodule</a>
<a name="221"><span class="lineNum"> 221 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_2.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_2.sv<span style="font-size: 80%;"> (<a href="ITTageTable_2.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="ITTageTable_2.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_2.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_2.sv<span style="font-size: 80%;"> (<a href="ITTageTable_2.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="ITTageTable_2.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,298 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_2.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_2.sv<span style="font-size: 80%;"> (source / <a href="ITTageTable_2.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module ITTageTable_2(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 73 : input io_req_valid,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 35066 : input [40:0] io_req_bits_pc,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 989 : input [8:0] io_req_bits_folded_hist_hist_13_folded_hist,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 602 : input [7:0] io_req_bits_folded_hist_hist_4_folded_hist,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 20 : output io_resp_valid,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 54 : output [1:0] io_resp_bits_ctr,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 123 : output [1:0] io_resp_bits_u,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 1136 : output [40:0] io_resp_bits_target,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 598 : input [40:0] io_update_pc,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 111 : input [8:0] io_update_folded_hist_hist_13_folded_hist,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 106 : input [7:0] io_update_folded_hist_hist_4_folded_hist,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 27 : input io_update_valid,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 13 : input io_update_correct,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 16 : input io_update_alloc,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 24 : input [1:0] io_update_oldCtr,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 17 : input io_update_uValid,</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 13 : input io_update_u,</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 32 : input io_update_reset_u,</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 620 : input [40:0] io_update_target,</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 577 : input [40:0] io_update_old_target</span></a>
<a name="81"><span class="lineNum"> 81 </span> : );</a>
<a name="82"><span class="lineNum"> 82 </span> : </a>
<a name="83"><span class="lineNum"> 83 </span> : wire _resp_invalid_by_write_T_2;</a>
<a name="84"><span class="lineNum"> 84 </span> : wire _wrbypass_io_hit;</a>
<a name="85"><span class="lineNum"> 85 </span> : wire [1:0] _wrbypass_io_hit_data_0_bits;</a>
<a name="86"><span class="lineNum"> 86 </span> : wire _table_banks_1_io_r_resp_data_0_valid;</a>
<a name="87"><span class="lineNum"> 87 </span> : wire [8:0] _table_banks_1_io_r_resp_data_0_tag;</a>
<a name="88"><span class="lineNum"> 88 </span> : wire [1:0] _table_banks_1_io_r_resp_data_0_ctr;</a>
<a name="89"><span class="lineNum"> 89 </span> : wire [40:0] _table_banks_1_io_r_resp_data_0_target;</a>
<a name="90"><span class="lineNum"> 90 </span> : wire _table_banks_0_io_r_resp_data_0_valid;</a>
<a name="91"><span class="lineNum"> 91 </span> : wire [8:0] _table_banks_0_io_r_resp_data_0_tag;</a>
<a name="92"><span class="lineNum"> 92 </span> : wire [1:0] _table_banks_0_io_r_resp_data_0_ctr;</a>
<a name="93"><span class="lineNum"> 93 </span> : wire [40:0] _table_banks_0_io_r_resp_data_0_target;</a>
<a name="94"><span class="lineNum"> 94 </span> : wire _us_io_rdata_0;</a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 8574 : wire [8:0] s0_idx = io_req_bits_pc[9:1] ^ io_req_bits_folded_hist_hist_13_folded_hist;</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 516 : reg [8:0] s1_tag;</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 48 : reg s1_bank_req_1h_0;</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 52 : reg s1_bank_req_1h_1;</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 34 : reg s1_bank_has_write_on_this_req_0;</span></a>
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 28 : reg s1_bank_has_write_on_this_req_1;</span></a>
<a name="101"><span class="lineNum"> 101 </span><span class="lineCov"> 126 : wire [8:0] update_idx = io_update_pc[9:1] ^ io_update_folded_hist_hist_13_folded_hist;</span></a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 121 : wire [8:0] update_tag =</span></a>
<a name="103"><span class="lineNum"> 103 </span> : io_update_pc[18:10] ^ io_update_folded_hist_hist_13_folded_hist</a>
<a name="104"><span class="lineNum"> 104 </span> : ^ {io_update_folded_hist_hist_4_folded_hist, 1'h0};</a>
<a name="105"><span class="lineNum"> 105 </span> : assign _resp_invalid_by_write_T_2 =</a>
<a name="106"><span class="lineNum"> 106 </span> : s1_bank_req_1h_0 &amp; s1_bank_has_write_on_this_req_0 | s1_bank_req_1h_1</a>
<a name="107"><span class="lineNum"> 107 </span> : &amp; s1_bank_has_write_on_this_req_1;</a>
<a name="108"><span class="lineNum"> 108 </span> : wire _s1_bank_has_write_on_this_req_WIRE_0 = io_update_valid &amp; ~(update_idx[0]);</a>
<a name="109"><span class="lineNum"> 109 </span> : wire _s1_bank_has_write_on_this_req_WIRE_1 = io_update_valid &amp; update_idx[0];</a>
<a name="110"><span class="lineNum"> 110 </span><span class="lineCov"> 45 : wire [1:0] old_ctr =</span></a>
<a name="111"><span class="lineNum"> 111 </span> : _wrbypass_io_hit ? _wrbypass_io_hit_data_0_bits : io_update_oldCtr;</a>
<a name="112"><span class="lineNum"> 112 </span><span class="lineCov"> 11 : wire update_wdata_ctr_oldSatNotTaken = old_ctr == 2'h0;</span></a>
<a name="113"><span class="lineNum"> 113 </span><span class="lineCov"> 31 : wire [1:0] update_wdata_ctr =</span></a>
<a name="114"><span class="lineNum"> 114 </span> : io_update_alloc</a>
<a name="115"><span class="lineNum"> 115 </span> : ? 2'h2</a>
<a name="116"><span class="lineNum"> 116 </span> : : (&amp;old_ctr) &amp; io_update_correct</a>
<a name="117"><span class="lineNum"> 117 </span> : ? 2'h3</a>
<a name="118"><span class="lineNum"> 118 </span> : : update_wdata_ctr_oldSatNotTaken &amp; ~io_update_correct</a>
<a name="119"><span class="lineNum"> 119 </span> : ? 2'h0</a>
<a name="120"><span class="lineNum"> 120 </span> : : io_update_correct ? 2'(old_ctr + 2'h1) : 2'(old_ctr - 2'h1);</a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 613 : wire [40:0] update_wdata_target =</span></a>
<a name="122"><span class="lineNum"> 122 </span> : io_update_alloc | update_wdata_ctr_oldSatNotTaken</a>
<a name="123"><span class="lineNum"> 123 </span> : ? io_update_target</a>
<a name="124"><span class="lineNum"> 124 </span> : : io_update_old_target;</a>
<a name="125"><span class="lineNum"> 125 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="126"><span class="lineNum"> 126 </span><span class="lineCov"> 8350 : if (io_req_valid) begin</span></a>
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 4175 : s1_tag &lt;=</span></a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 4175 : io_req_bits_pc[18:10] ^ io_req_bits_folded_hist_hist_13_folded_hist</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 4175 : ^ {io_req_bits_folded_hist_hist_4_folded_hist, 1'h0};</span></a>
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 4175 : s1_bank_req_1h_0 &lt;= ~(s0_idx[0]);</span></a>
<a name="131"><span class="lineNum"> 131 </span><span class="lineCov"> 4175 : s1_bank_req_1h_1 &lt;= s0_idx[0];</span></a>
<a name="132"><span class="lineNum"> 132 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_0 &lt;= _s1_bank_has_write_on_this_req_WIRE_0;</span></a>
<a name="133"><span class="lineNum"> 133 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_1 &lt;= _s1_bank_has_write_on_this_req_WIRE_1;</span></a>
<a name="134"><span class="lineNum"> 134 </span> : end</a>
<a name="135"><span class="lineNum"> 135 </span> : end // always @(posedge)</a>
<a name="136"><span class="lineNum"> 136 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="137"><span class="lineNum"> 137 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="138"><span class="lineNum"> 138 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="139"><span class="lineNum"> 139 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="140"><span class="lineNum"> 140 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="141"><span class="lineNum"> 141 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="142"><span class="lineNum"> 142 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="143"><span class="lineNum"> 143 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="144"><span class="lineNum"> 144 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="145"><span class="lineNum"> 145 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="146"><span class="lineNum"> 146 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="147"><span class="lineNum"> 147 </span> : s1_tag = _RANDOM[/*Zero width*/ 1'b0][17:9];</a>
<a name="148"><span class="lineNum"> 148 </span> : s1_bank_req_1h_0 = _RANDOM[/*Zero width*/ 1'b0][18];</a>
<a name="149"><span class="lineNum"> 149 </span> : s1_bank_req_1h_1 = _RANDOM[/*Zero width*/ 1'b0][19];</a>
<a name="150"><span class="lineNum"> 150 </span> : s1_bank_has_write_on_this_req_0 = _RANDOM[/*Zero width*/ 1'b0][20];</a>
<a name="151"><span class="lineNum"> 151 </span> : s1_bank_has_write_on_this_req_1 = _RANDOM[/*Zero width*/ 1'b0][21];</a>
<a name="152"><span class="lineNum"> 152 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="153"><span class="lineNum"> 153 </span> : end // initial</a>
<a name="154"><span class="lineNum"> 154 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="155"><span class="lineNum"> 155 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="156"><span class="lineNum"> 156 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="157"><span class="lineNum"> 157 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="158"><span class="lineNum"> 158 </span> : Folded1WDataModuleTemplate_2 us (</a>
<a name="159"><span class="lineNum"> 159 </span> : .clock (clock),</a>
<a name="160"><span class="lineNum"> 160 </span> : .reset (reset),</a>
<a name="161"><span class="lineNum"> 161 </span> : .io_ren_0 (io_req_valid),</a>
<a name="162"><span class="lineNum"> 162 </span> : .io_raddr_0 (s0_idx),</a>
<a name="163"><span class="lineNum"> 163 </span> : .io_rdata_0 (_us_io_rdata_0),</a>
<a name="164"><span class="lineNum"> 164 </span> : .io_wen (io_update_uValid),</a>
<a name="165"><span class="lineNum"> 165 </span> : .io_waddr (update_idx),</a>
<a name="166"><span class="lineNum"> 166 </span> : .io_wdata (io_update_u),</a>
<a name="167"><span class="lineNum"> 167 </span> : .io_resetEn (io_update_reset_u)</a>
<a name="168"><span class="lineNum"> 168 </span> : );</a>
<a name="169"><span class="lineNum"> 169 </span> : FoldedSRAMTemplate_25 table_banks_0 (</a>
<a name="170"><span class="lineNum"> 170 </span> : .clock (clock),</a>
<a name="171"><span class="lineNum"> 171 </span> : .reset (reset),</a>
<a name="172"><span class="lineNum"> 172 </span> : .io_r_req_valid (io_req_valid &amp; ~(s0_idx[0])),</a>
<a name="173"><span class="lineNum"> 173 </span> : .io_r_req_bits_setIdx (s0_idx[8:1]),</a>
<a name="174"><span class="lineNum"> 174 </span> : .io_r_resp_data_0_valid (_table_banks_0_io_r_resp_data_0_valid),</a>
<a name="175"><span class="lineNum"> 175 </span> : .io_r_resp_data_0_tag (_table_banks_0_io_r_resp_data_0_tag),</a>
<a name="176"><span class="lineNum"> 176 </span> : .io_r_resp_data_0_ctr (_table_banks_0_io_r_resp_data_0_ctr),</a>
<a name="177"><span class="lineNum"> 177 </span> : .io_r_resp_data_0_target (_table_banks_0_io_r_resp_data_0_target),</a>
<a name="178"><span class="lineNum"> 178 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_0),</a>
<a name="179"><span class="lineNum"> 179 </span> : .io_w_req_bits_setIdx (update_idx[8:1]),</a>
<a name="180"><span class="lineNum"> 180 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="181"><span class="lineNum"> 181 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="182"><span class="lineNum"> 182 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="183"><span class="lineNum"> 183 </span> : );</a>
<a name="184"><span class="lineNum"> 184 </span> : FoldedSRAMTemplate_25 table_banks_1 (</a>
<a name="185"><span class="lineNum"> 185 </span> : .clock (clock),</a>
<a name="186"><span class="lineNum"> 186 </span> : .reset (reset),</a>
<a name="187"><span class="lineNum"> 187 </span> : .io_r_req_valid (io_req_valid &amp; s0_idx[0]),</a>
<a name="188"><span class="lineNum"> 188 </span> : .io_r_req_bits_setIdx (s0_idx[8:1]),</a>
<a name="189"><span class="lineNum"> 189 </span> : .io_r_resp_data_0_valid (_table_banks_1_io_r_resp_data_0_valid),</a>
<a name="190"><span class="lineNum"> 190 </span> : .io_r_resp_data_0_tag (_table_banks_1_io_r_resp_data_0_tag),</a>
<a name="191"><span class="lineNum"> 191 </span> : .io_r_resp_data_0_ctr (_table_banks_1_io_r_resp_data_0_ctr),</a>
<a name="192"><span class="lineNum"> 192 </span> : .io_r_resp_data_0_target (_table_banks_1_io_r_resp_data_0_target),</a>
<a name="193"><span class="lineNum"> 193 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_1),</a>
<a name="194"><span class="lineNum"> 194 </span> : .io_w_req_bits_setIdx (update_idx[8:1]),</a>
<a name="195"><span class="lineNum"> 195 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="196"><span class="lineNum"> 196 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="197"><span class="lineNum"> 197 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="198"><span class="lineNum"> 198 </span> : );</a>
<a name="199"><span class="lineNum"> 199 </span> : WrBypass_43 wrbypass (</a>
<a name="200"><span class="lineNum"> 200 </span> : .clock (clock),</a>
<a name="201"><span class="lineNum"> 201 </span> : .reset (reset),</a>
<a name="202"><span class="lineNum"> 202 </span> : .io_wen (io_update_valid),</a>
<a name="203"><span class="lineNum"> 203 </span> : .io_write_idx (update_idx),</a>
<a name="204"><span class="lineNum"> 204 </span> : .io_write_data_0 (update_wdata_ctr),</a>
<a name="205"><span class="lineNum"> 205 </span> : .io_hit (_wrbypass_io_hit),</a>
<a name="206"><span class="lineNum"> 206 </span> : .io_hit_data_0_bits (_wrbypass_io_hit_data_0_bits)</a>
<a name="207"><span class="lineNum"> 207 </span> : );</a>
<a name="208"><span class="lineNum"> 208 </span> : assign io_resp_valid =</a>
<a name="209"><span class="lineNum"> 209 </span> : (s1_bank_req_1h_0 &amp; _table_banks_0_io_r_resp_data_0_valid | s1_bank_req_1h_1</a>
<a name="210"><span class="lineNum"> 210 </span> : &amp; _table_banks_1_io_r_resp_data_0_valid)</a>
<a name="211"><span class="lineNum"> 211 </span> : &amp; ((s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_tag : 9'h0)</a>
<a name="212"><span class="lineNum"> 212 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_tag : 9'h0)) == s1_tag</a>
<a name="213"><span class="lineNum"> 213 </span> : &amp; ~_resp_invalid_by_write_T_2;</a>
<a name="214"><span class="lineNum"> 214 </span> : assign io_resp_bits_ctr =</a>
<a name="215"><span class="lineNum"> 215 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_ctr : 2'h0)</a>
<a name="216"><span class="lineNum"> 216 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_ctr : 2'h0);</a>
<a name="217"><span class="lineNum"> 217 </span> : assign io_resp_bits_u = {1'h0, _us_io_rdata_0};</a>
<a name="218"><span class="lineNum"> 218 </span> : assign io_resp_bits_target =</a>
<a name="219"><span class="lineNum"> 219 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_target : 41'h0)</a>
<a name="220"><span class="lineNum"> 220 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_target : 41'h0);</a>
<a name="221"><span class="lineNum"> 221 </span> : endmodule</a>
<a name="222"><span class="lineNum"> 222 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_3.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_3.sv<span style="font-size: 80%;"> (<a href="ITTageTable_3.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="ITTageTable_3.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_3.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_3.sv<span style="font-size: 80%;"> (<a href="ITTageTable_3.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="ITTageTable_3.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,298 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_3.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_3.sv<span style="font-size: 80%;"> (source / <a href="ITTageTable_3.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module ITTageTable_3(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 73 : input io_req_valid,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 35066 : input [40:0] io_req_bits_pc,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 987 : input [8:0] io_req_bits_folded_hist_hist_6_folded_hist,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 811 : input [7:0] io_req_bits_folded_hist_hist_2_folded_hist,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 10 : output io_resp_valid,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 53 : output [1:0] io_resp_bits_ctr,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 103 : output [1:0] io_resp_bits_u,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 1103 : output [40:0] io_resp_bits_target,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 591 : input [40:0] io_update_pc,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 128 : input [8:0] io_update_folded_hist_hist_6_folded_hist,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 111 : input [7:0] io_update_folded_hist_hist_2_folded_hist,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 26 : input io_update_valid,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 16 : input io_update_correct,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 17 : input io_update_alloc,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 28 : input [1:0] io_update_oldCtr,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 15 : input io_update_uValid,</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 13 : input io_update_u,</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 29 : input io_update_reset_u,</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 602 : input [40:0] io_update_target,</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 599 : input [40:0] io_update_old_target</span></a>
<a name="81"><span class="lineNum"> 81 </span> : );</a>
<a name="82"><span class="lineNum"> 82 </span> : </a>
<a name="83"><span class="lineNum"> 83 </span> : wire _resp_invalid_by_write_T_2;</a>
<a name="84"><span class="lineNum"> 84 </span> : wire _wrbypass_io_hit;</a>
<a name="85"><span class="lineNum"> 85 </span> : wire [1:0] _wrbypass_io_hit_data_0_bits;</a>
<a name="86"><span class="lineNum"> 86 </span> : wire _table_banks_1_io_r_resp_data_0_valid;</a>
<a name="87"><span class="lineNum"> 87 </span> : wire [8:0] _table_banks_1_io_r_resp_data_0_tag;</a>
<a name="88"><span class="lineNum"> 88 </span> : wire [1:0] _table_banks_1_io_r_resp_data_0_ctr;</a>
<a name="89"><span class="lineNum"> 89 </span> : wire [40:0] _table_banks_1_io_r_resp_data_0_target;</a>
<a name="90"><span class="lineNum"> 90 </span> : wire _table_banks_0_io_r_resp_data_0_valid;</a>
<a name="91"><span class="lineNum"> 91 </span> : wire [8:0] _table_banks_0_io_r_resp_data_0_tag;</a>
<a name="92"><span class="lineNum"> 92 </span> : wire [1:0] _table_banks_0_io_r_resp_data_0_ctr;</a>
<a name="93"><span class="lineNum"> 93 </span> : wire [40:0] _table_banks_0_io_r_resp_data_0_target;</a>
<a name="94"><span class="lineNum"> 94 </span> : wire _us_io_rdata_0;</a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 8579 : wire [8:0] s0_idx = io_req_bits_pc[9:1] ^ io_req_bits_folded_hist_hist_6_folded_hist;</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 550 : reg [8:0] s1_tag;</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 49 : reg s1_bank_req_1h_0;</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 51 : reg s1_bank_req_1h_1;</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 16 : reg s1_bank_has_write_on_this_req_0;</span></a>
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 30 : reg s1_bank_has_write_on_this_req_1;</span></a>
<a name="101"><span class="lineNum"> 101 </span><span class="lineCov"> 132 : wire [8:0] update_idx = io_update_pc[9:1] ^ io_update_folded_hist_hist_6_folded_hist;</span></a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 128 : wire [8:0] update_tag =</span></a>
<a name="103"><span class="lineNum"> 103 </span> : io_update_pc[18:10] ^ io_update_folded_hist_hist_6_folded_hist</a>
<a name="104"><span class="lineNum"> 104 </span> : ^ {io_update_folded_hist_hist_2_folded_hist, 1'h0};</a>
<a name="105"><span class="lineNum"> 105 </span> : assign _resp_invalid_by_write_T_2 =</a>
<a name="106"><span class="lineNum"> 106 </span> : s1_bank_req_1h_0 &amp; s1_bank_has_write_on_this_req_0 | s1_bank_req_1h_1</a>
<a name="107"><span class="lineNum"> 107 </span> : &amp; s1_bank_has_write_on_this_req_1;</a>
<a name="108"><span class="lineNum"> 108 </span> : wire _s1_bank_has_write_on_this_req_WIRE_0 = io_update_valid &amp; ~(update_idx[0]);</a>
<a name="109"><span class="lineNum"> 109 </span> : wire _s1_bank_has_write_on_this_req_WIRE_1 = io_update_valid &amp; update_idx[0];</a>
<a name="110"><span class="lineNum"> 110 </span><span class="lineCov"> 52 : wire [1:0] old_ctr =</span></a>
<a name="111"><span class="lineNum"> 111 </span> : _wrbypass_io_hit ? _wrbypass_io_hit_data_0_bits : io_update_oldCtr;</a>
<a name="112"><span class="lineNum"> 112 </span><span class="lineCov"> 21 : wire update_wdata_ctr_oldSatNotTaken = old_ctr == 2'h0;</span></a>
<a name="113"><span class="lineNum"> 113 </span><span class="lineCov"> 50 : wire [1:0] update_wdata_ctr =</span></a>
<a name="114"><span class="lineNum"> 114 </span> : io_update_alloc</a>
<a name="115"><span class="lineNum"> 115 </span> : ? 2'h2</a>
<a name="116"><span class="lineNum"> 116 </span> : : (&amp;old_ctr) &amp; io_update_correct</a>
<a name="117"><span class="lineNum"> 117 </span> : ? 2'h3</a>
<a name="118"><span class="lineNum"> 118 </span> : : update_wdata_ctr_oldSatNotTaken &amp; ~io_update_correct</a>
<a name="119"><span class="lineNum"> 119 </span> : ? 2'h0</a>
<a name="120"><span class="lineNum"> 120 </span> : : io_update_correct ? 2'(old_ctr + 2'h1) : 2'(old_ctr - 2'h1);</a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 577 : wire [40:0] update_wdata_target =</span></a>
<a name="122"><span class="lineNum"> 122 </span> : io_update_alloc | update_wdata_ctr_oldSatNotTaken</a>
<a name="123"><span class="lineNum"> 123 </span> : ? io_update_target</a>
<a name="124"><span class="lineNum"> 124 </span> : : io_update_old_target;</a>
<a name="125"><span class="lineNum"> 125 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="126"><span class="lineNum"> 126 </span><span class="lineCov"> 8350 : if (io_req_valid) begin</span></a>
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 4175 : s1_tag &lt;=</span></a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 4175 : io_req_bits_pc[18:10] ^ io_req_bits_folded_hist_hist_6_folded_hist</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 4175 : ^ {io_req_bits_folded_hist_hist_2_folded_hist, 1'h0};</span></a>
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 4175 : s1_bank_req_1h_0 &lt;= ~(s0_idx[0]);</span></a>
<a name="131"><span class="lineNum"> 131 </span><span class="lineCov"> 4175 : s1_bank_req_1h_1 &lt;= s0_idx[0];</span></a>
<a name="132"><span class="lineNum"> 132 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_0 &lt;= _s1_bank_has_write_on_this_req_WIRE_0;</span></a>
<a name="133"><span class="lineNum"> 133 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_1 &lt;= _s1_bank_has_write_on_this_req_WIRE_1;</span></a>
<a name="134"><span class="lineNum"> 134 </span> : end</a>
<a name="135"><span class="lineNum"> 135 </span> : end // always @(posedge)</a>
<a name="136"><span class="lineNum"> 136 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="137"><span class="lineNum"> 137 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="138"><span class="lineNum"> 138 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="139"><span class="lineNum"> 139 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="140"><span class="lineNum"> 140 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="141"><span class="lineNum"> 141 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="142"><span class="lineNum"> 142 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="143"><span class="lineNum"> 143 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="144"><span class="lineNum"> 144 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="145"><span class="lineNum"> 145 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="146"><span class="lineNum"> 146 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="147"><span class="lineNum"> 147 </span> : s1_tag = _RANDOM[/*Zero width*/ 1'b0][17:9];</a>
<a name="148"><span class="lineNum"> 148 </span> : s1_bank_req_1h_0 = _RANDOM[/*Zero width*/ 1'b0][18];</a>
<a name="149"><span class="lineNum"> 149 </span> : s1_bank_req_1h_1 = _RANDOM[/*Zero width*/ 1'b0][19];</a>
<a name="150"><span class="lineNum"> 150 </span> : s1_bank_has_write_on_this_req_0 = _RANDOM[/*Zero width*/ 1'b0][20];</a>
<a name="151"><span class="lineNum"> 151 </span> : s1_bank_has_write_on_this_req_1 = _RANDOM[/*Zero width*/ 1'b0][21];</a>
<a name="152"><span class="lineNum"> 152 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="153"><span class="lineNum"> 153 </span> : end // initial</a>
<a name="154"><span class="lineNum"> 154 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="155"><span class="lineNum"> 155 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="156"><span class="lineNum"> 156 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="157"><span class="lineNum"> 157 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="158"><span class="lineNum"> 158 </span> : Folded1WDataModuleTemplate_2 us (</a>
<a name="159"><span class="lineNum"> 159 </span> : .clock (clock),</a>
<a name="160"><span class="lineNum"> 160 </span> : .reset (reset),</a>
<a name="161"><span class="lineNum"> 161 </span> : .io_ren_0 (io_req_valid),</a>
<a name="162"><span class="lineNum"> 162 </span> : .io_raddr_0 (s0_idx),</a>
<a name="163"><span class="lineNum"> 163 </span> : .io_rdata_0 (_us_io_rdata_0),</a>
<a name="164"><span class="lineNum"> 164 </span> : .io_wen (io_update_uValid),</a>
<a name="165"><span class="lineNum"> 165 </span> : .io_waddr (update_idx),</a>
<a name="166"><span class="lineNum"> 166 </span> : .io_wdata (io_update_u),</a>
<a name="167"><span class="lineNum"> 167 </span> : .io_resetEn (io_update_reset_u)</a>
<a name="168"><span class="lineNum"> 168 </span> : );</a>
<a name="169"><span class="lineNum"> 169 </span> : FoldedSRAMTemplate_25 table_banks_0 (</a>
<a name="170"><span class="lineNum"> 170 </span> : .clock (clock),</a>
<a name="171"><span class="lineNum"> 171 </span> : .reset (reset),</a>
<a name="172"><span class="lineNum"> 172 </span> : .io_r_req_valid (io_req_valid &amp; ~(s0_idx[0])),</a>
<a name="173"><span class="lineNum"> 173 </span> : .io_r_req_bits_setIdx (s0_idx[8:1]),</a>
<a name="174"><span class="lineNum"> 174 </span> : .io_r_resp_data_0_valid (_table_banks_0_io_r_resp_data_0_valid),</a>
<a name="175"><span class="lineNum"> 175 </span> : .io_r_resp_data_0_tag (_table_banks_0_io_r_resp_data_0_tag),</a>
<a name="176"><span class="lineNum"> 176 </span> : .io_r_resp_data_0_ctr (_table_banks_0_io_r_resp_data_0_ctr),</a>
<a name="177"><span class="lineNum"> 177 </span> : .io_r_resp_data_0_target (_table_banks_0_io_r_resp_data_0_target),</a>
<a name="178"><span class="lineNum"> 178 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_0),</a>
<a name="179"><span class="lineNum"> 179 </span> : .io_w_req_bits_setIdx (update_idx[8:1]),</a>
<a name="180"><span class="lineNum"> 180 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="181"><span class="lineNum"> 181 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="182"><span class="lineNum"> 182 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="183"><span class="lineNum"> 183 </span> : );</a>
<a name="184"><span class="lineNum"> 184 </span> : FoldedSRAMTemplate_25 table_banks_1 (</a>
<a name="185"><span class="lineNum"> 185 </span> : .clock (clock),</a>
<a name="186"><span class="lineNum"> 186 </span> : .reset (reset),</a>
<a name="187"><span class="lineNum"> 187 </span> : .io_r_req_valid (io_req_valid &amp; s0_idx[0]),</a>
<a name="188"><span class="lineNum"> 188 </span> : .io_r_req_bits_setIdx (s0_idx[8:1]),</a>
<a name="189"><span class="lineNum"> 189 </span> : .io_r_resp_data_0_valid (_table_banks_1_io_r_resp_data_0_valid),</a>
<a name="190"><span class="lineNum"> 190 </span> : .io_r_resp_data_0_tag (_table_banks_1_io_r_resp_data_0_tag),</a>
<a name="191"><span class="lineNum"> 191 </span> : .io_r_resp_data_0_ctr (_table_banks_1_io_r_resp_data_0_ctr),</a>
<a name="192"><span class="lineNum"> 192 </span> : .io_r_resp_data_0_target (_table_banks_1_io_r_resp_data_0_target),</a>
<a name="193"><span class="lineNum"> 193 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_1),</a>
<a name="194"><span class="lineNum"> 194 </span> : .io_w_req_bits_setIdx (update_idx[8:1]),</a>
<a name="195"><span class="lineNum"> 195 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="196"><span class="lineNum"> 196 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="197"><span class="lineNum"> 197 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="198"><span class="lineNum"> 198 </span> : );</a>
<a name="199"><span class="lineNum"> 199 </span> : WrBypass_43 wrbypass (</a>
<a name="200"><span class="lineNum"> 200 </span> : .clock (clock),</a>
<a name="201"><span class="lineNum"> 201 </span> : .reset (reset),</a>
<a name="202"><span class="lineNum"> 202 </span> : .io_wen (io_update_valid),</a>
<a name="203"><span class="lineNum"> 203 </span> : .io_write_idx (update_idx),</a>
<a name="204"><span class="lineNum"> 204 </span> : .io_write_data_0 (update_wdata_ctr),</a>
<a name="205"><span class="lineNum"> 205 </span> : .io_hit (_wrbypass_io_hit),</a>
<a name="206"><span class="lineNum"> 206 </span> : .io_hit_data_0_bits (_wrbypass_io_hit_data_0_bits)</a>
<a name="207"><span class="lineNum"> 207 </span> : );</a>
<a name="208"><span class="lineNum"> 208 </span> : assign io_resp_valid =</a>
<a name="209"><span class="lineNum"> 209 </span> : (s1_bank_req_1h_0 &amp; _table_banks_0_io_r_resp_data_0_valid | s1_bank_req_1h_1</a>
<a name="210"><span class="lineNum"> 210 </span> : &amp; _table_banks_1_io_r_resp_data_0_valid)</a>
<a name="211"><span class="lineNum"> 211 </span> : &amp; ((s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_tag : 9'h0)</a>
<a name="212"><span class="lineNum"> 212 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_tag : 9'h0)) == s1_tag</a>
<a name="213"><span class="lineNum"> 213 </span> : &amp; ~_resp_invalid_by_write_T_2;</a>
<a name="214"><span class="lineNum"> 214 </span> : assign io_resp_bits_ctr =</a>
<a name="215"><span class="lineNum"> 215 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_ctr : 2'h0)</a>
<a name="216"><span class="lineNum"> 216 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_ctr : 2'h0);</a>
<a name="217"><span class="lineNum"> 217 </span> : assign io_resp_bits_u = {1'h0, _us_io_rdata_0};</a>
<a name="218"><span class="lineNum"> 218 </span> : assign io_resp_bits_target =</a>
<a name="219"><span class="lineNum"> 219 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_target : 41'h0)</a>
<a name="220"><span class="lineNum"> 220 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_target : 41'h0);</a>
<a name="221"><span class="lineNum"> 221 </span> : endmodule</a>
<a name="222"><span class="lineNum"> 222 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_4.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_4.sv<span style="font-size: 80%;"> (<a href="ITTageTable_4.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="ITTageTable_4.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_4.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_4.sv<span style="font-size: 80%;"> (<a href="ITTageTable_4.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="ITTageTable_4.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,298 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/ITTageTable_4.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - ITTageTable_4.sv<span style="font-size: 80%;"> (source / <a href="ITTageTable_4.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntry">44</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module ITTageTable_4(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 127786 : input clock,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 62 : input reset,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 73 : input io_req_valid,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 35066 : input [40:0] io_req_bits_pc,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 998 : input [8:0] io_req_bits_folded_hist_hist_10_folded_hist,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 517 : input [7:0] io_req_bits_folded_hist_hist_3_folded_hist,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 16 : output io_resp_valid,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 56 : output [1:0] io_resp_bits_ctr,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 52 : output [1:0] io_resp_bits_u,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 1123 : output [40:0] io_resp_bits_target,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 595 : input [40:0] io_update_pc,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 127 : input [8:0] io_update_folded_hist_hist_10_folded_hist,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 113 : input [7:0] io_update_folded_hist_hist_3_folded_hist,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 24 : input io_update_valid,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 11 : input io_update_correct,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 16 : input io_update_alloc,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 28 : input [1:0] io_update_oldCtr,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 17 : input io_update_uValid,</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 20 : input io_update_u,</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 27 : input io_update_reset_u,</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 628 : input [40:0] io_update_target,</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 594 : input [40:0] io_update_old_target</span></a>
<a name="81"><span class="lineNum"> 81 </span> : );</a>
<a name="82"><span class="lineNum"> 82 </span> : </a>
<a name="83"><span class="lineNum"> 83 </span> : wire _resp_invalid_by_write_T_2;</a>
<a name="84"><span class="lineNum"> 84 </span> : wire _wrbypass_io_hit;</a>
<a name="85"><span class="lineNum"> 85 </span> : wire [1:0] _wrbypass_io_hit_data_0_bits;</a>
<a name="86"><span class="lineNum"> 86 </span> : wire _table_banks_1_io_r_resp_data_0_valid;</a>
<a name="87"><span class="lineNum"> 87 </span> : wire [8:0] _table_banks_1_io_r_resp_data_0_tag;</a>
<a name="88"><span class="lineNum"> 88 </span> : wire [1:0] _table_banks_1_io_r_resp_data_0_ctr;</a>
<a name="89"><span class="lineNum"> 89 </span> : wire [40:0] _table_banks_1_io_r_resp_data_0_target;</a>
<a name="90"><span class="lineNum"> 90 </span> : wire _table_banks_0_io_r_resp_data_0_valid;</a>
<a name="91"><span class="lineNum"> 91 </span> : wire [8:0] _table_banks_0_io_r_resp_data_0_tag;</a>
<a name="92"><span class="lineNum"> 92 </span> : wire [1:0] _table_banks_0_io_r_resp_data_0_ctr;</a>
<a name="93"><span class="lineNum"> 93 </span> : wire [40:0] _table_banks_0_io_r_resp_data_0_target;</a>
<a name="94"><span class="lineNum"> 94 </span> : wire _us_io_rdata_0;</a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 8597 : wire [8:0] s0_idx = io_req_bits_pc[9:1] ^ io_req_bits_folded_hist_hist_10_folded_hist;</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 534 : reg [8:0] s1_tag;</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 41 : reg s1_bank_req_1h_0;</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 50 : reg s1_bank_req_1h_1;</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 31 : reg s1_bank_has_write_on_this_req_0;</span></a>
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 29 : reg s1_bank_has_write_on_this_req_1;</span></a>
<a name="101"><span class="lineNum"> 101 </span><span class="lineCov"> 125 : wire [8:0] update_idx = io_update_pc[9:1] ^ io_update_folded_hist_hist_10_folded_hist;</span></a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 122 : wire [8:0] update_tag =</span></a>
<a name="103"><span class="lineNum"> 103 </span> : io_update_pc[18:10] ^ io_update_folded_hist_hist_10_folded_hist</a>
<a name="104"><span class="lineNum"> 104 </span> : ^ {io_update_folded_hist_hist_3_folded_hist, 1'h0};</a>
<a name="105"><span class="lineNum"> 105 </span> : assign _resp_invalid_by_write_T_2 =</a>
<a name="106"><span class="lineNum"> 106 </span> : s1_bank_req_1h_0 &amp; s1_bank_has_write_on_this_req_0 | s1_bank_req_1h_1</a>
<a name="107"><span class="lineNum"> 107 </span> : &amp; s1_bank_has_write_on_this_req_1;</a>
<a name="108"><span class="lineNum"> 108 </span> : wire _s1_bank_has_write_on_this_req_WIRE_0 = io_update_valid &amp; ~(update_idx[0]);</a>
<a name="109"><span class="lineNum"> 109 </span> : wire _s1_bank_has_write_on_this_req_WIRE_1 = io_update_valid &amp; update_idx[0];</a>
<a name="110"><span class="lineNum"> 110 </span><span class="lineCov"> 38 : wire [1:0] old_ctr =</span></a>
<a name="111"><span class="lineNum"> 111 </span> : _wrbypass_io_hit ? _wrbypass_io_hit_data_0_bits : io_update_oldCtr;</a>
<a name="112"><span class="lineNum"> 112 </span><span class="lineCov"> 18 : wire update_wdata_ctr_oldSatNotTaken = old_ctr == 2'h0;</span></a>
<a name="113"><span class="lineNum"> 113 </span><span class="lineCov"> 33 : wire [1:0] update_wdata_ctr =</span></a>
<a name="114"><span class="lineNum"> 114 </span> : io_update_alloc</a>
<a name="115"><span class="lineNum"> 115 </span> : ? 2'h2</a>
<a name="116"><span class="lineNum"> 116 </span> : : (&amp;old_ctr) &amp; io_update_correct</a>
<a name="117"><span class="lineNum"> 117 </span> : ? 2'h3</a>
<a name="118"><span class="lineNum"> 118 </span> : : update_wdata_ctr_oldSatNotTaken &amp; ~io_update_correct</a>
<a name="119"><span class="lineNum"> 119 </span> : ? 2'h0</a>
<a name="120"><span class="lineNum"> 120 </span> : : io_update_correct ? 2'(old_ctr + 2'h1) : 2'(old_ctr - 2'h1);</a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 607 : wire [40:0] update_wdata_target =</span></a>
<a name="122"><span class="lineNum"> 122 </span> : io_update_alloc | update_wdata_ctr_oldSatNotTaken</a>
<a name="123"><span class="lineNum"> 123 </span> : ? io_update_target</a>
<a name="124"><span class="lineNum"> 124 </span> : : io_update_old_target;</a>
<a name="125"><span class="lineNum"> 125 </span><span class="lineCov"> 127694 : always @(posedge clock) begin</span></a>
<a name="126"><span class="lineNum"> 126 </span><span class="lineCov"> 8350 : if (io_req_valid) begin</span></a>
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 4175 : s1_tag &lt;=</span></a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 4175 : io_req_bits_pc[18:10] ^ io_req_bits_folded_hist_hist_10_folded_hist</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 4175 : ^ {io_req_bits_folded_hist_hist_3_folded_hist, 1'h0};</span></a>
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 4175 : s1_bank_req_1h_0 &lt;= ~(s0_idx[0]);</span></a>
<a name="131"><span class="lineNum"> 131 </span><span class="lineCov"> 4175 : s1_bank_req_1h_1 &lt;= s0_idx[0];</span></a>
<a name="132"><span class="lineNum"> 132 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_0 &lt;= _s1_bank_has_write_on_this_req_WIRE_0;</span></a>
<a name="133"><span class="lineNum"> 133 </span><span class="lineCov"> 4175 : s1_bank_has_write_on_this_req_1 &lt;= _s1_bank_has_write_on_this_req_WIRE_1;</span></a>
<a name="134"><span class="lineNum"> 134 </span> : end</a>
<a name="135"><span class="lineNum"> 135 </span> : end // always @(posedge)</a>
<a name="136"><span class="lineNum"> 136 </span> : `ifdef ENABLE_INITIAL_REG_</a>
<a name="137"><span class="lineNum"> 137 </span> : `ifdef FIRRTL_BEFORE_INITIAL</a>
<a name="138"><span class="lineNum"> 138 </span> : `FIRRTL_BEFORE_INITIAL</a>
<a name="139"><span class="lineNum"> 139 </span> : `endif // FIRRTL_BEFORE_INITIAL</a>
<a name="140"><span class="lineNum"> 140 </span> : logic [31:0] _RANDOM[0:0];</a>
<a name="141"><span class="lineNum"> 141 </span><span class="lineCov"> 58 : initial begin</span></a>
<a name="142"><span class="lineNum"> 142 </span> : `ifdef INIT_RANDOM_PROLOG_</a>
<a name="143"><span class="lineNum"> 143 </span> : `INIT_RANDOM_PROLOG_</a>
<a name="144"><span class="lineNum"> 144 </span> : `endif // INIT_RANDOM_PROLOG_</a>
<a name="145"><span class="lineNum"> 145 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="146"><span class="lineNum"> 146 </span> : _RANDOM[/*Zero width*/ 1'b0] = `RANDOM;</a>
<a name="147"><span class="lineNum"> 147 </span> : s1_tag = _RANDOM[/*Zero width*/ 1'b0][17:9];</a>
<a name="148"><span class="lineNum"> 148 </span> : s1_bank_req_1h_0 = _RANDOM[/*Zero width*/ 1'b0][18];</a>
<a name="149"><span class="lineNum"> 149 </span> : s1_bank_req_1h_1 = _RANDOM[/*Zero width*/ 1'b0][19];</a>
<a name="150"><span class="lineNum"> 150 </span> : s1_bank_has_write_on_this_req_0 = _RANDOM[/*Zero width*/ 1'b0][20];</a>
<a name="151"><span class="lineNum"> 151 </span> : s1_bank_has_write_on_this_req_1 = _RANDOM[/*Zero width*/ 1'b0][21];</a>
<a name="152"><span class="lineNum"> 152 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="153"><span class="lineNum"> 153 </span> : end // initial</a>
<a name="154"><span class="lineNum"> 154 </span> : `ifdef FIRRTL_AFTER_INITIAL</a>
<a name="155"><span class="lineNum"> 155 </span> : `FIRRTL_AFTER_INITIAL</a>
<a name="156"><span class="lineNum"> 156 </span> : `endif // FIRRTL_AFTER_INITIAL</a>
<a name="157"><span class="lineNum"> 157 </span> : `endif // ENABLE_INITIAL_REG_</a>
<a name="158"><span class="lineNum"> 158 </span> : Folded1WDataModuleTemplate_2 us (</a>
<a name="159"><span class="lineNum"> 159 </span> : .clock (clock),</a>
<a name="160"><span class="lineNum"> 160 </span> : .reset (reset),</a>
<a name="161"><span class="lineNum"> 161 </span> : .io_ren_0 (io_req_valid),</a>
<a name="162"><span class="lineNum"> 162 </span> : .io_raddr_0 (s0_idx),</a>
<a name="163"><span class="lineNum"> 163 </span> : .io_rdata_0 (_us_io_rdata_0),</a>
<a name="164"><span class="lineNum"> 164 </span> : .io_wen (io_update_uValid),</a>
<a name="165"><span class="lineNum"> 165 </span> : .io_waddr (update_idx),</a>
<a name="166"><span class="lineNum"> 166 </span> : .io_wdata (io_update_u),</a>
<a name="167"><span class="lineNum"> 167 </span> : .io_resetEn (io_update_reset_u)</a>
<a name="168"><span class="lineNum"> 168 </span> : );</a>
<a name="169"><span class="lineNum"> 169 </span> : FoldedSRAMTemplate_25 table_banks_0 (</a>
<a name="170"><span class="lineNum"> 170 </span> : .clock (clock),</a>
<a name="171"><span class="lineNum"> 171 </span> : .reset (reset),</a>
<a name="172"><span class="lineNum"> 172 </span> : .io_r_req_valid (io_req_valid &amp; ~(s0_idx[0])),</a>
<a name="173"><span class="lineNum"> 173 </span> : .io_r_req_bits_setIdx (s0_idx[8:1]),</a>
<a name="174"><span class="lineNum"> 174 </span> : .io_r_resp_data_0_valid (_table_banks_0_io_r_resp_data_0_valid),</a>
<a name="175"><span class="lineNum"> 175 </span> : .io_r_resp_data_0_tag (_table_banks_0_io_r_resp_data_0_tag),</a>
<a name="176"><span class="lineNum"> 176 </span> : .io_r_resp_data_0_ctr (_table_banks_0_io_r_resp_data_0_ctr),</a>
<a name="177"><span class="lineNum"> 177 </span> : .io_r_resp_data_0_target (_table_banks_0_io_r_resp_data_0_target),</a>
<a name="178"><span class="lineNum"> 178 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_0),</a>
<a name="179"><span class="lineNum"> 179 </span> : .io_w_req_bits_setIdx (update_idx[8:1]),</a>
<a name="180"><span class="lineNum"> 180 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="181"><span class="lineNum"> 181 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="182"><span class="lineNum"> 182 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="183"><span class="lineNum"> 183 </span> : );</a>
<a name="184"><span class="lineNum"> 184 </span> : FoldedSRAMTemplate_25 table_banks_1 (</a>
<a name="185"><span class="lineNum"> 185 </span> : .clock (clock),</a>
<a name="186"><span class="lineNum"> 186 </span> : .reset (reset),</a>
<a name="187"><span class="lineNum"> 187 </span> : .io_r_req_valid (io_req_valid &amp; s0_idx[0]),</a>
<a name="188"><span class="lineNum"> 188 </span> : .io_r_req_bits_setIdx (s0_idx[8:1]),</a>
<a name="189"><span class="lineNum"> 189 </span> : .io_r_resp_data_0_valid (_table_banks_1_io_r_resp_data_0_valid),</a>
<a name="190"><span class="lineNum"> 190 </span> : .io_r_resp_data_0_tag (_table_banks_1_io_r_resp_data_0_tag),</a>
<a name="191"><span class="lineNum"> 191 </span> : .io_r_resp_data_0_ctr (_table_banks_1_io_r_resp_data_0_ctr),</a>
<a name="192"><span class="lineNum"> 192 </span> : .io_r_resp_data_0_target (_table_banks_1_io_r_resp_data_0_target),</a>
<a name="193"><span class="lineNum"> 193 </span> : .io_w_req_valid (_s1_bank_has_write_on_this_req_WIRE_1),</a>
<a name="194"><span class="lineNum"> 194 </span> : .io_w_req_bits_setIdx (update_idx[8:1]),</a>
<a name="195"><span class="lineNum"> 195 </span> : .io_w_req_bits_data_0_tag (update_tag),</a>
<a name="196"><span class="lineNum"> 196 </span> : .io_w_req_bits_data_0_ctr (update_wdata_ctr),</a>
<a name="197"><span class="lineNum"> 197 </span> : .io_w_req_bits_data_0_target (update_wdata_target)</a>
<a name="198"><span class="lineNum"> 198 </span> : );</a>
<a name="199"><span class="lineNum"> 199 </span> : WrBypass_43 wrbypass (</a>
<a name="200"><span class="lineNum"> 200 </span> : .clock (clock),</a>
<a name="201"><span class="lineNum"> 201 </span> : .reset (reset),</a>
<a name="202"><span class="lineNum"> 202 </span> : .io_wen (io_update_valid),</a>
<a name="203"><span class="lineNum"> 203 </span> : .io_write_idx (update_idx),</a>
<a name="204"><span class="lineNum"> 204 </span> : .io_write_data_0 (update_wdata_ctr),</a>
<a name="205"><span class="lineNum"> 205 </span> : .io_hit (_wrbypass_io_hit),</a>
<a name="206"><span class="lineNum"> 206 </span> : .io_hit_data_0_bits (_wrbypass_io_hit_data_0_bits)</a>
<a name="207"><span class="lineNum"> 207 </span> : );</a>
<a name="208"><span class="lineNum"> 208 </span> : assign io_resp_valid =</a>
<a name="209"><span class="lineNum"> 209 </span> : (s1_bank_req_1h_0 &amp; _table_banks_0_io_r_resp_data_0_valid | s1_bank_req_1h_1</a>
<a name="210"><span class="lineNum"> 210 </span> : &amp; _table_banks_1_io_r_resp_data_0_valid)</a>
<a name="211"><span class="lineNum"> 211 </span> : &amp; ((s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_tag : 9'h0)</a>
<a name="212"><span class="lineNum"> 212 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_tag : 9'h0)) == s1_tag</a>
<a name="213"><span class="lineNum"> 213 </span> : &amp; ~_resp_invalid_by_write_T_2;</a>
<a name="214"><span class="lineNum"> 214 </span> : assign io_resp_bits_ctr =</a>
<a name="215"><span class="lineNum"> 215 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_ctr : 2'h0)</a>
<a name="216"><span class="lineNum"> 216 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_ctr : 2'h0);</a>
<a name="217"><span class="lineNum"> 217 </span> : assign io_resp_bits_u = {1'h0, _us_io_rdata_0};</a>
<a name="218"><span class="lineNum"> 218 </span> : assign io_resp_bits_target =</a>
<a name="219"><span class="lineNum"> 219 </span> : (s1_bank_req_1h_0 ? _table_banks_0_io_r_resp_data_0_target : 41'h0)</a>
<a name="220"><span class="lineNum"> 220 </span> : | (s1_bank_req_1h_1 ? _table_banks_1_io_r_resp_data_0_target : 41'h0);</a>
<a name="221"><span class="lineNum"> 221 </span> : endmodule</a>
<a name="222"><span class="lineNum"> 222 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/PriorityMuxModule.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - PriorityMuxModule.sv<span style="font-size: 80%;"> (<a href="PriorityMuxModule.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="PriorityMuxModule.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/PriorityMuxModule.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - PriorityMuxModule.sv<span style="font-size: 80%;"> (<a href="PriorityMuxModule.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="PriorityMuxModule.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,156 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/PriorityMuxModule.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - PriorityMuxModule.sv<span style="font-size: 80%;"> (source / <a href="PriorityMuxModule.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module PriorityMuxModule(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 69 : input s2_target_sel,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 38209 : input [40:0] s2_target_src,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 523 : input s1_target_sel,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 39759 : input [40:0] s1_target_src,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 87 : input s3_target_sel,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 38523 : input [40:0] s3_target_src,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 84 : input redirect_target_sel,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 1178 : input [40:0] redirect_target_src,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 10063 : input [40:0] stallPC_src,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 35066 : output [40:0] out_res</span></a>
<a name="69"><span class="lineNum"> 69 </span> : );</a>
<a name="70"><span class="lineNum"> 70 </span> : </a>
<a name="71"><span class="lineNum"> 71 </span> : assign out_res =</a>
<a name="72"><span class="lineNum"> 72 </span> : s2_target_sel</a>
<a name="73"><span class="lineNum"> 73 </span> : ? s2_target_src</a>
<a name="74"><span class="lineNum"> 74 </span> : : s1_target_sel</a>
<a name="75"><span class="lineNum"> 75 </span> : ? s1_target_src</a>
<a name="76"><span class="lineNum"> 76 </span> : : s3_target_sel</a>
<a name="77"><span class="lineNum"> 77 </span> : ? s3_target_src</a>
<a name="78"><span class="lineNum"> 78 </span> : : redirect_target_sel ? redirect_target_src : stallPC_src;</a>
<a name="79"><span class="lineNum"> 79 </span> : endmodule</a>
<a name="80"><span class="lineNum"> 80 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/PriorityMuxModule_12.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - PriorityMuxModule_12.sv<span style="font-size: 80%;"> (<a href="PriorityMuxModule_12.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">148</td>
<td class="headerCovTableEntry">148</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="PriorityMuxModule_12.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/PriorityMuxModule_12.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - PriorityMuxModule_12.sv<span style="font-size: 80%;"> (<a href="PriorityMuxModule_12.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">148</td>
<td class="headerCovTableEntry">148</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="PriorityMuxModule_12.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,526 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/PriorityMuxModule_12.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - PriorityMuxModule_12.sv<span style="font-size: 80%;"> (source / <a href="PriorityMuxModule_12.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">148</td>
<td class="headerCovTableEntry">148</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module PriorityMuxModule_12(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 53 : input s2_AFHOB_sel,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 82 : input s2_AFHOB_src_afhob_5_bits_0,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 71 : input s2_AFHOB_src_afhob_5_bits_1,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 64 : input s2_AFHOB_src_afhob_5_bits_2,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 74 : input s2_AFHOB_src_afhob_5_bits_3,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 23 : input s2_AFHOB_src_afhob_4_bits_0,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 26 : input s2_AFHOB_src_afhob_4_bits_1,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 73 : input s2_AFHOB_src_afhob_4_bits_2,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 75 : input s2_AFHOB_src_afhob_4_bits_3,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 77 : input s2_AFHOB_src_afhob_3_bits_0,</span></a>
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 77 : input s2_AFHOB_src_afhob_3_bits_1,</span></a>
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 70 : input s2_AFHOB_src_afhob_3_bits_2,</span></a>
<a name="71"><span class="lineNum"> 71 </span><span class="lineCov"> 29 : input s2_AFHOB_src_afhob_3_bits_3,</span></a>
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 90 : input s2_AFHOB_src_afhob_2_bits_0,</span></a>
<a name="73"><span class="lineNum"> 73 </span><span class="lineCov"> 73 : input s2_AFHOB_src_afhob_2_bits_1,</span></a>
<a name="74"><span class="lineNum"> 74 </span><span class="lineCov"> 70 : input s2_AFHOB_src_afhob_2_bits_2,</span></a>
<a name="75"><span class="lineNum"> 75 </span><span class="lineCov"> 77 : input s2_AFHOB_src_afhob_2_bits_3,</span></a>
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 29 : input s2_AFHOB_src_afhob_1_bits_0,</span></a>
<a name="77"><span class="lineNum"> 77 </span><span class="lineCov"> 70 : input s2_AFHOB_src_afhob_1_bits_1,</span></a>
<a name="78"><span class="lineNum"> 78 </span><span class="lineCov"> 63 : input s2_AFHOB_src_afhob_1_bits_2,</span></a>
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 23 : input s2_AFHOB_src_afhob_1_bits_3,</span></a>
<a name="80"><span class="lineNum"> 80 </span><span class="lineCov"> 23 : input s2_AFHOB_src_afhob_0_bits_0,</span></a>
<a name="81"><span class="lineNum"> 81 </span><span class="lineCov"> 66 : input s2_AFHOB_src_afhob_0_bits_1,</span></a>
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 23 : input s2_AFHOB_src_afhob_0_bits_2,</span></a>
<a name="83"><span class="lineNum"> 83 </span><span class="lineCov"> 26 : input s2_AFHOB_src_afhob_0_bits_3,</span></a>
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 382 : input s1_AFHOB_sel,</span></a>
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 65 : input s1_AFHOB_src_afhob_5_bits_0,</span></a>
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 69 : input s1_AFHOB_src_afhob_5_bits_1,</span></a>
<a name="87"><span class="lineNum"> 87 </span><span class="lineCov"> 59 : input s1_AFHOB_src_afhob_5_bits_2,</span></a>
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 81 : input s1_AFHOB_src_afhob_5_bits_3,</span></a>
<a name="89"><span class="lineNum"> 89 </span><span class="lineCov"> 18 : input s1_AFHOB_src_afhob_4_bits_0,</span></a>
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 22 : input s1_AFHOB_src_afhob_4_bits_1,</span></a>
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 83 : input s1_AFHOB_src_afhob_4_bits_2,</span></a>
<a name="92"><span class="lineNum"> 92 </span><span class="lineCov"> 67 : input s1_AFHOB_src_afhob_4_bits_3,</span></a>
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 63 : input s1_AFHOB_src_afhob_3_bits_0,</span></a>
<a name="94"><span class="lineNum"> 94 </span><span class="lineCov"> 75 : input s1_AFHOB_src_afhob_3_bits_1,</span></a>
<a name="95"><span class="lineNum"> 95 </span><span class="lineCov"> 63 : input s1_AFHOB_src_afhob_3_bits_2,</span></a>
<a name="96"><span class="lineNum"> 96 </span><span class="lineCov"> 21 : input s1_AFHOB_src_afhob_3_bits_3,</span></a>
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 67 : input s1_AFHOB_src_afhob_2_bits_0,</span></a>
<a name="98"><span class="lineNum"> 98 </span><span class="lineCov"> 69 : input s1_AFHOB_src_afhob_2_bits_1,</span></a>
<a name="99"><span class="lineNum"> 99 </span><span class="lineCov"> 67 : input s1_AFHOB_src_afhob_2_bits_2,</span></a>
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 57 : input s1_AFHOB_src_afhob_2_bits_3,</span></a>
<a name="101"><span class="lineNum"> 101 </span><span class="lineCov"> 21 : input s1_AFHOB_src_afhob_1_bits_0,</span></a>
<a name="102"><span class="lineNum"> 102 </span><span class="lineCov"> 69 : input s1_AFHOB_src_afhob_1_bits_1,</span></a>
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 74 : input s1_AFHOB_src_afhob_1_bits_2,</span></a>
<a name="104"><span class="lineNum"> 104 </span><span class="lineCov"> 21 : input s1_AFHOB_src_afhob_1_bits_3,</span></a>
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 21 : input s1_AFHOB_src_afhob_0_bits_0,</span></a>
<a name="106"><span class="lineNum"> 106 </span><span class="lineCov"> 74 : input s1_AFHOB_src_afhob_0_bits_1,</span></a>
<a name="107"><span class="lineNum"> 107 </span><span class="lineCov"> 18 : input s1_AFHOB_src_afhob_0_bits_2,</span></a>
<a name="108"><span class="lineNum"> 108 </span><span class="lineCov"> 22 : input s1_AFHOB_src_afhob_0_bits_3,</span></a>
<a name="109"><span class="lineNum"> 109 </span><span class="lineCov"> 56 : input s3_AFHOB_sel,</span></a>
<a name="110"><span class="lineNum"> 110 </span><span class="lineCov"> 83 : input s3_AFHOB_src_afhob_5_bits_0,</span></a>
<a name="111"><span class="lineNum"> 111 </span><span class="lineCov"> 75 : input s3_AFHOB_src_afhob_5_bits_1,</span></a>
<a name="112"><span class="lineNum"> 112 </span><span class="lineCov"> 75 : input s3_AFHOB_src_afhob_5_bits_2,</span></a>
<a name="113"><span class="lineNum"> 113 </span><span class="lineCov"> 80 : input s3_AFHOB_src_afhob_5_bits_3,</span></a>
<a name="114"><span class="lineNum"> 114 </span><span class="lineCov"> 21 : input s3_AFHOB_src_afhob_4_bits_0,</span></a>
<a name="115"><span class="lineNum"> 115 </span><span class="lineCov"> 22 : input s3_AFHOB_src_afhob_4_bits_1,</span></a>
<a name="116"><span class="lineNum"> 116 </span><span class="lineCov"> 82 : input s3_AFHOB_src_afhob_4_bits_2,</span></a>
<a name="117"><span class="lineNum"> 117 </span><span class="lineCov"> 76 : input s3_AFHOB_src_afhob_4_bits_3,</span></a>
<a name="118"><span class="lineNum"> 118 </span><span class="lineCov"> 76 : input s3_AFHOB_src_afhob_3_bits_0,</span></a>
<a name="119"><span class="lineNum"> 119 </span><span class="lineCov"> 72 : input s3_AFHOB_src_afhob_3_bits_1,</span></a>
<a name="120"><span class="lineNum"> 120 </span><span class="lineCov"> 86 : input s3_AFHOB_src_afhob_3_bits_2,</span></a>
<a name="121"><span class="lineNum"> 121 </span><span class="lineCov"> 30 : input s3_AFHOB_src_afhob_3_bits_3,</span></a>
<a name="122"><span class="lineNum"> 122 </span><span class="lineCov"> 73 : input s3_AFHOB_src_afhob_2_bits_0,</span></a>
<a name="123"><span class="lineNum"> 123 </span><span class="lineCov"> 89 : input s3_AFHOB_src_afhob_2_bits_1,</span></a>
<a name="124"><span class="lineNum"> 124 </span><span class="lineCov"> 79 : input s3_AFHOB_src_afhob_2_bits_2,</span></a>
<a name="125"><span class="lineNum"> 125 </span><span class="lineCov"> 83 : input s3_AFHOB_src_afhob_2_bits_3,</span></a>
<a name="126"><span class="lineNum"> 126 </span><span class="lineCov"> 30 : input s3_AFHOB_src_afhob_1_bits_0,</span></a>
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 89 : input s3_AFHOB_src_afhob_1_bits_1,</span></a>
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 76 : input s3_AFHOB_src_afhob_1_bits_2,</span></a>
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 25 : input s3_AFHOB_src_afhob_1_bits_3,</span></a>
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 25 : input s3_AFHOB_src_afhob_0_bits_0,</span></a>
<a name="131"><span class="lineNum"> 131 </span><span class="lineCov"> 73 : input s3_AFHOB_src_afhob_0_bits_1,</span></a>
<a name="132"><span class="lineNum"> 132 </span><span class="lineCov"> 21 : input s3_AFHOB_src_afhob_0_bits_2,</span></a>
<a name="133"><span class="lineNum"> 133 </span><span class="lineCov"> 22 : input s3_AFHOB_src_afhob_0_bits_3,</span></a>
<a name="134"><span class="lineNum"> 134 </span><span class="lineCov"> 84 : input redirect_AFHOB_sel,</span></a>
<a name="135"><span class="lineNum"> 135 </span><span class="lineCov"> 81 : input redirect_AFHOB_src_afhob_5_bits_0,</span></a>
<a name="136"><span class="lineNum"> 136 </span><span class="lineCov"> 93 : input redirect_AFHOB_src_afhob_5_bits_1,</span></a>
<a name="137"><span class="lineNum"> 137 </span><span class="lineCov"> 88 : input redirect_AFHOB_src_afhob_5_bits_2,</span></a>
<a name="138"><span class="lineNum"> 138 </span><span class="lineCov"> 78 : input redirect_AFHOB_src_afhob_5_bits_3,</span></a>
<a name="139"><span class="lineNum"> 139 </span><span class="lineCov"> 21 : input redirect_AFHOB_src_afhob_4_bits_0,</span></a>
<a name="140"><span class="lineNum"> 140 </span><span class="lineCov"> 27 : input redirect_AFHOB_src_afhob_4_bits_1,</span></a>
<a name="141"><span class="lineNum"> 141 </span><span class="lineCov"> 87 : input redirect_AFHOB_src_afhob_4_bits_2,</span></a>
<a name="142"><span class="lineNum"> 142 </span><span class="lineCov"> 63 : input redirect_AFHOB_src_afhob_4_bits_3,</span></a>
<a name="143"><span class="lineNum"> 143 </span><span class="lineCov"> 91 : input redirect_AFHOB_src_afhob_3_bits_0,</span></a>
<a name="144"><span class="lineNum"> 144 </span><span class="lineCov"> 72 : input redirect_AFHOB_src_afhob_3_bits_1,</span></a>
<a name="145"><span class="lineNum"> 145 </span><span class="lineCov"> 80 : input redirect_AFHOB_src_afhob_3_bits_2,</span></a>
<a name="146"><span class="lineNum"> 146 </span><span class="lineCov"> 28 : input redirect_AFHOB_src_afhob_3_bits_3,</span></a>
<a name="147"><span class="lineNum"> 147 </span><span class="lineCov"> 75 : input redirect_AFHOB_src_afhob_2_bits_0,</span></a>
<a name="148"><span class="lineNum"> 148 </span><span class="lineCov"> 81 : input redirect_AFHOB_src_afhob_2_bits_1,</span></a>
<a name="149"><span class="lineNum"> 149 </span><span class="lineCov"> 78 : input redirect_AFHOB_src_afhob_2_bits_2,</span></a>
<a name="150"><span class="lineNum"> 150 </span><span class="lineCov"> 80 : input redirect_AFHOB_src_afhob_2_bits_3,</span></a>
<a name="151"><span class="lineNum"> 151 </span><span class="lineCov"> 28 : input redirect_AFHOB_src_afhob_1_bits_0,</span></a>
<a name="152"><span class="lineNum"> 152 </span><span class="lineCov"> 91 : input redirect_AFHOB_src_afhob_1_bits_1,</span></a>
<a name="153"><span class="lineNum"> 153 </span><span class="lineCov"> 71 : input redirect_AFHOB_src_afhob_1_bits_2,</span></a>
<a name="154"><span class="lineNum"> 154 </span><span class="lineCov"> 23 : input redirect_AFHOB_src_afhob_1_bits_3,</span></a>
<a name="155"><span class="lineNum"> 155 </span><span class="lineCov"> 23 : input redirect_AFHOB_src_afhob_0_bits_0,</span></a>
<a name="156"><span class="lineNum"> 156 </span><span class="lineCov"> 96 : input redirect_AFHOB_src_afhob_0_bits_1,</span></a>
<a name="157"><span class="lineNum"> 157 </span><span class="lineCov"> 21 : input redirect_AFHOB_src_afhob_0_bits_2,</span></a>
<a name="158"><span class="lineNum"> 158 </span><span class="lineCov"> 27 : input redirect_AFHOB_src_afhob_0_bits_3,</span></a>
<a name="159"><span class="lineNum"> 159 </span><span class="lineCov"> 36 : input stallAFHOB_src_afhob_5_bits_0,</span></a>
<a name="160"><span class="lineNum"> 160 </span><span class="lineCov"> 33 : input stallAFHOB_src_afhob_5_bits_1,</span></a>
<a name="161"><span class="lineNum"> 161 </span><span class="lineCov"> 25 : input stallAFHOB_src_afhob_5_bits_2,</span></a>
<a name="162"><span class="lineNum"> 162 </span><span class="lineCov"> 35 : input stallAFHOB_src_afhob_5_bits_3,</span></a>
<a name="163"><span class="lineNum"> 163 </span><span class="lineCov"> 30 : input stallAFHOB_src_afhob_4_bits_0,</span></a>
<a name="164"><span class="lineNum"> 164 </span><span class="lineCov"> 35 : input stallAFHOB_src_afhob_4_bits_1,</span></a>
<a name="165"><span class="lineNum"> 165 </span><span class="lineCov"> 32 : input stallAFHOB_src_afhob_4_bits_2,</span></a>
<a name="166"><span class="lineNum"> 166 </span><span class="lineCov"> 31 : input stallAFHOB_src_afhob_4_bits_3,</span></a>
<a name="167"><span class="lineNum"> 167 </span><span class="lineCov"> 23 : input stallAFHOB_src_afhob_3_bits_0,</span></a>
<a name="168"><span class="lineNum"> 168 </span><span class="lineCov"> 24 : input stallAFHOB_src_afhob_3_bits_1,</span></a>
<a name="169"><span class="lineNum"> 169 </span><span class="lineCov"> 33 : input stallAFHOB_src_afhob_3_bits_2,</span></a>
<a name="170"><span class="lineNum"> 170 </span><span class="lineCov"> 31 : input stallAFHOB_src_afhob_3_bits_3,</span></a>
<a name="171"><span class="lineNum"> 171 </span><span class="lineCov"> 28 : input stallAFHOB_src_afhob_2_bits_0,</span></a>
<a name="172"><span class="lineNum"> 172 </span><span class="lineCov"> 31 : input stallAFHOB_src_afhob_2_bits_1,</span></a>
<a name="173"><span class="lineNum"> 173 </span><span class="lineCov"> 26 : input stallAFHOB_src_afhob_2_bits_2,</span></a>
<a name="174"><span class="lineNum"> 174 </span><span class="lineCov"> 24 : input stallAFHOB_src_afhob_2_bits_3,</span></a>
<a name="175"><span class="lineNum"> 175 </span><span class="lineCov"> 24 : input stallAFHOB_src_afhob_1_bits_0,</span></a>
<a name="176"><span class="lineNum"> 176 </span><span class="lineCov"> 28 : input stallAFHOB_src_afhob_1_bits_1,</span></a>
<a name="177"><span class="lineNum"> 177 </span><span class="lineCov"> 34 : input stallAFHOB_src_afhob_1_bits_2,</span></a>
<a name="178"><span class="lineNum"> 178 </span><span class="lineCov"> 32 : input stallAFHOB_src_afhob_1_bits_3,</span></a>
<a name="179"><span class="lineNum"> 179 </span><span class="lineCov"> 32 : input stallAFHOB_src_afhob_0_bits_0,</span></a>
<a name="180"><span class="lineNum"> 180 </span><span class="lineCov"> 32 : input stallAFHOB_src_afhob_0_bits_1,</span></a>
<a name="181"><span class="lineNum"> 181 </span><span class="lineCov"> 33 : input stallAFHOB_src_afhob_0_bits_2,</span></a>
<a name="182"><span class="lineNum"> 182 </span><span class="lineCov"> 29 : input stallAFHOB_src_afhob_0_bits_3,</span></a>
<a name="183"><span class="lineNum"> 183 </span><span class="lineCov"> 88 : output out_res_afhob_5_bits_0,</span></a>
<a name="184"><span class="lineNum"> 184 </span><span class="lineCov"> 98 : output out_res_afhob_5_bits_1,</span></a>
<a name="185"><span class="lineNum"> 185 </span><span class="lineCov"> 77 : output out_res_afhob_5_bits_2,</span></a>
<a name="186"><span class="lineNum"> 186 </span><span class="lineCov"> 87 : output out_res_afhob_5_bits_3,</span></a>
<a name="187"><span class="lineNum"> 187 </span><span class="lineCov"> 73 : output out_res_afhob_4_bits_0,</span></a>
<a name="188"><span class="lineNum"> 188 </span><span class="lineCov"> 79 : output out_res_afhob_4_bits_1,</span></a>
<a name="189"><span class="lineNum"> 189 </span><span class="lineCov"> 95 : output out_res_afhob_4_bits_2,</span></a>
<a name="190"><span class="lineNum"> 190 </span><span class="lineCov"> 73 : output out_res_afhob_4_bits_3,</span></a>
<a name="191"><span class="lineNum"> 191 </span><span class="lineCov"> 103 : output out_res_afhob_3_bits_0,</span></a>
<a name="192"><span class="lineNum"> 192 </span><span class="lineCov"> 74 : output out_res_afhob_3_bits_1,</span></a>
<a name="193"><span class="lineNum"> 193 </span><span class="lineCov"> 95 : output out_res_afhob_3_bits_2,</span></a>
<a name="194"><span class="lineNum"> 194 </span><span class="lineCov"> 88 : output out_res_afhob_3_bits_3,</span></a>
<a name="195"><span class="lineNum"> 195 </span><span class="lineCov"> 81 : output out_res_afhob_2_bits_0,</span></a>
<a name="196"><span class="lineNum"> 196 </span><span class="lineCov"> 89 : output out_res_afhob_2_bits_1,</span></a>
<a name="197"><span class="lineNum"> 197 </span><span class="lineCov"> 81 : output out_res_afhob_2_bits_2,</span></a>
<a name="198"><span class="lineNum"> 198 </span><span class="lineCov"> 77 : output out_res_afhob_2_bits_3,</span></a>
<a name="199"><span class="lineNum"> 199 </span><span class="lineCov"> 73 : output out_res_afhob_1_bits_0,</span></a>
<a name="200"><span class="lineNum"> 200 </span><span class="lineCov"> 83 : output out_res_afhob_1_bits_1,</span></a>
<a name="201"><span class="lineNum"> 201 </span><span class="lineCov"> 80 : output out_res_afhob_1_bits_2,</span></a>
<a name="202"><span class="lineNum"> 202 </span><span class="lineCov"> 67 : output out_res_afhob_1_bits_3,</span></a>
<a name="203"><span class="lineNum"> 203 </span><span class="lineCov"> 68 : output out_res_afhob_0_bits_0,</span></a>
<a name="204"><span class="lineNum"> 204 </span><span class="lineCov"> 87 : output out_res_afhob_0_bits_1,</span></a>
<a name="205"><span class="lineNum"> 205 </span><span class="lineCov"> 75 : output out_res_afhob_0_bits_2,</span></a>
<a name="206"><span class="lineNum"> 206 </span><span class="lineCov"> 80 : output out_res_afhob_0_bits_3</span></a>
<a name="207"><span class="lineNum"> 207 </span> : );</a>
<a name="208"><span class="lineNum"> 208 </span> : </a>
<a name="209"><span class="lineNum"> 209 </span> : assign out_res_afhob_5_bits_0 =</a>
<a name="210"><span class="lineNum"> 210 </span> : s2_AFHOB_sel</a>
<a name="211"><span class="lineNum"> 211 </span> : ? s2_AFHOB_src_afhob_5_bits_0</a>
<a name="212"><span class="lineNum"> 212 </span> : : s1_AFHOB_sel</a>
<a name="213"><span class="lineNum"> 213 </span> : ? s1_AFHOB_src_afhob_5_bits_0</a>
<a name="214"><span class="lineNum"> 214 </span> : : s3_AFHOB_sel</a>
<a name="215"><span class="lineNum"> 215 </span> : ? s3_AFHOB_src_afhob_5_bits_0</a>
<a name="216"><span class="lineNum"> 216 </span> : : redirect_AFHOB_sel</a>
<a name="217"><span class="lineNum"> 217 </span> : ? redirect_AFHOB_src_afhob_5_bits_0</a>
<a name="218"><span class="lineNum"> 218 </span> : : stallAFHOB_src_afhob_5_bits_0;</a>
<a name="219"><span class="lineNum"> 219 </span> : assign out_res_afhob_5_bits_1 =</a>
<a name="220"><span class="lineNum"> 220 </span> : s2_AFHOB_sel</a>
<a name="221"><span class="lineNum"> 221 </span> : ? s2_AFHOB_src_afhob_5_bits_1</a>
<a name="222"><span class="lineNum"> 222 </span> : : s1_AFHOB_sel</a>
<a name="223"><span class="lineNum"> 223 </span> : ? s1_AFHOB_src_afhob_5_bits_1</a>
<a name="224"><span class="lineNum"> 224 </span> : : s3_AFHOB_sel</a>
<a name="225"><span class="lineNum"> 225 </span> : ? s3_AFHOB_src_afhob_5_bits_1</a>
<a name="226"><span class="lineNum"> 226 </span> : : redirect_AFHOB_sel</a>
<a name="227"><span class="lineNum"> 227 </span> : ? redirect_AFHOB_src_afhob_5_bits_1</a>
<a name="228"><span class="lineNum"> 228 </span> : : stallAFHOB_src_afhob_5_bits_1;</a>
<a name="229"><span class="lineNum"> 229 </span> : assign out_res_afhob_5_bits_2 =</a>
<a name="230"><span class="lineNum"> 230 </span> : s2_AFHOB_sel</a>
<a name="231"><span class="lineNum"> 231 </span> : ? s2_AFHOB_src_afhob_5_bits_2</a>
<a name="232"><span class="lineNum"> 232 </span> : : s1_AFHOB_sel</a>
<a name="233"><span class="lineNum"> 233 </span> : ? s1_AFHOB_src_afhob_5_bits_2</a>
<a name="234"><span class="lineNum"> 234 </span> : : s3_AFHOB_sel</a>
<a name="235"><span class="lineNum"> 235 </span> : ? s3_AFHOB_src_afhob_5_bits_2</a>
<a name="236"><span class="lineNum"> 236 </span> : : redirect_AFHOB_sel</a>
<a name="237"><span class="lineNum"> 237 </span> : ? redirect_AFHOB_src_afhob_5_bits_2</a>
<a name="238"><span class="lineNum"> 238 </span> : : stallAFHOB_src_afhob_5_bits_2;</a>
<a name="239"><span class="lineNum"> 239 </span> : assign out_res_afhob_5_bits_3 =</a>
<a name="240"><span class="lineNum"> 240 </span> : s2_AFHOB_sel</a>
<a name="241"><span class="lineNum"> 241 </span> : ? s2_AFHOB_src_afhob_5_bits_3</a>
<a name="242"><span class="lineNum"> 242 </span> : : s1_AFHOB_sel</a>
<a name="243"><span class="lineNum"> 243 </span> : ? s1_AFHOB_src_afhob_5_bits_3</a>
<a name="244"><span class="lineNum"> 244 </span> : : s3_AFHOB_sel</a>
<a name="245"><span class="lineNum"> 245 </span> : ? s3_AFHOB_src_afhob_5_bits_3</a>
<a name="246"><span class="lineNum"> 246 </span> : : redirect_AFHOB_sel</a>
<a name="247"><span class="lineNum"> 247 </span> : ? redirect_AFHOB_src_afhob_5_bits_3</a>
<a name="248"><span class="lineNum"> 248 </span> : : stallAFHOB_src_afhob_5_bits_3;</a>
<a name="249"><span class="lineNum"> 249 </span> : assign out_res_afhob_4_bits_0 =</a>
<a name="250"><span class="lineNum"> 250 </span> : s2_AFHOB_sel</a>
<a name="251"><span class="lineNum"> 251 </span> : ? s2_AFHOB_src_afhob_4_bits_0</a>
<a name="252"><span class="lineNum"> 252 </span> : : s1_AFHOB_sel</a>
<a name="253"><span class="lineNum"> 253 </span> : ? s1_AFHOB_src_afhob_4_bits_0</a>
<a name="254"><span class="lineNum"> 254 </span> : : s3_AFHOB_sel</a>
<a name="255"><span class="lineNum"> 255 </span> : ? s3_AFHOB_src_afhob_4_bits_0</a>
<a name="256"><span class="lineNum"> 256 </span> : : redirect_AFHOB_sel</a>
<a name="257"><span class="lineNum"> 257 </span> : ? redirect_AFHOB_src_afhob_4_bits_0</a>
<a name="258"><span class="lineNum"> 258 </span> : : stallAFHOB_src_afhob_4_bits_0;</a>
<a name="259"><span class="lineNum"> 259 </span> : assign out_res_afhob_4_bits_1 =</a>
<a name="260"><span class="lineNum"> 260 </span> : s2_AFHOB_sel</a>
<a name="261"><span class="lineNum"> 261 </span> : ? s2_AFHOB_src_afhob_4_bits_1</a>
<a name="262"><span class="lineNum"> 262 </span> : : s1_AFHOB_sel</a>
<a name="263"><span class="lineNum"> 263 </span> : ? s1_AFHOB_src_afhob_4_bits_1</a>
<a name="264"><span class="lineNum"> 264 </span> : : s3_AFHOB_sel</a>
<a name="265"><span class="lineNum"> 265 </span> : ? s3_AFHOB_src_afhob_4_bits_1</a>
<a name="266"><span class="lineNum"> 266 </span> : : redirect_AFHOB_sel</a>
<a name="267"><span class="lineNum"> 267 </span> : ? redirect_AFHOB_src_afhob_4_bits_1</a>
<a name="268"><span class="lineNum"> 268 </span> : : stallAFHOB_src_afhob_4_bits_1;</a>
<a name="269"><span class="lineNum"> 269 </span> : assign out_res_afhob_4_bits_2 =</a>
<a name="270"><span class="lineNum"> 270 </span> : s2_AFHOB_sel</a>
<a name="271"><span class="lineNum"> 271 </span> : ? s2_AFHOB_src_afhob_4_bits_2</a>
<a name="272"><span class="lineNum"> 272 </span> : : s1_AFHOB_sel</a>
<a name="273"><span class="lineNum"> 273 </span> : ? s1_AFHOB_src_afhob_4_bits_2</a>
<a name="274"><span class="lineNum"> 274 </span> : : s3_AFHOB_sel</a>
<a name="275"><span class="lineNum"> 275 </span> : ? s3_AFHOB_src_afhob_4_bits_2</a>
<a name="276"><span class="lineNum"> 276 </span> : : redirect_AFHOB_sel</a>
<a name="277"><span class="lineNum"> 277 </span> : ? redirect_AFHOB_src_afhob_4_bits_2</a>
<a name="278"><span class="lineNum"> 278 </span> : : stallAFHOB_src_afhob_4_bits_2;</a>
<a name="279"><span class="lineNum"> 279 </span> : assign out_res_afhob_4_bits_3 =</a>
<a name="280"><span class="lineNum"> 280 </span> : s2_AFHOB_sel</a>
<a name="281"><span class="lineNum"> 281 </span> : ? s2_AFHOB_src_afhob_4_bits_3</a>
<a name="282"><span class="lineNum"> 282 </span> : : s1_AFHOB_sel</a>
<a name="283"><span class="lineNum"> 283 </span> : ? s1_AFHOB_src_afhob_4_bits_3</a>
<a name="284"><span class="lineNum"> 284 </span> : : s3_AFHOB_sel</a>
<a name="285"><span class="lineNum"> 285 </span> : ? s3_AFHOB_src_afhob_4_bits_3</a>
<a name="286"><span class="lineNum"> 286 </span> : : redirect_AFHOB_sel</a>
<a name="287"><span class="lineNum"> 287 </span> : ? redirect_AFHOB_src_afhob_4_bits_3</a>
<a name="288"><span class="lineNum"> 288 </span> : : stallAFHOB_src_afhob_4_bits_3;</a>
<a name="289"><span class="lineNum"> 289 </span> : assign out_res_afhob_3_bits_0 =</a>
<a name="290"><span class="lineNum"> 290 </span> : s2_AFHOB_sel</a>
<a name="291"><span class="lineNum"> 291 </span> : ? s2_AFHOB_src_afhob_3_bits_0</a>
<a name="292"><span class="lineNum"> 292 </span> : : s1_AFHOB_sel</a>
<a name="293"><span class="lineNum"> 293 </span> : ? s1_AFHOB_src_afhob_3_bits_0</a>
<a name="294"><span class="lineNum"> 294 </span> : : s3_AFHOB_sel</a>
<a name="295"><span class="lineNum"> 295 </span> : ? s3_AFHOB_src_afhob_3_bits_0</a>
<a name="296"><span class="lineNum"> 296 </span> : : redirect_AFHOB_sel</a>
<a name="297"><span class="lineNum"> 297 </span> : ? redirect_AFHOB_src_afhob_3_bits_0</a>
<a name="298"><span class="lineNum"> 298 </span> : : stallAFHOB_src_afhob_3_bits_0;</a>
<a name="299"><span class="lineNum"> 299 </span> : assign out_res_afhob_3_bits_1 =</a>
<a name="300"><span class="lineNum"> 300 </span> : s2_AFHOB_sel</a>
<a name="301"><span class="lineNum"> 301 </span> : ? s2_AFHOB_src_afhob_3_bits_1</a>
<a name="302"><span class="lineNum"> 302 </span> : : s1_AFHOB_sel</a>
<a name="303"><span class="lineNum"> 303 </span> : ? s1_AFHOB_src_afhob_3_bits_1</a>
<a name="304"><span class="lineNum"> 304 </span> : : s3_AFHOB_sel</a>
<a name="305"><span class="lineNum"> 305 </span> : ? s3_AFHOB_src_afhob_3_bits_1</a>
<a name="306"><span class="lineNum"> 306 </span> : : redirect_AFHOB_sel</a>
<a name="307"><span class="lineNum"> 307 </span> : ? redirect_AFHOB_src_afhob_3_bits_1</a>
<a name="308"><span class="lineNum"> 308 </span> : : stallAFHOB_src_afhob_3_bits_1;</a>
<a name="309"><span class="lineNum"> 309 </span> : assign out_res_afhob_3_bits_2 =</a>
<a name="310"><span class="lineNum"> 310 </span> : s2_AFHOB_sel</a>
<a name="311"><span class="lineNum"> 311 </span> : ? s2_AFHOB_src_afhob_3_bits_2</a>
<a name="312"><span class="lineNum"> 312 </span> : : s1_AFHOB_sel</a>
<a name="313"><span class="lineNum"> 313 </span> : ? s1_AFHOB_src_afhob_3_bits_2</a>
<a name="314"><span class="lineNum"> 314 </span> : : s3_AFHOB_sel</a>
<a name="315"><span class="lineNum"> 315 </span> : ? s3_AFHOB_src_afhob_3_bits_2</a>
<a name="316"><span class="lineNum"> 316 </span> : : redirect_AFHOB_sel</a>
<a name="317"><span class="lineNum"> 317 </span> : ? redirect_AFHOB_src_afhob_3_bits_2</a>
<a name="318"><span class="lineNum"> 318 </span> : : stallAFHOB_src_afhob_3_bits_2;</a>
<a name="319"><span class="lineNum"> 319 </span> : assign out_res_afhob_3_bits_3 =</a>
<a name="320"><span class="lineNum"> 320 </span> : s2_AFHOB_sel</a>
<a name="321"><span class="lineNum"> 321 </span> : ? s2_AFHOB_src_afhob_3_bits_3</a>
<a name="322"><span class="lineNum"> 322 </span> : : s1_AFHOB_sel</a>
<a name="323"><span class="lineNum"> 323 </span> : ? s1_AFHOB_src_afhob_3_bits_3</a>
<a name="324"><span class="lineNum"> 324 </span> : : s3_AFHOB_sel</a>
<a name="325"><span class="lineNum"> 325 </span> : ? s3_AFHOB_src_afhob_3_bits_3</a>
<a name="326"><span class="lineNum"> 326 </span> : : redirect_AFHOB_sel</a>
<a name="327"><span class="lineNum"> 327 </span> : ? redirect_AFHOB_src_afhob_3_bits_3</a>
<a name="328"><span class="lineNum"> 328 </span> : : stallAFHOB_src_afhob_3_bits_3;</a>
<a name="329"><span class="lineNum"> 329 </span> : assign out_res_afhob_2_bits_0 =</a>
<a name="330"><span class="lineNum"> 330 </span> : s2_AFHOB_sel</a>
<a name="331"><span class="lineNum"> 331 </span> : ? s2_AFHOB_src_afhob_2_bits_0</a>
<a name="332"><span class="lineNum"> 332 </span> : : s1_AFHOB_sel</a>
<a name="333"><span class="lineNum"> 333 </span> : ? s1_AFHOB_src_afhob_2_bits_0</a>
<a name="334"><span class="lineNum"> 334 </span> : : s3_AFHOB_sel</a>
<a name="335"><span class="lineNum"> 335 </span> : ? s3_AFHOB_src_afhob_2_bits_0</a>
<a name="336"><span class="lineNum"> 336 </span> : : redirect_AFHOB_sel</a>
<a name="337"><span class="lineNum"> 337 </span> : ? redirect_AFHOB_src_afhob_2_bits_0</a>
<a name="338"><span class="lineNum"> 338 </span> : : stallAFHOB_src_afhob_2_bits_0;</a>
<a name="339"><span class="lineNum"> 339 </span> : assign out_res_afhob_2_bits_1 =</a>
<a name="340"><span class="lineNum"> 340 </span> : s2_AFHOB_sel</a>
<a name="341"><span class="lineNum"> 341 </span> : ? s2_AFHOB_src_afhob_2_bits_1</a>
<a name="342"><span class="lineNum"> 342 </span> : : s1_AFHOB_sel</a>
<a name="343"><span class="lineNum"> 343 </span> : ? s1_AFHOB_src_afhob_2_bits_1</a>
<a name="344"><span class="lineNum"> 344 </span> : : s3_AFHOB_sel</a>
<a name="345"><span class="lineNum"> 345 </span> : ? s3_AFHOB_src_afhob_2_bits_1</a>
<a name="346"><span class="lineNum"> 346 </span> : : redirect_AFHOB_sel</a>
<a name="347"><span class="lineNum"> 347 </span> : ? redirect_AFHOB_src_afhob_2_bits_1</a>
<a name="348"><span class="lineNum"> 348 </span> : : stallAFHOB_src_afhob_2_bits_1;</a>
<a name="349"><span class="lineNum"> 349 </span> : assign out_res_afhob_2_bits_2 =</a>
<a name="350"><span class="lineNum"> 350 </span> : s2_AFHOB_sel</a>
<a name="351"><span class="lineNum"> 351 </span> : ? s2_AFHOB_src_afhob_2_bits_2</a>
<a name="352"><span class="lineNum"> 352 </span> : : s1_AFHOB_sel</a>
<a name="353"><span class="lineNum"> 353 </span> : ? s1_AFHOB_src_afhob_2_bits_2</a>
<a name="354"><span class="lineNum"> 354 </span> : : s3_AFHOB_sel</a>
<a name="355"><span class="lineNum"> 355 </span> : ? s3_AFHOB_src_afhob_2_bits_2</a>
<a name="356"><span class="lineNum"> 356 </span> : : redirect_AFHOB_sel</a>
<a name="357"><span class="lineNum"> 357 </span> : ? redirect_AFHOB_src_afhob_2_bits_2</a>
<a name="358"><span class="lineNum"> 358 </span> : : stallAFHOB_src_afhob_2_bits_2;</a>
<a name="359"><span class="lineNum"> 359 </span> : assign out_res_afhob_2_bits_3 =</a>
<a name="360"><span class="lineNum"> 360 </span> : s2_AFHOB_sel</a>
<a name="361"><span class="lineNum"> 361 </span> : ? s2_AFHOB_src_afhob_2_bits_3</a>
<a name="362"><span class="lineNum"> 362 </span> : : s1_AFHOB_sel</a>
<a name="363"><span class="lineNum"> 363 </span> : ? s1_AFHOB_src_afhob_2_bits_3</a>
<a name="364"><span class="lineNum"> 364 </span> : : s3_AFHOB_sel</a>
<a name="365"><span class="lineNum"> 365 </span> : ? s3_AFHOB_src_afhob_2_bits_3</a>
<a name="366"><span class="lineNum"> 366 </span> : : redirect_AFHOB_sel</a>
<a name="367"><span class="lineNum"> 367 </span> : ? redirect_AFHOB_src_afhob_2_bits_3</a>
<a name="368"><span class="lineNum"> 368 </span> : : stallAFHOB_src_afhob_2_bits_3;</a>
<a name="369"><span class="lineNum"> 369 </span> : assign out_res_afhob_1_bits_0 =</a>
<a name="370"><span class="lineNum"> 370 </span> : s2_AFHOB_sel</a>
<a name="371"><span class="lineNum"> 371 </span> : ? s2_AFHOB_src_afhob_1_bits_0</a>
<a name="372"><span class="lineNum"> 372 </span> : : s1_AFHOB_sel</a>
<a name="373"><span class="lineNum"> 373 </span> : ? s1_AFHOB_src_afhob_1_bits_0</a>
<a name="374"><span class="lineNum"> 374 </span> : : s3_AFHOB_sel</a>
<a name="375"><span class="lineNum"> 375 </span> : ? s3_AFHOB_src_afhob_1_bits_0</a>
<a name="376"><span class="lineNum"> 376 </span> : : redirect_AFHOB_sel</a>
<a name="377"><span class="lineNum"> 377 </span> : ? redirect_AFHOB_src_afhob_1_bits_0</a>
<a name="378"><span class="lineNum"> 378 </span> : : stallAFHOB_src_afhob_1_bits_0;</a>
<a name="379"><span class="lineNum"> 379 </span> : assign out_res_afhob_1_bits_1 =</a>
<a name="380"><span class="lineNum"> 380 </span> : s2_AFHOB_sel</a>
<a name="381"><span class="lineNum"> 381 </span> : ? s2_AFHOB_src_afhob_1_bits_1</a>
<a name="382"><span class="lineNum"> 382 </span> : : s1_AFHOB_sel</a>
<a name="383"><span class="lineNum"> 383 </span> : ? s1_AFHOB_src_afhob_1_bits_1</a>
<a name="384"><span class="lineNum"> 384 </span> : : s3_AFHOB_sel</a>
<a name="385"><span class="lineNum"> 385 </span> : ? s3_AFHOB_src_afhob_1_bits_1</a>
<a name="386"><span class="lineNum"> 386 </span> : : redirect_AFHOB_sel</a>
<a name="387"><span class="lineNum"> 387 </span> : ? redirect_AFHOB_src_afhob_1_bits_1</a>
<a name="388"><span class="lineNum"> 388 </span> : : stallAFHOB_src_afhob_1_bits_1;</a>
<a name="389"><span class="lineNum"> 389 </span> : assign out_res_afhob_1_bits_2 =</a>
<a name="390"><span class="lineNum"> 390 </span> : s2_AFHOB_sel</a>
<a name="391"><span class="lineNum"> 391 </span> : ? s2_AFHOB_src_afhob_1_bits_2</a>
<a name="392"><span class="lineNum"> 392 </span> : : s1_AFHOB_sel</a>
<a name="393"><span class="lineNum"> 393 </span> : ? s1_AFHOB_src_afhob_1_bits_2</a>
<a name="394"><span class="lineNum"> 394 </span> : : s3_AFHOB_sel</a>
<a name="395"><span class="lineNum"> 395 </span> : ? s3_AFHOB_src_afhob_1_bits_2</a>
<a name="396"><span class="lineNum"> 396 </span> : : redirect_AFHOB_sel</a>
<a name="397"><span class="lineNum"> 397 </span> : ? redirect_AFHOB_src_afhob_1_bits_2</a>
<a name="398"><span class="lineNum"> 398 </span> : : stallAFHOB_src_afhob_1_bits_2;</a>
<a name="399"><span class="lineNum"> 399 </span> : assign out_res_afhob_1_bits_3 =</a>
<a name="400"><span class="lineNum"> 400 </span> : s2_AFHOB_sel</a>
<a name="401"><span class="lineNum"> 401 </span> : ? s2_AFHOB_src_afhob_1_bits_3</a>
<a name="402"><span class="lineNum"> 402 </span> : : s1_AFHOB_sel</a>
<a name="403"><span class="lineNum"> 403 </span> : ? s1_AFHOB_src_afhob_1_bits_3</a>
<a name="404"><span class="lineNum"> 404 </span> : : s3_AFHOB_sel</a>
<a name="405"><span class="lineNum"> 405 </span> : ? s3_AFHOB_src_afhob_1_bits_3</a>
<a name="406"><span class="lineNum"> 406 </span> : : redirect_AFHOB_sel</a>
<a name="407"><span class="lineNum"> 407 </span> : ? redirect_AFHOB_src_afhob_1_bits_3</a>
<a name="408"><span class="lineNum"> 408 </span> : : stallAFHOB_src_afhob_1_bits_3;</a>
<a name="409"><span class="lineNum"> 409 </span> : assign out_res_afhob_0_bits_0 =</a>
<a name="410"><span class="lineNum"> 410 </span> : s2_AFHOB_sel</a>
<a name="411"><span class="lineNum"> 411 </span> : ? s2_AFHOB_src_afhob_0_bits_0</a>
<a name="412"><span class="lineNum"> 412 </span> : : s1_AFHOB_sel</a>
<a name="413"><span class="lineNum"> 413 </span> : ? s1_AFHOB_src_afhob_0_bits_0</a>
<a name="414"><span class="lineNum"> 414 </span> : : s3_AFHOB_sel</a>
<a name="415"><span class="lineNum"> 415 </span> : ? s3_AFHOB_src_afhob_0_bits_0</a>
<a name="416"><span class="lineNum"> 416 </span> : : redirect_AFHOB_sel</a>
<a name="417"><span class="lineNum"> 417 </span> : ? redirect_AFHOB_src_afhob_0_bits_0</a>
<a name="418"><span class="lineNum"> 418 </span> : : stallAFHOB_src_afhob_0_bits_0;</a>
<a name="419"><span class="lineNum"> 419 </span> : assign out_res_afhob_0_bits_1 =</a>
<a name="420"><span class="lineNum"> 420 </span> : s2_AFHOB_sel</a>
<a name="421"><span class="lineNum"> 421 </span> : ? s2_AFHOB_src_afhob_0_bits_1</a>
<a name="422"><span class="lineNum"> 422 </span> : : s1_AFHOB_sel</a>
<a name="423"><span class="lineNum"> 423 </span> : ? s1_AFHOB_src_afhob_0_bits_1</a>
<a name="424"><span class="lineNum"> 424 </span> : : s3_AFHOB_sel</a>
<a name="425"><span class="lineNum"> 425 </span> : ? s3_AFHOB_src_afhob_0_bits_1</a>
<a name="426"><span class="lineNum"> 426 </span> : : redirect_AFHOB_sel</a>
<a name="427"><span class="lineNum"> 427 </span> : ? redirect_AFHOB_src_afhob_0_bits_1</a>
<a name="428"><span class="lineNum"> 428 </span> : : stallAFHOB_src_afhob_0_bits_1;</a>
<a name="429"><span class="lineNum"> 429 </span> : assign out_res_afhob_0_bits_2 =</a>
<a name="430"><span class="lineNum"> 430 </span> : s2_AFHOB_sel</a>
<a name="431"><span class="lineNum"> 431 </span> : ? s2_AFHOB_src_afhob_0_bits_2</a>
<a name="432"><span class="lineNum"> 432 </span> : : s1_AFHOB_sel</a>
<a name="433"><span class="lineNum"> 433 </span> : ? s1_AFHOB_src_afhob_0_bits_2</a>
<a name="434"><span class="lineNum"> 434 </span> : : s3_AFHOB_sel</a>
<a name="435"><span class="lineNum"> 435 </span> : ? s3_AFHOB_src_afhob_0_bits_2</a>
<a name="436"><span class="lineNum"> 436 </span> : : redirect_AFHOB_sel</a>
<a name="437"><span class="lineNum"> 437 </span> : ? redirect_AFHOB_src_afhob_0_bits_2</a>
<a name="438"><span class="lineNum"> 438 </span> : : stallAFHOB_src_afhob_0_bits_2;</a>
<a name="439"><span class="lineNum"> 439 </span> : assign out_res_afhob_0_bits_3 =</a>
<a name="440"><span class="lineNum"> 440 </span> : s2_AFHOB_sel</a>
<a name="441"><span class="lineNum"> 441 </span> : ? s2_AFHOB_src_afhob_0_bits_3</a>
<a name="442"><span class="lineNum"> 442 </span> : : s1_AFHOB_sel</a>
<a name="443"><span class="lineNum"> 443 </span> : ? s1_AFHOB_src_afhob_0_bits_3</a>
<a name="444"><span class="lineNum"> 444 </span> : : s3_AFHOB_sel</a>
<a name="445"><span class="lineNum"> 445 </span> : ? s3_AFHOB_src_afhob_0_bits_3</a>
<a name="446"><span class="lineNum"> 446 </span> : : redirect_AFHOB_sel</a>
<a name="447"><span class="lineNum"> 447 </span> : ? redirect_AFHOB_src_afhob_0_bits_3</a>
<a name="448"><span class="lineNum"> 448 </span> : : stallAFHOB_src_afhob_0_bits_3;</a>
<a name="449"><span class="lineNum"> 449 </span> : endmodule</a>
<a name="450"><span class="lineNum"> 450 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/PriorityMuxModule_16.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - PriorityMuxModule_16.sv<span style="font-size: 80%;"> (<a href="PriorityMuxModule_16.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="PriorityMuxModule_16.sv.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/PriorityMuxModule_16.sv - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - PriorityMuxModule_16.sv<span style="font-size: 80%;"> (<a href="PriorityMuxModule_16.sv.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="PriorityMuxModule_16.sv.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

View File

@ -0,0 +1,156 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - merged.info - BPUTop/PriorityMuxModule_16.sv</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">BPUTop</a> - PriorityMuxModule_16.sv<span style="font-size: 80%;"> (source / <a href="PriorityMuxModule_16.sv.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">merged.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntry">10</td>
<td class="headerCovTableEntryHi">100.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2024-10-27 20:24:07</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : // Generated by CIRCT firtool-1.62.0</a>
<a name="2"><span class="lineNum"> 2 </span> : // Standard header to adapt well known macros for register randomization.</a>
<a name="3"><span class="lineNum"> 3 </span> : `ifndef RANDOMIZE</a>
<a name="4"><span class="lineNum"> 4 </span> : `ifdef RANDOMIZE_MEM_INIT</a>
<a name="5"><span class="lineNum"> 5 </span> : `define RANDOMIZE</a>
<a name="6"><span class="lineNum"> 6 </span> : `endif // RANDOMIZE_MEM_INIT</a>
<a name="7"><span class="lineNum"> 7 </span> : `endif // not def RANDOMIZE</a>
<a name="8"><span class="lineNum"> 8 </span> : `ifndef RANDOMIZE</a>
<a name="9"><span class="lineNum"> 9 </span> : `ifdef RANDOMIZE_REG_INIT</a>
<a name="10"><span class="lineNum"> 10 </span> : `define RANDOMIZE</a>
<a name="11"><span class="lineNum"> 11 </span> : `endif // RANDOMIZE_REG_INIT</a>
<a name="12"><span class="lineNum"> 12 </span> : `endif // not def RANDOMIZE</a>
<a name="13"><span class="lineNum"> 13 </span> : </a>
<a name="14"><span class="lineNum"> 14 </span> : // RANDOM may be set to an expression that produces a 32-bit random unsigned value.</a>
<a name="15"><span class="lineNum"> 15 </span> : `ifndef RANDOM</a>
<a name="16"><span class="lineNum"> 16 </span> : `define RANDOM $random</a>
<a name="17"><span class="lineNum"> 17 </span> : `endif // not def RANDOM</a>
<a name="18"><span class="lineNum"> 18 </span> : </a>
<a name="19"><span class="lineNum"> 19 </span> : // Users can define INIT_RANDOM as general code that gets injected into the</a>
<a name="20"><span class="lineNum"> 20 </span> : // initializer block for modules with registers.</a>
<a name="21"><span class="lineNum"> 21 </span> : `ifndef INIT_RANDOM</a>
<a name="22"><span class="lineNum"> 22 </span> : `define INIT_RANDOM</a>
<a name="23"><span class="lineNum"> 23 </span> : `endif // not def INIT_RANDOM</a>
<a name="24"><span class="lineNum"> 24 </span> : </a>
<a name="25"><span class="lineNum"> 25 </span> : // If using random initialization, you can also define RANDOMIZE_DELAY to</a>
<a name="26"><span class="lineNum"> 26 </span> : // customize the delay used, otherwise 0.002 is used.</a>
<a name="27"><span class="lineNum"> 27 </span> : `ifndef RANDOMIZE_DELAY</a>
<a name="28"><span class="lineNum"> 28 </span> : `define RANDOMIZE_DELAY 0.002</a>
<a name="29"><span class="lineNum"> 29 </span> : `endif // not def RANDOMIZE_DELAY</a>
<a name="30"><span class="lineNum"> 30 </span> : </a>
<a name="31"><span class="lineNum"> 31 </span> : // Define INIT_RANDOM_PROLOG_ for use in our modules below.</a>
<a name="32"><span class="lineNum"> 32 </span> : `ifndef INIT_RANDOM_PROLOG_</a>
<a name="33"><span class="lineNum"> 33 </span> : `ifdef RANDOMIZE</a>
<a name="34"><span class="lineNum"> 34 </span> : `ifdef VERILATOR</a>
<a name="35"><span class="lineNum"> 35 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM</a>
<a name="36"><span class="lineNum"> 36 </span> : `else // VERILATOR</a>
<a name="37"><span class="lineNum"> 37 </span> : `define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end</a>
<a name="38"><span class="lineNum"> 38 </span> : `endif // VERILATOR</a>
<a name="39"><span class="lineNum"> 39 </span> : `else // RANDOMIZE</a>
<a name="40"><span class="lineNum"> 40 </span> : `define INIT_RANDOM_PROLOG_</a>
<a name="41"><span class="lineNum"> 41 </span> : `endif // RANDOMIZE</a>
<a name="42"><span class="lineNum"> 42 </span> : `endif // not def INIT_RANDOM_PROLOG_</a>
<a name="43"><span class="lineNum"> 43 </span> : </a>
<a name="44"><span class="lineNum"> 44 </span> : // Include register initializers in init blocks unless synthesis is set</a>
<a name="45"><span class="lineNum"> 45 </span> : `ifndef SYNTHESIS</a>
<a name="46"><span class="lineNum"> 46 </span> : `ifndef ENABLE_INITIAL_REG_</a>
<a name="47"><span class="lineNum"> 47 </span> : `define ENABLE_INITIAL_REG_</a>
<a name="48"><span class="lineNum"> 48 </span> : `endif // not def ENABLE_INITIAL_REG_</a>
<a name="49"><span class="lineNum"> 49 </span> : `endif // not def SYNTHESIS</a>
<a name="50"><span class="lineNum"> 50 </span> : </a>
<a name="51"><span class="lineNum"> 51 </span> : // Include rmemory initializers in init blocks unless synthesis is set</a>
<a name="52"><span class="lineNum"> 52 </span> : `ifndef SYNTHESIS</a>
<a name="53"><span class="lineNum"> 53 </span> : `ifndef ENABLE_INITIAL_MEM_</a>
<a name="54"><span class="lineNum"> 54 </span> : `define ENABLE_INITIAL_MEM_</a>
<a name="55"><span class="lineNum"> 55 </span> : `endif // not def ENABLE_INITIAL_MEM_</a>
<a name="56"><span class="lineNum"> 56 </span> : `endif // not def SYNTHESIS</a>
<a name="57"><span class="lineNum"> 57 </span> : </a>
<a name="58"><span class="lineNum"> 58 </span> : module PriorityMuxModule_16(</a>
<a name="59"><span class="lineNum"> 59 </span><span class="lineCov"> 59 : input s2_BrNumOH_sel,</span></a>
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 175 : input [2:0] s2_BrNumOH_src,</span></a>
<a name="61"><span class="lineNum"> 61 </span><span class="lineCov"> 387 : input s1_BrNumOH_sel,</span></a>
<a name="62"><span class="lineNum"> 62 </span><span class="lineCov"> 137 : input [2:0] s1_BrNumOH_src,</span></a>
<a name="63"><span class="lineNum"> 63 </span><span class="lineCov"> 58 : input s3_BrNumOH_sel,</span></a>
<a name="64"><span class="lineNum"> 64 </span><span class="lineCov"> 186 : input [2:0] s3_BrNumOH_src,</span></a>
<a name="65"><span class="lineNum"> 65 </span><span class="lineCov"> 252 : input redirect_BrNumOH_sel,</span></a>
<a name="66"><span class="lineNum"> 66 </span><span class="lineCov"> 243 : input [2:0] redirect_BrNumOH_src,</span></a>
<a name="67"><span class="lineNum"> 67 </span><span class="lineCov"> 644 : input [2:0] stallBrNumOH_src,</span></a>
<a name="68"><span class="lineNum"> 68 </span><span class="lineCov"> 573 : output [2:0] out_res</span></a>
<a name="69"><span class="lineNum"> 69 </span> : );</a>
<a name="70"><span class="lineNum"> 70 </span> : </a>
<a name="71"><span class="lineNum"> 71 </span> : assign out_res =</a>
<a name="72"><span class="lineNum"> 72 </span> : s2_BrNumOH_sel</a>
<a name="73"><span class="lineNum"> 73 </span> : ? s2_BrNumOH_src</a>
<a name="74"><span class="lineNum"> 74 </span> : : s1_BrNumOH_sel</a>
<a name="75"><span class="lineNum"> 75 </span> : ? s1_BrNumOH_src</a>
<a name="76"><span class="lineNum"> 76 </span> : : s3_BrNumOH_sel</a>
<a name="77"><span class="lineNum"> 77 </span> : ? s3_BrNumOH_src</a>
<a name="78"><span class="lineNum"> 78 </span> : : redirect_BrNumOH_sel ? redirect_BrNumOH_src : stallBrNumOH_src;</a>
<a name="79"><span class="lineNum"> 79 </span> : endmodule</a>
<a name="80"><span class="lineNum"> 80 </span> : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More