Vhdl 当'=';或'<=';习惯于
我正在学习VHDL,从昨天起我就一直在努力学习下面这个简单的例子 在VHDL中为零(0)到九(9)计数器写入一个实体,该计数器由正边缘时钟触发,并具有异步活动高电平“归零”输入。系统有三(3)个输出信号“低”、“中”和“高”,产生以下值:Vhdl 当'=';或'<=';习惯于,vhdl,modelsim,Vhdl,Modelsim,我正在学习VHDL,从昨天起我就一直在努力学习下面这个简单的例子 在VHDL中为零(0)到九(9)计数器写入一个实体,该计数器由正边缘时钟触发,并具有异步活动高电平“归零”输入。系统有三(3)个输出信号“低”、“中”和“高”,产生以下值: 假设所有信号均为Std_逻辑类型 代码是这样的 LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_arith.all; USE ieee.std_logic_unsigned.all;
假设所有信号均为Std_逻辑类型 代码是这样的
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_arith.all;
USE ieee.std_logic_unsigned.all;
ENTITY LMHcounter IS
PORT(clk,reset:in std_logic;
L:out std_logic;
M:out std_logic;
H:out std_logic);
END LMHcounter;
ARCHITECTURE behavior OF UPcounter IS
SIGNAL count:std_logic_vector(3 downto 0);
BEGIN
PROCESS(clk,reset)
BEGIN
if reset='1' then count<="0000";
elsif (rising_edge(clk))then
if count<="1001" then
count<="0000";
else count<=count+"0001";
end if;
end if;
END PROCESS;
L<='1' when count<="0101";
else '0';
M<='1' when count="0110";
else '0';
H<='1' when count>="0111";
else '0';
END behavior;
如果我使用L我发现了很多错误
- 首先,您试图描述一个不同于您声明的实体的体系结构。我猜应该是LMHcounterIS的
,而不是UPcounter的架构行为
架构行为
L<='1' when count<="0101" else '0';
M<='1' when count="0110" else '0';
H<='1' when count>="0111" else '0';
- 条件信号分配的语法错误,应将其用作
,然后对计数器使用类型信号是!在我的一生中,我没有看到实体名称是不同的:/最初,我编写了你描述的条件信号,然后我在尝试不同的事情时更改了它,这种书写方式给出的错误更少,尽管我知道它不正确。因此,进行您描述的更改解决了问题!谢谢。不要使用包
。它不是一个正式的IEEE软件包。改用IEEE.numeric_stdstd\u logic\u unsigned
。如果这样做,您只需将计数器与整数进行比较:无符号
当count=5时。因此,代码中不再有神奇的0-1字符串。
Error: C:/DL_Project/LMH Counter.vhd(29): Illegal target for signal assignment. Error: C:/DL_Project/LMH Counter.vhd(29): (vcom-1136) Unknown identifier "L". Error: C:/DL_Project/LMH Counter.vhd(30): near "else": (vcom-1576) expecting END.
L<='1' when count<="0101" else '0'; M<='1' when count="0110" else '0'; H<='1' when count>="0111" else '0';Error: C:/DL_Project/LMH Counter.vhd(29): (vcom-1441) CONDITIONAL VARIABLE ASSIGNMENT is not defined for this version of the language. ** Error: C:/DL_Project/LMH Counter.vhd(30): near "else": (vcom-1576) expecting END.