论文部分内容阅读
随着计算机嵌入式芯片的应用发展,当今的信号及图像处理需要大量的浮点加、减、乘、除操作,而浮点数系统本身的复杂性决定需要专用的硬件来实现浮点操作。浮点运算器的性能影响着整个浮点处理器的浮点处理能力。而传统的基十FPGA的浮点运算器设计是个性化的设计,不可扩展和复制是其最大的缺点。在传统设计思路的指导下,一旦完成的芯片设计需求有改动,必须将电路重新设计,增加了重复劳动。在当今的SOC系统当中,基于IP核模块的功能组装正在逐渐替代传统的功能设计而成为主流设计方法基于IP核模块的Soc设计方法是采用IP核模块而不是采用基本逻辑或电路单元作为基础单元,即以功能组装代替功能设计,用户只需通过设置参数便可方便地按需定制自己的宏功能模块。这样,用户可以将精力集中于系统顶层与关键功能模块的设计上,致力于提高产品整体性能和个性化特性,大大加快了芯片设计速度,大大提高了芯片设计商的设计能力。
本课题的目的在于,将基于参数可配置IP核Soc设计方法引入到基于FPGA的浮点运算器设计中,通过在设计时提取可用参数,将浮点运算器设计成为参数化、可配置、可重用的IP核。
首先介绍了IP核的概念、发展和分类以及SoPC产生如何促进IP复用技术的发展;介绍了参数化IP核的概念及IP核的参数类型;根据参数化IP核的需求,研究选择在VHDL的编程环境下实现IP核的参数化。接着本文介绍了浮点数的表示以及浮点运算的IEEE-754标准对于浮点数格式、异常处理、舍入处理的规定,根据IEEE-754标准对于浮点加/减法和浮点乘法运算的基本原理做了解释。然后通过介绍浮点加法器和乘法器的实现技术和优化算法,围绕如何提高浮点加法器的进位产生速度,在传统串行的行波进位加法器的基础上,介绍了超前进位加法器(CLA)、条件进位选择(CCS)加法器,以及对超前进位加法器的改进方式,分块超前进位加法器(BCLA)进行了研究;围绕如何提升浮点运算器尾数乘法速度,介绍了迭代乘法器、阵列乘法器和研究了采用二阶Booth编码以及Wallace树减少乘法部分积的方法。最后,根据流程分析、制定研究方案,配置参数,设计了包含对阶移位、尾数加法、规格化和舍入等参数化模块的浮点加法器与包含指数计算、尾数乘法、规格化和舍入等参数化模块的浮点乘法器,并使用VHDL语言进行了描述。在Xinlinx ISE10.1和ModelSim PE6.6a平台下进行综合和仿真,通过仿真验证了参数化设计浮点运算器是有效、可行的。