This commit is contained in:
waleed-lm 2020-10-27 12:47:29 +05:00
parent fd0106a7c9
commit 4237fef143
8 changed files with 11484 additions and 11468 deletions

View File

@ -128,6 +128,14 @@
"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_exu_flush_final" "~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_exu_flush_final"
] ]
}, },
{
"class":"firrtl.transforms.CombinationalPath",
"sink":"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_tagv_mb_in",
"sources":[
"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_ic_tag_valid",
"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_exu_flush_final"
]
},
{ {
"class":"firrtl.transforms.CombinationalPath", "class":"firrtl.transforms.CombinationalPath",
"sink":"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_iccm_rden", "sink":"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_iccm_rden",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -127,6 +127,7 @@ class mem_ctl_bundle extends Bundle with el2_lib{
val iccm_correction_state = Output(Bool()) val iccm_correction_state = Output(Bool())
val scan_mode = Input(Bool()) val scan_mode = Input(Bool())
val valids = Output(UInt()) val valids = Output(UInt())
val tagv_mb_in = Output(UInt())
} }
class el2_ifu_mem_ctl extends Module with el2_lib { class el2_ifu_mem_ctl extends Module with el2_lib {
val io = IO(new mem_ctl_bundle) val io = IO(new mem_ctl_bundle)
@ -839,6 +840,9 @@ class el2_ifu_mem_ctl extends Module with el2_lib {
val ifc_region_acc_fault_memory_bf = !io.ifc_iccm_access_bf & !ifc_region_acc_okay & io.ifc_fetch_req_bf val ifc_region_acc_fault_memory_bf = !io.ifc_iccm_access_bf & !ifc_region_acc_okay & io.ifc_fetch_req_bf
ifc_region_acc_fault_final_bf := io.ifc_region_acc_fault_bf | ifc_region_acc_fault_memory_bf ifc_region_acc_fault_final_bf := io.ifc_region_acc_fault_bf | ifc_region_acc_fault_memory_bf
ifc_region_acc_fault_memory_f := withClock(io.free_clk){RegNext(ifc_region_acc_fault_memory_bf, false.B)} ifc_region_acc_fault_memory_f := withClock(io.free_clk){RegNext(ifc_region_acc_fault_memory_bf, false.B)}
io.tagv_mb_in := tagv_mb_in
} }
object ifu_mem extends App { object ifu_mem extends App {
println((new chisel3.stage.ChiselStage).emitVerilog(new el2_ifu_mem_ctl())) println((new chisel3.stage.ChiselStage).emitVerilog(new el2_ifu_mem_ctl()))