码迷,mamicode.com
首页 > 其他好文 > 详细

VHDL操作符

时间:2019-11-02 20:12:35      阅读:1642      评论:0      收藏:0      [点我收藏+]

标签:等于   mic   多个   logic   amp   位运算   算术运算符   sig   int   

1、逻辑运算符

(1)分类及功能

and(与),or(或),not(非),nand(与非),nor(或非),xor(异或),xnor(同或)。

(2)用法

a.操作数的数据类型必须符合操作符的要求

能进行逻辑运算的数据类型:bit、bit_vector、boolean,std_logic,std_logic_vector

b.表达式中有多个运算符时一般要加括号,但and、or、xnor、除外。

c.运算符两侧的操作数要对称

2、关系运算符

=(等于),/=(不等于),<(小于),>(大于),<=(小于等于,和信号的赋值符号相同),>=(大于等于)。

注:等于和不等于的操作对象可以是任何数据类型构成的操作数。

其他关系运算符对数据类型有一定的限制。(整数,枚举型)

entity my1 is
port(a,b:in bit_vector(0 to 3);

m:out boolean
);
end my1;
architecture bhv of my1 is
begin
m<=(a=b);
end bhv;

技术图片

 

 

 

entity my1 is
port(a,b:in bit_vector(0 to 3);

m:out boolean
);
end my1;
architecture bhv of my1 is
begin
m<=(a<=b);
end bhv;

技术图片

3、算术运算符

(1)分类及功能

求和运算符、求积运算符、符号运算符、混合运算符、移位运算符

(2)运用

a.求和运算符

VHDL中的求和运算符包括加减运算和并置运算,操作数的数据类型为整型。

例1:variable a,b,c,d,e,f:integer range 0 to 255;

a:=b+c; d:=e-f;

例2;signal a:std_logic_vector(4 to 0);

       signal b:std_logic_vector(2 to 0);

       signal c:std_logic_vector(1 to 0);

a<=b&c;

b.移位运算符

移位运算所对应的数据类型为一维数组,其中元素维bit、boolean。

variable a1:std_logic_vector(3 to 0);

a1 :="1011";

a1 SLL 1;        a1=0110

a1 SLL 2;        a1=1100

a1 ROL 1;         a1=0111

 

 

 

VHDL操作符

标签:等于   mic   多个   logic   amp   位运算   算术运算符   sig   int   

原文地址:https://www.cnblogs.com/lhkhhk/p/11783622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!