欢迎来到天天文库
浏览记录
ID:48060683
大小:321.31 KB
页数:8页
时间:2019-05-06
《vhdl运算符重载overloa.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、先来看一个例子:4位加法器语法检查结果:综合出的RTL级框图:相同的函数名“+”居然可以有不同的操作数?从包集合中看一看函数“+”到底是怎么回事关于“+”函数:Std_logic_unsigned包集合中的“+”函数:概念:运算符重载(重载函数)指两个或两个以上的函数具有相同的函数名,而操作数的数据类型有差别,足以区分实际想要的函数。★由编译器根据操作数的数据类型来判断用那一函数作用:运算符重载(重载函数)使得运算符(或函数)能对多种数据类型进行操作,扩展了VHDL的功能。好比是同名不同人,不同的人能做不同的事,用到谁时谁上包集合中定义了很多重载运算符(重载函数):
2、一元:asb,-运算:+,-,*,/,rem,mod关系:=,/=,=>,<,>=,<=逻辑:not,and,or,nand,nor,xor,xnor移位:shift_left,shift_right,rotate_left,rotate_right,sll,srl,rol,ror★同一函数名可能在不同的包集合中定义了不同的函数,具体用哪一函数就要将其所在的包集合在文件头声明。例如:运算符“+”在包集合IEEE.numeric_bit,IEEE.std_logic_unsigned,IEEE.std_logic_signed中都有定义。std_logic类型换为bi
3、t类型刚才的4位加法器:自定义重载运算符(重载函数):在包集合中定义重载函数:编译通过:声明自定义的包集合刚才的4位加法器:该函数将bit型转换为std_logic子类型总结:同名不同人,不同的人做不同的事,用到谁时谁上;我们是女娲,也能造自己需要的人。谢谢大家
此文档下载收益归作者所有