分享

VHDL程序结构体

 njnh 2014-06-08
结构体具体指明了该设计实体的行为,定义了该设计实体的逻辑功能和行为,规定了该设计实体的内部模块及其内部模块的连接关系。VHDL对结构体的描述方式通常有行为描述、寄存器传输描述和结构描述3种。
由于结构体是对实体功能的具体描述,所以结构体一定在实体后面。一个VHDL程序结构体描述为:
architecture <arch_name> of <entity_name> is
— —declarative_items(signal declarations,component declarations,etc)
begin
— —architecture body
end <arch_name>;
其中arch_name为结构体的名字;entity_name为实体的名字。


例: architecture behaviour of adder_tree is
               signal sum1 ,sum2 : integer;
          begin
                  sum1<= a+b;
                  sum2 <= c+d;
                  sum   <= sum1+sum2;
             end  architecture behaviour;
      该结构体的名称是behaviour,隶属于实体adder_tree。通常对所有可综合的结构体采用behaviour作为结构体的名称。

结构体中begin开始的前面部分为声明项(declarative_items),通常是对设计内部的信号或者元件进行声明;而begin后面一直到结构体的结束部分是对实体行为和功能的具体描述,该部分的描述是由顺序语句和并发语句完成的。
1、结构体命名
结构体的名称有设计者自由命名,是结构体的唯一名称。有些设计实体中可能含有多个结构体,OF后面的实体名称部分表明该结构体属于哪个设计实体。
2、结构体内信号定义
由结构体的书写格式可以知道,关键字ARCHITECTURE和BEGIN之间的部分用于对结构体内部使用的信号、常数、数据类型、函数进行定义。
特别需要注意的是,这些声明用于结构体内部,而不能用于实体内部,因为一个实体中可能有多个结构体相对应。另外,实体说明中定义I/O信号为外部信号,而结构体定义的信号为内部信号。
结构体的信号定义和实体端口说明一样,应该有信号名称和数据类型定义,但不需要定义信号模式,不需要说明信号方向,因为这些结构体的内部信号使用来描述结构体内部连接关系的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多