内容发布更新时间 : 2024/12/27 5:11:01星期一 下面是文章的全部内容请认真阅读。
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包装规则和复用规则,是原生态的芯片硬件设计产品。
VHDL功能定义 VHDL程序编辑 VHDL程序编译 VHDL IP封装 VHDL修改调试 图1.6 VHDL-IP设计流程
VHDL功能仿真
4. 简答VHDL设计用FPGA实现的意义。
可编程器件FPGA具有容量大、密度高等特点,是科学实验、小批量生产、样机研制的载体。这种产品形态可以作为科学实验、小批量产品研发的最佳实现方案。
5. 叙述用VHDL设计ASIC的流程。
VHDL设计的ASIC芯片实现,流程如图1.8所示。工程项目的VHDL功能设计与某一集成电路工艺相结合,形成集成电路版图设计,并在晶圆上实现实现集成电路芯片的制造。
VHDL功能定义 VHDL程序编辑 是 FPGA下载 否 功能测试成功 是 物理综合 版图设计 参数提取 否 时序仿真成功 是 VHDL程序编译 VHDL功能仿真否 VHDL修改调试 否 设计规则检查 是 版图交付 工厂生产 成品测试 ASIC芯片出厂 图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语言操作符的优先级。
运算符的优先级
优先级顺序 高 并置运算符 算术运算符 算术运算符 运算操作符类型 逻辑运算符 操 作 符 NOT ABS ** REM MOD / * - + & - 操作符功能 取非 取绝对值 指数运算 取余 求模 除法 乘 负 正 并置 减