文档库 最新最全的文档下载
当前位置:文档库 › 03第三章VHDL语言基础习题答案

03第三章VHDL语言基础习题答案

03第三章VHDL语言基础习题答案
03第三章VHDL语言基础习题答案

vhdl语言的基本知识点罗列.doc

VHDL语言的基本知识点罗列 1 VHDL语言的标识符 VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。使用标识符要遵守如下法则: a)标识符由字母(A…Z;a…z)、数字和下划线字符组成。 任何标识符必须以英文字母开头。λ 末字符不能为下划线。λ b)不允许出现两个连续下划线。 标识符中不区分大小写字母。λ VHDL定义的保留子或称关键字,不能用作标识符。λ c) VHDL中的注释由两个连续的短线(--)开始,直到行尾。 以下是非法标识符: -Decoder —起始不能为非英文字母 3DOP —起始不能为数字 Large#number —“#”不能成为标识符的构成符号 Data__bus —不能有双下划线 Copper_ —最后字符不能为下划线 On —关键字不能用作标识符。 注:在AHDL语言中标识符要区分大小写,但在VHDL语言中不区分大小写。所以写程序时,一定要养成良好的书写习惯,应用关键字时用大写,自己定义的标识符用小写。 标识符表示的几种数据对象的详细说明如下: 1) 常数(Constant ) 常数是一个固定的值,主要是为了使设计实体中的常数更容易阅读和修改。常数一被赋值就不能在改变。一般格式: CONSTANT 常数名:数据类型:=表达式; 例:CONSTANT Vcc: REAL: =5.0; —设计实体的电源电压指定 常数所赋得值应与定义的数据类型一致。 常量的使用范围取决于它被定义的位置。程序包中定义的常量具有最大的全局化特性,可以用在调用此程序包的所有设计实体中;设计实体中某一结构体中定义的常量只能用于此结构体;结构体中某一单元定义的常量,如一个进程中,这个常量只能用在这一进程中。 2) 变量(Variable) 变量是一个局部变量,它只能在进程语句、函数语句和进程语句结构中使用。用作局部数据存储。在仿真过程中。它不像信号那样,到了规定的仿真时间才进行赋值,变量的赋值是立即生效的。变量常用在实现某种算法的赋值语句中。 一般格式: VARIABLE 变量名数据类型约束条件:=表达式; 例:VARIABLE x,y:INTEGER; —定义x,y为整数变量 VARIABLE count: INTEGER RANGE0 TO255:=10; —定义计数变量范围 变量的适用范围仅限于定义了变量的进程或子程序中。若将变量用于进程之外,必须该值赋给一个相同的类型的信号,即进程之间传递数据靠的信号。 变量赋值语句的语法格式如下:

第四章 VHDL的语言要素

第四章VHDL的语言要素 4.1 VHDL的数据对象 与其他高级语言一样,VHDL中把用来承载数据的容器叫做VHDL的数据对象,VHDL的数据对象主要有信号、常量和变量三类。 1 常量 在VHDL中,常量是一种不变的量,它只能在对它定义时进行赋值,并在整个程序中保持该值不变。常量的功能一方面可以在电路中代表电源、地线等,另一方面可提高程序的可读性,也便于修改程序。常量定义的格式为: CONSTANT 常量名:数据类型:=表达式; [例3.4] 常量定义举例 CONSTANT V: INTEGER:=8; 2 变量 变量是临时数据的容器,它没有物理意义,并且只能在进程和子程序中定义,也只能在进程和子程序中使用。变量一旦赋值立即生效。变量定义的描述格式为:VARIABLE 变量名:数据类型[:=表达式]; [例3.5]变量定义举例 VARIABLE y: INTEGER; 3 信号 信号是VHDL的一种重要数据对象,它定义了电路中的连线和元件的端口。其中端口和内部信号定义的差别是在端口定义中多了一个端口模式的定义。信号是一个全局量,可以用来进行各模块之间的通信。信号定义的格式为: SIGNAL 信号名:数据类型; [例3.6]信号定义举例 SIGNAL A: STD_LOGIC; 4.2 VHDL的数据类型 VHDL是一种强类型的语言,每一个数据对象都必须具有确定的数据类型定义,并且只有在相同数据类型的数据对象之间,才能进行数据交换。VHDL预定义了大量的数据类型,下面介绍几种最常用的数据类型。 1 整数数据类型(INTEGER) 整数类型的数有正整数负整数和零,在VHDL中其取值范围是:

VHDL语言的基本要素(大全)

VHDL语言的基本要素 一、数据对象 VHDL语言的主要数据对象有信号,变量,常量。 信号—信号是电路中的物理量,对应于电路的连线、节点;信号说明全局量,用于描述中的构造体(Architecture), 实体(Intity),程序包(package)。 变量—变量是程序运算中的中间量,并不对应电路中的物理量。变量说明局部量,用于进程语句(process), 函数(Function), 过程(procedure)。 常量—常数也不对应电路中的物理量,当常量说明全局量,在构造体(Architecture), 实体(Intity),程序包(package),进程语句(process), 函数(Function), 过程(procedure)中均可使用。数据对象的定义格式: signal 信号名:数据类型,约束条件,表达式 Variable 变量名:数据类型,约束条件:=表达式 Constant 常量名:数据类型,约束条件:=表达式 例如:Variable count:INTEGER RANGE 0 TO 255:=10 Constant Daly:Time:=100ns 信号代入和变量赋值的区别:两者形式不同,操作过程也不相同。变量赋值符“:=”,信号的代入符“<=”。 在变量的赋值语句中,该语句一当执行,其值立即将赋予变量;而信号的代入,其语句执行后不会立即使信号发生代入,在下条语句

执行时,仍使用原来的信号值,如进程语句中的敏感表的信号代入就是如此。 二、数据类型 VHDL语言中的数据类型,一般而言可分为:标量类型和组合类型。在实际使用中,也可分成予定义类型和用户定义类型。VHDL语言是强类型的语言,主要可按如下分类和变换处理。 ①标准数据类型 ⑴整数⑵实数(浮点数)-1.0E+38~+1.0E38 ⑶位bit (0,1) ⑷位矢量⑸布尔量,“假”,“真”⑹字符(ASCⅡ)字符 ⑺时间 ⑻错误等级⑼自然数(大于等于0的整数)⑽字符串 (字符矢量) ②用户定义的数据类型 TYPE 数据类型名{数据类型名} 数据类型定义 ⑴枚举类型⑵整数类型⑶实数类型⑷数组类型 ⑸存取类型⑹文件类型⑺记录类型⑻时间类型③用户定义子类型 SUBTUPE 子类型名IS 数据类型名[范围] 例:SUBTYPE digit is INTEGER RANGE 0 TO 9 ④数据类型转换 数据类型的变换函数通常由“STD_LOGIC_1164”,

03第三章VHDL语言基础习题答案.doc

填空题 1、一个标准的VHDL语言程序由库、实体和结构体组成。 2、个完整的VHDL语言描述是以对一个功能元件的完整描述为基础的 3、实体相当于电路图中一个器件符号。 4、端口说明( PORT )是对设计实体与外部接口的描述,也可以说是设计实体的外 部引脚的名称,它为实体与外部环境的动态通信提供通道 5、缓冲( BUFFER )端口描述模式和 INOUT 双向模式的区别在于只能接受一个驱动源,不允许多重驱动。 6、 VHDL语言的结构体的这些子结构互相之间是并行的。 7、将 VHDL语言的行为描述语句转换为门级描述由VHDL开发工具自动完成,是 VHDL 语言综合器的任务。 8、数据流描述也称为RTL (寄存器传输级)描述方式,它类似于布尔方程,它既 表示某种行为,又隐含结构信息,主要指非结构化的并行语句描述。 9、在结构描述中,元件间的连接是通过定义的端口界面来实现的。 10、结构描述的缺点是程序表示的是电路的结构连接关系,不能直观的得到设计电 路的逻辑功能。 综述题 1、写出实体的结构。 答案: ENTITY 实体名IS [GENERIC( 类属表 );] [PORT( 端口表 );] END ENTITY实体名; 2 、在 IEEE 库中定义了哪四种VHDL 语言的端口模式? 答案: IN :输入。 OUT :输出。 INOUT :双向,输入输出。 BUFFER :缓冲,其实质也是双向的,但是只能接受一个驱动源。 3、写出结构体的结构。

?2 ? 答案: ARCHITECTURE 结构体名OF 实体名IS [ 说明语句 ] BEGIN [ 功能描述语句] END ARCHITECTURE结构体名; 4 、写出结构体的功能性描述语句的 5 种子结构。 答案: 块语句、进程语句、子程序调用语句、信号赋值语句和元件例化语句。 5 、 VHDL 有哪四种描述风格? 答案: 行为描述、数据流描述、结构描述以及由前三种组合的混合描述。 实验题 实验【一】编写一个实体 实验目的:熟悉实体的编写方法。 实验任务:在 Quartus II 中建立一个 VHDL 语言文件,编写一个实体,该实体要求如下: 实体名: TEST 。 输入端口: INPUTA , INPUTB ,数据类型为BIT 。 输出端口: OUTPUT ,数据类型为BIT 。 没有类属说明。 答案: ENTITY TEST IS -- 实体 PORT( INPUTA,INPUTB: in bit; OUTPUT: out bit); --2 个输入引脚,类型BIT --1 个输出引脚,类型BIT END TEST; 实验【二】编写一个结构体 实验目的:熟悉结构体的编写方法。

第2章VHDL的语言要素讲义

第2章VHDL的语言要素 2.1 VHDL的命名规则: 2.1.1 数字型文字:d5<=16#E#E1 2.1.2 字符串型文字:文字字符串,数位字符串 数位字符串:位矢量,由数据类型为BIT的元素组成的一维数组。 书写格式:基数符“数值” 基数符:B—二进制数;O—八进制数;X—十六进制数例如:data1 <= B “1_1101_1110”; data2 <= O “15” ; data3 <= X “AD0”; data4 <= B “101_010_101_010”; data5 <= “101_010_101_010” ; --表达错误,缺B; dadata6 <= “0AD0”; --表达错误,缺X 2.1.3 标示符 标识符用来定义常数、变量、信号、端口、子程序或参数的名字等。 标示符包含:英文字母(大小写)、数字0~9 、下划线“_” 。 书写规则: ·有效的字符:英文字母包括26个大小写字母:a~z,A~Z;数字包括0~9以及下划线“_”。 ·任何标识符必须以英文字母开头。 ·必须是单一下划线“_”,且其前后都必须有英文字母或数字。 ·标识符中的英语字母不分大小写。 以下是几种标识符的示例: 合法的标识符: Decoder_1 , FFT , Sig_N , Not_Ack , State0 , Idle 非法的标识符: _Decoder_1 -- 起始为非英文字母 2FFT -- 起始为数字 Sig_#N -- 符号“#”不能成为标识符的构成

Not-Ack -- 符号“-”不能成为标识符的构成 RyY_RST_ -- 标识符的最后不能是下划线“_” data_ _BUS -- 标识符中不能有双下划线 return --关键字 扩展标识符:VHDL ’93标准还支持扩展标识符,但是目前仍有许多VHDL工具不支持扩展标识符。P20(1)、(2)、(3) 2.1.4\2.1.5 下标名和段名 ?(1)下标名指的是数组型变量或信号的某一个元素。 ?格式:标示符(表达式) ?SIGNALa,b:BIT_VECTOR(0 TO 3); ?SIGNAL m :INTEGER RANGE 0 TO 3; ?SIGNAL y,z :BIT; ?y <= a (m) ;-- 不可计算型下标表示 ?z <= b (3 ) ;-- 可计算型下标表示 ?(2)段名是多个下标名的组合,对应数组中某一段的元素 ?格式:标示符(表达式方向表达式) 方向:TO 或DOWNTO SIGNAL a ,z :BIT_VECTOR(0 TO 7); z(0 TO 3)<= a(4 TO 7);--z(0)<= a(4)、z(1)<= a(5)、… 2.1.6 注释:若要将一条语句加注释,在注释内容前加两个短划线。 2.2 VHDL语言的数据类型及运算操作符 Vhdl语言同其它语言一样有多种数据类型和运算符,且它们的定义也大多相同。VHDL语言的特点是用户可以自己定义数据类型。 如:type count is integer RANGE 0 to 10; 2.2.1 VHDL语言的客体(对象)及其分类 什么是客体? 可以赋予一个值的对象或者是数据类型所定义的对象。 客体主要包括3类

04 第四章 VHDL语言的基本要素 习题答案

填空题 1、VHDL语言的文字(Literal)主要包括数值型文字和标识符。 2、在VHDL语言的以数字基数表示的文字中,十进制计数的1582的表示方法是10#158#2。 3、在数位字符串中,B为二进制基数符号;O为八进制基数符号;X为十六进制基数符号。 4、下标用于指示数组型变量或信号的某一个元素。 5、VHDL语言的注释以--来表示。 6、VHDL语言中主要有4类基本的数据对象:常量(CONSTANT)、变量(VARIABLE)、信号(SIGNAL)和文件(FILES)。 7、在对信号进行赋初值时,使用:=表示没有延时,使用<=表示有延时。 8、VHDL是一种强类型语言,要求每一个数据对象必须具有确定的唯一的数据类型,而且只有数据类型相同的量才能互相传递和作用。 9、VHDL语言的数据类型按照数据来源来分,可以分为VHDL语言预定义的标准数据类型和用户自定义的数据类型。 10、位类型实际上是一个二值枚举型数据类型,只有两个可能的取值:0和1,用于表示逻辑0和逻辑1。 11、标准逻辑位类型是在IEEE的STD_LOGIC_1164程序包中定义的。 12、布尔类型和位类型类似,实际上是一个二值枚举型数据类型,有两个可能的取值:TRUE(真)和FALSE(假)。 13、VHDL语言中主要有4类操作符:逻辑操作符(LOGIC OPERATOR)、关系操作符(RELATION OPERATOR)、算术操作符(ARITHMETIC OPERATOR)和重载操作符(OVERLOADING OPERATOR)。 综述题 1、VHDL语言的数字型文字主要有哪几种表达方式,并且举例。 答案: ●整数型文字,如:1,123,518E2,12_345_678。 ●实数型文字,如:12.3,6.5E-2,12_23.45_32。 ●以数字基数表示的文字,如:10#158#2。 ●物理量文字,如:60s,1km。 2、VHDL语言标识符有哪些书写规范?

相关文档