Exemple #1
0
 def __init__(self):
     s = Sub1()
     si = Sub1()
     print("--> c1.create")
     self.c1 = vsc.rand_list_t(vsc.attr(s))
     print("<-- c1.create")
     self.c1.append(vsc.attr(si))
            def __init__(self):
                self.x = vsc.rand_list_t(vsc.attr(Field('x', 10)))
                for i in range(5):
                    self.x.append(vsc.attr(Field('x', 10)))

                self.y = vsc.rand_list_t(vsc.attr(Field('y', 10)))
                for i in range(5):
                    self.y.append(vsc.attr(Field('y', 10)))
            def __init__(self):
                self.a = vsc.rand_list_t(vsc.attr(Field('a', 10)))
                for i in range(5):
                    self.a.append(vsc.attr(Field('a', 10)))

                self.b = vsc.rand_list_t(vsc.attr(Field('b', 10)))
                for i in range(5):
                    self.b.append(vsc.attr(Field('b', 10)))
            def __init__(self):
                self.id = 0
                self.c1 = vsc.rand_list_t(vsc.attr(Child1()))
                for i in range(10):
                    self.c1.append(vsc.attr(Child1()))

                self.c2 = vsc.rand_list_t(vsc.attr(Child2()))
                for i in range(10):
                    self.c2.append(vsc.attr(Child2()))
Exemple #5
0
            def __init__(self):
                self.a = vsc.rand_list_t(vsc.attr(Field('a', 10)))
                for i in range(5):
                    self.a.append(vsc.attr(Field('a', 10)))

                self.b = vsc.rand_list_t(vsc.attr(Field('b', 10)))
                for i in range(5):
                    self.b.append(vsc.attr(Field('b', 10)))

                self.one_lvl_below_val = vsc.rand_uint8_t(0)
Exemple #6
0
            def __init__(self):
                self.id = 0
                self.c1 = vsc.rand_list_t(vsc.attr(Child1()))
                for i in range(10):
                    self.c1.append(vsc.attr(Child1()))

                self.c2 = vsc.rand_list_t(vsc.attr(Child2()))
                for i in range(10):
                    self.c2.append(vsc.attr(Child2()))

                self.non_list_child = vsc.rand_attr(Child1())

                self.top_lvl_val = vsc.rand_uint8_t(0)
Exemple #7
0
 def __init__(self):
     super().__init__()
     self.stack_len = 0
     self.num_of_reg_to_save = 0
     self.num_of_redundant_instr = 0
     self.pop_stack_instr = vsc.list_t(vsc.attr(riscv_instr()))
     self.saved_regs = []
Exemple #8
0
 def __init__(self):
     super().__init__()
     self.stack_len = 0
     self.num_of_reg_to_save = 0
     self.num_of_redundant_instr = 0
     self.push_stack_instr = []
     self.saved_regs = []
     self.branch_instr = vsc.attr(riscv_instr())
     self.enable_branch = vsc.rand_bit_t(1)
     self.push_start_label = ''
Exemple #9
0
 def __init___(self):
     self.hart = 0
     self.mstatus = vsc.attr(riscv_privil_reg)
     self.mie = vsc.attr(riscv_privil_reg)
     self.sstatus = vsc.attr(riscv_privil_reg)
     self.sie = vsc.attr(riscv_privil_reg)
     self.ustatus = vsc.attr(riscv_privil_reg)
     self.uie = vsc.attr(riscv_privil_reg)
Exemple #10
0
 def enter_privileged_mode(self, mode, instrs):
     label = pkg_ins.format_string("{}init_{}:"
                                   .format(pkg_ins.hart_prefix(self.hart), mode),
                                   pkg_ins.LABEL_STR_LEN)
     ret_instr = ["mret"]
     regs = vsc.list_t(vsc.attr(riscv_privil_reg()))
     label = label.lower()
     self.setup_mmode_reg(mode, regs)
     if mode == "SUPERVISOR_MODE":
         self.setup_smode_reg(mode, regs)
     if mode == "USER_MODE":
         self.setup_umode_reg(mode, regs)
     if cfg.virtual_addr_translation_on:
         self.setup_satp(instrs)
     self.gen_csr_instr(regs, instrs)
     # Use mret/sret to switch to the target privileged mode
     instrs.append(ret_instr[0])
     for i in range(len(instrs)):
         instrs[i] = pkg_ins.indent + instrs[i]
     instrs.insert(0, label)
Exemple #11
0
 def __init__(self):
     self.a = vsc.rand_bit_t(8)
     self.b = vsc.rand_bit_t(8)
     self.c = vsc.attr(sub_item())
Exemple #12
0
 def __init__(self):
     self.reg_name = vsc.enum_t(privileged_reg_t)
     self.offset = vsc.bit_t(12)
     self.privil_level = vsc.enum_t(privileged_level_t)
     self.val = vsc.bit_t(rcs.XLEN)
     self.fld = vsc.rand_list_t(vsc.attr(riscv_reg_field()))
Exemple #13
0
 def __init__(self):
     self.c1 = vsc.rand_list_t(vsc.attr(Sub1()))
     self.c1.append(vsc.attr(Sub1()))
Exemple #14
0
 def __init__(self):
     self.x = vsc.attr(vsc.int_t(16, i=-2))
Exemple #15
0
 def __init__(self):
     self.x = vsc.attr(vsc.bit_t(16, i=0x12345))
Exemple #16
0
 def __init__(self):
     self.c2 = vsc.rand_list_t(vsc.attr(Sub2()))
     self.c2.append(vsc.attr(Sub2()))
     self.c3 = vsc.rand_list_t(vsc.attr(Sub2()))
     self.c3.append(vsc.attr(Sub2()))
Exemple #17
0
 def __init__(self):
     super().__init__()
     self.lr_instr = vsc.attr(riscv_instr())
     self.sc_instr = vsc.attr(riscv_instr())