【发布时间】:2016-07-20 17:36:45
【问题描述】:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity test_adder_vhdl is
end test_adder_vhdl;
architecture Behavioral of test_adder_vhdl is
constant clock_period : time := 1000 ns ;
component adder is
PORT (A: in STD_LOGIC;
B: in STD_LOGIC;
SUM: out STD_LOGIC;
CARRY: out STD_LOGIC);
end component adder;
SIGNAL A: STD_LOGIC : ='0';
SIGNAL B: STD_LOGIC : ='0';
SIGNAL SUM: STD_LOGIC : ='0';
SIGNAL CARRY: STD_LOGIC : ='0';
begin
uut: adder port map(
A=> A;
B=> B;
SUM => SUM;
CARRY => CARRY;
);
clk gena: process
begin
wait for 100 ns;
A <= not A;
end process;
clk genb: process
begin
wait for 50 ns;
B <= not B;
end process;
end Behavioral;
上面代码的错误是
[HDL 9-806] “:”附近的语法错误。 [“F:/practiceWorkspace/practice1/practice1.srcs/sim_1/new/test_adder_vhdl.vhd”:38]
【问题讨论】:
-
您没有显示与您的设计对应的行号。有四个信号声明(A、B、SUM、CARRY),复合分隔符“:=”中的“:”和“=”之间有多余的空格,用于提供默认值“0”。在端口映射中,',' 应该用作关联列表中的分隔符,而不是 ';'。最后一个关联不需要后面的逗号(它用作分隔符)。标签 clk_gena 和 clk_genb 中有一个空格而不是下划线。标签是单个标识符。修复这些后,您的代码分析。没有进一步的保证。
-
恒定时钟周期:时间:= 1000 ns;就在这行代码
标签: vhdl simulation vivado