Skip to content

Commit 72e7865

Browse files
implement XORI instruction
1 parent ab40a1c commit 72e7865

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/main/scala/RISCV/Main.scala

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ class Main() extends Module {
168168
regFile.io.write_addr := decoder.io.rd;
169169
regFile.io.write_enable := true.B;
170170

171-
when(regFile.io.out_A.asSInt() < decoder.io.immediate.asSInt()) {
171+
when(regFile.io.out_A.asSInt < decoder.io.immediate.asSInt) {
172172
regFile.io.in := 1.U;
173173
}.otherwise {
174174
regFile.io.in := 0.U;
@@ -198,6 +198,20 @@ class Main() extends Module {
198198

199199
printf("[SLTIU] Rs1: %d Rd: %d Immediate: %b\n", decoder.io.rs1, decoder.io.rd, decoder.io.immediate);
200200
}
201+
202+
// XORI
203+
is("b100_0010011".U) {
204+
regFile.io.read_addr_A := decoder.io.rs1;
205+
206+
regFile.io.write_addr := decoder.io.rd;
207+
regFile.io.write_enable := true.B;
208+
regFile.io.in := regFile.io.out_A ^ decoder.io.immediate;
209+
210+
program_pointer := program_pointer + 1.U;
211+
stage := 0.U;
212+
213+
printf("[XORI] Rs1: %d Rd: %d Immediate: %b\n", decoder.io.rs1, decoder.io.rd, decoder.io.immediate);
214+
}
201215
}
202216
}
203217

0 commit comments

Comments
 (0)