繁体   English   中英

需要 VHDL 代码解释 (std_logic_vector)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM