IBusCachedPlugin twoStage config fix
This commit is contained in:
parent
e3b9e671ec
commit
9a4c35d7b6
|
@ -370,6 +370,7 @@ class InstructionCache(p : InstructionCacheConfig) extends Component{
|
||||||
val valid = RegNext(lineLoader.waysWritePort.valid)
|
val valid = RegNext(lineLoader.waysWritePort.valid)
|
||||||
val address = RegNext(lineLoader.request.addr(tagLineRange) @@ lineLoader.wordIndex @@ U"00")
|
val address = RegNext(lineLoader.request.addr(tagLineRange) @@ lineLoader.wordIndex @@ U"00")
|
||||||
val data = RegNext(lineLoader.waysWritePort.data)
|
val data = RegNext(lineLoader.waysWritePort.data)
|
||||||
|
val wasLoaded = RegNext(lineLoader.loadedWords)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -385,8 +386,8 @@ class InstructionCache(p : InstructionCacheConfig) extends Component{
|
||||||
fetchInstructionValid := True
|
fetchInstructionValid := True
|
||||||
fetchInstructionValue := loadedWord.data
|
fetchInstructionValue := loadedWord.data
|
||||||
} otherwise{
|
} otherwise{
|
||||||
fetchInstructionValid := waysHitValid
|
fetchInstructionValid := waysHitValid || (loadedWord.address(tagLineRange) === io.cpu.fetch.address(tagLineRange) && loadedWord.wasLoaded(io.cpu.fetch.address(wordRange)))
|
||||||
fetchInstructionValue := waysHitWord
|
fetchInstructionValue := waysHitWord //Not multi way (wasloaded)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue