赞
踩
描述:
VHDL中有算术运算符、逻辑运算符、赋值运算符、移位运算符、关系运算符与并置运算符6中常见运算符。
具体介绍:
VHDL 中常见的算术运算符包括:
这些运算符可以用于各种数据类型,如整数、实数、浮点数、定点数等。在使用这些运算符时,需要注意数据类型的匹配和精度问题,以避免出现意外的结果。此外,还可以使用 VHDL 中的类型转换操作符(如 to_integer、to_unsigned 等)将数据类型转换为所需的类型。
VHDL 中常见的逻辑运算符包括:
这些运算符可以用于各种数据类型,如 STD_LOGIC、BOOLEAN、INTEGER 等。在使用这些运算符时,需要注意数据类型的匹配和精度问题,以避免出现意外的结果。此外,还可以使用 VHDL 中的类型转换操作符(如 to_integer、to_unsigned 等)将数据类型转换为所需的类型。
VHDL 中常见的关系运算符包括:
VHDL 中常见的关系运算符包括:等于(=)、不等于(/=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)
VHDL 中常见的移位运算符包括:
格式如下:
<操作数> <移位运算符> <位数>
左移位运算符:用符号“sll”表示,将操作数向左移指定的位数,右侧空出的位补零。
右移位运算符:用符号“srl”表示,将操作数向右移指定的位数,左侧空出的位补零。
循环逻辑左移位运算符:用符号“rol”表示,将操作数向左移指定的位数,右侧空出的位补零,左侧溢出的位移动到右侧。
循环逻辑右移位运算符:用符号“ror”表示,将操作数向右移指定的位数,左侧空出的位补零,右侧溢出的位移动到左侧。
算术左移位运算符:用符号“sla”表示,将操作数向左移指定的位数,右侧空出的位补零,左侧溢出的位移动到右侧,符号位不变。
算术右移位运算符:用符号“sra”表示,将操作数向右移指定的位数,左侧空出的位补符号位,右侧溢出的位移动到左侧,符号位不变。
VHDL中的赋值运算符包括:
1、":="表示的是非阻塞赋值,即在当前时刻完成赋值操作,不会受到任何其他信号的干扰。
2、"<="表示的是阻塞赋值,即在当前时刻完成赋值操作,但是如果有其他信号的变化,会立即停止赋值操作,等待信号变化后再继续执行。
3、"=>" 给矢量中的某位赋值,常用与others => '0'
VHDL中的并置运算符包括:
可以使用“&”或者( , , , )符号来进行并置运算。
- LIBRARY IEEE;
- USE IEEE.STD_LOGIC_1164.ALL;
- USE IEEE.STD_LOGIC_UNSIGNED.ALL;
- USE IEEE.STD_LOGIC_ARITH.ALL;
-
-
- ENTITY data IS
- PORT(
- a : IN STD_LOGIC;
- b : IN STD_LOGIC_VECTOR(6 DOWNTO 0);
- c : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
- d : OUT STD_LOGIC_VECTOR(2 DOWNTO 0)
- );
-
- END ENTITY;
-
- ARCHITECTURE rtl OF data IS
- BEGIN
- c <= a & b;
- d <= (a,'1','0');
- END rtl;
运算符 | 支持类型 |
算术运算符 + - * / mod ** | integer、signed、unsigned std_logic_vector使用算术运算符必须申明use std_logic_unsigned.all包 std_logic、bit、bit_vector需要进行数据类型转换 |
and or not xor xnor nand nor | bit、bit_vector、 std_logic、std_logic_vector、 std_ulogic、std_unlogic_vector |
关系运算符 = /= > < >= <= | 任意类型 |
移位运算符 sll srl rol ror sla sra | 格式:<操作数> <移位运算符> <位数> <操作数> 必须为:bit_vector <位数>必须为:integer |
<= = => | 任意类型 |
并置运算符 & (,,,) | bit_vector、 std_logic、std_logic_vector、 std_ulogic、std_unlogic_vector signed、unsigned |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。