VHDL是什么意思? a< = a(6 downto 0)& ' 0'

时间:2015-10-23 00:51:54

标签: vhdl

signal a : std_logic_vector (7 downto 0) := (others => '0');

a <= a (6 downto 0) & '0';

所以我理解a是一个8位的信号,所有这些位都是0.下一行是否将位6分配为0再次为零?

2 个答案:

答案 0 :(得分:3)

也许等效语法有助于理解:

a(7 downto 0) <= a(6 downto 0) & '0';

因此a(7)获取a(6)的值,a(6)获取a(5)的值,... a(0)'0'。< / p>

此代码描述了一个移位寄存器(假设该语句包含在同步过程中,应该是为了防止组合循环),其中值在每个周期向左移位。

在VHDL中,&是连接运算符。因此"0101" & "1010"等于"01011010"。在您的示例中,7个LSB连接到逻辑0,以形成新的移位8位向量。

答案 1 :(得分:0)

这是一个非常简短的定义,通过用'0'替换最右边的位来向左移位。