VHDL习题解答要点

上传人:缘*** 文档编号:213255156 上传时间:2021-11-21 格式:DOCX 页数:14 大小:118.84KB
返回 下载 相关 举报
VHDL习题解答要点_第1页
第1页 / 共14页
VHDL习题解答要点_第2页
第2页 / 共14页
VHDL习题解答要点_第3页
第3页 / 共14页
VHDL习题解答要点_第4页
第4页 / 共14页
VHDL习题解答要点_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《VHDL习题解答要点》由会员分享,可在线阅读,更多相关《VHDL习题解答要点(14页珍藏版)》请在金锄头文库上搜索。

1、VHDL程序设计教程习题参考解答第一章习题参考答案1 .什么是 VHDL ? VHDL的实现有哪几种形态?硬件描述语言(Hardware Description Language , HDL ),顾名思义,是电子系统硬件行 为描述、结构描述、数据流描述的语言。VHDL语言的英文全名是 Very High Speed Integrated Circuit Hardware Description Language ,即超高速集成电路硬件描述语言。2 .简述VHDL的发展史。1981年6月VHDL工作小组成立,提出了一个满足电子设计各种要求的能够作为工业 标准的硬件描述语言。1983年第三季度,由

2、 旧M公司、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的标准版本,最新 VH

3、DL标准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的流程。VHD

4、L设计的ASIC芯片实现,流程如图1.8所示。工程项目的VHDL功能设计与某一 集成电路工艺相结合,形成集成电路版图设计,并在晶圆上实现实现集成电路芯片的制造。工程项目经过集成电路前端设计(VHDL设计、功能时序设计)、后端设计(版图设计),后端仿真、设计规则检查(DRC)、形式验证后的版图,交付集成电路芯片代工厂进行工业 化大规模生产。6 .怎样建立一个基本 VHDL设计环境?把VHDL语言输入界面、编辑界面、编译工具、器件库、函数库的组合称为VHDL设计环境。许多 EDA工具均提供了 VHDL设计环境,如 ALTERA公司的Quartus II。7 .开展IP设计需要什么条件?VHDL程序

5、以IP模块的形态存在。IP模块是与集成电路工艺无关的芯片设计方案,可 以移植到不同的设计环境。IP产品形态有规范,有IP包装规则和复用规则,是原生态的芯 片硬件设计产品。开展 IP设计需要EDA工具提供VHDL语言编译环境。8.片上系统设计的知识要求和实验条件有那些?片上系统设计需要 SOC系统知识,嵌入式计算机体系结构知识,IP复用知识,底层驱动软件编写技能。实验条件,需要相对高级、复杂一些的FPGA开发板。第二章习题参考答案1 .什么是对象?对象有哪几种类型?在VHDL语言中,对象(Objects)是具有特定数据类型且可以被赋值的客体。VHDL语言中的对象有 4类:常量(Constant)

6、、信号(Signal)、变量(Variable)和文件(Files)。2 .变量和信号的区别是什么?变量(Variable)是一个局部量,主要用于对临时数据进行局部存储。信号(Signal)可用于电路内部硬件设计实体相互连接的抽象表示。信号是全局量,通 常在实体说明、结构体和包中使用。3 . VHDL语言定义的标准数据类型有哪些?VHDL语言预定义的数据类型包括: 整数类型(Integer Type)、 实数类型或浮点类型( Real Type & Floating Type)、 位类型(Bit Type)、 位矢量类型(Bit_Vector Type), 布尔类型(Boolean Type)

7、、字符类型(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语言操作符的优先级。运算符

8、的优先级优先级顺序运算操作符类型操作符操作符功能高逻辑运算符NOT取非算术运算符ABS取绝对值*指数运算REM取余MOD求模/除法*乘-负+正并置运算符&并置算术运算符-减低+加关系运算符=大于等于大于小于/=不等于=等于逻辑运算符XOR异或NOR或非NAND与非OR或AND与6 .哪3种方法可用来进行类型转换?有3种方法:类型标记法、函数转换法和常数转换法。7 .状态运算符的有哪两个值?“TRUE” ,和 “FALSE”。8.标示符与保留字有何不同?对VHDL编程有何约束?标识符用于命名实体、结构体、信号和变量等。VHDL程序设计VHDL语言中的保留字不可以用于标识符的命名中,保留字有些用于

9、 的关键字。第三章习题参考答案1 .简述VHDL设计实体的结构。实体(Entity)提供了被设计系统或器件的公共信息,指明了输入与输出弓I脚。实体由 实体名、类型说明、端口说明、实体说明部分和实体语句部分组成。实体的一般格式为:ENTITY实体名IS-可选项(参数说明)-必需项(端口说明)-可选项GENERIC 句;PORT句;实体说明部分;BEGIN实体语句部分;END ENTITY实体名;2 .用结构体的3种描述法设计一个 4位计数器。3 .什么叫进程?简述进程的工作方式。进程语句不是一条语句, 而是一段程序结构, 这段程序描述了一个靠敏感信号触发的硬件模块反复执行的工作过程。进程语句(P

10、rocess)是并行处理语句,即在结构体中多个进程语句是同时并发运行的。进程语句的一般书写形式为:进程名:PROCESS敏感信号表变量声明语句, BEGIN, 顺序语句,END PROCESS 进程名;进程语句中一般带有一个敏感信号表。 这些信号无论哪一个发生变化都将启动进程, 进程中的程序将从上到下顺序执行一遍, 产生新的结果并输出。 当进程执行完毕, 就返回进程 开始处,等待敏感量的新变化,引发进程的下一次执行。周而复始,循环往复,以至无穷。4什么叫模块?区分模块与进程。模块( Block )语句是结构体中的一系列并行语句的组合,适用于复杂项目的模块化设计。模块调用必须说明属性、配置和连接

11、关系。模块语句的一般格式如下:块名:BLOCK 控制条件的布尔表达式 ISGENERIC 子句GENERIC 映射; 端口子句 端口映射; 块说明部分BEGIN 并行语句A;并行语句B;,END BLOC侬名;模块是一个独立的子结构, 可以包含 PORT 语句和 GENERIC 语句, 允许设计者通过这两个语句将模块的内部信号变化传递给模块的外部信号。 同样, 也可以将模块的外部信号变化传递给模块的内部信号。进程不是独立的硬件结构描述,进程用于含有触发条件的、需要反复运行的程序结构。5. 简述过程与函数的区别。过程语句(procedure )结构过程语句的一般格式如下:PROCEDURES程名

12、|运算符号 generic 子句; generic 映射; parameter ( 参数列表 ) IS子程序声明区 ;BEGIN顺序处理语句 ;END PROCEDURE过程名|运算符号;过程语句中的输入输出参数列在过程名后面的括号里,一般地, IN 作为常量, OUT 和INOUT 作为变量。当过程语句在主程序调用结束后,将变量OUT 和 INOUT 拷贝到调用者的信号和变量中。 函数是具有某一特定功能的程序段, 能够被主程序调用。 函数被调用时, 首先要初始化, 执行处理功能后,将处理结果传递给主程序。 函数内部的值不能保持, 函数返回后,才能被 再次调用,再次初始化。 VHDL 程序中函

13、数语句的结构与其他语句一样,也有规定的书写格式:FUNCTION 函数名 | 运算符号generic 子句; generic 映射; parameter ( 参数列表)RETURN 数据类型名 IS 子程序声明区;BEGIN顺序处理语句;RETUR N返回变量名;END FUNCTION函数名运算符号;6. 用结构化描述方法设计一个加法器。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITY half_adder ISPORT(a,b:IN Bit;S,C:OUT Bit);END ENTITY half_adder;ARCHITECTUREaddr1 O

14、F half_addBEGINS = a XOR b;C = a AND b;END ARCHITECTUREaddr1;- 实体名half_adder- 实体端口说明IS - 结构体1 的名字为addr1- - 结构体2 的名字为addr2- - 模块名example- - 端口子句- - 端口映射- - 进程 1 的标号 P1ARCHITECTUREaddr2 OF half IS BEGINexample: blockPOR(Ta,b: IN Bit;s,c: OUT Bit);PORT MAP(a,b,s,c);BEGINP1: PROCESS(a,b) ISBEGINs = a XOR b;END PROCESSP1;- 进程 2 的标号 P2P2: PROCESS(a,b) ISBEGINc = a and b;END PROCESSP2;END Block example;END ARCHITECTUREaddr2;7. 采用多模块设计方法设计一个日历时钟见教材。8. 单模块的端口信号与芯片引脚是什么关系?PO

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号