gpt4 book ai didi

compiler-errors - 第一次使用VHDL/MODELSIM : can't compile component [(vcom-1576) expecting END.]

转载 作者:行者123 更新时间:2023-12-02 11:06:57 25 4
gpt4 key购买 nike

我以前来这里是因为C问题和/或Java。

这些天,我在学习VHDL,目前陷入一个非常小的问题。我想也许有些新鲜的眼睛可以给我解决方案。我已经很接近了。

这是一个简单的1-BIT ADDER [效果很好]

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.all;

entity ADDC1 is
port ( A, B, CIN : in std_logic;
COUT, SUM : out std_logic);

end entity;

architecture DF of ADDC1 is
begin
SUM <= A XOR B XOR CIN;
COUT <= (A AND B) OR (B AND CIN) OR (A AND CIN);


end architecture;

我的目标是使用此组件作为一个链接的4位加法器。
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.all;


entity ADDC4 is
port (
I1, I2: in std_logic_vector(3 downto 0);
CIN : in std_logic;
SUM : out std_logic_vector(3 downto 0);
COUT : out std_logic );
end entity ADDC4;



architecture STRUCT of ADDC4 is

component ADDC1(DF) is
port ( A: in std_logic;
B: in std_logic;
CIN: in std_logic;
COUT: out std_logic;
SUM : out std_logic);
end component;

signal COI1,COI2,COI3 : std_logic;

begin

AD1: work.ADCC1 port map (A => I1(0), B => I2(0), CIN => CIN, SUM => SUM(0), COUT => COI1);

AD2: work.ADCC1 port map (A => I1(1), B => I2(1), CIN => COI1, SUM => SUM(1), COUT => COI2);

AD3: work.ADCC1 port map (A => I1(2), B => I2(2), CIN => COI2, SUM => SUM(2), COUT => COI3);

AD4: work.ADCC1 port map (A => I1(3), B => I2(3), CIN => COI3, SUM => SUM(3), COUT => COUT);


end architecture STRUCT;

我检查了几个站点,浪费了一个小时,我知道这一定是我没有看到的愚蠢的简单事情,因为我不熟悉该语言。

总体思路似乎不错。

你能帮忙吗 ?

最佳答案

有几件事是错的。

在顶部添加此

LIBRARY work;

另外,经过10个小时的工作后,初学者犯了一个错误,并且眼中有泥巴
AD1:  work.ADCC1 port map (A => I1(0), B => I2(0), CIN => CIN, SUM => SUM(0), COUT => COI1);

是错的 !!!

首先:ADDC1是正确的名称! (如果阅读此书以寻求解决方案,请小心您的名字)

第二:有3种书写方式
AD1:  entity work.ADDC1 port map (A => I1(0), B => I2(0), CIN => CIN, SUM => SUM(0), COUT => COI1);

要么
AD1:  entity work.ADDC1(DF) port map (A => I1(0), B => I2(0), CIN => CIN, SUM => SUM(0), COUT => COI1);

或简单地
AD1:  ADDC1 port map (A => I1(0), B => I2(0), CIN => CIN, SUM => SUM(0), COUT => COI1);

最后一件事:即使我的老师这么说...
component ADDC1(DF) is 

是一种错误的书写方式,您只应该
component ADDC1 is 

然后选择以上之一

希望这篇文章有一天能对某人有所帮助;)

为所有人加油

PS:如果您想在代码中保存行,则应该这样做
component ADDC1 is 
port ( A, B, CIN: in std_logic;
COUT, SUM: out std_logic);
end component;

关于compiler-errors - 第一次使用VHDL/MODELSIM : can't compile component [(vcom-1576) expecting END.],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57998421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com