Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
XiangShan
提交
3d3c4d0e
X
XiangShan
项目概览
OpenXiangShan
/
XiangShan
9 个月 前同步成功
通知
1183
Star
3914
Fork
526
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
XiangShan
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
3d3c4d0e
编写于
8月 16, 2021
作者:
L
Lingrui98
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ctrlblock: remove redirect_cfiUpdate port, and use stage3Redirect
上级
672664b1
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
3 addition
and
5 deletion
+3
-5
src/main/scala/xiangshan/Bundle.scala
src/main/scala/xiangshan/Bundle.scala
+0
-1
src/main/scala/xiangshan/backend/CtrlBlock.scala
src/main/scala/xiangshan/backend/CtrlBlock.scala
+2
-3
src/main/scala/xiangshan/decoupled-frontend/Frontend.scala
src/main/scala/xiangshan/decoupled-frontend/Frontend.scala
+1
-1
未找到文件。
src/main/scala/xiangshan/Bundle.scala
浏览文件 @
3d3c4d0e
...
...
@@ -379,7 +379,6 @@ class FrontendToCtrlIO(implicit p: Parameters) extends XSBundle {
val
cfVec
=
Vec
(
DecodeWidth
,
DecoupledIO
(
new
CtrlFlow
))
val
fromFtq
=
new
FtqToCtrlIO
// from backend
val
redirect_cfiUpdate
=
Flipped
(
ValidIO
(
new
Redirect
))
val
toFtq
=
Flipped
(
new
CtrlToFtqIO
)
}
...
...
src/main/scala/xiangshan/backend/CtrlBlock.scala
浏览文件 @
3d3c4d0e
...
...
@@ -248,7 +248,6 @@ class CtrlBlock(implicit p: Parameters) extends XSModule
}
io
.
frontend
.
toFtq
.
stage2Redirect
<>
stage2Redirect
io
.
frontend
.
toFtq
.
roqFlush
<>
RegNext
(
roq
.
io
.
flushOut
)
io
.
frontend
.
toFtq
.
stage3Redirect
<>
stage3Redirect
io
.
frontend
.
toFtq
.
loadReplay
<>
loadReplay
val
roqPcRead
=
io
.
frontend
.
fromFtq
.
getRoqFlushPcRead
...
...
@@ -267,7 +266,7 @@ class CtrlBlock(implicit p: Parameters) extends XSModule
flushRedirectReg
.
valid
:=
RegNext
(
flushRedirect
.
valid
,
init
=
false
.
B
)
flushRedirectReg
.
bits
:=
RegEnable
(
flushRedirect
.
bits
,
enable
=
flushRedirect
.
valid
)
io
.
frontend
.
redirect_cfiUpdate
:=
Mux
(
flushRedirectReg
.
valid
,
flushRedirectReg
,
stage3Redirect
)
io
.
frontend
.
toFtq
.
stage3Redirect
:=
Mux
(
flushRedirectReg
.
valid
,
flushRedirectReg
,
stage3Redirect
)
decode
.
io
.
in
<>
io
.
frontend
.
cfVec
// currently, we only update wait table when isReplay
...
...
@@ -287,7 +286,7 @@ class CtrlBlock(implicit p: Parameters) extends XSModule
// pipeline between decode and dispatch
for
(
i
<-
0
until
RenameWidth
)
{
PipelineConnect
(
decode
.
io
.
out
(
i
),
rename
.
io
.
in
(
i
),
rename
.
io
.
in
(
i
).
ready
,
flushReg
||
io
.
frontend
.
redirect_cfiUpdate
.
valid
)
flushReg
||
io
.
frontend
.
toFtq
.
stage3Redirect
.
valid
)
}
rename
.
io
.
redirect
<>
stage2Redirect
...
...
src/main/scala/xiangshan/decoupled-frontend/Frontend.scala
浏览文件 @
3d3c4d0e
...
...
@@ -80,7 +80,7 @@ class FrontendImp (outer: Frontend) extends LazyModuleImp(outer)
val
instrUncache
=
outer
.
instrUncache
.
module
val
l1plusPrefetcher
=
Module
(
new
L1plusPrefetcher
)
val
needFlush
=
io
.
backend
.
redirect_cfiUpdate
.
valid
val
needFlush
=
io
.
backend
.
toFtq
.
stage3Redirect
.
valid
//IFU-Ftq
ifu
.
io
.
ftqInter
.
fromFtq
<>
ftq
.
io
.
toIfu
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录