gpt4 book ai didi

entity - VHDL 你能在同一个文件中声明一个包和一个实体吗?

转载 作者:行者123 更新时间:2023-12-04 17:22:19 24 4
gpt4 key购买 nike

我试图将包和实体放在同一个文件中,但它没有编译它给了我一个错误说:未知标识符 std_logic,

我应该做些什么来将它们放在同一个文件中?

最佳答案

您在文件顶部提供的库声明适用于下一个设计单元(可能是您的包)。

当您启动实体时,它是一个新的设计单元,并以一个空的库空间开始,因此您必须再次放入库声明。如果在给定文件中放置多个实体,也会发生同样的情况 - 您必须为每个实体放置库子句。

VHDL 编译器根本不关心任何文件在什么文件中,它只对其中的单元进行操作。所以你可以有一个 entity在一个文件中与一些 library声明,以及 architecture在另一个。这些库不需要在架构文件中重做,它们随实体一起出现。如果有您只需要用于架构的库,则可以将它们包含在架构声明之前(无论您是在一个文件中还是在两个文件中):

library ieee; 
use ieee.std_logic_1164.all;
entity foo
port (
bar: std_logic;
etc...);
end entity;

-- could start a new file here, or not.
use ieee.numeric_std.all; -- not needed for the entity as it doesn't use unsigned types
architecture a of foo is
signal counter : unsigned (10 downto 0);
begin
...
end architecture;

关于entity - VHDL 你能在同一个文件中声明一个包和一个实体吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19815066/

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