1、VHDL 作业答案第 1 章1 什么是 VHDL?简述 VHDL 的发展史。答: VHDL 是美国国防部为电子项目设计承包商提供的,签定合同使用的,电子系统硬件描述语言。1983 年成立 VHDL 语言开发组,1987 年推广实施,1993 年扩充改版。VHDL 是 IEEE 标准语言,广泛用于数字集成电路逻辑设计。2 简述 VHDL 设计实体的结构。答:实体由实体名、类型表、端口表、实体说明部分和实体语句部分组成。根据 IEEE 标准,实体组织的一般格式为:ENTITY 实体名 ISGENERIC(类型表); -可选项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、复始,循环往复,以至无穷。这就是进程的执行过程。2 什么叫模块?区分模块与进程。答:模块(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 参考程序设计如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY circleshift8 ISPORT (seldata:in std_logic_vector(2 downto 0);clr,clk: IN STD_LOGIC; sel: OUT STD_LOGIC_vector(7 downto 0);END circleshift8;ARCHITECTURE sample OF circleshift8 ISbeginprocess(clk,clr)Beginif (clr=1)then sel sel sel sel sel sel sel sel sel y y y y y y y y y = XXXXXXXX ;END CASE;ELSEY = 11111111 ;END IF;END PROCESS;END rtl;