Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
XiangShan
提交
3f17eb8e
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 搜索 >>
提交
3f17eb8e
编写于
1月 15, 2021
作者:
W
wangkaifan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
misc: eliminate difftest signal in fpga mode
上级
b740083a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
7 addition
and
12 deletion
+7
-12
src/main/scala/xiangshan/backend/fu/CSR.scala
src/main/scala/xiangshan/backend/fu/CSR.scala
+3
-6
src/main/scala/xiangshan/backend/roq/Roq.scala
src/main/scala/xiangshan/backend/roq/Roq.scala
+4
-6
未找到文件。
src/main/scala/xiangshan/backend/fu/CSR.scala
浏览文件 @
3f17eb8e
...
...
@@ -629,12 +629,6 @@ class CSR extends FunctionUnit with HasCSRConst
val
raiseExceptionVec
=
csrio
.
exception
.
bits
.
cf
.
exceptionVec
.
asUInt
()
val
exceptionNO
=
ExcPriority
.
foldRight
(
0.
U
)((
i
:
Int
,
sum
:
UInt
)
=>
Mux
(
raiseExceptionVec
(
i
),
i
.
U
,
sum
))
val
causeNO
=
(
raiseIntr
<<
(
XLEN
-
1
)).
asUInt
()
|
Mux
(
raiseIntr
,
intrNO
,
exceptionNO
)
// if (!env.FPGAPlatform) {
val
id
=
hartId
()
val
difftestIntrNO
=
Mux
(
raiseIntr
,
causeNO
,
0.
U
)
ExcitingUtils
.
addSource
(
difftestIntrNO
,
s
"difftestIntrNOfromCSR$id"
)
ExcitingUtils
.
addSource
(
causeNO
,
s
"difftestCausefromCSR$id"
)
// }
val
raiseExceptionIntr
=
csrio
.
exception
.
valid
XSDebug
(
raiseExceptionIntr
,
"int/exc: pc %x int (%d):%x exc: (%d):%x\n"
,
...
...
@@ -797,6 +791,9 @@ class CSR extends FunctionUnit with HasCSRConst
}
}
val
difftestIntrNO
=
Mux
(
raiseIntr
,
causeNO
,
0.
U
)
ExcitingUtils
.
addSource
(
difftestIntrNO
,
"difftestIntrNOfromCSR"
)
ExcitingUtils
.
addSource
(
causeNO
,
"difftestCausefromCSR"
)
ExcitingUtils
.
addSource
(
priviledgeMode
,
"difftestMode"
,
Debug
)
ExcitingUtils
.
addSource
(
mstatus
,
"difftestMstatus"
,
Debug
)
ExcitingUtils
.
addSource
(
mstatus
&
sstatusRmask
,
"difftestSstatus"
,
Debug
)
...
...
src/main/scala/xiangshan/backend/roq/Roq.scala
浏览文件 @
3f17eb8e
...
...
@@ -674,12 +674,6 @@ class Roq(numWbPorts: Int) extends XSModule with HasCircularQueuePtrHelper {
if
(
i
%
4
==
3
)
XSDebug
(
false
,
true
.
B
,
"\n"
)
}
val
id
=
roqDebugId
()
val
difftestIntrNO
=
WireInit
(
0.
U
(
XLEN
.
W
))
val
difftestCause
=
WireInit
(
0.
U
(
XLEN
.
W
))
ExcitingUtils
.
addSink
(
difftestIntrNO
,
s
"difftestIntrNOfromCSR$id"
)
ExcitingUtils
.
addSink
(
difftestCause
,
s
"difftestCausefromCSR$id"
)
val
instrCnt
=
RegInit
(
0.
U
(
64.
W
))
val
retireCounter
=
Mux
(
state
===
s_idle
,
commitCnt
,
0.
U
)
instrCnt
:=
instrCnt
+
retireCounter
...
...
@@ -726,6 +720,10 @@ class Roq(numWbPorts: Int) extends XSModule with HasCircularQueuePtrHelper {
debug_deqUop
.
ctrl
.
fuType
===
FuType
.
mou
&&
(
debug_deqUop
.
ctrl
.
fuOpType
===
LSUOpType
.
sc_d
||
debug_deqUop
.
ctrl
.
fuOpType
===
LSUOpType
.
sc_w
)
val
difftestIntrNO
=
WireInit
(
0.
U
(
XLEN
.
W
))
val
difftestCause
=
WireInit
(
0.
U
(
XLEN
.
W
))
ExcitingUtils
.
addSink
(
difftestIntrNO
,
"difftestIntrNOfromCSR"
)
ExcitingUtils
.
addSink
(
difftestCause
,
"difftestCausefromCSR"
)
XSDebug
(
difftestIntrNO
=/=
0.
U
,
"difftest intrNO set %x\n"
,
difftestIntrNO
)
val
retireCounterFix
=
Mux
(
io
.
redirectOut
.
valid
,
1.
U
,
retireCounter
)
val
retirePCFix
=
SignExt
(
Mux
(
io
.
redirectOut
.
valid
,
debug_deqUop
.
cf
.
pc
,
debug_microOp
(
firstValidCommit
).
cf
.
pc
),
XLEN
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录