基于VHDL的浮点数转ASCII码的方法及装置制造方法及图纸

技术编号:32544959 阅读:35 留言:0更新日期:2022-03-05 11:43
本发明专利技术提供了一种基于VHDL的浮点数转ASCII码的方法及装置,所述方法包括:接收浮点数据;按照浮点数据的位将所述浮点数据划分为符号位、指数部分和尾数部分;对所述符号位、指数部分和尾数部分处理,分别得到符号、整数和小数部分;对符号部分、整数部分和小数部分进行解析,根据解析结果对符号部分、整数部分和小数部分进行整合,得到ASCII码。充分利用FPGA并行计算的优势,分别对符号位、指数部分和尾数部分单独处理,提升了转换速度。同时,通过对符号位、指数部分和尾数部分的处理优化。将处理过程以简单的加减处理执行。充分利用VHDL语言的特点,可以实现快速准确的将浮点数转ASCII码。ASCII码。ASCII码。

【技术实现步骤摘要】
基于VHDL的浮点数转ASCII码的方法及装置


[0001]本专利技术属于数字
,尤其是涉及一种基于VHDL的浮点数转ASCII码的方法及装置。

技术介绍

[0002]现代通信以电为信息载体,以0和1两种状态所组成的数字化序列可用电信号的电平高低变化来表示,构造出不同的电信号。一个完善的系统由多个不同功能的设备组成,设备中还有各种芯片,如ARM,CPU,FPGA等构成,不同芯片负责不同功能,所应用的语言系统也不相同。而由于设备与设备之间、设备中各个芯片之间需要通信交互,通信码的格式与类型就显得尤为重要。C系列语言具备大量的成形函数,不同类型之间的转换相对于硬件语言,要简单得多,硬件语言相对底层,更关心的是时序逻辑与反应速度。
[0003]FPGA作为硬件芯片中最常用的一类,在实际应用中担当着承上启下的角色,向上与嵌入式、上位机联动,向下与射频以及各种输入模块配合。然而上位机下达指令或者输入模块采集的数据类型多种多样,例如ASCII码,BCD码、浮点数等。一般情况下,可以采用规避的方法,即不用FPGA处理,而是将数据传送至上位机或嵌本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于VHDL的浮点数转ASCII码的方法,其特征在于,包括:接收浮点数据;按照浮点数据的位将所述浮点数据划分为符号位、指数部分和尾数部分;对所述符号位、指数部分和尾数部分处理,分别得到符号、整数和小数部分;对符号部分、整数部分和小数部分进行解析,根据解析结果对符号部分、整数部分和小数部分进行整合,得到ASCII码。2.根据权利要求1所述的方法,其特征在于,所述按照浮点数据的位将所述浮点数据划分为符号位、指数部分和尾数部分,包括:根据十六进制Float型数据组成关系划分符号位、指数部分和尾数部分;所述根据十六进制Float型数据组成关系划分符号位、指数部分和尾数部分,包括:将最高位划分为符号位;将后23位划分为尾数部分;将其余部分划分为指数部分。3.根据权利要求1所述的方法,其特征在于,所述对所述符号位、指数部分和尾数部分处理,分别得到符号、整数和小数部分,包括:获取最高位为符号位,在为0为非负数,1为负数;将尾数部分最高位补1并添加小数点;将8bit转换为十进制,减去127,获取小数点平移位数index判断index的正负,在index为正时,将小数点右移差值位数;在index非正时,如果index为0,则保持小数点不动,否则将小数点左移差值位数。4.根据权利要求3所述的方法,其特征在于,所述对符号部分、整数部分和小数部分进行解析,包括:判断整数部分是否小于1000,若小于1000则减去1000后再次与1000比较,直至其小于1000,获取减去1000的次数a和剩余整数部分B;判断B是否小于100,若小于100则减去100后再次与100比较,直至其小于100,获取减去100的次数b和剩余整数部分C;判断C是否小于10,若小于10则减去10后再次与10比较,直至其小于10,获取减去10的次数c和剩余整数部分D;计算整数部分的十进制数值为a*1000+b*100+c*10+D。5.根据权利要求4所述的方法,其特征在于:所述对符号部分、整数部分和小数部分进行解析,包括:获取小数部分的最高8比特位,并分开处理前4比特位和后4比特位;对于前4bit位,每次加一,做判决得到对应数据N对于后4bit位,每次加一,做判决,得到对应数据M;M+N并考虑四舍五入,获取小数部分。6.根据权利要求5所述的方法,其特征在于,所...

【专利技术属性】
技术研发人员:尚进颜凯孔云苍刘博蒋航李鑫儒赵亮
申请(专利权)人:天津光电通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1