如果我没有完全误解,常量或类型不能在文件的顶层声明。只有包、实体、架构等可以在那里声明。它们可以在实体中声明,但不能在端口和泛型子句之前声明。
通常,您会想要定义一种类型或常量,以便在实体的端口或泛型子句中使用,但由于无法在文件的顶层或实体内部声明,那么应该在哪里声明呢?
通常,您会想要定义一种类型或常量,以便在实体的端口或泛型子句中使用,但由于无法在文件的顶层或实体内部声明,那么应该在哪里声明呢?
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.math_real.all;
use work.My_Custom_Types_Pkg.all;
entity My_Entity is
port (
...
package
中是正确的位置。包及其主体可以存在于与实体/架构相同的文件中,也可以存在于单独的文件中。实体和架构也可以存在于单独的文件中(这已经在 其他SO讨论 中讨论过)。