Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
XiangShan
提交
61704268
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 搜索 >>
未验证
提交
61704268
编写于
3月 24, 2021
作者:
L
Lemover
提交者:
GitHub
3月 24, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
RS: every rs has its own iqSize now (#710)
上级
f432c814
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
10 addition
and
10 deletion
+10
-10
src/main/scala/xiangshan/backend/FloatBlock.scala
src/main/scala/xiangshan/backend/FloatBlock.scala
+1
-1
src/main/scala/xiangshan/backend/IntegerBlock.scala
src/main/scala/xiangshan/backend/IntegerBlock.scala
+1
-1
src/main/scala/xiangshan/backend/MemBlock.scala
src/main/scala/xiangshan/backend/MemBlock.scala
+1
-1
src/main/scala/xiangshan/backend/issue/ReservationStation.scala
...in/scala/xiangshan/backend/issue/ReservationStation.scala
+7
-7
未找到文件。
src/main/scala/xiangshan/backend/FloatBlock.scala
浏览文件 @
61704268
...
...
@@ -114,7 +114,7 @@ class FloatBlock
s
"delay:${certainLatency}"
)
val
rs
=
Module
(
new
ReservationStation
(
s
"rs_${cfg.name}"
,
cfg
,
XLEN
+
1
,
val
rs
=
Module
(
new
ReservationStation
(
s
"rs_${cfg.name}"
,
cfg
,
IssQueSize
,
XLEN
+
1
,
inBlockFastPorts
.
map
(
_
.
_1
),
slowPorts
.
map
(
_
.
_1
),
fixedDelay
=
certainLatency
,
...
...
src/main/scala/xiangshan/backend/IntegerBlock.scala
浏览文件 @
61704268
...
...
@@ -172,7 +172,7 @@ class IntegerBlock
println
(
s
"${i}: exu:${cfg.name} fastPortsCnt: ${fastPortsCnt} slowPorts: ${extraListenPortsCnt} delay:${certainLatency} feedback:${feedback}"
)
val
rs
=
Module
(
new
ReservationStation
(
s
"rs_${cfg.name}"
,
cfg
,
XLEN
,
val
rs
=
Module
(
new
ReservationStation
(
s
"rs_${cfg.name}"
,
cfg
,
IssQueSize
,
XLEN
,
fastDatas
.
map
(
_
.
_1
),
slowPorts
.
map
(
_
.
_1
),
fixedDelay
=
certainLatency
,
...
...
src/main/scala/xiangshan/backend/MemBlock.scala
浏览文件 @
61704268
...
...
@@ -171,7 +171,7 @@ class MemBlockImp(outer: MemBlock) extends LazyModuleImp(outer)
println
(
s
"${i}: exu:${cfg.name} fastPortsCnt: ${fastPortsCnt} slowPorts: ${slowPortsCnt} delay:${certainLatency} feedback:${feedback}"
)
val
rs
=
Module
(
new
ReservationStation
(
s
"rs_${cfg.name}"
,
cfg
,
XLEN
,
val
rs
=
Module
(
new
ReservationStation
(
s
"rs_${cfg.name}"
,
cfg
,
IssQueSize
,
XLEN
,
fastDatas
.
map
(
_
.
_1
),
slowPorts
.
map
(
_
.
_1
),
fixedDelay
=
certainLatency
,
...
...
src/main/scala/xiangshan/backend/issue/ReservationStation.scala
浏览文件 @
61704268
...
...
@@ -84,6 +84,7 @@ class ReservationStation
(
myName
:
String
,
val
exuCfg
:
ExuConfig
,
iqSize
:
Int
,
srcLen
:
Int
,
fastPortsCfg
:
Seq
[
ExuConfig
],
slowPortsCfg
:
Seq
[
ExuConfig
],
...
...
@@ -91,7 +92,6 @@ class ReservationStation
fastWakeup
:
Boolean
,
feedback
:
Boolean
,
)
extends
XSModule
{
val
iqSize
=
IssQueSize
val
iqIdxWidth
=
log2Up
(
iqSize
)
val
nonBlocked
=
fixedDelay
>=
0
val
srcNum
=
if
(
exuCfg
==
Exu
.
jumpExeUnitCfg
)
2
else
max
(
exuCfg
.
intSrcCnt
,
exuCfg
.
fpSrcCnt
)
...
...
@@ -124,9 +124,9 @@ class ReservationStation
val
isFirstIssue
=
if
(
feedback
)
Output
(
Bool
())
else
null
// NOTE: just use for tlb perf cnt
})
val
select
=
Module
(
new
ReservationStationSelect
(
exuCfg
,
srcLen
,
fastPortsCfg
,
slowPortsCfg
,
fixedDelay
,
fastWakeup
,
feedback
))
val
ctrl
=
Module
(
new
ReservationStationCtrl
(
exuCfg
,
srcLen
,
fastPortsCfg
,
slowPortsCfg
,
fixedDelay
,
fastWakeup
,
feedback
))
val
data
=
Module
(
new
ReservationStationData
(
exuCfg
,
srcLen
,
fastPortsCfg
,
slowPortsCfg
,
fixedDelay
,
fastWakeup
,
feedback
))
val
select
=
Module
(
new
ReservationStationSelect
(
exuCfg
,
iqSize
,
srcLen
,
fastPortsCfg
,
slowPortsCfg
,
fixedDelay
,
fastWakeup
,
feedback
))
val
ctrl
=
Module
(
new
ReservationStationCtrl
(
exuCfg
,
iqSize
,
srcLen
,
fastPortsCfg
,
slowPortsCfg
,
fixedDelay
,
fastWakeup
,
feedback
))
val
data
=
Module
(
new
ReservationStationData
(
exuCfg
,
iqSize
,
srcLen
,
fastPortsCfg
,
slowPortsCfg
,
fixedDelay
,
fastWakeup
,
feedback
))
select
.
suggestName
(
s
"${myName}_select"
)
ctrl
.
suggestName
(
s
"${myName}_ctrl"
)
...
...
@@ -202,6 +202,7 @@ class ReservationStation
class
ReservationStationSelect
(
val
exuCfg
:
ExuConfig
,
iqSize
:
Int
,
srcLen
:
Int
,
fastPortsCfg
:
Seq
[
ExuConfig
],
slowPortsCfg
:
Seq
[
ExuConfig
],
...
...
@@ -209,7 +210,6 @@ class ReservationStationSelect
fastWakeup
:
Boolean
,
feedback
:
Boolean
,
)
extends
XSModule
with
HasCircularQueuePtrHelper
{
val
iqSize
=
IssQueSize
val
iqIdxWidth
=
log2Up
(
iqSize
)
val
nonBlocked
=
fixedDelay
>=
0
val
srcNum
=
if
(
exuCfg
==
Exu
.
jumpExeUnitCfg
)
2
else
max
(
exuCfg
.
intSrcCnt
,
exuCfg
.
fpSrcCnt
)
...
...
@@ -438,6 +438,7 @@ class ReservationStationSelect
class
ReservationStationCtrl
(
val
exuCfg
:
ExuConfig
,
iqSize
:
Int
,
srcLen
:
Int
,
fastPortsCfg
:
Seq
[
ExuConfig
],
slowPortsCfg
:
Seq
[
ExuConfig
],
...
...
@@ -445,7 +446,6 @@ class ReservationStationCtrl
fastWakeup
:
Boolean
,
feedback
:
Boolean
,
)
extends
XSModule
with
HasCircularQueuePtrHelper
{
val
iqSize
=
IssQueSize
val
iqIdxWidth
=
log2Up
(
iqSize
)
val
nonBlocked
=
fixedDelay
>=
0
val
srcNum
=
if
(
exuCfg
==
Exu
.
jumpExeUnitCfg
)
2
else
max
(
exuCfg
.
intSrcCnt
,
exuCfg
.
fpSrcCnt
)
...
...
@@ -741,6 +741,7 @@ class RSDataSingleSrc(srcLen: Int, numEntries: Int, numListen: Int, writePort: I
class
ReservationStationData
(
val
exuCfg
:
ExuConfig
,
iqSize
:
Int
,
srcLen
:
Int
,
fastPortsCfg
:
Seq
[
ExuConfig
],
slowPortsCfg
:
Seq
[
ExuConfig
],
...
...
@@ -748,7 +749,6 @@ class ReservationStationData
fastWakeup
:
Boolean
,
feedback
:
Boolean
,
)
extends
XSModule
{
val
iqSize
=
IssQueSize
val
iqIdxWidth
=
log2Up
(
iqSize
)
val
nonBlocked
=
fixedDelay
>=
0
val
srcNum
=
if
(
exuCfg
==
Exu
.
jumpExeUnitCfg
)
2
else
max
(
exuCfg
.
intSrcCnt
,
exuCfg
.
fpSrcCnt
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录