许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 三、信号: 3.2 数据对象(Object) 许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 三、信号: 3.2 数据对象(Object) 信号赋值语句: 信号名=表达式; 例如: s1=10; s2=s1; s3=”1001”; s4=s1+s2; 信号在赋值时,对应于硬件实现会产生附加延时,为了更好的仿真,可以用以下语句赋值。 例: s2=s1 after 10 ns; (只在仿真时采用) 许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 四、信号与变量值代入的区别: 3.2 数据对象(Object) 信号与变量值的代入不仅形式不同,而且其操作过程也不同。 在变量的赋值语句中,该语句一旦被执行,其值立即赋予变量。在执行下一条语句时,该变量的值就为上一句新赋的值。变量的赋值符为“:=”。 信号代入语句为“=”,该语句即使被执行也不一定会使信号立即发生代入,因为实际硬件器件有延时。此外,在进程(process)中,赋给信号的值必须在进程结束后才能成为当前值。 许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 四、信号与变量值代入的区别: 3.2 数据对象(Object) 许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 3.3 操作符 算术运算操作符; 逻辑运算操作符; 关系运算操作符; 重载操作符。 许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 一、算术运算操作符: 3.3 操作符 许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 一、算术运算操作符: 3.3 操作符 VHDL语言有10种算术运算符,分别是:+(加)、-(减)、*(乘)、/(除)、mod(求模)、rem(取余)、+(正,一元运算)、-(负,一元运算)、**(指数)、abs(取绝对值)。 一元运算符的操作数可以是任一数值类型(整数、浮点)。 加减运算符的操作数必须类型相同,并且可以是任何一种数值类型。 取模与取余运算符的操作数必须是同一类型的任何一种整数类型。 乘、除运算符的操作数既可以是相同的整数类型,也可以是相同的浮点数类型。 许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 一、算术运算操作符: 3.3 操作符 实际上,能够真正综合出逻辑电路(即可综合的)算术运算符只有整数的“+”、“-”、“*”,对于算术运算符“/”、“mod、“rem’,只有当分母为2的n次幂的常数时,才是可综合的。 对std_logic_vector类型的操作数进行“+”、“-”运算时,两边的操作数和赋值的变量(或信号)必须位长相同。 “*”运算符的两个操作数的位长之和必须等于赋值的变量(或信号)的位长。否则将出现语法错误。 许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 一、算术运算操作符: 3.3 操作符 并置运算符也称连接运算符,用“’’表示。它是一个二元运算符,它的任何一个操作数既可以是一维数组类型,也可以是一维数组类型的元素的类型。操作数必须具有相同的类型,或者其中的一个操作数是另一个操作数的元素的类型。 例如:2个bit类型的数连接起来形成一个位长为2的bit_vector类型的数;2个3位长的bit_vector连接成一个位长为6的bit_vector。 例:al,a2,a3,a4 :bit; a=a1 a2 a3 a4; --表示a为4位位矢量 b=a1 a2; --表示b为2位位矢量 c=ab; --表示c为6位位矢量 许钢 * 《在系统可编程技术应用设计SOPC技术及应用》 * 第3讲 数据类型、数据对象、操作符 一、算术运算操作符: 3.3 操作符 此外,位的连接也可以采用集合的方式。 例:al,a2,a3,a4:bit; a=a1 a2 a3 a4; a=(a1,a2,a3,a4); b=a1 a2; b=(a1,a2); 这种连接方式不适合位矢量之间的连接。 例:c=ab; --表示c为6位位矢量 c=(a,b); (错
原创力文档

文档评论(0)