자일링스를 사용하여 3 개 카운터의 VHDL 시뮬레이션을해야하는 대학 프로젝트를 만들고 있습니다. 카운터 중 하나는 5에서 0으로 가고, 다른 카운터는 4에서 0으로 이동하고 다른 카운터는 13에서 0으로 이동하지만 하나의 클럭 신호로 두 번 카운트합니다.자일링스의 VHDL 도움이 필요합니다.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
LIBRARY UNISIM;
USE UNISIM.Vcomponents.ALL;
ENTITY projetesquema2_projetesquema2_sch_tb IS
END projetesquema2_projetesquema2_sch_tb;
ARCHITECTURE behavioral OF projetesquema2_projetesquema2_sch_tb IS
COMPONENT projetesquema2
PORT(CLOCK : IN STD_LOGIC;
ACL : IN STD_LOGIC;
CAT : OUT STD_LOGIC;
CRT : OUT STD_LOGIC;
CLT : OUT STD_LOGIC;
ACA : IN STD_LOGIC);
END COMPONENT;
SIGNAL CLOCK : STD_LOGIC;
SIGNAL ACL : STD_LOGIC;
SIGNAL CAT : STD_LOGIC;
SIGNAL CRT : STD_LOGIC;
SIGNAL CLT : STD_LOGIC;
SIGNAL ACA : STD_LOGIC;
BEGIN
UUT: projetesquema2 PORT MAP(
CLOCK => CLOCK,
ACL => ACL,
CAT => CAT,
CRT => CRT,
CLT => CLT,
ACA => ACA
);
*** Test Bench - User Defined Section ***
tb : PROCESS
BEGIN
process (CLOCK)
begin
if (CLOCK'event and CLOCK='1') then
if (ACA='0') then
CAT <= "0000";
else
CAT <= CAT + 1;
end if;
end if;
end process;
process (CAT)
begin
if (CAT'event and CAT='1') then
CRT <= CRT + 1;
end if;
end if;
end process;
process (CLOCK)
begin
if (CLOCK'event and CLOCK='1') then
if (ACL='0') then
CLT <= "0000";
else
CLT <= CLT + 1;
end if;
end if;
end process;
end Behavioral;
WAIT; -- will wait forever
END PROCESS;
*** End Test Bench - User Defined Section ***
END;
이 나에게 내가 해결하는 방법을 모르는 약간의 오차가 있습니다 : 내가 개발 한 코드 (엔티티 및 아키텍처를 그대로 유지하도록되어 있으므로 그것이 내가 생각하는 개략적 기반으로했다) 이와 같은 일을했다 누군가가 실제로 나를 도울 수 있기를 바랍니다. 오류 :
오류 : 54 번째 줄 : "process"근처에 구문 오류가 있습니다.
오류 : 줄 55 : "begin"근처에 구문 오류가 있습니다.
ERROR : 행 58 : 유형 STD_LOGIC는 문자열 리터럴과 일치하지 않는
ERROR : 행 60 : 발견 '0'연산자의 정의를 "+", "+"
에 대한 정확한 과부하가 일치하는 정의를 확인할 수 없습니다ERROR : 라인 68 : 라인 70 : 볼 '0'오퍼레이터의 정의는 "+", "+"
ERROR 대한 정확한 오버 매칭 정의를 결정할 수 구문 오류 "만약"근처.
ERROR : 행 77 : 유형 STD_LOGIC는 문자열 리터럴과 일치하지 않는
ERROR : 행 79 : 발견 '0'연산자의 정의를 "+", "+"
에 대한 정확한 과부하가 일치하는 정의를 확인할 수 없습니다오류 : 줄 22 : 이전 오류로 인해 단위가 무시되었습니다.
오류 : 줄 85 : "WAIT"근처에 구문 오류가 있습니다.
표시되는 오류를 표시 할 수 있습니까? – kestasx
기본적으로 다음과 같은 오류가 발생합니다 : "process"및 "begin"근처의 구문 오류, 다양한 유형의 std_logic이 문자열 리터럴과 일치하지 않음, 연산자 "+"의 정의가 발견 됨, 구문 오류가있는 경우 근처에서로 인해 무시 됨 이전 오류 및 WAIT 근처의 구문 오류 –
pmff96
@ pmff96 질문에 직접 오류 출력을 추가하십시오 (주석의 수와 문자 수에 제한이 있음). –