一种浮点复数乘法器的制作方法

文档序号:6117403阅读:230来源:国知局
专利名称:一种浮点复数乘法器的制作方法
技术领域
本发明涉及高频地波海洋雷达环境监测技术领域,具体涉及高频地波海洋雷达环境监测设备中的数字脉冲压缩系统,特别是数字脉冲压缩系统中使用的浮点复数乘法器。
背景技术
在现代雷达设计中,脉冲压缩技术被广泛地使用以解决测距精度与测速精度以及探测距离之间的矛盾。而随着数字技术和大规模集成电路技术的飞速发展,数字脉冲压缩技术以其性能稳定、抗干扰能力强、控制方式灵活和硬件系统更小型化等优点,逐渐取代早期的模拟脉压技术,成为现代雷达脉冲压缩系统的发展趋势。
现有浮点复数乘法都是采用若干集成电路搭建或者采用浮点计算机通过软件方法实现的。集成电路搭建方法具有电路复杂、体积及功耗大、价格高、灵活性差等缺点,而软件方法运算速度慢,难以满足现代雷达的实时脉冲压缩技术的要求。

发明内容
本发明所要解决的技术问题是提供一种运算速度快的浮点复数乘法器。该浮点复数乘法器能实时完成现代雷达数字脉冲压缩技术中的浮点复数乘法功能,大大简化了雷达接收机的系统结构,提高了接收机系统的数据处理速度和可靠性。
本发明解决上述技术问题所采用的技术方案是一种浮点复数乘法器,它包括数据接口、一个浮点加法单元、一个浮点减法单元、四个浮点乘法单元;数据接口包括两相乘复数(X、Y)的实部(X1、Y1)和虚部(XQ、YQ)的四个输入接口、结果复数(Z)的实部(Z1)和虚部(ZQ)的两个输出接口;四个浮点乘法单元分别为用于将两复数的实部(X1、Y1)相乘并输出结果的实部相乘乘法单元;用于将两复数的虚部(XQ、YQ)相乘并输出结果的虚部相乘乘法单元;分别用于将一复数的实部(X1或Y1)和另一复数的虚部(YQ或XQ)相乘并输出结果的两实部虚部乘法单元;浮点减法单元为用于将实部相乘乘法单元输出结果和虚部相乘乘法单元输出结果相减并输出结果复数的实部(Z1)的浮点减法单元;浮点加法单元为用于将两实部虚部乘法单元输出结果相加并输出结果复数的虚部(ZQ)的浮点减法单元。
本发明浮点复数乘法器可集成于高频地波雷达全数字雷达接收机中,实现对雷达回波信号进行实时数字脉冲压缩中的浮点复数乘法功能,可提高雷达接收机数据处理速度、数据处理精度。该浮点复数乘法器的可靠性高、通用性好、体积功耗小、成本较低。


图1是本发明实施例的结构框2是本发明实施例的内部结构框3是浮点乘法(float_mul)单元VHDL三级流水线框4是浮点加法(float_add)单元VHDL三级流水线框5是浮点减法(float_sub)单元VHDL三级流水线框6是具有本发明实施例的现代雷达脉冲压缩系统的结构框中,Rx为xBit寄存器。
具体实施例方式
本发明浮点复数乘法器实施例包括数据接口、一个浮点加法单元、一个浮点减法单元、四个浮点乘法单元。
如图1所示,数据接口包括两相乘复数(X、Y)的实部(X1、Y1)和虚部(XQ、YQ)的四个输入接口、结果复数(Z)的实部(Z1)和虚部(ZQ)的两个输出接口;输入输出数据格式符合IEEE-754标准的32位单精度数据格式。
如图2所示,本发明浮点复数乘法器实施例采用两级流水线结构,由4个浮点乘法float_mul模块、1个浮点加法float_add模块和1个浮点减法float_sub模块组成。四个浮点乘法单元分别为用于将两复数的实部(X1、Y1)相乘并输出结果的实部相乘乘法单元;用于将两复数的虚部(XQ、YQ)相乘并输出结果的虚部相乘乘法单元;分别用于将一复数的实部(X1或Y1)和另一复数的虚部(YQ或XQ)相乘并输出结果的两实部虚部乘法单元。
浮点加法单元为用于将两实部虚部乘法单元输出结果相加并输出结果复数的虚部(ZQ)的浮点减法单元。
浮点减法单元为用于将实部相乘乘法单元输出结果和虚部相乘乘法单元输出结果相减并输出结果复数的实部(Z1)的浮点减法单元。
如图3所示,浮点乘法(float_mul)单元采用三级流水线方式来实现。
在第一级流水线中,完成两个符号位s1和s2的读取,并存入两个1位寄存器;两个尾数f1和f2的读取,对于非零的浮点数,将蕴含的前1分别放置于分数f1和f2的左端,并存入两个24位寄存器;将指数e1与e2相加,其结果与1位的进位存储在一个9位的寄存器中。对于两个负指数相加,如果运算结果小于所能够表示的最小的指数,这时候将发生下溢,在这种情况下,将该浮点数置0。如果发生上溢,那么就将浮点数置为浮点格式所能够表示的最大的数。
第二级首先确定符号位,比较两个操作数的符号位s1和s2。如两符号位相同,则结果的符号为正,否则为负;两个24位数据1.f1和1.f2的整数乘法,取48位结果的高25位存储在寄存器中;在第三级流水线中完成浮点数的规格化处理和舍入操作。根据第2级乘法结果的最高位调整指数。由于乘法结果最多只需一次左移就可以规格化,因而如果乘法结果最高位为1,则不需要调整指数。如果乘法结果最高位为0,则前级的指数只需减1即可,同时将乘法结果左移一位;最后输出1位符号位R1、8位指数位R8和23位尾数位R23。
如图4所示,浮点加法(float_add)单元采用三级流水线方式来实现。
在第一级流水线中完成数据的预处理、指数对齐以及尾数移位的操作。首先读取v1、v2的符号位s1和s2、指数位e1和e2以及尾数位f1和f2。比较v1、v2两个输入操作数的绝对值大小,保证|v1|≥|v2|,否则交换两个输入数v1、v2,这样在进行加法或者减法运算时,运算结果的符号和指数必定与v1相同。v1的符号位存入R1;v1的指数位存入R8,同时,求取指数之差e1-e2,相减结果称为移位值,存入一个8位寄存器;两个尾数f1和f2的读取,对于非零的浮点数,将蕴含的前1分别放置于分数f1和f2的左端,并分别存入两个24位寄存器。
第二级流水线完成尾数相加的操作。将1.f2右移(e2-e1)位所得结果称为中间值x,如果s1等于s2,将1.f1与中间值x相加,存入23位寄存器中;如果s1不等于s2,将1.f1与中间值x相减,存入23位寄存器中;在第三级流水线中完成浮点数的规格化处理和舍入操作,将结果存入32位寄存器输出。具体包括将尾数部分左移直到最高位为1,完成尾数的规格化,存入23位寄存器输出;指数位减去尾数部分的左移次数并存入8位寄存器输出;前级的符号位直接输出。
如图5所示,浮点减法(float_sub)单元采用三级流水线方式来实现。
在第一级流水线中完成数据的预处理、指数对齐以及尾数移位的操作。首先读取v1、v2的符号位s1和s2、指数位e1和e2以及尾数位f1和f2。比较v1、v2两个输入操作数的绝对值大小,保证|v1|≥|v2|,否则交换两个输入数v1、v2,这样在进行加法或者减法运算时,运算结果的符号和指数必定与v1相同。v1的符号位存入R1;v1的指数位存入R8,同时,求取指数之差e1-e2,相减结果称为移位值,存入一个8位寄存器;两个尾数f1和f2的读取,对于非零的浮点数,将蕴含的前1分别放置于分数f1和f2的左端,并分别存入两个24位寄存器。
第二级流水线完成尾数相减的操作。将1.f2右移(e2-e1)位所得结果称为中间值x,如果s1等于s2,将1.f1与中间值x相减,存入23位寄存器中;如果s1不等于s2,将1.f1与中间值x相加,存入23位寄存器中;在第三级流水线中完成浮点数的规格化处理和舍入操作,将结果存入32位寄存器输出。具体包括将尾数部分左移直到最高位为1,完成尾数的规格化,存入23位寄存器输出;指数位减去尾数部分的左移次数并存入8位寄存器输出;前级的符号位直接输出。
如图6所示,本发明实施例浮点复数乘法器在现代雷达的脉冲压缩技术中的应用,实现雷达回波信号与参考信号的浮点复数相乘。射频信号经适当放大、滤波后,直接送入ADC进行低通或带通采样,由于采样率一般远远大于2倍的信号带宽,故有必要对采样数据降速。通过数字下变频,并变换为I、Q两路信号,之后再与存放在只读存储器(ROM)中的参考信号进行复数相乘,经低通滤波后得到与目标位置和目标速度对应的差频信号,最后由DSP做进一步处理。
参见图1,I、Q两路数字正交信号XI和XQ按一定速率输入到浮点复数乘法器,同时在同步信号的控制下,浮点复数乘法器从ROM中读入参考信号,作为YI和YQ信号,通过浮点复数乘法器完成复数相乘,相乘结果分作实部ZI和虚部ZQ分别输出。
具有本发明实施例的现代雷达脉冲压缩系统,集成于高频地波雷达全数字雷达接收机中,实现对雷达回波信号进行数字脉冲压缩实时浮点乘法的功能,可提高雷达接收机数据处理速度、数据处理精度。
本发明浮点复数乘法器实施例的制作方法如下1、设计输入本发明电路较为复杂,如果依靠传统的电路原理图设计方式来完成,可能需要上百张原理图,难以实现。因此,本发明实施例使用现场可编程逻辑阵列(FPGA)芯片,采用Xilinx ISE开发平台,用硬件描述语言(VHDL)语言,按照上述的设计思想分别编写浮点乘法单元、浮点加法单元和浮点减法单元。
2、功能验证功能验证也叫前仿真或者行为级仿真,其中不包括定时信息,这个阶段的仿真与具体器件无关。验证分两步进行,首先是检查设计的语法是否正确,其次验证VHDL代码是否能实现设计要求的功能。考虑到Model Technologies公司的Modelsim6.0软件能够很好地嵌入Xilinx ISE开发平台,并可与ISE一起实现综合、布线后仿真,因此本发明采用Modelsim6.0作为功能仿真软件来验证浮点乘法单元、浮点加法单元和浮点减法单元。
浮点乘法单元、浮点加法单元和浮点减法单元经过验证确认无误后,用电路原理图设计方法,按图2方式连接即可得到浮点复数乘法器,经过功能验证后,转入下一步。
3、综合优化综合优化的过程就是将前面设计并验证通过的各单元VHDL程序及浮点复数乘法器电路原理图读入,产生门级网表,并输出edif格式或其他格式的文件,以供下一级工具来进行实现和布局布线。本发明采用的是Xilinx ISE开发环境中自带的XST作为综合工具。
4、布局布线在Xilinx ISE开发平台中,选择XC3S1000-FT256这种型号的Spartan-3芯片,执行布局布线命令。
5、时序仿真时序仿真主要是检验芯片的时序关系,测试芯片的执行速度。
6、下载及硬件验证(Program)利用下载电缆将设计文件下载到选定的FPGA中。如果FPGA被成功配置,则芯片设计全部完成。
权利要求
1.一种浮点复数乘法器,其特征在于它包括数据接口、一个浮点加法单元、一个浮点减法单元、四个浮点乘法单元;数据接口包括两相乘复数(X、Y)的实部(X1、Y1)和虚部(XQ、YQ)的四个输入接口、结果复数(Z)的实部(Z1)和虚部(ZQ)的两个输出接口;四个浮点乘法单元分别为用于将两复数的实部(X1、Y1)相乘并输出结果的实部相乘乘法单元;用于将两复数的虚部(XQ、YQ)相乘并输出结果的虚部相乘乘法单元;分别用于将一复数的实部(X1或Y1)和另一复数的虚部(YQ或XQ)相乘并输出结果的两实部虚部乘法单元;浮点减法单元为用于将实部相乘乘法单元输出结果和虚部相乘乘法单元输出结果相减并输出结果复数的实部(Z1)的浮点减法单元;浮点加法单元为用于将两实部虚部乘法单元输出结果相加并输出结果复数的虚部(ZQ)的浮点减法单元。
全文摘要
本发明涉及一种浮点复数乘法器,它包括数据接口、一个浮点加法单元、一个浮点减法单元、四个浮点乘法单元。本发明浮点复数乘法器可集成于高频地波雷达全数字雷达接收机中,实现对雷达回波信号进行实时数字脉冲压缩中的浮点复数乘法功能,可提高雷达接收机数据处理速度、数据处理精度。该浮点复数乘法器的可靠性高、通用性好、体积功耗小、成本较低。
文档编号G01S7/295GK1996235SQ200610166578
公开日2007年7月11日 申请日期2006年12月31日 优先权日2006年12月31日
发明者陈泽宗, 何亮, 柯亨玉 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1