Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
XiangShan
提交
e13d224a
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 搜索 >>
未验证
提交
e13d224a
编写于
12月 14, 2021
作者:
Y
Yinan Xu
提交者:
GitHub
12月 14, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
difftest: move sc_valid to AtomicsUnit (#1350)
上级
74ca315b
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
12 addition
and
9 deletion
+12
-9
difftest
difftest
+1
-1
ready-to-run
ready-to-run
+1
-1
src/main/scala/xiangshan/Bundle.scala
src/main/scala/xiangshan/Bundle.scala
+0
-1
src/main/scala/xiangshan/backend/rename/Rename.scala
src/main/scala/xiangshan/backend/rename/Rename.scala
+0
-1
src/main/scala/xiangshan/backend/rob/Rob.scala
src/main/scala/xiangshan/backend/rob/Rob.scala
+0
-4
src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
+10
-1
未找到文件。
difftest
@
a541a406
比较
3f20bf78
...
a541a406
Subproject commit
3f20bf7877b9c2c000f78a49c68f5384914560ad
Subproject commit
a541a4062292dc1e0d26e543fc932fce41305871
ready-to-run
@
383fc68a
比较
8f83b5a8
...
383fc68a
Subproject commit
8f83b5a80b7a29be45f679a488c89e224e3a7187
Subproject commit
383fc68ae7d7e53445c4114130dedb25d54f9369
src/main/scala/xiangshan/Bundle.scala
浏览文件 @
e13d224a
...
...
@@ -223,7 +223,6 @@ class MicroOp(implicit p: Parameters) extends CfCtrl {
val
robIdx
=
new
RobPtr
val
lqIdx
=
new
LqPtr
val
sqIdx
=
new
SqPtr
val
diffTestDebugLrScValid
=
Bool
()
val
eliminatedMove
=
Bool
()
val
debugInfo
=
new
PerfDebugInfo
def
needRfRPort
(
index
:
Int
,
isFp
:
Boolean
,
ignoreState
:
Boolean
=
true
)
:
Bool
=
{
...
...
src/main/scala/xiangshan/backend/rename/Rename.scala
浏览文件 @
e13d224a
...
...
@@ -93,7 +93,6 @@ class Rename(implicit p: Parameters) extends XSModule with HasPerfEvents {
uop
.
srcState
(
1
)
:=
DontCare
uop
.
srcState
(
2
)
:=
DontCare
uop
.
robIdx
:=
DontCare
uop
.
diffTestDebugLrScValid
:=
DontCare
uop
.
debugInfo
:=
DontCare
uop
.
lqIdx
:=
DontCare
uop
.
sqIdx
:=
DontCare
...
...
src/main/scala/xiangshan/backend/rob/Rob.scala
浏览文件 @
e13d224a
...
...
@@ -439,7 +439,6 @@ class RobImp(outer: Rob)(implicit p: Parameters) extends LazyModuleImp(outer)
for
(
wb
<-
exuWriteback
)
{
when
(
wb
.
valid
)
{
val
wbIdx
=
wb
.
bits
.
uop
.
robIdx
.
value
debug_microOp
(
wbIdx
).
diffTestDebugLrScValid
:=
wb
.
bits
.
uop
.
diffTestDebugLrScValid
debug_exuData
(
wbIdx
)
:=
wb
.
bits
.
data
debug_exuDebug
(
wbIdx
)
:=
wb
.
bits
.
debug
debug_microOp
(
wbIdx
).
debugInfo
.
enqRsTime
:=
wb
.
bits
.
uop
.
debugInfo
.
enqRsTime
...
...
@@ -982,9 +981,6 @@ class RobImp(outer: Rob)(implicit p: Parameters) extends LazyModuleImp(outer)
// we must make sure that skip is properly set to false (output from EXU is random value)
difftest
.
io
.
skip
:=
RegNext
(
Mux
(
uop
.
eliminatedMove
,
false
.
B
,
exuOut
.
isMMIO
||
exuOut
.
isPerfCnt
))
difftest
.
io
.
isRVC
:=
RegNext
(
uop
.
cf
.
pd
.
isRVC
)
difftest
.
io
.
scFailed
:=
RegNext
(!
uop
.
diffTestDebugLrScValid
&&
uop
.
ctrl
.
fuType
===
FuType
.
mou
&&
(
uop
.
ctrl
.
fuOpType
===
LSUOpType
.
sc_d
||
uop
.
ctrl
.
fuOpType
===
LSUOpType
.
sc_w
))
difftest
.
io
.
wen
:=
RegNext
(
io
.
commits
.
valid
(
i
)
&&
io
.
commits
.
info
(
i
).
rfWen
&&
io
.
commits
.
info
(
i
).
ldest
=/=
0.
U
)
difftest
.
io
.
wpdest
:=
RegNext
(
io
.
commits
.
info
(
i
).
pdest
)
difftest
.
io
.
wdest
:=
RegNext
(
io
.
commits
.
info
(
i
).
ldest
)
...
...
src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
浏览文件 @
e13d224a
...
...
@@ -275,7 +275,6 @@ class AtomicsUnit(implicit p: Parameters) extends XSModule with MemoryOpConstant
io
.
out
.
valid
:=
true
.
B
io
.
out
.
bits
.
uop
:=
in
.
uop
io
.
out
.
bits
.
uop
.
cf
.
exceptionVec
:=
exceptionVec
io
.
out
.
bits
.
uop
.
diffTestDebugLrScValid
:=
is_lrsc_valid
io
.
out
.
bits
.
data
:=
resp_data
io
.
out
.
bits
.
redirectValid
:=
false
.
B
io
.
out
.
bits
.
redirect
:=
DontCare
...
...
@@ -303,4 +302,14 @@ class AtomicsUnit(implicit p: Parameters) extends XSModule with MemoryOpConstant
difftest
.
io
.
atomicFuop
:=
fuop_reg
difftest
.
io
.
atomicOut
:=
resp_data_wire
}
if
(
env
.
EnableDifftest
||
env
.
AlwaysBasicDiff
)
{
val
uop
=
io
.
out
.
bits
.
uop
val
difftest
=
Module
(
new
DifftestLrScEvent
)
difftest
.
io
.
clock
:=
clock
difftest
.
io
.
coreid
:=
io
.
hartId
difftest
.
io
.
valid
:=
io
.
out
.
fire
&&
(
uop
.
ctrl
.
fuOpType
===
LSUOpType
.
sc_d
||
uop
.
ctrl
.
fuOpType
===
LSUOpType
.
sc_w
)
difftest
.
io
.
success
:=
is_lrsc_valid
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录