为什么您在“中”中给出错误=&引用;在我的VHDL代码中 ieee库; 使用ieee.std_logic_1164.ALL; 使用ieee.std_logic_unsigned.ALL; 实体f_4fir_cont为 港口( rst,clk:标准逻辑中; ctrl:OUT std_逻辑 ); 结束f\u 4fir\u cont; f_4fir_cont的架构bhvrl是类型state_enum IS(s0,s1); 信号状态:状态_enum:=s0; 信号nexts:state_enum:=s1; 开始 clkp:过程(clk、rst) 开始 如果(rst=“0”),则 状态
rst和为什么您在“中”中给出错误=&引用;在我的VHDL代码中 ieee库; 使用ieee.std_logic_1164.ALL; 使用ieee.std_logic_unsigned.ALL; 实体f_4fir_cont为 港口( rst,clk:标准逻辑中; ctrl:OUT std_逻辑 ); 结束f\u 4fir\u cont; f_4fir_cont的架构bhvrl是类型state_enum IS(s0,s1); 信号状态:状态_enum:=s0; 信号nexts:state_enum:=s1; 开始 clkp:过程(clk、rst) 开始 如果(rst=“0”),则 状态,vhdl,Vhdl,rst和clk都是std_逻辑,这是一种枚举类型。您正在将它们与数组进行比较。将所有比较更改为单个字符: 如果rst='0',则 等等。字符串文本或字符文本的类型取自上下文(IEEE Std 1076-2008,9.3.2文本,12.5重载解析上下文)。没有实现与用法匹配的相等运算符的函数的可见声明。只需要一个。有一些可见性规则用于根据内部声明区域和范围(12.3可见性、12.1声明区域、12.2声明范围)缩小候选范围。这里没有与use子句可见的重载函数声明相匹配的项。 LIBRARY iee
clk
都是std_逻辑
,这是一种枚举类型。您正在将它们与数组进行比较。将所有比较更改为单个字符:
如果rst='0',则
等等。字符串文本或字符文本的类型取自上下文(IEEE Std 1076-2008,9.3.2文本,12.5重载解析上下文)。没有实现与用法匹配的相等运算符的函数的可见声明。只需要一个。有一些可见性规则用于根据内部声明区域和范围(12.3可见性、12.1声明区域、12.2声明范围)缩小候选范围。这里没有与use子句可见的重载函数声明相匹配的项。
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.ALL;
ENTITY f_4fir_cont IS
PORT (
rst, clk : IN std_logic;
ctrl : OUT std_logic
);
END f_4fir_cont;
ARCHITECTURE bhvrl OF f_4fir_cont IS TYPE state_enum IS (s0, s1);
SIGNAL state : state_enum := s0;
SIGNAL nexts : state_enum := s1;
BEGIN
clkp : PROCESS (clk, rst)
BEGIN
IF (rst = "0") THEN
state <= s0;
ELSIF (clk'EVENT AND clk = "1" AND
clk'LAST_VALUE = "0") THEN
state <= nexts;
END IF;
END PROCESS clkp;
transp : PROCESS (state)
BEGIN
CASE state IS
WHEN s0 => nexts <= s1;
ctrl <= "0";
WHEN s1 => nexts <= s0;
ctrl <= "1";
END CASE;
END PROCESS transp;
END bhvrl;