Vhdl 我如何为我的家庭作业添加这些标准逻辑向量?
调试完代码后,编译器接受了它,但它抛出了一个模拟器异常 我遇到的主要问题是初始化临时数组和在末尾添加向量 用于添加的方法是我在参考中找到的方法,因为您无法添加STD_逻辑_向量 谢谢, 布兹基Vhdl 我如何为我的家庭作业添加这些标准逻辑向量?,vhdl,Vhdl,调试完代码后,编译器接受了它,但它抛出了一个模拟器异常 我遇到的主要问题是初始化临时数组和在末尾添加向量 用于添加的方法是我在参考中找到的方法,因为您无法添加STD_逻辑_向量 谢谢, 布兹基 ieee库; 使用ieee.std_logic_1164.all; 使用ieee.std_logic_arith.all; 使用ieee.numeric_std.all; 实体signedmult为 端口(cand,lier:标准逻辑向量(4到0); pro:out std_logic_vector(9到
ieee库;
使用ieee.std_logic_1164.all;
使用ieee.std_logic_arith.all;
使用ieee.numeric_std.all;
实体signedmult为
端口(cand,lier:标准逻辑向量(4到0);
pro:out std_logic_vector(9到0));
结束签名结果;
signedmult的架构合成是
--临时阵列
信号a、b、c、d、e:std_逻辑_向量(9到0);
开始
过程(a、b、c、d、e)
变量j:整数;
开始
对于0到9循环中的j
a(j)首先您应该删除std\u-logic\u-arith
,以避免与numeric\u-std
冲突
一旦这样做了,我就不明白为什么你的添加不起作用了
运行时会出现什么错误
此外,您可能会从多个进程驱动信号
在a
和b
中获取垃圾。这就是导致错误的原因吗?
尝试将所有分配到临时数组的任务放在一个进程中。首先应删除std\u logic\u arith
,以避免与numeric\u std
冲突
一旦这样做了,我就不明白为什么你的添加不起作用了
运行时会出现什么错误
此外,您可能会从多个进程驱动信号
在a
和b
中获取垃圾。这就是导致错误的原因吗?
尝试将所有分配到临时阵列的任务放在一个进程中。快速简便的方法:
a(9 downto 0) <= (others=>'0');
b(9 downto 0) <= (others=>'0');
a(9到0)'0');
b(9至0)‘0’;
快速简便的方法:
a(9 downto 0) <= (others=>'0');
b(9 downto 0) <= (others=>'0');
a(9到0)'0');
b(9至0)‘0’;
删除标准逻辑解决了问题删除标准逻辑解决了问题