- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[第九讲VHDL结构及语言要素2
第九讲 VHDL结构及语言要素(2) 实体(ENTITY):实体包含了对设计工程的输入和输出的定义说明 结构体(ARCHITECTURE):描述设计实体的内部结构和\或外部设计实体端口间的逻辑关系 包集合(PACKAGE):存放各设计模块都能共享的数据类型、常数和子程序等 配置(CONFIGRRATION):用于从库中选取所需单元来组成系统设计的不同版本 库(LIBRARY):存放已经编译的实体、结构体、包和配置,统一调用 一个实用的VHDL程序可以有一个或多个设计实体组成,可以将一个设计实体作为一个完整系统直接使用,也可以将它作为其他设计实体的一个低层次结构,即元件例化。 ①实体说明单元按照以上结构编写(即VHDL语言中实体的通用结构); ②实体名由设计者自己取,但须符合标识符约定的规范; ③实体名是设计实体的名称,在例化(已有元件的调用和连接)中,用此名称来调用相应的设计实体。 ④MAX+plusII要求实体名和文件名一致; 2、端口说明 端口声明:确定输入输出端口的数目和类型。 Port ( 端口名 :端口模式 数据类型; … 端口名 :端口模式 数据类型 ); 端口名是设计者为实体的每一个对外通道所取的名字。类似于原理图符号上的管脚。 实体与外界交流的信息必须通过端口通道流入或流出。 端口模式:是对外通道上的数据流动方式。 有以下类型: (Page24) in 输入型,此端口为只读型。 out 输出型,此端口只能在实体内部对其赋值。 inout 双向,输入输出型,既可读也可写,也可用于缓冲。多用于数据/地址总线。 buffer 缓冲型,具有读功能的输出模式,(从内部看)可读可写。 结构体构造图 语句格式 [块标号] block [(块保护表达式)] 接口说明 类属说明 Begin 并行语句 End block 块标号; 语句格式: [进程标号:] process [(敏感信号参数表)] [is] [进程说明部分] Begin 顺序描述语句 End process [进程标号] 这里,如果敏感信号表缺省,则进程内必须包含wait语句,因为进程需要由敏感信号表中的信号事件来激活,或由wait语句来同步。但是wait语句和敏感信号表不允许同时使用。 [进程说明部分]允许使用常量、变量、信号、类型以及子程序说明。进程内说明的变量,只允许在进程内使用,进程外不可见。进程仅在首次执行时对变量进行初始化,之后不管进程挂起与否,变量总保持运算的中间结果不会丢失。(相当于一个内存区) 进程的运行机制:当进程中定义的某一敏感信号发生变化时,由顺序语句定义的行为就要重复执行一次。然后,执行过程返回到进程的第一个语句,以等待下一次敏感信号变化。 Process是VHDL最有特色的语句,它包含了一个代表着设计实体中部分逻辑行为的、独立的顺序语句描述的进程。 VHDL中一个进程语句由顺序执行语句组成,每个进程均按顺序执行程序,但各个进程之间是并行运行的。主要通过在结构体中定义的信号或在实体中定义的端口来传递信号。 顺序语句可根据设计者的要求,利用其可控的语句,完成逐条执行的功能。 多用于更有效地完成重复性的计算工作; 包、结构体、进程中都可以定义子程序,但子程序一般放置于包中; 子程序分为两类: 过程(procdure) 是子程序的另一种形式 函数(function) 如转换函数和决断函数等具有专用功能的预定义函数 (2)STD 库(默认库) 库中程序包为:standard, 定义最基本的数据类型: Bit,bit_vector ,Boolean, Integer,Real,and Time 注:Type BIT 2 logic value system (‘0’, ‘1’) (3)VITAL库 (4)WORK库(默认库) (5)用户定义库 2 选 1 选择器: 课堂练习 with input select drive=B“1111110” when 0, B“0110000” when 1,
文档评论(0)