《数字电路EDA设计》课件第四章 VHDL语言.pptVIP

《数字电路EDA设计》课件第四章 VHDL语言.ppt

  1. 1、本文档共129页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

习题1.什么是硬件描述语言?它与一般的高级语言有哪些异同?2.用VHDL设计电路与传统的电路设计方法有何区别?4.VHDL程序有哪些基本的部分?4.什么进程的敏感信号?进程与赋值语句有何异同?5.什么是并行语句、顺序语句?6.怎样使用库及库内的程序包?列举出三种常用的程序包。7.BIT类型与STD_LOGIC类型有什么区别?8.信号与变量使用时有何区别?9.BUFFER与INOUT有何异同?10.为什么实体中定义的整数类型通常要加上一个范围限制?11.怎样将两个字符串“hello”和“world”?组合为一个10位长的字符串?12.IF语句与CASE语句的使用效果有何不同?13.使用CASE语句时是否一定要加语句“WHENOTHERS”?为什么?14.以下程序有何错处,试改正。ENTITYbasiccountISPORT(clk:INBIT; q:OUTBIT_VECTOR(7DOWNTO0));ENDbasiccount;ARCHITECTUREaOFbasiccountISBEGIN PROCESS(clk) IFclkeventANDclk=1THEN q=q+1;ENDIF;ENDPROCESS;ENDa;15.试编写一个程序包,该程序包内部定义一个枚举类型与一个函数,其中函数的功能是对对输入的两个数进行大小比较。16.下列语句是否有错?有则改之。 ……SIGNALinvalue:INTEGERRANGE0TO15; SIGNALoutvalue:STD_LOGIC;……CASEinvalueIS WHEN0=outvalue=’1’; WHEN1=outvalue=’0’;ENDCASE;……?4.8.1位(Bit)在数字系统中,信号值通常用一个位来表示。位值的表示方法是,用字符0或1放在单括号中表示。位和整数中的0和1不同,‘0’和‘1’仅仅表示一个位的两种取值。位数据可以用来描述数字系统中总线的值。位数据不同于布尔数据,可以利用转换函数进行变换。4.8.2位矢量(Bit_VECTOR)位矢量是用双括号括起来的一组位数据。例如:"001100",H"00BE"。位矢量前的H表示是十六进制。位矢量可以表示十进制、二进制以及十六进制等的位矢量,表示时只要在前面加上相应的特征字符就可以了。4.8.3布尔量(Boolean)一个布尔量有两种状态,“真”或者“假”,布尔量初值通常为FALSE。虽然布尔量也是二值枚举量,但它和位不同,没有数值的含义,也不能进行算术运算,而只能进行关系运算。例如,它可以在IF语句中被测试,测试结果产生一个布尔量TRUE或FALSE,并以此结果控制其他语句的执行与否。如语句“IFclk=’1’THEN……”在信号clk?确实为“1”的情况下,表达式“clk=’1’”取值为TRUE,此时将执行THEN后的语句,否则THEN后的语句不会被执行。4.8.4整数(Integer)整数类型的数包括正、负整数和零。VHDL中,-2147484647~2147484647是整数的表示范围,可用42位有符号的二进制数表示。在应用时,整数既不能看作是位矢量,也不能按位来进行访问,并且不能对整数用逻辑操作符。当需要进行位操作时,可以使用转换函数,将整数转换成位矢量。在电子系统的开发过程中,整数也可以作为对信号总线状态的一种抽象手段,用以准确的表示总线的某一状态。4.8.5实数(Real)实数的定义值范围为-1.0E+48~+1.0E48。实数有正负数,书写时一定要有小数点。当小数部分为零时,也要加上其小数部分,如4.0若表示为4则会出现语法错误。值得读者注意的是,虽然VHDL提供了实数这一数据类型,但仅在仿真时可使用该类型。综合过程时,综合器是不支持实数类型的,原因是综合的目标是硬件结构,而要想实现实数类型通常需要耗费过大的硬件资源,这在硬件规模上无法承受。4.8.6字符(Character)字符也是一种数据类型,所定义的字符量通常用单引号括起来,如‘A’。一般情况下VHDL对字母的大小写不敏感,但是对于字符量中的大、小写字符则认为是不一样的。字符可以是英文字母中的任一个大小写字母,0~9中的任一个数字以及空白或特殊字符。4.8.7字符串(String)字符串是由双引号括起来的一个字符序列,也称为字符矢量或字符串数组。如"VHDLProgrammer",字符串常用于给出程序的说明。4.8.8时间(Time)时间是一个

文档评论(0)

酱酱 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档