Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
XiangShan
提交
b60e4b0b
X
XiangShan
项目概览
OpenXiangShan
/
XiangShan
11 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
b60e4b0b
编写于
9月 26, 2022
作者:
L
Lingrui98
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bpu: bypass uftb prediction directly to composer to avoid potential long wires
上级
50f995b1
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
0 deletion
+11
-0
src/main/scala/xiangshan/frontend/BPU.scala
src/main/scala/xiangshan/frontend/BPU.scala
+1
-0
src/main/scala/xiangshan/frontend/Composer.scala
src/main/scala/xiangshan/frontend/Composer.scala
+9
-0
src/main/scala/xiangshan/frontend/FauFTB.scala
src/main/scala/xiangshan/frontend/FauFTB.scala
+1
-0
未找到文件。
src/main/scala/xiangshan/frontend/BPU.scala
浏览文件 @
b60e4b0b
...
...
@@ -186,6 +186,7 @@ abstract class BasePredictor(implicit p: Parameters) extends XSModule
with
HasBPUConst
with
BPUUtils
with
HasPerfEvents
{
val
meta_size
=
0
val
spec_meta_size
=
0
val
is_fast_pred
=
false
val
io
=
IO
(
new
BasePredictorIO
())
io
.
out
:=
io
.
in
.
bits
.
resp_in
(
0
)
...
...
src/main/scala/xiangshan/frontend/Composer.scala
浏览文件 @
b60e4b0b
...
...
@@ -27,6 +27,14 @@ import utils._
class
Composer
(
implicit
p
:
Parameters
)
extends
BasePredictor
with
HasBPUConst
with
HasPerfEvents
{
val
(
components
,
resp
)
=
getBPDComponents
(
io
.
in
.
bits
.
resp_in
(
0
),
p
)
io
.
out
:=
resp
// shorter path for s1 pred
val
all_fast_pred
=
components
.
filter
(
_
.
is_fast_pred
)
require
(
all_fast_pred
.
length
<=
1
)
if
(
all_fast_pred
.
length
==
1
)
{
val
fast_pred
=
all_fast_pred
(
0
)
println
(
"[composer] bypassing output of fast pred: "
+
fast_pred
.
name
)
io
.
out
.
s1
:=
fast_pred
.
io
.
out
.
s1
}
var
metas
=
0.
U
(
1.
W
)
var
meta_sz
=
0
...
...
@@ -55,6 +63,7 @@ class Composer(implicit p: Parameters) extends BasePredictor with HasBPUConst wi
}
println
(
s
"total meta size: $meta_sz\n\n"
)
io
.
in
.
ready
:=
components
.
map
(
_
.
io
.
s1_ready
).
reduce
(
_
&&
_
)
io
.
s1_ready
:=
components
.
map
(
_
.
io
.
s1_ready
).
reduce
(
_
&&
_
)
...
...
src/main/scala/xiangshan/frontend/FauFTB.scala
浏览文件 @
b60e4b0b
...
...
@@ -83,6 +83,7 @@ class FauFTB(implicit p: Parameters) extends BasePredictor with FauFTBParams {
}
val
resp_meta
=
Wire
(
new
FauFTBMeta
)
override
val
meta_size
=
resp_meta
.
getWidth
override
val
is_fast_pred
=
true
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录