Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
XiangShan
提交
645f3e9a
X
XiangShan
项目概览
OpenXiangShan
/
XiangShan
10 个月 前同步成功
通知
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 搜索 >>
提交
645f3e9a
编写于
8月 18, 2020
作者:
L
linjiawei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
MissQueue: fix meta write bug
上级
efc6a777
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
10 deletion
+10
-10
src/main/scala/xiangshan/cache/missQueue.scala
src/main/scala/xiangshan/cache/missQueue.scala
+1
-1
src/main/scala/xiangshan/cache/stu.scala
src/main/scala/xiangshan/cache/stu.scala
+9
-9
未找到文件。
src/main/scala/xiangshan/cache/missQueue.scala
浏览文件 @
645f3e9a
...
...
@@ -191,7 +191,7 @@ class MissEntry(edge: TLEdgeOut) extends DCacheModule
// eg: when several load miss on the same block
// assert(isWrite(req.cmd))
new_coh
:=
coh_on_hit
new_state
:=
s_
send_resp
new_state
:=
s_
meta_write_req
}
.
otherwise
{
// upgrade permissions
new_coh
:=
old_coh
new_state
:=
s_refill_req
...
...
src/main/scala/xiangshan/cache/stu.scala
浏览文件 @
645f3e9a
...
...
@@ -90,6 +90,9 @@ class StorePipe extends DCacheModule
s2_nack
:=
s2_nack_hit
||
s2_nack_set_busy
val
s2_info
=
p
"tag match: $s2_tag_match hasPerm: $s2_has_permission"
+
p
" hit state: $s2_hit_state new state: $s2_new_hit_state s2_nack: $s2_nack\n"
val
data_resp
=
io
.
data_resp
val
s2_data
=
data_resp
(
s2_hit_way
)
val
wdata
=
Wire
(
Vec
(
refillCycles
,
UInt
(
rowBits
.
W
)))
...
...
@@ -160,21 +163,18 @@ class StorePipe extends DCacheModule
// -------
// Debug logging functions
def
dump_pipeline_reqs
(
pipeline_stage_name
:
String
,
valid
:
Bool
,
req
:
DCacheLineReq
)
=
{
def
dump_pipeline_reqs
(
pipeline_stage_name
:
String
,
valid
:
Bool
,
req
:
DCacheLineReq
)
=
{
when
(
valid
)
{
XSDebug
(
s
"$pipeline_stage_name cmd: %x addr: %x id: %d replay: %b\n"
,
req
.
cmd
,
req
.
addr
,
req
.
meta
.
id
,
req
.
meta
.
replay
)
(
0
until
refillCycles
)
map
{
r
=>
XSDebug
(
s
"cycle: $r data: %x wmask: %x\n"
,
req
.
data
(
r
),
req
.
mask
(
r
))
}
XSDebug
(
s
"$pipeline_stage_name cmd: %x addr: %x id: %d replay: %b\n"
,
req
.
cmd
,
req
.
addr
,
req
.
meta
.
id
,
req
.
meta
.
replay
)
}
}
def
dump_pipeline_valids
(
pipeline_stage_name
:
String
,
signal_name
:
String
,
valid
:
Bool
)
=
{
when
(
valid
)
{
XSDebug
(
s
"$pipeline_stage_name $signal_name\n"
)
XSDebug
(
p
"$pipeline_stage_name $signal_name "
+
s2_info
)
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录