[英]VHDL Code explanation needed (std_logic_vector)
1) std_logic_vector(data_width - 1 downto 0)
在这段代码中,我不明白(-1 到 0)。 我知道这告诉我们它是 8 位的。 但不明白怎么做? 例如,(7 donwto 0) 是不言自明的,例如。 0,1,2,3,4,5,6,7。
2) A_reg(data_width - 1 downto 1) <= A_reg(data_width - 2 downto 0);
我知道我们在左移。 但是谁能解释一下如何? 我想知道 position 位是如何变化或移动的。
你应该非常仔细地阅读。 它没有说( -1下降到0)。 它说( data_width - 1 downto 0)。
因此,如果 data_width 是 8 你得到 (8-1 downto 0) 这是你的 (7 downto 0)
现在下一个: A_reg(data_width - 1 downto 1) <= A_reg(data_width - 2 downto 0);
再次使用 8 的 data_width 我们得到: A_reg(7 downto 1) <= A_reg(6 downto 0);
因此位 6,5,4,...0 被分别传输到位 7,6,5,..1。 每个位向左移动一个 position,但位 0 保持不变:
A[7][6][5][4][3][2][1][0]
/ / / / / / /|
/ / / / / / / |
v v v v v v v v
A[7][6][5][4][3][2][1][0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.