vhdl 变量与信号区别 type符号使用

1.VHDL描述的是硬件,而不是软件。在所有的设计开始之前在心目中都应当有一个硬件框图儿不是软件流程图,要用硬件的思想而非软件的思想使用VHDL。这一点是使用VHDL最基本的原则。
2.VHDL中的数据对象有信号,变量和常量。常量一般用来提高代码的可读性,易维护和修改性。关键是要弄清楚信号和变量的区别,首先信号我们可以把它理解成实际的硬件连线而变量不能,也就是说信号综合以后有实际的对应硬件而变量是没有的,其次信号是一个全局性的变量,而变量只能在进程,过程和函数中使用和定义,信号没有这样的限制,再次变量是用来存放进程,过程和函数中的中间量的,第四信号的赋值有延时,符号是“<=”,变量的赋值是立即见效的,也就是说信号是有历史信息的,而变量只有当前的信息。
3。VHDL的数据类型。VHDL不但具有标准的数据类型,还支持用户自定义的数据类型,这一点在复杂系统的设计中非常的有用。VHDL的标准数据类型有多种,包括BOOLEAN,BIT,BIT_VECTOR,CHARACTER, INTEGER,NATURAL,POSITIVE,REAL,TIME。有几点需要注意:a> 不同数据类型的数据对象是不能相互作用的,相互作用之前先要进行类型转换;b>使用INTEGER,NATURAL,POSITIVE类型最好加范围限制以提高综合效率,同时REAL型一般很难综合实现,c>CHARACTER类型的使用的使用一定要用但引号引起来。VHDL用TYPE来支持用户自定义的数据类型,语法格式如下:
TYPE 数据类型名 IS 数据类型定义 OF 基本数据类型
TYPE 数据类型名 IS 数据类型定义
常用的用户自定义的数据类型有枚举型,数组型,记录型。其中枚举型的在状态机的描述中经常使用到 ,数组型的在存储器的描述中经常用到,记录型的使用以后再详细学习。枚举型的定义方法 TYPE 数据类型名 IS {枚举1,枚举2,...}
数组型有两种,限制型和非限制型:
TYPE 数组名 IS Array(范围) OF 基本类型 --限制性
TYPE 数组名 IS Array(下标名Range<>) OF 基本类型 --非限制性
数组是将一组具有相同数据类型的元素组合在一起,而记录是将一组不具有相同数据类型的元素组合在一起。
TYPE 记录名 IS Record
元素1: 元素数据类型;
元素2: 元素数据类型;
……
ENDRECORD[记录名];

你可能感兴趣的:(vhdl 变量与信号区别 type符号使用)