在VHDL中递增std_逻辑_向量
我开始使用VHDL,我有一个小问题。我想给标准逻辑向量加1。我看到这个问题已经被问过了,但仍然不起作用。我就是这么做的在VHDL中递增std_逻辑_向量,vhdl,Vhdl,我开始使用VHDL,我有一个小问题。我想给标准逻辑向量加1。我看到这个问题已经被问过了,但仍然不起作用。我就是这么做的 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity lesson10c is port (signal calculateur : std_ulogic_vector (1 downto 0)); end lesson10c; architecture behavio
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity lesson10c is
port (signal calculateur : std_ulogic_vector (1 downto 0));
end lesson10c;
architecture behaviour of lesson10c is
begin
calculateur <= "00";
process(calculateur)
begin
for i in 0 to 3 loop
calculateur <= std_ulogic_vector(unsigned(calculateur)+1);
end loop;
end process;
end behaviour;
ieee库;
使用ieee.std_logic_1164.all;
使用ieee.numeric_std.all;
实体课程10c是
端口(信号计算器:标准逻辑向量(1到0));
第10c课结束;
lesson10c的建筑行为是
开始
calculateur您看到的错误是由于您的代码在两个不同的进程中驱动了calculateur
。请记住,这是一种硬件描述语言,而不是编程语言
calculateur <= "00";
process(calculateur)
begin
for i in 0 to 3 loop
calculateur <= std_ulogic_vector(unsigned(calculateur)+1);
end loop;
end process;
calculateur您看到的错误是由于您的代码在两个不同的进程中驱动了calculateur
。请记住,这是一种硬件描述语言,而不是编程语言
calculateur <= "00";
process(calculateur)
begin
for i in 0 to 3 loop
calculateur <= std_ulogic_vector(unsigned(calculateur)+1);
end loop;
end process;
calculateur您的问题比增加std\u逻辑\u向量
更基本。你似乎认为你在写软件。你不是,你是在设计硬件
VHDL中的每个进程(无论是显式的还是隐式的)都会推断出一块硬件。你有两个过程:一个是显式的(process(calculateur)
),另一个是隐式的(calculateur你的问题比增加一个std\u逻辑向量
)更为根本。你似乎认为你在写软件。你不是,你在设计硬件
VHDL中的每个进程(无论是显式的还是隐式的)都会推断出一块硬件。您有两个进程:一个是显式的(process(calculateur)
),另一个是隐式的(calculateur嗨,Jean,欢迎来到SO!为了改进你的问题,请看一下这里:还请学习如何格式化你的帖子。只需使用integer
类型并添加4…为什么要使其难以复制。请注意,在合成之前,什么Quartus和错误也演示了你可以模拟。使用解析的数据类型y你会得到“X”,而未解析的数据类型会导致模拟中的错误。嗨,Jean,欢迎来到SO!请看一下这里以改进你的问题:请学习如何格式化你的帖子。只需使用整数类型并加上4…为什么要使其难以复制。注意什么夸脱和错误也表明你可以在合成之前进行模拟。使用已解析的数据类型,您将得到“X”,而未解析的数据类型将导致模拟中出现错误。