eda知识点梳理Word下载.docx
- 文档编号:14346508
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:28
- 大小:236.03KB
eda知识点梳理Word下载.docx
《eda知识点梳理Word下载.docx》由会员分享,可在线阅读,更多相关《eda知识点梳理Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
数制基数符号“数值字符串”
其中:
B——二进制基数符号;
O——八进制基数符号;
X——16进制基数符号;
B“111_011_110”;
矢量数组,长度为9
O“15”;
等效B“001101”,长度为6
X“AD0”;
等效B“101011010000”,长度为12
数值字符串中可添加下划线,不影响其长度
3.标识符——是用户给常量、变量、信号、端口、子程序或参数定义的名字
规则(’87标准,又称短标识符):
标识符由字母(A…Z;
a…z)、数字和下划线字符组成
任何标识符必须以英文字母开头
末字符不能为下划线
不允许出现两个连续下划线
标识符中不区分大小写字母
VHDL定义的保留字或称关键字,不能用作标识符
VHDL’93标准支持扩展标识符,以反斜杠来定界,允许以数字开头,允许使用空格以及两个以上的下划号。
扩标用反斜杠界定。
如:
\multi_screens\。
允许包含图形符号、空格符。
\modeA\,\$100\等。
反斜杠之间的字符可用保留字。
\buffer\,\entity\等。
扩标的界定符两个斜杠之间可以用数字打头。
\100$\,\2chip\,\4screens\等。
扩标中允许多个下划线相连。
\Four__screens\,\TWO__Computer__sharptor\等。
扩展标识符中的一个反斜杠,要用两个反斜杠来代替
扩标区分大小写。
如:
\EDA\与\eda\不同。
扩标与短标不同。
\Computer\与Computer不同。
4.下标名——数组
用途:
用于指示数组型变量或信号的某一个元素
标识符(表达式)
b(3);
表示数组型变量或信号b的第3个元素
5.段名——多个下标名的组合
用于指示数组型变量或信号的某一段元素
标识符(表达式方向表达式)
方向:
TO——下标序号由低到高
DOWNTO——下标序号由高到低
D(7DOWNTO0);
表示数据总线D7~D0
D(5TO7);
表示数据总线D5~D7
6.注释
VHDL中的注释由两个连续的短线(--)开始,直到行尾。
VHDL数据对象——存放各种类型数据的容器,包括变量、常量、信号和文件
1.变量(VARIABLE)
规则:
只能在进程(PROCESS)、函数(FUNCTION)和过程(PROCEDURE)中说明和使用的局域量
定义格式:
VARIABLE变量名:
数据类型(范围)(:
=初始值)
如:
VARIABLEa:
INTEGER;
VARIABLEb:
INTEGER:
=2;
VARIABLEc:
INTEGERRANGE0TO7:
变量赋值语句:
目标变量名:
=表达式
VARIABLEx,y:
REAL
VARIABLEa,b:
BITVECTOR(0TO7);
x:
=100.0;
y:
=1.5+x;
a:
=“10101011”
a(3TO6):
=(‘1’,‘1’,‘0’,‘1’);
a(0TO5):
=b(2TO7);
变量使用要点:
变量是一个局部量,只能在进程和子程序中使用,不能将信息带出对它作出定义的当前设计单元。
变量赋值立即发生,无延时行为。
VHDL不支持变量附加延时语句。
变量的初值不是必需的,综合器将略去所有初值。
变量常用在实现某种算法的赋值语句中。
2.信号(SIGNAL)
规则:
信号是在结构体(ARCHITECTURE)、程序包(PACKAGE)和实体中声明的全局量。
信号定义格式:
SIGNAL信号名:
=初值)
SIGNALtemp:
STDLOGIC:
=‘0’;
SIGNALflaga,flagb:
BIT
SIGNALdata:
STDLOGICVECTOR(15DOWNTO0);
信号赋值语句:
目标信号名<=表达式
x<=9;
y<=x;
z<=xAFTER5ns;
注意信号和变量赋值方法的区别:
变量用“:
=”号赋值,而信号用“<=”赋值;
在声明中对信号和变量赋初值,两者都用“:
=”号。
信号使用要点
信号类似于连接线。
信号可以作为设计实体中并行语句模块间的信息交流通道。
信号不但可以容纳当前值,也可以保持历史值。
这一属性与触发器的记忆功能有很好的对应关系。
信号的初值不是必需的,而且仅在仿真中有效。
信号的赋值允许允许设定延时,如:
T1<
=T2AFTER20ns,但仅用于仿真。
当信号用在顺序描述语句中时,其值在相应的进程,函数或过程完成之后才更新。
实体中定义的端口默认为信号。
3.常量(CONSTANT)
常量在程序前部定义,且一旦被赋值就不能再改变。
常量定义格式:
CONSTANT常量名:
数据类型:
=初值;
CONSTANTfbus:
BITVECTOR:
=“010111”;
CONSTANTVcc:
REAL:
=5.0;
CONSTANTdely:
TIME:
=25ns;
常量使用要点:
常量设置使得设计实体中的常数易阅读和修改。
如将位矢的宽度定义为一个常量,只要修改这个常量就能改变宽度,从而改变硬件结构。
常量是一个恒定不变的值,一旦作了数据类型的赋值定义后,在程序中不能再改变,有全局意义。
常量与表达式类型必须一致,只能是标量类型或复合类型。
常量的可视性(其使用范围取决于定义的位置):
定义在程序包中的常量,具有最大全局化特征,可以用在调用此程序包的所有设计实体中;
定义在设计实体中的常量,其有效范围为这个实体定义的所有的结构体;
定义在设计实体的某一结构体中的常量,则只能用于此结构体;
定义在结构体的某一单元的常量,如一个进程中,则这个常量只能用在这一进程中。
4.文件(FILE)(VHDL1076-1993标准)
文件是传输大量数据的客体,包含一些专门数据类型的数值。
在仿真测试时,测试的输入激励数据和仿真结果的输出都可用文件来进行。
文件的声明方式为:
FILEidentifier:
file_type[OPENmode]IS“file_name”;
VHDL数据类型
VHDL是一种强类型语言,要求设计实体中的每一个常数、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,并且只有数据类型相同的量才能互相传递和作用。
1.标量型(ScalarType)——单元素的最基本数据类型
(1)实数类型
(2)整数类型
(3)枚举类型
(4)时间类型
2.复合类型(CompositeType)
(1)数组型(Array)
(2)记录型(Record)
3.存取类型(AccessType)——为数据对象提供存取方式
4.文件类型(FilesType)——提供多值存取类型
3.2.4VHDL的预定义数据类型
——在STD库中的标准程序包(STANDARD)中预先定义的数据类型。
1.位(BIT)数据类型
BIT是一个二值枚举类型,包括‘0’和‘1’。
可用于表示变量、信号等数据对象的状态。
定义语句:
TYPEBITIS(‘0’,‘1’)
2.位矢量(BITVECTOR)数据类型
位矢量是由多个BIT组成的数组,BIT是其元素,形式为用双引号把多个BIT位括在一起,如“0011”。
可用于表示总线的状态。
TYPEBITVECTORISARRAY(NATURALRANGE〈〉)OFBIT;
RANGE〈〉表示宽度未定,NATURAL表示其宽度的范围和自然数的范围相同
使用位矢量必须注明位宽,例如:
SIGNALa:
BITVECTOR(7DOWNTO0);
--定义a是一个宽为8位的位矢量,左为a(7)右为a(0);
例:
SIGNALa:
BIT_VECTOR(7DOWNTO0);
SIGNALb:
BIT_VECTOR(3DOWNTO0);
SIGNALc:
BIT;
b<
=“1110”;
b(3)<
=‘1’;
=a(7DOWNTO4);
a(7DOWNTO4)<
=a(3DOWNTO0);
a(3DOWNTO0)<
=b;
a(7)<
=C;
3.布尔(BOOLEAN)数据类型
BOOLEAN也是一个二值枚举类型,一个布尔量具有两种状态:
逻辑“假”(FALSE)和逻辑“真”(TRUE)。
布尔量没有具体数值的含义,也不能进行算术运算,但是可以进行逻辑运算,并作为关系运算的结果。
TYPEBOOLEANIS(FALSE,TRUE);
--以枚举类型定义
4.字符(CHARACTER)数据类型
字符是用单引号括起来的ASCII码字符,如‘A’‘a’‘0’‘9’。
字符有大小写区分,如‘B’不同于‘b’。
TYPECHARACTERIS(ASCII码字符表中的全部字符)
5.字符串(STRING)数据类型
字符串是用双引号括起来的字符序列,也称字符矢量或字符串数组。
例如,
“ABOY.”,“10100011”
6.整数(INTEGER)数据类型
整数包括:
正整数、负整数和零
范围:
32位带符号整数,即-(231-1)~+(231-1)
即(-2147483647~+2147483647)
整数常量的书写方式示例如下:
2--十进制整数
10E4--十进制整数
16#D2#--十六进制整数
2#11011010#--二进制整数
硬件实现时,整数由不超过32位的二进制数来表示。
当端口类型设为整数型时一般应对其范围给予限定,这时端口的宽度为可以表示该整数的最小宽度;
如没有限定范围,则综合后的位宽为32位。
SIGNALs:
INTEGERRANGE0TO15;
表示信号s的取值范围是0-15,可用4位二进制数表示,因此s将被综合成由四条信号线构成的信号。
7.自然数(NATURAL)和正整数(POSITIVE)数据类型
自然数和正整数都是整数的子集
自然数——包括0和正整数
正整数——不包括0的正整数
其定义如下:
定义如下:
SUBTYPENATURALISINTEGERRANGE0TO
INTEGER’HIGH;
SUBTYPEPOSITIVEISINTEGERRANGE1TO
8.实数(REAL)数据类型
VHDL的实数类型类似于数学上的实数,或称浮点数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- eda 知识点 梳理