我希望将std_logic_vector向右移动d个位置,在每个班次中将移位的值完成0,并且从不截断剩余的位。这是一个具体的例子,a ='110001',b = shiftRight(a,3),然后b等于'000110001'。 '001'的最后几位没有被截断,但是使用srl,它将被截断。有没有可能的实施?
答案 0 :(得分:0)
如上所述,您的示例只是连接。你还可以使用无符号调整大小来向左边添加位,如果要添加的位数是变量或参数,这可能会更好:
new_slv <= std_logic_vector(resize(unsigned(my_slv),my_slv'length + more_bits));