相关疑难解决方法(0)

签署到std_logic_vector,切片结果

我需要取结果的绝对值,我只对最重要的位感兴趣.这就是我所做的:

data_ram_h <= std_logic_vector(abs(signed(resize(r4(calc_cnt - 2), data_ram_h'length) + r4(calc_cnt - 1) +
                    r4(calc_cnt) + r4(calc_cnt + 1) + r4(calc_cnt + 2) -
                    r2(calc_cnt - 2) - r2(calc_cnt - 1) - r2(calc_cnt) -
                    r2(calc_cnt + 1) - r2(calc_cnt + 2))))(11 downto 4);
Run Code Online (Sandbox Code Playgroud)

我尝试检查语法,我收到此错误:

type conversion std_logic_vector is not allowed as a prefix for an slice name.
Run Code Online (Sandbox Code Playgroud)

data_ram_h是正确维度的std_logic_vector,而abs函数返回一个signed,在转换为std_logic_vector时应该没有问题.我使用的库是使用ieee.numeric_std.all.

我哪里错了?在此先感谢c:

vhdl

4
推荐指数
1
解决办法
4126
查看次数

标签 统计

vhdl ×1