携带 VHDL 代码的推荐方法是什么?
What is the recommended way for carrying VHDL code around?
我有一个由一些实体和一个包组成的 VHDL 设计。这些实体使用包中的一些定义,并且可以将彼此用作组件。
假设我用一个工具创建了它,但过了一段时间后我想使用该代码并在另一个工具中使用它。
以这种方式进行 VHDL 设计的 "right way" 是什么?我应该用它制作一个图书馆吗? (我以后可以 "import" 这个库到其他工具而不是它创建的工具吗?)我想要实现的是 Java 包之类的东西,它可以很容易地处理并包含在不同的项目中。有没有办法 "replicate" 在 VHDL 中做到这一点?
我读了 this SO question,但不知何故让我感到困惑。我是否应该只将我的实体和架构保留在 "work" 中并将包移动到库中?
VHDL 源代码通常可以在 VHDL 工具实现之间移植。
当一个设计单元被成功分析后,它被存储在一个库中,默认情况下,工作是什么,在上下文中。
库格式是实现定义的,不可移植。
IEEE Std 1076-2008 13.2 设计库,第 1 段:
A design library is an implementation-dependent storage facility for previously analyzed design units. A given implementation is required to support any number of design libraries.
和第 6 段:
For a given library logical name, the actual name of the corresponding design library in the host environment may or may not be the same. A given implementation shall provide some mechanism to associate a library logical name with a host-dependent library. Such a mechanism is not defined by the language.
没有什么能阻止您在可移植性问题的范围内将设计作为设计文件(源代码)的集合在工具实现之间移动。这包括特定设计单元所依赖的任何库的源代码。
需要支持 STD 和 IEEE 库以及它们的各种包(STANDARD、std_logic_1164、numeric_std、numeric_bit、...)提供可移植性框架在附件 D 的限制范围内,潜在的不可移植结构。
我有一个由一些实体和一个包组成的 VHDL 设计。这些实体使用包中的一些定义,并且可以将彼此用作组件。
假设我用一个工具创建了它,但过了一段时间后我想使用该代码并在另一个工具中使用它。
以这种方式进行 VHDL 设计的 "right way" 是什么?我应该用它制作一个图书馆吗? (我以后可以 "import" 这个库到其他工具而不是它创建的工具吗?)我想要实现的是 Java 包之类的东西,它可以很容易地处理并包含在不同的项目中。有没有办法 "replicate" 在 VHDL 中做到这一点?
我读了 this SO question,但不知何故让我感到困惑。我是否应该只将我的实体和架构保留在 "work" 中并将包移动到库中?
VHDL 源代码通常可以在 VHDL 工具实现之间移植。
当一个设计单元被成功分析后,它被存储在一个库中,默认情况下,工作是什么,在上下文中。
库格式是实现定义的,不可移植。
IEEE Std 1076-2008 13.2 设计库,第 1 段:
A design library is an implementation-dependent storage facility for previously analyzed design units. A given implementation is required to support any number of design libraries.
和第 6 段:
For a given library logical name, the actual name of the corresponding design library in the host environment may or may not be the same. A given implementation shall provide some mechanism to associate a library logical name with a host-dependent library. Such a mechanism is not defined by the language.
没有什么能阻止您在可移植性问题的范围内将设计作为设计文件(源代码)的集合在工具实现之间移动。这包括特定设计单元所依赖的任何库的源代码。
需要支持 STD 和 IEEE 库以及它们的各种包(STANDARD、std_logic_1164、numeric_std、numeric_bit、...)提供可移植性框架在附件 D 的限制范围内,潜在的不可移植结构。