IMC DONE
This commit is contained in:
parent
eb0a5636fc
commit
b328da3cec
|
@ -114,13 +114,6 @@
|
||||||
"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_ic_rd_hit"
|
"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_ic_rd_hit"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"class":"firrtl.transforms.CombinationalPath",
|
|
||||||
"sink":"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_test",
|
|
||||||
"sources":[
|
|
||||||
"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_dma_mem_wdata"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"class":"firrtl.transforms.CombinationalPath",
|
"class":"firrtl.transforms.CombinationalPath",
|
||||||
"sink":"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_ic_debug_rd_en",
|
"sink":"~el2_ifu_mem_ctl|el2_ifu_mem_ctl>io_ic_debug_rd_en",
|
||||||
|
|
18903
el2_ifu_mem_ctl.fir
18903
el2_ifu_mem_ctl.fir
File diff suppressed because it is too large
Load Diff
7332
el2_ifu_mem_ctl.v
7332
el2_ifu_mem_ctl.v
File diff suppressed because it is too large
Load Diff
|
@ -126,7 +126,7 @@ class mem_ctl_bundle extends Bundle with el2_lib{
|
||||||
val iccm_buf_correct_ecc = Output(Bool())
|
val iccm_buf_correct_ecc = Output(Bool())
|
||||||
val iccm_correction_state = Output(Bool())
|
val iccm_correction_state = Output(Bool())
|
||||||
val scan_mode = Input(Bool())
|
val scan_mode = Input(Bool())
|
||||||
val test = 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)
|
||||||
|
@ -633,7 +633,7 @@ class el2_ifu_mem_ctl extends Module with el2_lib {
|
||||||
io.iccm_rden := (ifc_dma_access_q_ok & io.dma_iccm_req & !io.dma_mem_write) | (io.ifc_iccm_access_bf & io.ifc_fetch_req_bf)
|
io.iccm_rden := (ifc_dma_access_q_ok & io.dma_iccm_req & !io.dma_mem_write) | (io.ifc_iccm_access_bf & io.ifc_fetch_req_bf)
|
||||||
val iccm_dma_rden = ifc_dma_access_q_ok & io.dma_iccm_req & !io.dma_mem_write
|
val iccm_dma_rden = ifc_dma_access_q_ok & io.dma_iccm_req & !io.dma_mem_write
|
||||||
io.iccm_wr_size := Fill(3, io.dma_iccm_req) & io.dma_mem_sz
|
io.iccm_wr_size := Fill(3, io.dma_iccm_req) & io.dma_mem_sz
|
||||||
io.test := rvecc_encode(io.dma_mem_wdata(31,0))
|
|
||||||
val dma_mem_ecc = Cat(rvecc_encode(io.dma_mem_wdata(63,32)), rvecc_encode(io.dma_mem_wdata(31,0)))
|
val dma_mem_ecc = Cat(rvecc_encode(io.dma_mem_wdata(63,32)), rvecc_encode(io.dma_mem_wdata(31,0)))
|
||||||
val iccm_ecc_corr_data_ff = WireInit(UInt(39.W), 0.U)
|
val iccm_ecc_corr_data_ff = WireInit(UInt(39.W), 0.U)
|
||||||
io.iccm_wr_data := Mux(iccm_correct_ecc & !(ifc_dma_access_q_ok & io.dma_iccm_req), Fill(2,iccm_ecc_corr_data_ff),
|
io.iccm_wr_data := Mux(iccm_correct_ecc & !(ifc_dma_access_q_ok & io.dma_iccm_req), Fill(2,iccm_ecc_corr_data_ff),
|
||||||
|
@ -713,8 +713,6 @@ class el2_ifu_mem_ctl extends Module with el2_lib {
|
||||||
val way_status_new = WireInit(UInt(ICACHE_STATUS_BITS.W), 0.U)
|
val way_status_new = WireInit(UInt(ICACHE_STATUS_BITS.W), 0.U)
|
||||||
val way_status_new_w_debug = Mux(io.ic_debug_wr_en & io.ic_debug_tag_array,
|
val way_status_new_w_debug = Mux(io.ic_debug_wr_en & io.ic_debug_tag_array,
|
||||||
if (ICACHE_STATUS_BITS == 1) io.ic_debug_wr_data(4) else io.ic_debug_wr_data(6, 4), way_status_new)
|
if (ICACHE_STATUS_BITS == 1) io.ic_debug_wr_data(4) else io.ic_debug_wr_data(6, 4), way_status_new)
|
||||||
|
|
||||||
// io.test := way_status_new_w_debug
|
|
||||||
val way_status_new_ff = withClock(io.free_clk) {
|
val way_status_new_ff = withClock(io.free_clk) {
|
||||||
RegNext(way_status_new_w_debug, 0.U)
|
RegNext(way_status_new_w_debug, 0.U)
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue