欢迎来到天天文库
浏览记录
ID:38150054
大小:18.84 KB
页数:5页
时间:2019-05-22
《VHDL作业答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VHDL作业答案第1章1.什么是VHDL?简述VHDL的发展史。答:VHDL是美国国防部为电子项目设计承包商提供的,签定合同使用的,电子系统硬件描述语言。1983年成立VHDL语言开发组,1987年推广实施,1993年扩充改版。VHDL是IEEE标准语言,广泛用于数字集成电路逻辑设计。2.简述VHDL设计实体的结构。答:实体由实体名、类型表、端口表、实体说明部分和实体语句部分组成。根据IEEE标准,实体组织的一般格式为:ENTITY实体名IS[GENERIC(类型表);]--可选项[PORT(端口表);]--必需项实体说明部分;--可选项[BEGIN实体语句部分;
2、]END[ENTITY][实体名];第2章1.什么叫对象?对象有哪几个类型?答:在VHDL语言中,凡是可以赋于一个值的客体叫对象(object)。VHDL对象包含有专门数据类型,主要有4个基本类型:常量(CONSTANT)、信号(SIGNAL)、变量(VARIABLE)和文件(FILES)。3.简述VHDL语言操作符的优先级。答:在表2.1中,取反和取绝对值优先级较高,与、或逻辑运算的优先级低于算术运算的优先级。4.哪3种方法可用来进行类型转换?答:进行不同类型的数据变换,有3种方法:类型标记法、函数转换法和常数转换法。第3章1.什么叫进程?简述进程的工作方式。答
3、:进程(process)是由外部信号触发执行的一段程序。进程语句是并行处理语句,即各个进程是同时处理的,在结构体中多个Process语句是同时并发运行的。在进程内部是顺序执行的。Process语句在VHDL程序中,是描述硬件并行工作行为的最常用、最基本的语句。进程Process语句中一般带有几个信号量例表,称为该进程的敏感量表。这些信号无论哪一个发生变化都将启动Process进程。一旦启动,进程Process中的程序将从上到下顺序执行一遍,由新变化的量引导进程产生变化结果输出。当进程的最后一个语句执行完成后,就返回到进程开始处,等待敏感量的新变化,引发进程的再一次
4、执行。周而复始,循环往复,以至无穷。这就是进程的执行过程。1.什么叫模块?区分模块与进程。答:模块(Block)语句是结构体中积木化设计语言,适用于复杂项目设计。Block块是一个独立的子结构,可以包含PORT语句、GENERIC语句,允许设计者通过这两个语句将Block块内的信号变化传递给Block块的外部信号。同样,也可以将Block块的外部信号变化传递给Block块的内部信号。对VHDL语言中的Block模块进行仿真时,Block模块中所描述的各个语句是可以并发执行的,和模块中的语句书写顺序无关。进程语句是一段程序,这段程序是顺序执行的。4.设计一个3-8优
5、先级编码器。答:参看课件中编码器的设计。第4章2.配置说明中的映射有哪两种方法?答:位置关联法和名称关联法。6.什么是库,程序包,子程序,过程调用,函数调用?答:库(libraries)和程序包(package)用来描述和保存元件、类型说明、函数、模块等,以便在其他设计中可随时引用它们。库(libraries)是用来存储和放置可编译的设计单元的地方,通过其目录可查询、调用。设计库中的设计单元(实体说明、结构体、配置说明、程序包说明和程序包体)可以用作其他VHDL描述的资源。函数和过程统称为子程序。子程序由过程和函数组成。在子程序调用过程中,过程能返回多个变量,函数
6、能返回一个变量。若子程序调用是一个过程,就称为过程调用;若子程序调用是一个函数,则称为函数调用。过程调用和函数调用都是子程序调用。函数的参数都是输入参数。过程的参数有输入、输出和双向参数。函数有顺序函数、并行函数。过程有顺序过程、并行过程。第5章3.设计一个8位循环移位寄存器。答:8位循环计寄存器的VHDL参考程序设计如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcircleshift8ISPORT(seldata:instd_logic_vector(2downto0);clr,clk:INSTD_LOGIC;s
7、el:OUTSTD_LOGIC_vector(7downto0));ENDcircleshift8;ARCHITECTUREsampleOFcircleshift8ISbeginprocess(clk,clr)Beginif(clr='1')thensel<="00000000";elsifclk'eventandclk='1'thencaseseldataiswhen"001"=>sel<="00000001";when"010"=>sel<="00000010";when"011"=>sel<="00000100";when"100"=>sel<="00001
8、000";
此文档下载收益归作者所有