书签 分享 收藏 举报 版权申诉 / 18
上传文档赚钱

类型第11讲VHDL的运算符2课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:3860599
  • 上传时间:2022-10-19
  • 格式:PPT
  • 页数:18
  • 大小:82.44KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第11讲VHDL的运算符2课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    11 VHDL 运算 课件
    资源描述:

    1、第第1111讲讲 VHDLVHDL的运算符的运算符2 2 本讲知识点:本讲知识点:关系运算符关系运算符 并置运算符并置运算符3 3、关系运算符:、关系运算符:操作符操作符 功能功能 操作数类型操作数类型 等于等于 任何数据类型任何数据类型 /=/=不等于不等于 任何数据类型任何数据类型 小于小于 integerinteger、realreal、bitbit、std_logicstd_logic等及其一维向量等及其一维向量 大于大于 integerinteger、realreal、bitbit、std_logicstd_logic等及其一维向量等及其一维向量 =大于等于大于等于 integeri

    2、nteger、realreal、bitbit、std_logicstd_logic等及其一维向量等及其一维向量注意:注意:(1 1)关系运算符运算的最后结果总是布尔类)关系运算符运算的最后结果总是布尔类型型 (2 2)关系运算符两边的数据类型必须相同,)关系运算符两边的数据类型必须相同,但是位的长度不一定相同。但是位的长度不一定相同。(3 3)对位矢量数据进行比较时,比较从最左)对位矢量数据进行比较时,比较从最左边的位开始,自左至右进行比较的。在位长不同边的位开始,自左至右进行比较的。在位长不同的情况下,只能按自左至右的比较结果作为关系的情况下,只能按自左至右的比较结果作为关系运算的结果。运算

    3、的结果。上例上例a的值位的值位10,而,而b的值位的值位7,a应该比应该比b大。大。但是,由于位矢量是从左至右按位比较的,当比但是,由于位矢量是从左至右按位比较的,当比较到次高位时,较到次高位时,a的次高位为的次高位为“0”而而b的次高位为的次高位为“1”,故比较结果,故比较结果b比比a大。这样的比较结果显然大。这样的比较结果显然时不符合实际情况的。时不符合实际情况的。例例1:SIGNAL a:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL b:STD_LOGIC_VECTOR(2 DOWNTO 0);a=“1010”;b b)THEN ELSE 为了能使位矢量进行关系

    4、运算,在包集合为了能使位矢量进行关系运算,在包集合“STD_LOGIC_UNSIGNED”STD_LOGIC_UNSIGNED”中对中对“STD_LOGIC_VECTOR”STD_LOGIC_VECTOR”关系运算重新作了定义,使其可以正确的进行关系关系运算重新作了定义,使其可以正确的进行关系运算。注意在使用时必须首先说明调用该包集合。运算。注意在使用时必须首先说明调用该包集合。当然,此时位矢量还可以和整数进行关系运算。当然,此时位矢量还可以和整数进行关系运算。在关系运算符中小于等于符在关系运算符中小于等于符“=”=”和代入和代入符符“=”=”时相同的,在读时相同的,在读VHDLVHDL语言的

    5、语句时,应按语言的语句时,应按照上下文关系来判断此符号到底时关系符还是代入照上下文关系来判断此符号到底时关系符还是代入符。符。例例2 2:比较下面:比较下面3 3组二进制数的大小:组二进制数的大小:“1011”1011”和和“101011”101011”;“1”1”和和“011”011”;“101”101”和和“110”110”下面是下面是VHDLVHDL关系运算的结果:关系运算的结果:“1011”1011”“101011”101011”“1”“1”“011”011”“101”“101”“110”110”为了能使其正确地进行关系运算,在包集合为了能使其正确地进行关系运算,在包集合“std_lo

    6、gic_unsigned”std_logic_unsigned”和和“std_logic_signed”std_logic_signed”中对关系运算符重新做了定义,使用时必须要调中对关系运算符重新做了定义,使用时必须要调用这些程序包。用这些程序包。【例例3】位矢量比较位矢量比较 ENTITY rel_1 IS PORT(a:IN BIT_VECTOR(0 TO 2);b:IN bit_vector(0 to 1);m:OUT BOOLEAN);END rel_1;ARCHITECTURE example OF rel_1 IS BEGIN m=(a=b);END example;【例例4】无

    7、符号数比较无符号数比较 library ieee;use ieee.std_logic_arith.all;entity ue isport(a,b:in unsigned(1 downto 0);m:out boolean);end ue;architecture ex of ue isbeginm=b);end ex;【例例4】有符号数比较有符号数比较 library ieee;use ieee.std_logic_arith.all;entity re isport(a,b:in signed(1 downto 0);m:out boolean);end re;architecture

    8、ex of re isbeginm=b);end ex;综合实例:综合实例:library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_signed.all;entity cnt10 isport(a,b:in unsigned(3 downto 0);c,d:in signed(3 downto 0);rab:out unsigned(3 downto 0);rcd:out signed(3 downto 0);ru,rs:out boolean);end;archi

    9、tecture rtl of cnt10 isbeginrab=a+b;rcd=c+d;rub);rsd);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)y(3)=b(3)y(4)=a(0)y(5)=a(1)

    10、y(6)=a(2)y(7)=a(3)这种逻辑关系用并置运算符就很容易表达出来:tmp_b=b AND(en&en&en&en);y=a&tmp_b;第一个语句表示b的的4位位矢量由位位矢量由en进行选择得到一个进行选择得到一个4位位矢量的输出位位矢量的输出。第二个语句表示4位位矢量位位矢量a和和4位位矢位位矢量量b再次连接再次连接(并置并置)构成构成8位位矢量位位矢量y输出输出。位的连接也可使用集合体的方法位的连接也可使用集合体的方法,即将并置符换成逗并置符换成逗号号就可以了,例如:tmp_b=(en,en,en,en);但是,这种方法不适用于位矢量之间的连接不适用于位矢量之间的连接。如下的描

    11、述方法是错误错误的:a=(a,tmp_b);集合体也能指定位的脚标集合体也能指定位的脚标,例如上一个语句可表示为tmp_ben,2=en,1=en,0=en);或tmp_ben);在指定位的脚标时,也可以用“OTHERS”来说明:tmp_ben);要注意,在集合体中集合体中“OTHERS”只能放在最后只能放在最后。假若b位矢量的脚标b(2)的选择信号为“0”,其他位的选择信号均为en。那么此时表达式可写为tmp_b0,OTHERS=en);P92 P92 例例4-114-11 注意:操作数必须有相同的类型。注意:操作数必须有相同的类型。VHDLVHDL运算符的优先级运算符的优先级运算符运算符 优先级优先级not not 高高*+(正号)(正号)-(负号)(负号)+(加号)(加号)(减号)(减号)&SLL SRL SLA SRA ROL RORSLL SRL SLA SRA ROL ROR=/=/=and or nand nor xor xnor and or nand nor xor xnor 低低

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第11讲VHDL的运算符2课件.ppt
    链接地址:https://www.163wenku.com/p-3860599.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库