欢迎来到天天文库
浏览记录
ID:45565499
大小:64.31 KB
页数:5页
时间:2019-11-14
《IEEE754标准用VHDL语言实现浮点数运算》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、用VHDL语言实现浮点数运算随着CPII)和FPGA的出现以及EDA技术的成熟,采用CPLD/FPGA实现数字信号处理的方法已经显示出巨大的潜力。由于CPLD/FPGA器件具备在线可编程能力,克服了专用处理器灵活性方面的不足,同时兼备了高速和低成本的优点,使CPLD/FPGA在数字信号处理领域得到广泛应用。近年来,高密度可编程器件CPLD/FPGA的集成度、速度不断提高,设计手段更加完善。1、浮点数加/减法器的设计整个浮点数加减法器简化为:对阶、尾数运算、规格化3部分。(1)对阶使两个数据的阶码相等,这时才能进行尾数的加减运算.在对阶操作时,总是使小阶向大阶对齐.实现的方
2、法是,将原來阶码小的数的尾数部分右移,并相应地壇加其阶码.传统的做法是将原來阶码小的数的尾数部分右移1位,其加1,直至阶码相等•如图1所示禺1对晞框禺在进行对阶操作吋,首先比较Ea、Eb的大小,产生换路指示位:若Ea>Eb则换路有效,否则换路无效;同时输出大阶E:若Ea>Eb,贝ijEWEa,否则EWEb;阶差:AE=
3、Ea-Eb
4、,用于控制可变步长移位器的移位步长.对于原码表示的尾数,移位时尾数高位补零•可变步长移位器是对阶器的核心部件,用VIIDL描述如下:ENTTTYMOVEISPORT(INPUT:INSTD—LOGIC—VECTOR(3DOWNTD0);COUN
5、T:ININTEGERRANGE0TO3;OUTP:OUTSTD—LOGIC—VECTOR(3DOWNTO0));ENDMOVE;ARCHITECTUREMUX—ARCOFMOVEISBEGINOUTPUT:PROCESS(INPUT,COUNT)BEGINCASECOUNTISWHEN0~0UTP(3DOWNT0)"INPUT(3DOWNTO0);WHENrOUTP(3DOWNTO0)'“0”&INPUT(3DOWNTO1);WHEN2~OUTP(3DOWNTO0)~“00”&INPUT(3DOWNTO2);WHEN3~0UTP(3DO0)~“000”&TNPUT(3)
6、;ENDCASE;ENDPROCESS;ENDMUX—ARC;(1)尾数运算完成尾数即完成尾数的加减运算。原码表示的二进制数格式与VHDL语言中的UNSIGNED数据格式是一样的,因此尾数加减法可以利用VHDL语言提供的UNSIGNED数的加减完成原码帯符号数减法的规则是:若A—F的绝对值大于或等于B—F的绝对值,贝I」差的绝对值为A—F—B—F,差的符号与A同;否则,差的绝对值为B—F—A—F,弟的符号与A相反•下面列出程序清单。加法A_F+B_F:ENTTYFADDISPORT(A_F,B_F:INUNSIGNED(3DOWNTO0);S:INSTD—LOGIC;FS
7、UM:OUTSTD—LOGIC—VECTOR(5DOWNTO0));ENDFADD;ARCHITECTUREARCOFFADDISBEGINFSUM(4downto0厂A—F+B—F;FSUM(5)~S;ENDARC;其中,FSUM多留一位为尾数和的符号位,一位保存加法的进位.A—F、B—F表示浮点数A、B的尾数,S表示A的符号位,若两数的符号相反,它们相加实质是相减,相减实质是相加.减法A—F—B一F:ENTTTYFSUBISPORT(S:INSTD—LOGIC;A_F,B_F:INUNSIGNED(3DOWNTO0);SUB—OUT:OUTUNSIGNED(4DOWN
8、TO0));ENDFSUB;ARCHITECTUREARCOFFSUBISSIGNALA,B:UNSIGNED(3DOWNTO0);BEGINACT:PROCESS(S,A_F,B_F)BEGINIFA_F9、0.5,要通过尾数左移以实现规格化(称向左规格化);在加法运算时,可能结杲会大于1,此时要通过尾数右移以实现规格化(称向右规格化).传统的操作规则是:尾数移动一位,阶码相应3n/减1,直至数据规格化.和对阶器一样,木文规格化器同样用可变步长移位器实现,操作规格是:先求出移位步数,用可变步长移位器对尾数移位,阶码相应加减移位步数.(1)浮点数加/减法器综合m2浮点力城注谿绪枸图2中,S3、Sbo浮点数A、B的符号位:Mb、Mb。浮点数A、B的尾数;Eq、Rbo浮点数A、B的阶码;、Mb':对阶后的浮点数A、B的尾数;2、浮点数乘
9、0.5,要通过尾数左移以实现规格化(称向左规格化);在加法运算时,可能结杲会大于1,此时要通过尾数右移以实现规格化(称向右规格化).传统的操作规则是:尾数移动一位,阶码相应3n/减1,直至数据规格化.和对阶器一样,木文规格化器同样用可变步长移位器实现,操作规格是:先求出移位步数,用可变步长移位器对尾数移位,阶码相应加减移位步数.(1)浮点数加/减法器综合m2浮点力城注谿绪枸图2中,S3、Sbo浮点数A、B的符号位:Mb、Mb。浮点数A、B的尾数;Eq、Rbo浮点数A、B的阶码;、Mb':对阶后的浮点数A、B的尾数;2、浮点数乘
此文档下载收益归作者所有