eda知识点梳理Word文件下载.docx
《eda知识点梳理Word文件下载.docx》由会员分享,可在线阅读,更多相关《eda知识点梳理Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
![eda知识点梳理Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/10/82dab991-5504-4dac-a745-aa98246c41a9/82dab991-5504-4dac-a745-aa98246c41a91.gif)
数制基数符号“数值字符串”
其中:
B——二进制基数符号;
O——八进制基数符号;
X——16进制基数符号;
B“111_011_110”;
矢量数组,长度为9
O“15”;
等效B“001101”,长度为6
X“AD0”;
等效B“1”,长度为12
数值字符串中可添加下划线,不影响其长度
3、标识符——就是用户给常量、变量、信号、端口、子程序或参数定义得名字
规则(’87标准,又称短标识符):
标识符由字母(A…Z;
a…z)、数字与下划线字符组成
任何标识符必须以英文字母开头
末字符不能为下划线
不允许出现两个连续下划线
标识符中不区分大小写字母
VHDL定义得保留字或称关键字,不能用作标识符
VHDL’93标准支持扩展标识符,以反斜杠来定界,允许以数字开头,允许使用空格以及两个以上得下划号。
扩标用反斜杠界定。
如:
\multi_screens\。
允许包含图形符号、空格符。
\modeA\,\$100\等。
反斜杠之间得字符可用保留字。
\buffer\,\entity\等。
扩标得界定符两个斜杠之间可以用数字打头。
\100$\,\2chip\,\4screens\等。
扩标中允许多个下划线相连。
\Four__screens\,\TWO__puter__sharptor\等。
扩展标识符中得一个反斜杠,要用两个反斜杠来代替
扩标区分大小写。
\EDA\与\eda\不同。
扩标与短标不同。
\puter\与puter不同。
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:
=“”
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标准)
文件就是传输大量数据得客体,包含一些专门数据类型得数值。
在仿真测试时,测试得输入激励数据与仿真结果得输出都可用文件来进行。
文件得声明方式为:
:
[OPENmode]IS“”;
VHDL数据类型
VHDL就是一种强类型语言,要求设计实体中得每一个常数、信号、变量、函数以及设定得各种参量都必须具有确定得数据类型,并且只有数据类型相同得量才能互相传递与作用。
1、标量型(ScalarType)——单元素得最基本数据类型
(1)实数类型
(2)整数类型
(3)枚举类型
(4)时间类型
2、复合类型(positeType)
(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、”,“”
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得实数类型类似于数学上得实数,或称浮点数。
由正负号、小数点与数字组成。
-1、0E+38TO+1、0E+38
实数常量得书写方式举例