- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字系统设计第2章汇编
3.关系运算符 关系运算符是两个对象在做比较运算时,将两个操作数比较结果表示出来所使用的符号,如下: =——等于 /=——不等于 <——小于 <=——小于等于 >——大于 >=——大于等于 4.并置运算符 在VHDL程序设计中,并置运算符“”用于位的连接。并置运算符的使用规则如下: ·并置运算符可用于位的连接,形成位矢量。 ·位的连接,可以用并置符连接法,也可用集合体连接法。 举例如下: DATAC <= D0 D1 D2 D3; --采用并置连接,DATAC为一个4位矢量,D0、--D1、D2、D3各为一位矢量 Signal A std_logic_vector(0 TO 3);--A为4位矢量 DATAE <= A DATAC; --DATAE为一个8位矢量(A0, A1,A2,A3,D0,D1,D2,D3) VHDL 对信号和变量的赋值操作不同,主要是使用不同的操作符实现。它们分别为 : “=” 该赋值操作符用于对信号 (Signal) 的赋值 : “:=” 该赋值操作符用于对变量 (Variable) 、常量 (Constant ) 和 Generic( 属性 ) 的赋值 , 也用于给信号和变量等设定初始值。 =” 该赋值操作符用于对矢量单元的赋值 , 和 OTHERS 一起使用。 5. 赋值操作符 6. 移位操作符 移位操作符号都是VHDL93标准新增的运算符 SLL 逻辑左移 BIT或布尔型一维数组 SRL 逻辑右移 BIT或布尔型一维数组 SLA 算术左移 BIT或布尔型一维数组 SRA 算术右移 BIT或布尔型一维数组 ROL 逻辑循环左移 BIT或布尔型一维数组 ROR 逻辑循环右移 BIT或布尔型一维数组 2.2.7 函数类属性 函数类属性是指属性以函数的形式提供数据类型、数组边界、信号的变化等相关信息。函数类属性有3种类型: 数据类型的属性函数 数组的属性函数 信号的属性函数 用数据类型的属性函数可以得到数据类型的有关信息。例如:数据类型转换信息、数据的位置信息、某一位置上数据的数值以及相关位置上数据的数值等等。 对数据类型的属性函数还可细分为以下6种属性函数: 数据类型名POS(x)——得到输入x值的位置序号; 数据类型名VAL(x)——得到输入位置序号x的值; 数据类型名SUCC(x)——得到输入x值的下一个值; 数据类型名‘PRED(x)——得到输入x值的前一个值; 1. 数据类型的属性函数 数据类型名LEFTOF(x)——得到邻接输入x值左边的值; 数据类型名RIGHTOF(x)——得到邻接输入x值右边的值。 使用上述函数类属性的表达式时,先输入一个自变量x的值,函数调用后将返回一个值,这个返回值就是要得到的相关数据的信息。 数据类型属性函数的一个典型应用是将枚举或物理类型的数据转换成整数。 1. 数据类型的属性函数 利用数组的属性函数可得到数组的左边界值、右边界值。也就是利用数组的属性函数可获得 数组的区间。在对数组的每一个元素进行操作时使用数组的属性函数非常方便。 数组的属性函数分为以下4种。 ArrayName‘LEFT(n)、ArrayName’RIGHT(n)、ArrayName‘HIGH(n)、ArrayName’LOW(n)。 2. 数组的属性函数 属性函数中的ArrayName是数组名,n是数组A的下标或索引号,n的默认值为1,表示对一维数组进行操作。 ArrayNameLEFT(n)表示得到索引号为n的区间左端边界值。 ArrayNameRIGHT(n)表示得到索引号为n的区间的右端边界值。 ArrayNameHIGH(n)表示得到索引号为n的区间的高端的上限值。 ArrayNameLOW(n)表示得到索引号为n的区间的低端的下限值。 信号的属性函数用来得到信号的行为信息和功能信息。使用信号的属性函数可以获取一个信号的值是否发生了变化和一个信号从最后一次变化到现在经历的时间以及信号变化之前的值等信息。信号的属性函数及其功能如下。 SignalName‘EVENT——如果在当前一个相当小的时间间隔内,事件发生了,那么,这个函数将返回一个为“真”的布尔量;否则就返回一个为“假”的布尔量。 3. 信号的属性函数 SignalNameACTIVE——如果在当前一个相当小的时间间隔内,信号发生了改变,那么,这个函数 将返回一个为“真”的布尔量;否则就返回一个为“假”的布尔量。 SignalNameLASTEVENT——该属性函数将返回一个时间值,即从信号前一个事件发生到现在所经过的时间。 SignalNameLASTVALUE——该属性函数将返回一个值,即该值是信号最后一次改变以前的值。 SignalNam
文档评论(0)