【发布时间】:2016-07-13 18:23:05
【问题描述】:
我有使用 Verilog/SystemVerilog 的经验,但我是 VHDL 新手,我正试图弄清楚何时应该使用组件实例化或实体实例化。 组件实例化是指在实例化实体组件之前声明实体组件的传统方式。另一方面,VHDL-93 引入的实体实例化允许您直接声明实体而无需指定组件。 Related Article
在我看来,实体实例化总是更可取,除非您还没有实现架构并且只想定义一个黑匣子。
这是我找到的Related Question,但它确实完全解决了我的疑问。因为可以为任何实体定义通用映射和架构:
entity work.MyEntity_E(ARCH) generic map(
...)
port map(
...
);
进行组件实例化的额外灵活性是什么?显示无法通过实体实例化但可以通过组件实例化完成的事情的最简单示例是什么?
【问题讨论】:
-
使用实体实例化,您必须先编写实体,然后才能编译此文件...使用组件,您可以推迟该步骤,直到您链接(详细)设计。
-
对,这就是我所说的“在我看来,实体实例化总是更可取,除非你还没有实现架构并且你只想定义一个黑盒子”。我现在意识到那句话不是很清楚。不过还有什么其他好处?我列出的文章声称组件实例化方法更灵活,我不明白为什么。
-
IEEE Std 1076-2008 6.8 组件声明“组件声明声明了一个与虚拟设计实体的接口,该接口可用于组件实例化语句。组件配置或配置规范可用于关联具有驻留在库中的设计实体的组件实例。”
标签: vhdl