We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents bfda3e5 + dfec062 commit a4dbe34Copy full SHA for a4dbe34
cfgs/qc_iu/arch_overlay/csr/Xqci/qc_flags.yaml
cfgs/qc_iu/arch_overlay/ext/Xqci.yaml
@@ -149,8 +149,13 @@ versions:
149
changes:
150
- Fix encoding of qc.c.extu instruction
151
- Fix encoding of qc.swmi instruction
152
+ - Fix decoding of qc.pputci instruction
153
+ - Fix decoding of qc.delay instruction (state that immediate cannot be 0)
154
- Rename qc.slasat -> qc.shlsat
155
- Rename qc.sllsat -> qc.shlusat
156
+ - Add requirement to include Zca extension for Xqcisim since it has 16-bit instructions
157
+ - Add requirement to include Zca extension for Xqcisync since it has 16-bit instructions
158
+ - Remove qc.flags CSR
159
implies:
160
- [Xqcia, "0.4.0"]
161
- [Xqciac, "0.2.0"]
@@ -159,14 +164,16 @@ versions:
164
- [Xqcicli, "0.2.0"]
165
- [Xqcicm, "0.2.0"]
166
- [Xqcics, "0.2.0"]
162
- - [Xqcicsr, "0.2.0"]
167
+ - [Xqcicsr, "0.3.0"]
163
168
- [Xqciint, "0.2.0"]
169
- [Xqcilb, "0.2.0"]
170
- [Xqcili, "0.2.0"]
171
- [Xqcilia, "0.2.0"]
172
- [Xqcilo, "0.2.0"]
173
- [Xqcilsm, "0.4.0"]
174
+ - [Xqcisim, "0.2.0"]
175
- [Xqcisls, "0.2.0"]
176
+ - [Xqcisync, "0.2.0"]
177
requires:
178
name: Zca
179
version: ">= 1.0.0"
cfgs/qc_iu/arch_overlay/ext/Xqcicsr.yaml
@@ -28,6 +28,18 @@ versions:
28
email: [email protected]
29
30
- Add information about instruction formats of each instruction
31
+- version: "0.3.0"
32
+ state: frozen
33
+ ratification_date: null
34
+ contributors:
35
+ - name: Albert Yosher
36
+ company: Qualcomm Technologies, Inc.
37
+ email: [email protected]
38
+ - name: Derek Hower
39
40
41
+ changes:
42
43
description: |
44
The Xqcicsr extension contains two instructions to read/write CSR which index is in register and not immediate.
45
cfgs/qc_iu/arch_overlay/ext/Xqcisim.yaml
@@ -16,6 +16,20 @@ versions:
16
- name: Derek Hower
17
company: Qualcomm Technologies, Inc.
18
19
+- version: "0.2.0"
20
21
22
23
24
25
26
27
+ - Add requirement to include Zca extension since has 16-bit instructions
+ requires: { name: Zca, version: ">= 1.0.0" }
The Xqcisim extension includes ten hint instructions to interface simulation environment.
On real target any instruction from this extension executed as "no-operation" and have no effect.
cfgs/qc_iu/arch_overlay/ext/Xqcisync.yaml
The Xqcisync extension includes nine instructions, eight for non-memory-mapped devices synchronization and delay instruction.
Synchronization instructions are kind of IO fences that work with special devices synchronization signals.
cfgs/qc_iu/arch_overlay/inst/Xqci/qc.c.delay.yaml
@@ -18,6 +18,7 @@ encoding:
variables:
- name: imm
location: 6-2
+ not: 0
access:
s: always
u: always
cfgs/qc_iu/arch_overlay/inst/Xqci/qc.c.mienter.nest.yaml
@@ -25,7 +25,7 @@ operation(): |
XReg mepc_val = CSR[mepc].sw_read();
XReg mnepc_val = CSR[qc_mnepc].sw_read();
XReg mcause_val = CSR[mcause].sw_read();
- XReg flags_val = CSR[qc_flags].sw_read();
+ XReg reserved_val = 0;
if (CSR[mcause].NMI != 1'b1) {
write_memory<32>(virtual_address - 4, mepc_val, $encoding);
} else {
@@ -34,7 +34,7 @@ operation(): |
write_memory<32>(virtual_address - 8, X[ 8][31:0], $encoding);
write_memory<32>(virtual_address - 12, mcause_val, $encoding);
write_memory<32>(virtual_address - 16, X[ 1][31:0], $encoding);
- write_memory<32>(virtual_address - 20, flags_val, $encoding);
+ write_memory<32>(virtual_address - 20, reserved_val, $encoding);
write_memory<32>(virtual_address - 24, X[ 5][31:0], $encoding);
write_memory<32>(virtual_address - 28, X[ 6][31:0], $encoding);
write_memory<32>(virtual_address - 32, X[ 7][31:0], $encoding);
cfgs/qc_iu/arch_overlay/inst/Xqci/qc.c.mienter.yaml
@@ -27,7 +27,7 @@ operation(): |
@@ -36,7 +36,7 @@ operation(): |
cfgs/qc_iu/arch_overlay/inst/Xqci/qc.c.mileaveret.yaml
@@ -33,7 +33,6 @@ operation(): |
X[ 8] = read_memory<32>(virtual_address - 8, $encoding);
CSR[mcause].sw_write(read_memory<32>(virtual_address - 12, $encoding));
X[ 1] = read_memory<32>(virtual_address - 16, $encoding);
- CSR[qc_flags].sw_write(read_memory<32>(virtual_address - 20, $encoding));
X[ 5] = read_memory<32>(virtual_address - 24, $encoding);
X[ 6] = read_memory<32>(virtual_address - 28, $encoding);
X[ 7] = read_memory<32>(virtual_address - 32, $encoding);
cfgs/qc_iu/arch_overlay/inst/Xqci/qc.c.muliadd.yaml
@@ -8,14 +8,13 @@ description: |
8
Increments `rd` by the multiplication of `rs1` and an unsigned immediate
9
Instruction encoded in CL instruction format.
10
definedBy:
11
- allOf:
12
- - not:
13
- anyOf:
14
- - allOf: [C, D]
15
- - Zcd
- - anyOf:
- - Xqci
- - Xqciac
+ anyOf:
+ - Xqci
+ - Xqciac
+excludedBy:
+ - allOf: [C, D]
+ - Zcd
base: 32
encoding:
match: 001-----------10
0 commit comments