- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA原理及应用 第二章
4.下标名 下标名用于指示数组型变量或信号的某一元素。 SIGNAL a,b:BIT _VECTOR(0 TO 3); SIGNAL s:INTEGER RANGE 0 TO 2; SIGNAL x,y:BIT; x = a (s); y = b (3); 上例中,a (s)为一下标语句,s是不可计算的下标名,只能在特定情况下进行综合;b (3)的下标为3,可以进行综合。 * * 第二章 VHDL语言元素 2.1 VHDL语言的客体 2.2 VHDL语言的数据类型 2.3 VHDL数据类型转换 2.4 VHDL词法规则与标识符 2.1 VHDL语言的客体 VHDL语言中,可以赋予一个质的对象就称为客体。客体主要包括以下三种:变量(VARIABLE)、常量(CONSTANT)、信号(SIGNAL)。 2.1.1 常量(CONSTANT)(常数) 定义一个常数主要是为了使设计实体中的某些量易于阅读和修改。常数说明就是对某一常数名赋予一个固定的值。通常在程序开始前进行赋值,该值的数据类型在说明语句中说明。 常数说明语句格式为: CONSTANT 常数名:数据类型 := 表达式; 例如: CONSTANT Vcc : REAL := 5.0; CONSTANT Fbus : BIT_VECTOR := “1011”; CONSTANT Delay : TIME := 10ns; 注:常量是一个恒定不变的值,一旦做了数据类型和赋值定义,它在程序中就不能再改变。 2.1.2 变量(VARIABLE) 变量只能在进程和子程序中用,是一个局部量,不能将信息带出对它做出定义的当前设计单元。与信号不同,变量的赋值是理想化数据传输,其赋值是立即生效的,不存在任何的延时行为。 变量定义语句的格式为: VARIABLE 变量名 : 数据类型 : 约束条件 := 初始值; 例如: VARIABLE n: INTEGER RANGE 0 TO 15 := 2; VARIABLE a: INTEGER; 变量赋值语句的格式为: 目标变量名 := 表达式; 赋值语句 “:=” 右边的表达式必须与目标变量具有相同的数据类型,这个表达式可以是一个运算表达式也可以是一个数值。变量赋值语句左边的目标变量可以是单值变量,也可以是变量的集合。 例如定义变量: VARIABLE a,b := REAL; VARIABLE x,y := BIT_VECTOR(0 TO 7); 2.1.3 信号(SIGNAL) 信号是电子电路内部硬件连接的抽象。它可以作为设计实体中的并行语句模块间交流信息的通道。信号及其相关的延时语句明显地体现了硬件系统的特征。 信号定义语句的格式为: SIGNAL 信号名:数据类型:约束条件 := 表达式; 例如: SIGNAL gnd :BIT := ‘0’; SIGNAL data :STD_LOGIC_VECTOR (7 DOWNTO 0); 信号赋值语句表达式为: 目标信号名 = 表达式; 符号 “=” 表示赋值操作,即将数据信息传入。数据信息传入时可以设置延时过程,这与器件的实际传播延时十分接近。因此信号值的代入采用“=”代入符,而不是像变量赋值时那样用“:=”。但信号定义时初始赋值符号“:=”,即仿真的时间坐标是从赋初始值开始的。 信号赋值语句举例: x = y; a = ‘1’; s1 = s2 AFTER 10 ns; 注意:变量和信号都必须先定义,后赋值。注意赋值符“=”和 “:=”的差别。 信号与变量的区别: 信号和变量是VHDL中重要的客体,他们之间的主要区别有: ·信号赋值至少要有δ延时;而变量赋值没有。 ·信号除当前值外有许多相关的信息,如历史信息和投影波形;而变量只有当前值。 ·进程对信号敏感而不对变量敏感。 ·信号可以是多个进程的全局信号;而变量只在定义他们的顺序域可见(共享变量除外)。 ·信号是硬件中连线的抽象描述,他们的功能是保存变化的数据值和连接子元件,信号在元件的端口连接元件。变量在硬件中没有类似的对应关系,他们用于硬件特性的高层次建模所需要的计算中。 2.2 VHDL语言的数据类型 在对VHDL的客体进行定义时,都要指定其数据类型。VHDL有多种标准的数据类型,并且允许用户自定义数据类型。在VHDL语言语义约束中,对类型的要求反映在赋值语句的目标与源的一致,表达式中操作的一致,子类型中约束与类型的一致等许多方面。 2.2.1 VHDL中预定义的数据类型(编程者可直接使用) 预定义类型在VHDL标准程序包STANDARD中定义,在应用中自动包含进VHDL的源文件,不需要USE语句
文档评论(0)