我正在用VHDL开发一个小东西,我对它很新.我无法弄清楚如何将更大的std_logic_vector切割成更小的std_logic_vector.
例如,我有3个信号:
signal allparts: std_logic_vector(15 downto 0);
signal firstpart: std_logic_vector(7 downto 0);
signal secondpart: std_logic_vector(7 downto 0);
Run Code Online (Sandbox Code Playgroud)
基本上,我想要的是将位15到8分配给secondpart
位7到0 firstpart
.如何在不分配单个位的情况下"切片"这样的矢量
Cha*_*ler 24
你可以直接分配它们:
firstpart <= allparts(15 downto 8);
secondpart <= allparts(7 downto 0);
Run Code Online (Sandbox Code Playgroud)
...或者如果firstpart和secondpart只是引用allparts信号的一部分的替代方法,您可能想要使用别名:
alias firstpart is allparts(15 downto 8);
alias secondpart is allparts(7 downto 0);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
39657 次 |
最近记录: |