Binary 移位寄存器如何在二进制到bcd转换中工作

Binary 移位寄存器如何在二进制到bcd转换中工作,binary,vhdl,data-conversion,bcd,Binary,Vhdl,Data Conversion,Bcd,我发现这段代码用于12位二进制到bcd的转换,但我似乎无法理解移位寄存器部分(仅显示状态机部分)。我需要帮助理解移位寄存器中的“&”是如何工作的,如果有人也能为移位寄存器部分提供一种不同的方式,使其看起来像下面的代码,因为更容易理解数据流: ishiftRegister(7)该&是一个串联运算符。例如,检查此问题以了解更多讨论: &是一个串联运算符。例如,检查此问题以了解更多讨论: 感谢您的回复,关于&'L'实际上做什么还有一个疑问?@AM9417同时,二进制寄存器也会移位。最左边的项目移到了

我发现这段代码用于12位二进制到bcd的转换,但我似乎无法理解移位寄存器部分(仅显示状态机部分)。我需要帮助理解移位寄存器中的“&”是如何工作的,如果有人也能为移位寄存器部分提供一种不同的方式,使其看起来像下面的代码,因为更容易理解数据流:



ishiftRegister(7)该
&
是一个串联运算符。例如,检查此问题以了解更多讨论:


&
是一个串联运算符。例如,检查此问题以了解更多讨论:


感谢您的回复,关于&'L'实际上做什么还有一个疑问?@AM9417同时,
二进制
寄存器也会移位。最左边的项目移到了
bcds_reg
,其他位也移到了左边。为了将二进制的长度保持在12,在向量的右端附加一个值(在本例中为L)。L代表“低”:“它不是1或0,而是一个“可能会变为0的微弱信号”。在您的设计中,它可能只是用来填充向量以获得所需的长度12,因为逻辑似乎确保永远不会使用此“L”值。感谢您的回答,关于&“L”实际做什么还有一个疑问?@AM9417
二进制
寄存器也会移位。最左边的项目移到了
bcds_reg
,其他位也移到了左边。为了将二进制的长度保持在12,在向量的右端附加一个值(在本例中为L)。L代表“低”:“它不是1或0,而是一个“可能会变为0的微弱信号”。在您的设计中,它可能只是用来填充向量以获得所需的长度12,因为逻辑似乎确保永远不会使用这个“L”值。
bcds_next <= bcds_reg(18 downto 0) & binary(11);
bcds_next(19 downto 1) <= bcds_reg(18 downto 0);
bcds_next(0) <= binary(11);