Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
XiangShan
提交
b441ea13
X
XiangShan
项目概览
OpenXiangShan
/
XiangShan
12 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
b441ea13
编写于
1月 21, 2021
作者:
Y
YikeZhou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Regfile, BusyTable: do not handle writeback now
上级
7a9d068b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
8 addition
and
6 deletion
+8
-6
src/main/scala/xiangshan/backend/issue/ReservationStationNew.scala
...scala/xiangshan/backend/issue/ReservationStationNew.scala
+5
-2
src/main/scala/xiangshan/backend/regfile/Regfile.scala
src/main/scala/xiangshan/backend/regfile/Regfile.scala
+2
-3
src/main/scala/xiangshan/backend/rename/BusyTable.scala
src/main/scala/xiangshan/backend/rename/BusyTable.scala
+1
-1
未找到文件。
src/main/scala/xiangshan/backend/issue/ReservationStationNew.scala
浏览文件 @
b441ea13
...
...
@@ -515,13 +515,16 @@ class ReservationStationData
io
.
ctrl
.
srcUpdate
(
IssQueSize
).
zipWithIndex
.
map
{
case
(
h
,
i
)
=>
// h: port, i: 0~srcNum-1
val
(
bpHit
,
bpHitReg
,
bpData
)
=
bypass
(
srcSeq
(
i
),
srcTypeSeq
(
i
),
enqCtrl
.
valid
)
val
(
wuHit
,
wuData
)
=
wakeup
(
srcSeq
(
i
),
srcTypeSeq
(
i
),
enqCtrl
.
valid
)
val
wuHitReg
=
RegNext
(
wuHit
)
val
wuDataReg
=
RegNext
(
wuData
)
when
(
bpHitReg
)
{
dataWrite
(
enqPtrReg
,
i
,
bpData
)
}
when
(
RegNext
(
wuHit
))
{
dataWrite
(
enqPtrReg
,
i
,
RegNext
(
wuData
)
)
}
when
(
wuHitReg
)
{
dataWrite
(
enqPtrReg
,
i
,
wuDataReg
)
}
h
:=
bpHit
||
wuHit
// NOTE: enq bp is done here
XSDebug
(
bpHit
,
p
"EnqBPHit: (${i.U})\n"
)
XSDebug
(
wuHit
,
p
"EnqWuHit: (${Binary(io.ctrl.srcUpdate(iqSize).asUInt())})\n"
)
XSDebug
(
bpHitReg
,
p
"EnqBPHitData: (${i.U}) data:${Hexadecimal(bpData)}\n"
)
XSDebug
(
wuHit
,
p
"EnqWbHit: (${i.U}) data:${Hexadecimal(wuData)} data will be writen into data at next cycle
\n"
)
XSDebug
(
wuHit
Reg
,
p
"EnqWuHitData: (${i.U}) data:${Hexadecimal(wuDataReg)}
\n"
)
}
if
(
nonBlocked
)
{
io
.
ctrl
.
fuReady
:=
true
.
B
}
else
{
io
.
ctrl
.
fuReady
:=
io
.
deq
.
ready
}
...
...
src/main/scala/xiangshan/backend/regfile/Regfile.scala
浏览文件 @
b441ea13
...
...
@@ -35,9 +35,8 @@ class Regfile
if
(!
useBlackBox
)
{
val
mem
=
Mem
(
NRPhyRegs
,
UInt
(
len
.
W
))
for
(
r
<-
io
.
readPorts
)
{
val
raddr_reg
=
RegNext
(
r
.
addr
)
val
rdata
=
if
(
hasZero
)
Mux
(
raddr_reg
===
0.
U
,
0.
U
,
mem
(
raddr_reg
))
else
mem
(
raddr_reg
)
r
.
data
:=
rdata
val
rdata
=
if
(
hasZero
)
Mux
(
r
.
addr
===
0.
U
,
0.
U
,
mem
(
r
.
addr
))
else
mem
(
r
.
addr
)
r
.
data
:=
RegNext
(
rdata
)
}
for
(
w
<-
io
.
writePorts
)
{
when
(
w
.
wen
)
{
...
...
src/main/scala/xiangshan/backend/rename/BusyTable.scala
浏览文件 @
b441ea13
...
...
@@ -30,7 +30,7 @@ class BusyTable(numReadPorts: Int, numWritePorts: Int) extends XSModule {
val
tableAfterAlloc
=
tableAfterWb
|
allocMask
for
((
raddr
,
rdy
)
<-
io
.
rfReadAddr
.
zip
(
io
.
pregRdy
)){
rdy
:=
!
table
AfterWb
(
raddr
)
rdy
:=
!
table
(
raddr
)
}
table
:=
tableAfterAlloc
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录