def normal_to_slv(self, var, var_name) -> str:
if type(var) == int:
return f'std_logic_vector(to_signed({var_name}, 32))'
elif type(var) == bool:
return f'bool_to_logic({var_name})'
elif type(var) == Sfix:
return f'to_slv({var_name})'
elif type(var) == ComplexSfix:
return f'to_slv({var_name}.real) & to_slv({var_name}.imag)'
elif isinstance(var, Enum):
return self.normal_to_slv(var.value, var_name)
elif isinstance(var, list):
if isinstance(var[0], bool):
return f'bool_list_to_logic({var_name})'
else:
assert 0
评论列表
文章目录