bus buffer with buf_nextstate in resp updated
This commit is contained in:
parent
0cd4180d83
commit
57f1b66c15
6324
lsu_bus_buffer.fir
6324
lsu_bus_buffer.fir
File diff suppressed because it is too large
Load Diff
2270
lsu_bus_buffer.v
2270
lsu_bus_buffer.v
File diff suppressed because it is too large
Load Diff
|
@ -374,14 +374,14 @@ trait lib extends param{
|
||||||
object rvdff_fpga {
|
object rvdff_fpga {
|
||||||
def apply(din: UInt, clk: Clock, clken: Bool,rawclk:Clock):UInt = {
|
def apply(din: UInt, clk: Clock, clken: Bool,rawclk:Clock):UInt = {
|
||||||
if (RV_FPGA_OPTIMIZE)
|
if (RV_FPGA_OPTIMIZE)
|
||||||
withClock(rawclk) {RegEnable (din, 0.U, clken)}
|
withClock(clk) {RegEnable (din, 0.U, clken)}
|
||||||
else RegNext (din, 0.U)
|
else RegNext (din, 0.U)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
object rvdffs_fpga {
|
object rvdffs_fpga {
|
||||||
def apply(din: UInt, en:Bool,clk: Clock, clken: Bool,rawclk:Clock):UInt = {
|
def apply(din: UInt, en:Bool,clk: Clock, clken: Bool,rawclk:Clock):UInt = {
|
||||||
if (RV_FPGA_OPTIMIZE)
|
if (RV_FPGA_OPTIMIZE)
|
||||||
withClock (rawclk) {RegEnable (din, 0.U, (clken & en))}
|
withClock (clk) {RegEnable (din, 0.U, (clken & en))}
|
||||||
else RegEnable (din, 0.U,en)
|
else RegEnable (din, 0.U,en)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -353,6 +353,7 @@ class lsu_bus_buffer extends Module with RequireAsyncReset with lib {
|
||||||
obuf_cmd_done := rvdff_fpga (obuf_cmd_done_in,io.lsu_busm_clk,io.lsu_busm_clken,clock)
|
obuf_cmd_done := rvdff_fpga (obuf_cmd_done_in,io.lsu_busm_clk,io.lsu_busm_clken,clock)
|
||||||
obuf_data_done := rvdff_fpga (obuf_data_done_in,io.lsu_busm_clk,io.lsu_busm_clken,clock)
|
obuf_data_done := rvdff_fpga (obuf_data_done_in,io.lsu_busm_clk,io.lsu_busm_clken,clock)
|
||||||
obuf_rdrsp_tag := rvdff_fpga (obuf_rdrsp_tag_in,io.lsu_busm_clk,io.lsu_busm_clken,clock)
|
obuf_rdrsp_tag := rvdff_fpga (obuf_rdrsp_tag_in,io.lsu_busm_clk,io.lsu_busm_clken,clock)
|
||||||
|
|
||||||
obuf_tag0 := rvdffs_fpga (obuf_tag0_in,obuf_wr_en,io.lsu_bus_obuf_c1_clk,io.lsu_bus_obuf_c1_clken,clock)
|
obuf_tag0 := rvdffs_fpga (obuf_tag0_in,obuf_wr_en,io.lsu_bus_obuf_c1_clk,io.lsu_bus_obuf_c1_clken,clock)
|
||||||
val obuf_tag1 = rvdffs_fpga (obuf_tag1_in,obuf_wr_en,io.lsu_bus_obuf_c1_clk,io.lsu_bus_obuf_c1_clken,clock)
|
val obuf_tag1 = rvdffs_fpga (obuf_tag1_in,obuf_wr_en,io.lsu_bus_obuf_c1_clk,io.lsu_bus_obuf_c1_clken,clock)
|
||||||
val obuf_merge = rvdffs_fpga (obuf_merge_in,obuf_wr_en,io.lsu_bus_obuf_c1_clk,io.lsu_bus_obuf_c1_clken,clock)
|
val obuf_merge = rvdffs_fpga (obuf_merge_in,obuf_wr_en,io.lsu_bus_obuf_c1_clk,io.lsu_bus_obuf_c1_clken,clock)
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue