网站大量收购独家精品文档,联系QQ:2885784924

HDL语言程序的基本结构.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HDL语言程序的基本结构

HDL语言程序的基本结构 2.1 VHDL语言设计的基本单元及其构成2.2 语言结构体的子结构描述2.3 2.1 VHDL语言设计的基本单元及其构成????????? 一个完整的VHDL语言程序通常包含实体(Entity)、构造体(Architecture)、配置(Configuration)、包集合(Package)和库(Library):????????? 功能: 实体 -—- 用于描述所设计的系统的外部接口信号; 构造体—— 用于描述系统内部的结构和行为; 存放各设计模块都能共享的数据类型、常数和子程序库; —— 用于从库中选取所需单元来组成系统设计的不同版本; —— 存放已经编译的实体、构造体、包集合和配置。 ????????? 实体说明(接口) 1.? 规定此实体输入与输出的数目与类型。 ????????? 结构:   entity 实体名 is [generic(类属参数说明)]; [port(端口说明)]; end 实体名; ????????? generic ( 常数名:数据类型 :=数值); 在端口说明前,用于指定参数。 ????????? 端口说明: 在entity语句的实体说明部分,常用port语句描述实体对外界连接的端口(数目、方向和数据类型)。 port (   .  .  .   端口名:端口方向 端口数据类型; ); 端口方向: in (输入),只能读,用于:时钟输入、控制输入(装入、复位、使能)、单向数据输入; out (输出),只能被赋值,用于不能反馈的输出; inout(输入输出) buffer(缓冲),类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。 ????????? 1): entity NAND2 is port(A,B: in BIT; Z: out BIT); end NAND2; ????????? 2): --Define an entity (design) called COMP --that has 2 N-bit input and one output. entity COMP is generic(N : INTEGER :=8 ) ; -- default is 8 bits port ( x, y : in BIT_VECTOR ( 0 to N-1); equal : out BOOLEAN ); end COMP; 2. 构造体定义实体功能的一种实现。 ????????? 构造体的结构: architecture 构造体名 of 实体名 is  {块说明项} begin {并发语句} end ; ????????? 块说明项(或定义语句),位于architecture 和begin之间,对构造体内部的使用信号、常数、数据类型和函数进行说明,包括: 子程序说明 子程序体 类型说明 子类型说明 常数说明 信号说明 元件说明 ????????? 并行语句处于begin 与end之间,描述构造体的行为与连接关系。 ????????? 行为描述(按算法的路径来描述); 数据流描述或RTL描述(采用寄存器传输描述); 例化(instantiation ):在高层次的设计中调用低层次的实体作为元件的过程。 ????????? 构造体的组织 ????????? 例 entity COUNTER3 is port( clk: in bit; reset : in bit; count: out integer range 0 to 7); end COUNTER3; ? architecture MY_ARCH of COUNTER3 is signal count_tmp : integer range 0 to 7; begin process begin wait until (clkevent and clk=1); if reset=1 or count_tmp =7 then count_tmp=0; else count_tmp=count_tmp + 1; end if; end process; count=count_tmp; end MY_ARCH; 注:构造体中的信号和常数名不能与实体端口名相同。 5 2.2 语言结构体的子结构描述 1.??????? block语句结构?????????

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档