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()))
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)
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)
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 = []
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 = ''
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)
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)
def __init__(self): self.a = vsc.rand_bit_t(8) self.b = vsc.rand_bit_t(8) self.c = vsc.attr(sub_item())
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()))
def __init__(self): self.c1 = vsc.rand_list_t(vsc.attr(Sub1())) self.c1.append(vsc.attr(Sub1()))
def __init__(self): self.x = vsc.attr(vsc.int_t(16, i=-2))
def __init__(self): self.x = vsc.attr(vsc.bit_t(16, i=0x12345))
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()))
def __init__(self): super().__init__() self.lr_instr = vsc.attr(riscv_instr()) self.sc_instr = vsc.attr(riscv_instr())