我有一个vivando项目,当我尝试在我的一个vhdl程序中创建端口映射时,我得到了我不知道的错误';我不知道如何解决
我有一个vhdl文件,我正试图在vivando中为它创建端口映射,但是我不断地得到我不理解的错误。我对vhdl比较陌生,希望能得到任何帮助,帮助我找出需要更改的内容。 这是带有端口映射的程序我有一个vivando项目,当我尝试在我的一个vhdl程序中创建端口映射时,我得到了我不知道的错误';我不知道如何解决,vhdl,Vhdl,我有一个vhdl文件,我正试图在vivando中为它创建端口映射,但是我不断地得到我不理解的错误。我对vhdl比较陌生,希望能得到任何帮助,帮助我找出需要更改的内容。 这是带有端口映射的程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY DispAlu4 IS PORT( a: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -- Input SW[7..4]: a[3..0] b: IN STD_LOGIC_VECT
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DispAlu4 IS
PORT(
a: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -- Input SW[7..4]: a[3..0]
b: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -- Input SW[3..0]: b[3..0]
control: IN STD_LOGIC_VECTOR(1 DOWNTO 0); -- Input SW[15..14]: control[1..0]
led15: OUT STD_LOGIC; -- Output LED[15]: overflow
led17: OUT STD_LOGIC; -- Output LED[17]: zero
led16: OUT STD_LOGIC; -- Output LED[16]: cOut
an: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -- Output AN[7..0]: '0' enabled
hex: OUT STD_LOGIC_VECTOR(6 DOWNTO 0) -- Output HEX[6..0]: result[3..0]
);
END DispAlu4;
ARCHITECTURE behavioral OF DispAlu4 IS
COMPONENT Alu4
PORT(
a, b: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
control: IN STD_LOGIC_VECTOR(1 DOWNTO 0);
overflow: OUT STD_LOGIC;
zero: OUT STD_LOGIC;
cOut: OUT STD_LOGIC;
result: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)
);
END COMPONENT;
COMPONENT Bin2Hex
PORT(
bin: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
hex: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)
);
END COMPONENT;
SIGNAL overflow_sig: STD_LOGIC;
SIGNAL zero_sig: STD_LOGIC;
SIGNAL carry_sig: STD_LOGIC;
SIGNAL result_sig: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
U1: Alu4 PORT MAP (a, b, control_sig => control, overflow_sig, zero_sig, result_sig, carry_sig); #port map that has errors
END behavioral;
以下是其中引用的其他程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY Alu4 IS
GENERIC( CONSTANT N: INTEGER := 4; -- 4 bits ALU
CONSTANT Z: STD_LOGIC_VECTOR(3 DOWNTO 1) := "000" -- 3 Zeros
);
PORT(
a, b: IN STD_LOGIC_VECTOR(N-1 DOWNTO 0);
control: IN STD_LOGIC_VECTOR(1 DOWNTO 0);
overflow: OUT STD_LOGIC;
zero: OUT STD_LOGIC;
cOut: OUT STD_LOGIC;
result: OUT STD_LOGIC_VECTOR(N-1 DOWNTO 0)
);
END Alu4;
ARCHITECTURE behavioral OF Alu4 IS
COMPONENT Alu1
PORT(
a: IN STD_LOGIC;
b: IN STD_LOGIC;
cIn: IN STD_LOGIC;
control: IN STD_LOGIC_VECTOR(1 DOWNTO 0);
cOut: OUT STD_LOGIC;
result: OUT STD_LOGIC
);
END COMPONENT;
SIGNAL carry_sig: STD_LOGIC_VECTOR(N DOWNTO 0); -- carry_sig(N) = MSB cOut
SIGNAL result_sig: STD_LOGIC_VECTOR(N-1 DOWNTO 0);
BEGIN
process (a, b, control)
BEGIN
case control is
WHEN "000" =>
result_sig <= a AND b;
WHEN "001" =>
result_sig <= a OR b;
WHEN "010" =>
result_sig <= carry_sig;
WHEN "011" =>
result_sig <= carry_sig;
WHEN "100" =>
result_sig <= NOT a;
WHEN "101" =>
result_sig <= a XOR b;
WHEN "110" =>
result_sig <= carry_sig;
WHEN "111" =>
result_sig <= NOT b;
WHEN others =>
NULL;
END case;
END process;
END behavioral;
IEEE库;
使用IEEE.STD_LOGIC_1164.ALL;
实体Alu4是
通用(常数N:整数:=4;--4位ALU
常数Z:STD_逻辑_向量(3到1):=“000”--3个零
);
港口(
a、 b:标准逻辑向量(N-1到0);
控制:标准逻辑向量(1到0);
溢出:输出标准逻辑;
零:输出标准逻辑;
cOut:输出标准逻辑;
结果:输出标准逻辑向量(N-1到0)
);
末端Alu4;
Alu4的体系结构是
组分Alu1
港口(
答:标准逻辑;
b:标准逻辑;
cIn:标准逻辑;
控制:标准逻辑向量(1到0);
cOut:输出标准逻辑;
结果:输出STD_逻辑
);
端部元件;
信号进位信号:标准逻辑向量(N到0);--进位信号(N)=最高有效位
信号结果信号:标准逻辑向量(N-1到0);
开始
过程(a、b、控制)
开始
病例对照
当“000”=>
结果
结果
结果
结果
结果
结果
结果
结果
无效的
终例;
结束过程;
结束行为;
第二计划
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY Bin2Hex IS
PORT(
bin: IN STD_LOGIC_VECTOR(3 DOWNTO 0); --4-bit binary inputs
hex: OUT STD_LOGIC_VECTOR(6 DOWNTO 0) --7-segment hex display
);
END Bin2Hex;
ARCHITECTURE behavioral OF Bin2Hex IS
BEGIN
WITH bin SELECT
hex <= "1000000" WHEN "0000", --0
"1111001" when "0001", --1
"0100100" when "0010", --2
"0110000" WHEN "0011", --3
"0011001" WHEN "0100", --4
"0010010" WHEN "0101", --5
"0000010" WHEN "0110", --6
"1111000" WHEN "0111", --7
"0000000" WHEN "1000", --8
"0010000" WHEN "1001", --9
"0001000" WHEN "1010", --A
"0000011" WHEN "1011", --b
"0100110" WHEN "1100", --C
"0100001" WHEN "1101", --d
"0000110" WHEN "1110", --E
"0001110" WHEN "1111", --F
"1111111" when others;
END behavioral;
IEEE库;
使用IEEE.STD_LOGIC_1164.ALL;
实体Bin2Hex是
港口(
bin:标准逻辑向量(3到0);--4位二进制输入
十六进制:输出标准逻辑向量(6到0)--7段十六进制显示
);
端部Bin2Hex;
Bin2Hex的体系结构是
开始
使用bin SELECT
十六进制注释由“-”和行尾分隔,而不是您引入的另一个错误。端口映射关联列表可以具有位置关联或命名关联,将正式端口与实际表达式关联(此处为信号)。一旦切换到命名关联,就无法切换回位置关联,因为命名关联是无序的。在语法分析过程中,无法知道命名关联是否也是位置有序的,因此会出现错误。显示完整的错误消息。你是说(锡林克斯)维瓦多而不是维万多?(如果是这样,则添加它的标记。)您还可以将命名的关联转换为实际=>formal,而不是formal=>actual。您可以使用位置关联进行正式控制。实际控制信号未声明。实体alu在组件声明中为alu4。还有其他几个错误。是的,我的意思是XilinX合成错误消息类似于error[Synth 8-2549]位置关联不能跟在命名关联之后。