VHDL习题解答要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VHDL 程序设计教程习题参考解答
第一章习题参考答案
1.什么是VHDL?VHDL的实现有哪几种形态?
硬件描述语言(Hardware Description Language,HDL),顾名思义,是电子系统硬件行为描述、结构描述、数据流描述的语言。VHDL语言的英文全名是Very High Speed Integrated Circuit Hardware Description Language,即超高速集成电路硬件描述语言。
2.简述VHDL的发展史。
1981年6月VHDL工作小组成立,提出了一个满足电子设计各种要求的能够作为工业标准的硬件描述语言。
1983年第三季度,由IBM公司、TI公司、Inter metrics公司签约,组成开发小组,工作任务是提出语言版本和开发软件环境。
1986年IEEE标准化组织开始工作,讨论VHDL语言标准,历时一年有余,于1987年12月通过标准审查,VHDL1.0版本宣布实施,即IEEE STD 1076-1987。
1993年经过重新修订,发布VHDL2.0版本,从而形成新的标准即IEEE STD 1076-1993。
2006年VHDL发布VHDL3.0版本;
2008年8月,VHDL 4.0版本发布,解决了3.0版本中发现的多个问题。
2009年1月,IEEE公布了VHDL 4.0的标准版本,最新VHDL标准IEEE 1076-2008在2009年1月实施。
3. 详述VHDL设计IP模块的流程。
第1种设计形态,VHDL程序以IP模块的形态存在,VHDL-IP设计流程如图1.6所示。IP模块是与集成电路工艺无关的芯片设计方案,可以移植到不同的设计环境。IP产品形态有规范,有IP包装规则和复用规则,是原生态的芯片硬件设计产品。
图1.6 VHDL-IP设计流程
4. 简答VHDL设计用FPGA实现的意义。
可编程器件FPGA具有容量大、密度高等特点,是科学实验、小批量生产、样机研制的载体。这种产品形态可以作为科学实验、小批量产品研发的最佳实现方案。
5. 叙述用VHDL设计ASIC的流程。
VHDL设计的ASIC芯片实现,流程如图1.8所示。工程项目的VHDL功能设计与某一集成电路工艺相结合,形成集成电路版图设计,并在晶圆上实现实现集成电路芯片的制造。
图1.8 VHDL- ASIC 设计流程
工程项目经过集成电路前端设计(VHDL设计、功能时序设计)、后端设计(版图设计),后端仿真、设计规则检查(DRC)、形式验证后的版图,交付集成电路芯片代工厂进行工业化大规模生产。
6. 怎样建立一个基本VHDL设计环境?
把VHDL语言输入界面、编辑界面、编译工具、器件库、函数库的组合称为VHDL设计环境。许多EDA工具均提供了VHDL设计环境,如ALTERA公司的Quartus II。
7. 开展IP 设计需要什么条件?
VHDL程序以IP模块的形态存在。IP模块是与集成电路工艺无关的芯片设计方案,可以移植到不同的设计环境。IP产品形态有规范,有IP包装规则和复用规则,是原生态的芯片硬件设计产品。开展IP设计需要EDA工具提供VHDL语言编译环境。
8. 片上系统设计的知识要求和实验条件有那些?
片上系统设计需要SOC系统知识,嵌入式计算机体系结构知识,IP复用知识,底层驱动软件编写技能。实验条件,需要相对高级、复杂一些的FPGA开发板。
第二章习题参考答案
1.什么是对象?对象有哪几种类型?
在VHDL语言中,对象(Objects)是具有特定数据类型且可以被赋值的客体。VHDL 语言中的对象有4类:常量(Constant)、信号(Signal)、变量(Variable)和文件(Files)。
2.变量和信号的区别是什么?
变量(Variable)是一个局部量,主要用于对临时数据进行局部存储。
信号(Signal)可用于电路内部硬件设计实体相互连接的抽象表示。信号是全局量,通常在实体说明、结构体和包中使用。
3.VHDL语言定义的标准数据类型有哪些?
VHDL语言预定义的数据类型包括:
①整数类型(Integer Type)、
②实数类型或浮点类型(Real Type &Floating Type)、
③位类型(Bit Type)、
④位矢量类型(Bit_Vector Type),
⑤布尔类型(Boolean Type)、
⑥字符类型(Character Type),
⑦时间类型或物理类型(Time Type &Physical Type)、
⑧错误类型(Note,Warning,Error,Failure Type),
⑨自然数、整数类型(Natural Type)
⑩字符串类型(Tring Type)。
用户自定义的数据类型:
①枚举类型(Enumerated Type)、
②数组类型(Array Type)、
③存取类型(Access Type)、
④文件类型(Files Type)
⑤记录类型(Recode Type)。
4.哪些数据类型不能被综合?
物理类型是不能被综合的。
5.简述VHDL语言操作符的优先级。
运算符的优先级
6.哪3种方法可用来进行类型转换?
有3种方法:类型标记法、函数转换法和常数转换法。
7. 状态运算符的有哪两个值?
“TRUE”,和“FALSE”。
8. 标示符与保留字有何不同?对VHDL编程有何约束?
标识符用于命名实体、结构体、信号和变量等。
VHDL语言中的保留字不可以用于标识符的命名中,保留字有些用于VHDL程序设计的关键字。
第三章习题参考答案
1.简述VHDL设计实体的结构。
实体(Entity)提供了被设计系统或器件的公共信息,指明了输入与输出引脚。实体由实体名、类型说明、端口说明、实体说明部分和实体语句部分组成。实体的一般格式为:
ENTITY实体名IS
[GENERIC语句;] --可选项(参数说明)
PORT语句; --必需项(端口说明)
[实体说明部分;] --可选项
[BEGIN
实体语句部分;]
END [ENTITY] [实体名];
2.用结构体的3种描述法设计一个4位计数器。
3.什么叫进程?简述进程的工作方式。