@@ -35,7 +35,7 @@ import uvm;
35
35
class riscv_instr : uvm_object
36
36
{
37
37
mixin uvm_object_utils;
38
-
38
+
39
39
riscv_instr_gen_config m_cfg;
40
40
// riscv_instr_registry m_registry;
41
41
@@ -93,7 +93,7 @@ class riscv_instr: uvm_object
93
93
}
94
94
}
95
95
} imm_c;
96
-
96
+
97
97
constraint! q{
98
98
if (category == riscv_instr_category_t.CSR ) {
99
99
if (m_cfg.instr_registry.include_reg.length > 0 ) {
@@ -120,7 +120,7 @@ class riscv_instr: uvm_object
120
120
case riscv_instr_format_t.R_FORMAT :
121
121
has_imm = false ;
122
122
break ;
123
- case riscv_instr_format_t.I_FORMAT :
123
+ case riscv_instr_format_t.I_FORMAT :
124
124
has_rs2 = false ;
125
125
break ;
126
126
case riscv_instr_format_t.S_FORMAT , riscv_instr_format_t.B_FORMAT :
@@ -211,13 +211,13 @@ class riscv_instr: uvm_object
211
211
asm_str = format(" %0s%0s, 0x%0x, %0s" , asm_str,rd, csr, get_imm());
212
212
else
213
213
asm_str = format(" %0s%0s, %0s, %0s" , asm_str, rd, rs1, get_imm());
214
- break ;
214
+ break ;
215
215
case riscv_instr_format_t.S_FORMAT , riscv_instr_format_t.B_FORMAT : // instr rs1,rs2,imm
216
216
if (category == riscv_instr_category_t.STORE ) // Use psuedo instruction format
217
217
asm_str = format(" %0s%0s, %0s(%0s)" , asm_str, rs2, get_imm(), rs1);
218
218
else
219
219
asm_str = format(" %0s%0s, %0s, %0s" , asm_str, rs1, rs2, get_imm());
220
- break ;
220
+ break ;
221
221
case riscv_instr_format_t.R_FORMAT : // instr rd,rs1,rs2
222
222
if (category == riscv_instr_category_t.CSR ) {
223
223
asm_str = format(" %0s%0s, 0x%0x, %0s" , asm_str, rd, csr, rs1);
@@ -228,7 +228,7 @@ class riscv_instr: uvm_object
228
228
else {
229
229
asm_str = format(" %0s%0s, %0s, %0s" , asm_str, rd, rs1, rs2);
230
230
}
231
- break ;
231
+ break ;
232
232
default : uvm_fatal (get_full_name(), format(" Unsupported format %0s [%0s]" ,
233
233
instr_format, instr_name));
234
234
break ;
@@ -479,21 +479,21 @@ class riscv_instr: uvm_object
479
479
string convert2bin (string prefix = " " ) {
480
480
import std.conv : to;
481
481
ubvec! 32 vec;
482
- switch (instr_format) {
483
- case riscv_instr_format_t.J_FORMAT :
482
+ switch (instr_format) {
483
+ case riscv_instr_format_t.J_FORMAT :
484
484
vec = cast (ubvec! 1 ) imm[20 ]
485
485
~ cast (ubvec! 10 ) imm[1 .. 11 ]
486
486
~ cast (ubvec! 1 ) imm[11 ]
487
487
~ cast (ubvec! 8 ) imm[12 .. 20 ]
488
488
~ toubvec! 5 (rd)
489
489
~ get_opcode();
490
490
break ;
491
- case riscv_instr_format_t.U_FORMAT :
491
+ case riscv_instr_format_t.U_FORMAT :
492
492
vec = cast (ubvec! 20 ) imm[12 .. 32 ]
493
493
~ toubvec! 5 (rd)
494
494
~ get_opcode();
495
495
break ;
496
- case riscv_instr_format_t.I_FORMAT :
496
+ case riscv_instr_format_t.I_FORMAT :
497
497
if (canFind( [riscv_instr_name_t.FENCE , riscv_instr_name_t.FENCE_I ], instr_name)) {
498
498
vec = toubvec! 17 (0b00000000000000000)
499
499
~ get_func3()
@@ -552,19 +552,19 @@ class riscv_instr: uvm_object
552
552
~ toubvec! 5 (rs1)
553
553
~ get_func3()
554
554
~ cast (ubvec! 5 ) imm[0 .. 5 ]
555
- ~ get_opcode();
555
+ ~ get_opcode();
556
556
break ;
557
- case riscv_instr_format_t.B_FORMAT :
557
+ case riscv_instr_format_t.B_FORMAT :
558
558
vec = cast (ubvec! 1 ) imm[12 ]
559
559
~ cast (ubvec! 6 ) imm[5 .. 11 ]
560
560
~ toubvec! 5 (rs2)
561
561
~ toubvec! 5 (rs1)
562
- ~ get_func3()
562
+ ~ get_func3()
563
563
~ cast (ubvec! 4 ) imm[1 .. 5 ]
564
564
~ cast (ubvec! 1 ) imm[11 ]
565
565
~ get_opcode();
566
566
break ;
567
- case riscv_instr_format_t.R_FORMAT :
567
+ case riscv_instr_format_t.R_FORMAT :
568
568
if (category == riscv_instr_category_t.CSR ) {
569
569
vec = csr // cast(ubvec!11) csr[0..11] -- SV BUG?
570
570
~ toubvec! 5 (rs1)
@@ -621,7 +621,7 @@ class riscv_instr: uvm_object
621
621
riscv_instr rhs_;
622
622
super .copy(rhs);
623
623
rhs_ = cast (riscv_instr) rhs;
624
- if ( rhs_ ! is null ) { // rhs_ = rhs;
624
+ if ( rhs_ ! is null ) { // rhs_ = rhs;
625
625
this .group = rhs_.group;
626
626
this .instr_format = rhs_.instr_format;
627
627
this .category = rhs_.category;
@@ -646,7 +646,7 @@ class riscv_instr: uvm_object
646
646
void update_imm_str () {
647
647
imm_str = format(" %0d" , cast (bvec! 32 ) imm);
648
648
}
649
-
649
+
650
650
// `include "isa/riscv_instr_cov.svh"
651
651
652
652
}
0 commit comments