作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的 std_logic_vector:
cntrl_signals:out std_logic_vector(4 downto 0);
constant CLK_SIG:integer := 0;
constant EN_SIG:integer := 1;
constant FOO_SIG:integer := 2;
constant BAR_SIG:integer := 3;
constant BAZ_SIG:integer := 4;
cntrl_signals <= (CLK_SIG=>1,EN_SIG=>1,others=>0);
最佳答案
那么你可以使用枚举,最好的方法是声明你自己的 std_logic 向量,由枚举而不是整数索引。
但可能更好的是记录而不是向量:
type Control_Signals is record
Clk : std_logic,
En : std_logic,
Foo : std_logic,
Bar : std_logic,
Baz : std_logic
end record;
to_slv
和
to_control_sigs
对于(很少,如果你做对了)真正需要 std_logic_vectors 的场合。
type Controls is (Clk, En, Foo, Bar, Baz);
type Control_Signals is array(Controls) of std_logic;
My_Bus_Ctrl : Control_Signals := (Clk => '1', En => '1', others => '0');
My_External_SLV_Port <= std_logic_vector(My_Bus_Ctrl);
关于vhdl - 如何通过枚举索引 std_logic_vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13809260/
我是一名优秀的程序员,十分优秀!