《VHDL的运算符》PPT课件

《VHDL的运算符》PPT课件

ID:39365740

大小:261.92 KB

页数:18页

时间:2019-07-01

《VHDL的运算符》PPT课件_第1页
《VHDL的运算符》PPT课件_第2页
《VHDL的运算符》PPT课件_第3页
《VHDL的运算符》PPT课件_第4页
《VHDL的运算符》PPT课件_第5页
资源描述:

《《VHDL的运算符》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11讲VHDL的运算符2本讲知识点:关系运算符并置运算符3、关系运算符:操作符功能操作数类型=等于任何数据类型/=不等于任何数据类型<小于integer、real、bit、std_logic等及其一维向量<=小于等于integer、real、bit、std_logic等及其一维向量>大于integer、real、bit、std_logic等及其一维向量>=大于等于integer、real、bit、std_logic等及其一维向量注意:(1)关系运算符运算的最后结果总是布尔类型(2)关系运算符两边的数据类型必须相同,但是位的长度不一

2、定相同。(3)对位矢量数据进行比较时,比较从最左边的位开始,自左至右进行比较的。在位长不同的情况下,只能按自左至右的比较结果作为关系运算的结果。上例a的值位10,而b的值位7,a应该比b大。但是,由于位矢量是从左至右按位比较的,当比较到次高位时,a的次高位为“0”而b的次高位为“1”,故比较结果b比a大。这样的比较结果显然时不符合实际情况的。例1:SIGNALa:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALb:STD_LOGIC_VECTOR(2DOWNTO0);a<=“1010”;b<=“111”;IF(a>

3、b)THENELSE为了能使位矢量进行关系运算,在包集合“STD_LOGIC_UNSIGNED”中对“STD_LOGIC_VECTOR”关系运算重新作了定义,使其可以正确的进行关系运算。注意在使用时必须首先说明调用该包集合。当然,此时位矢量还可以和整数进行关系运算。在关系运算符中小于等于符“<=”和代入符“<=”时相同的,在读VHDL语言的语句时,应按照上下文关系来判断此符号到底时关系符还是代入符。例2:比较下面3组二进制数的大小:“1011”和“101011”;“1”和“011”;“101”和“110”下面是VHDL关系运算的结果

4、:“1011”>“101011”“1”>“011”“101”<“110”为了能使其正确地进行关系运算,在包集合“std_logic_unsigned”和“std_logic_signed”中对关系运算符重新做了定义,使用时必须要调用这些程序包。【例3】位矢量比较ENTITYrel_1ISPORT(a:INBIT_VECTOR(0TO2);b:INbit_vector(0to1);m:OUTBOOLEAN);ENDrel_1;ARCHITECTUREexampleOFrel_1ISBEGINm<=(a=b);ENDexample;【例

5、4】无符号数比较libraryieee;useieee.std_logic_arith.all;entityueisport(a,b:inunsigned(1downto0);m:outboolean);endue;architectureexofueisbeginm<=(a>=b);endex;【例4】有符号数比较libraryieee;useieee.std_logic_arith.all;entityreisport(a,b:insigned(1downto0);m:outboolean);endre;architecture

6、exofreisbeginm<=(a>=b);endex;综合实例:libraryieee;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;useieee.std_logic_signed.all;entitycnt10isport(a,b:inunsigned(3downto0);c,d:insigned(3downto0);rab:outunsigned(3downto0);rcd:outsigned(3downto0);ru,rs:outboolean);e

7、nd;architecturertlofcnt10isbeginrab<=a+b;rcd<=c+d;ru<=(a>b);rs<=(c>d);end;并置运算符并置运算符“&”用于位的连接。例如,将4个位用并置运算符“&”连接起来就可以构成一个具有4位长度的位矢量。两个4位的位矢量用并置运算符“&”连接起来就可以构成8位长度的位矢量。图3-1就是使用并置运算符的实例。图3-1使用并置运算符的实例在图3-1中,en是b(0)~b(3)的允许输出信号,而y(0)~y(7)中存在如下关系:y(0)=b(0)y(1)=b(1)y(2)=b(2

8、)y(3)=b(3)y(4)=a(0)y(5)=a(1)y(6)=a(2)y(7)=a(3)这种逻辑关系用并置运算符就很容易表达出来:tmp_b<=bAND(en&en&en&en);y<=a&tmp_b;第一个语句表示b的4位位矢量

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。