Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
XiangShan
提交
cfb3af13
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,发现更多精彩内容 >>
提交
cfb3af13
编写于
10月 21, 2019
作者:
W
William Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore(Decode): add priviledged inst set
上级
95a15ae8
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
19 addition
and
8 deletion
+19
-8
src/main/scala/noop/Decode.scala
src/main/scala/noop/Decode.scala
+1
-0
src/main/scala/noop/IDU.scala
src/main/scala/noop/IDU.scala
+1
-1
src/main/scala/noop/isa/Priviledged.scala
src/main/scala/noop/isa/Priviledged.scala
+16
-0
src/main/scala/noop/isa/RVZicsr.scala
src/main/scala/noop/isa/RVZicsr.scala
+1
-7
未找到文件。
src/main/scala/noop/Decode.scala
浏览文件 @
cfb3af13
...
...
@@ -55,6 +55,7 @@ object Instructions extends HasInstrType with HasNOOPParameter {
def
DecodeTable
=
RVIInstr
.
table
++
NOOPTrap
.
table
++
(
if
(
HasMExtension
)
RVMInstr
.
table
else
Nil
)
++
(
if
(
HasCExtension
)
RVCInstr
.
table
else
Nil
)
++
Priviledged
.
table
++
RVZicsrInstr
.
table
++
RVZifenceiInstr
.
table
}
...
...
src/main/scala/noop/IDU.scala
浏览文件 @
cfb3af13
...
...
@@ -297,7 +297,7 @@ class IDU extends NOOPModule with HasInstrType {
io
.
out
.
bits
.
cf
.
exceptionVec
.
map
(
_
:=
false
.
B
)
io
.
out
.
bits
.
cf
.
exceptionVec
(
illegalInstr
)
:=
(
instrType
===
InstrN
&&
!
hasIntr
)
&&
io
.
in
.
valid
io
.
out
.
bits
.
cf
.
exceptionVec
(
ecallM
)
:=
(
instr
===
RVZicsrInstr
.
ECALL
)
&&
io
.
in
.
valid
io
.
out
.
bits
.
cf
.
exceptionVec
(
ecallM
)
:=
(
instr
===
Priviledged
.
ECALL
)
&&
io
.
in
.
valid
io
.
out
.
bits
.
ctrl
.
isNoopTrap
:=
(
instr
===
NOOPTrap
.
TRAP
)
&&
io
.
in
.
valid
}
...
...
src/main/scala/noop/isa/Priviledged.scala
0 → 100644
浏览文件 @
cfb3af13
package
noop
import
chisel3._
import
chisel3.util._
object
Priviledged
extends
HasInstrType
{
def
ECALL
=
BitPat
(
"b000000000000_00000_000_00000_1110011"
)
def
MRET
=
BitPat
(
"b001100000010_00000_000_00000_1110011"
)
def
SRET
=
BitPat
(
"b000100000010_00000_000_00000_1110011"
)
val
table
=
Array
(
ECALL
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
jmp
),
MRET
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
jmp
),
SRET
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
jmp
)
)
}
src/main/scala/noop/isa/RVZicsr.scala
浏览文件 @
cfb3af13
...
...
@@ -10,9 +10,6 @@ object RVZicsrInstr extends HasInstrType {
def
CSRRWI
=
BitPat
(
"b????????????_?????_101_?????_1110011"
)
def
CSRRSI
=
BitPat
(
"b????????????_?????_110_?????_1110011"
)
def
CSRRCI
=
BitPat
(
"b????????????_?????_111_?????_1110011"
)
def
ECALL
=
BitPat
(
"b000000000000_00000_000_00000_1110011"
)
def
MRET
=
BitPat
(
"b001100000010_00000_000_00000_1110011"
)
def
SRET
=
BitPat
(
"b000100000010_00000_000_00000_1110011"
)
val
table
=
Array
(
CSRRW
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
wrt
),
...
...
@@ -20,9 +17,6 @@ object RVZicsrInstr extends HasInstrType {
CSRRC
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
clr
),
CSRRWI
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
wrti
),
CSRRSI
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
seti
),
CSRRCI
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
clri
),
ECALL
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
jmp
),
MRET
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
jmp
),
SRET
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
jmp
)
CSRRCI
->
List
(
InstrI
,
FuType
.
csr
,
CSROpType
.
clri
)
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录