Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
XiangShan
提交
a068fa32
X
XiangShan
项目概览
OpenXiangShan
/
XiangShan
8 个月 前同步成功
通知
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 搜索 >>
提交
a068fa32
编写于
5月 24, 2022
作者:
L
Lingrui98
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sramtemplate: fix waymask in FoldedSRAMTemplate
上级
b6c4f5c1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
1 deletion
+6
-1
src/main/scala/utils/SRAMTemplate.scala
src/main/scala/utils/SRAMTemplate.scala
+6
-1
未找到文件。
src/main/scala/utils/SRAMTemplate.scala
浏览文件 @
a068fa32
...
...
@@ -187,7 +187,12 @@ class FoldedSRAMTemplate[T <: Data](gen: T, set: Int, width: Int = 4, way: Int =
val
wdata
=
VecInit
(
Seq
.
fill
(
width
)(
io
.
w
.
req
.
bits
.
data
).
flatten
)
val
waddr
=
io
.
w
.
req
.
bits
.
setIdx
>>
log2Ceil
(
width
)
val
widthIdx
=
if
(
width
!=
1
)
io
.
w
.
req
.
bits
.
setIdx
(
log2Ceil
(
width
)-
1
,
0
)
else
0.
U
val
wmask
=
if
(
width
*
way
!=
1
)
VecInit
(
Seq
.
tabulate
(
width
*
way
)(
n
=>
(
n
/
way
).
U
===
widthIdx
)).
asUInt
else
1.
U
(
1.
W
)
val
wmask
=
(
width
,
way
)
match
{
case
(
1
,
1
)
=>
1.
U
(
1.
W
)
case
(
x
,
1
)
=>
UIntToOH
(
widthIdx
)
case
_
=>
VecInit
(
Seq
.
tabulate
(
width
*
way
)(
n
=>
(
n
/
way
).
U
===
widthIdx
&&
io
.
w
.
req
.
bits
.
waymask
.
get
(
n
%
way
))).
asUInt
}
require
(
wmask
.
getWidth
==
way
*
width
)
array
.
io
.
w
.
apply
(
wen
,
wdata
,
waddr
,
wmask
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录