没有合适的资源?快使用搜索试试~ 我知道了~
VHDL复习题.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
温馨提示
![preview](https://dl-preview.csdnimg.cn/85702215/0001-efc7fcfae58ed1f20b20b51036897578_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
23页
VHDL复习题.pdfVHDL复习题.pdfVHDL复习题.pdfVHDL复习题.pdfVHDL复习题.pdfVHDL复习题.pdfVHDL复习题.pdfVHDL复习题.pdfVHDL复习题.pdf
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/85702215/bg1.jpg)
习 题
3.1 比较常用硬件描述语言 VHDL、Verilog 和 ABEL 语言的优劣。
1.
VHDL:
描述语言层次较高,不易控制底层电路,因而对综合器的性能要求较高。有多种
EDA 工具选择,已成为 IEEE 标准。
应用 VHDL 进行工程设计的优点是多方面的,具体如下:
(1) 与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力。
(2) VHDL 具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设
计系统的功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行
性做出判断。
(3) VHDL 语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已
有设计的再利用功能。
(4) 用 VHDL 完成一个确定的设计,可以利用 EDA 工具进行逻辑综合和优化,并自动把
VHDL 描述设计转变成门级网表(根据不同的实现芯片)。
(5) VHDL 对设计的描述具有相对独立性。
(6) VHDL 具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序
的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。
2.
Verilog:
设计者需要了解电路的结构细节,对综合器的性能要求较低。有多种EDA 工具选
择,已成为 IEEE 标准。
3.ABEL:
设计者需要了解电路的结构细节,对综合器的性能要求较低。支持ABEL 的综合器
只有一家,ABEL 正朝国际化标准努力。
3.2 VHDL 程序一般包括几个组成部分?每部分的作用是什么?
(1)三个基本组成部分:库、程序包使用说明,实体描述和实体对应的结构体描述。
(2)库、程序包使用说明:用于打开调用本设计实体将用到的库、程序包
实体描述:用于描述该设计实体与外界的接口信号说明
结构体描述:用于描述该设计实体内部的组成及内部工作的逻辑关系
结构体配置语句主要用于层次化的方式对特定的设计实体进行元件的例化,或是为实体
选定某个特定的结构体
3.3 VHDL 语言中数据对象有几种?各种数据对象的作用范围如何?各种数据
对象的实际物理含义是什么?
(1)数据对象有三种:变量、常量、信号
(2)常量的作用范围取决于其所定义的位置。若在程序包中定义,则可以用在调用该程序
包的所有设计实体中。若定义在实体中,则可在这个实体的所有结构体中使用。若定义在结
构体中,则只能用于该结构体。若定义在进程/子程序中,则只能用于该进程/子程序。
变量属于局部量,作用范围仅限于所定义的进程或子程序内部。
信号属于全局量,作用范围取决于其所定义的位置。若在程序包中定义,则可以用在调
用该程序包的所有设计实体中。若定义在实体中,则可在这个实体的所有结构体中使用。若
定义在结构体中,则只能用于该结构体。
(3)信号表示硬件中的连线,用于各并行语句模块之间的通信。变量一般用于存储局部 /
临时数据。 常量表示电路中的恒定电平,可使代码中常数易于阅读和修改。
3.4 什么叫标识符?VHDL 的基本标识符是怎样规定的?
![](https://csdnimg.cn/release/download_crawler_static/85702215/bg2.jpg)
(1)标识符用来定义常量、变量、信号、端口、子程序或者参数的名字。
(2)VHDL 的基本标识符就是以英文字母开头,不连续使用下划线,不以下划线结尾的,由
26 个英文大小写字母,数字 0-9 以及下划线组成的字符串。
3.5 信号和变量在描述和使用时有哪些主要区别?
(1)变量只能在进程或子程序内部定义,用于存储局部/临时数据。信号只能在进程或子程
序的外部定义,表示硬件中的连线,用于各并行语句模块之间的通信。
(2)信号用 signal 关键字定义,赋值符号为”<=”。变量用 variable 关键字定义,赋值符
号为”:=”
(3)信号赋值,可以设定延时量,需要延时一段时间后才执行;变量赋值立即执行。
3.6 VHDL 语言中的标准数据类型有哪几类?用户可以自己定义的数据类型有
哪几类?并简单介绍各数据类型。
(1)标量型:属单元素最基本的数据类型,通常用于描述一个单值数据对象,它包括实数
类型、整数类型、枚举类型和时间类型。
复合类型:可以由细小的数据类型复合而成,如可有标量复合而成。复合类型主要有
数组型和记录型。
存取类型:为给定的数据类型的数据对象提供存取方式。
文件类型:用于提供多值存取类型。
(2)用户可自定义的数据类型:枚举类型、整数类型、数组类型、记录类型、时间类型、
实数类型等
3.7 BIT 数据类型和 STD_LOGIC 数据类型有什么区别?
BIT 数据类型只能取值 0 或 1,而 STD_LOGIC 数据类型是 BIT 数据类型的扩展,除了 0 和
1 外,还包括 7 种数据类型,分别是 U,X,Z,W,L,H,_
3.8 用户怎样自定义数据类型?试举例说明。
利用类型定义语句 TYPE 和子类型定义语句 SUBTYPE 实现。
如 TYPE WEEK IS (SON,MON,TUE,WED,THU,FRI,SAT) SUBTYPE DIGITS INTEGER RANGE 0 TO 9
3.9 VHDL 语言有哪几类操作符?在一个表达式中有多种操作符时应按怎样的
准则进行运算?下列三个表达式是否等效:① A<=NOT B AND C OR D; ②
A<=(NOT B AND C) OR D; ③ A<=NOT B AND (C OR D).
(1)主要有四种操作符 逻辑运算符,关系运算符,算术运算符,符号运算符此外还有重载
运算符。(2)按照操作符的优先级高低进行运算
(3)这三个表达式不等效。1 式表达错误,对同一优先级的不同运算符应加上括号。2 和
3 式的运算顺序不同。
![](https://csdnimg.cn/release/download_crawler_static/85702215/bg3.jpg)
VHDL 操作符优先级:(关系操作符的结果只有 TRUE 或 FALSE 两种。)
![](https://csdnimg.cn/release/download_crawler_static/85702215/bg4.jpg)
3.10 简述六种移位操作符 SLL、SRL、SLA、SRA、ROL 和 ROR 的含义及操作规
定?并举例说明。
(1)SLL:逻辑左移,bit 或布尔一维数组
SRL:逻辑右移,bit 或布尔一维数组
SLA:算数左移,bit 或布尔一维数组
SRA:算数右移,bit 或布尔一维数组
ROL:逻辑循环左移,bit 或布尔一维数组
ROR:逻辑循环右移,bit 或布尔一维数组
(2)A= “ 10010101 "
A sll 2 得 "01010100" (逻辑左移,用 '0'填补空位)
A srl 3 得"00010010" (逻辑右移,用 '0'填补空位)
A sla 3 得"10101111" (算术左移,用最左端位填补空位)
A sra 2 得"11100101" (算术右移,用最右端位填补空位)
A rol 3 得"10101100" (循环左移)
A ror 5 得"10101100" (循环右移)
3.11 什么叫重载操作符?使用重载操作符有什么好处?怎样使用重载操作
符?含有重载操作符的运算怎样确定运算结果?
(1)对已存在的操作符重新定义,使其能进行不同类型操作数之间的运算。
(2)方便各种不同数据类型间的运算。
(3)引用数据包:STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED 和 STD_LOGIC_即可使用重载操
作符。
3.12 VHDL 程序设计中的基本语句系列有几种?它们的特点如何?它们各使用
在什么场所?它们各自包括些什么基本语句?
答:(1)顺序语句与并行语句。
(2)顺序语句的执行与它们的书写顺序基本一致(指仿真或逻辑上的顺序执行),但实际
上硬件电路是并行工作的。顺序语句用在进程和子程序的内部。
并行语句的执行与书写顺序无关,各语句是同时执行的,在执行过程中各并行语句之间可通
过信号进行通信,同步运行;也可以互为独立、互不相关,异步运行。
(3)顺序语句:变量/信号赋值语句,流程控制语句(if,case,loop,next,exit),等待语
句,子程序调用语句,返回语句,空操作语句等。
并行语句:进程语句,块语句,信号赋值语句,元件例化语句,生成语句,子程序调
用等语句。
3.13 VHDL 中信号赋值和变量赋值的有什么区别?其赋值符号是否异同?
信号赋值延时更新数据,一般生成时序电路,用的是" <= "
变量赋值立即更新数据,一般生成组合电路,用的是":="
(变量具有局部特征,它的有效性只局限于所定义的一个进程中,或一个子程序中,它是一
个局部的、暂时性数据对象,对于它的赋值是立即发生的。信号具有全局特征,它不但可以
作为一个设计实体内部各单元之间数据传送的载体,而且可通过信号与其他的实体进行通
信,信号的赋值不是立即发生的,它发生在一个进程结束时。)
3.14 段下标元素和集合块元素是怎样赋值的?试举例说明。
剩余22页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
- 楠少C++2023-07-02感谢资源主的分享,很值得参考学习,资源价值较高,支持!
![avatar](https://profile-avatar.csdnimg.cn/dfba069df9d743e89798b70d3e80af24_xxpr_ybgg.jpg!1)
xxpr_ybgg
- 粉丝: 6558
- 资源: 3万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)