我很少有人怀疑。我可以用进程编写VHDL结构程序吗?我可以在没有流程的情况下编写行为建模吗?我可以在行为和结构建模中使用端口映射吗?在VHDL中编写结构和行为是否有某些语法规则?
答案 0 :(得分:1)
混合任何这些结构是合法的(推荐的是另一个问题,并且有些主观,因此可能在这里偏离主题)。
行为建模通常意味着一个过程,而一些(许多?)设计师避免将过程与结构代码混合(一般而言不是我),但混合它们并不是非法的,并且没有任何意义"神奇"关于用一个或另一个术语标记体系结构。
答案 1 :(得分:1)
Structural是指组件的层次结构。在某种程度上,所有功能VHDL设计模型都是抽象的和行为的,VHDL没有原生基元。
精心设计的模型由层次结构,流程语句,并发语句及其顺序等价物(例如顺序过程调用)组成,分为块语句(层次结构)和/或等效过程。函数调用是表达式的一部分。
来自IEEE Std 1076-2008(LRM):
设计实体和配置
设计实体是VHDL中的主要硬件抽象。它 表示具有明确定义的输入的硬件设计的一部分 并输出并执行明确定义的功能。设计实体 可以代表整个系统,子系统,板,芯片,等等 宏单元,逻辑门或其间的任何抽象级别。一个 配置可用于描述如何将设计实体组合在一起以形成完整的设计。
可以根据块的层次结构来描述设计实体, 每个都代表整个设计的一部分。顶级 这种层次结构中的块是设计实体本身;这样的一块就是 一个驻留在库中的外部块,可以用作 其他设计的组成部分。层次结构中的嵌套块是 内部块,由块语句定义(见11.2)。
设计实体也可以根据互连来描述 组件。设计实体的每个组件可以绑定到a 较低级别的设计实体,以便定义结构或行为 那个组成部分。将设计实体连续分解为 组件,并将这些组件绑定到其他设计实体 可以以类似的方式分解,导致设计的层次结构 代表完整设计的实体。这样的设计集合 实体称为设计层次结构。必要的绑定 识别设计层次结构可以在配置中指定 层次结构中的顶级实体。
在这里您可以找到设计模型的结构和行为之间的区别。
架构主体
架构主体定义设计实体的主体。它指定了设计的输入和输出之间的关系 实体,可以用结构,数据流或表达来表达 行为。这些规范可能是部分或完整的。
注意,您可以在没有功能设计模型的情况下提取结构(网表)。最低规格是
architecture architecture_name of entity_name is
begin
end architecture;
和
详细阐述设计层次结构
设计层次结构的细化创建了一个集合 通过网络互联的过程;这个过程和集合 然后可以执行网络来模拟设计的行为。
来自术语表:
设计层次结构:完整的设计表示形式 将设计实体连续分解为 子组件以及这些组件与其他设计实体的绑定 可能会以类似的方式分解。
model:精心设计层次结构。可以执行模型 为了模拟它所代表的设计。
执行:(A)首先详细说明模型的设计层次结构,然后初始化其网络,最后进行模拟 在此期间,重复执行模拟循环 执行哪些进程并更新网络。 (B)当一个过程 执行由其中描述的算法指定的动作 声明部分
纯粹的结构设计模型没有指定的行为,仅代表网表。它在模拟时不会执行任何操作,但是当实体与目标设备原语匹配时,网表可以直接映射。设备供应商倾向于为设计实体提供架构主体,为其目标基元提供行为规范。