读书笔记 Advanced FPGA(8)Implementing Math Functions

本文探讨了在FPGA中实现复杂数学运算的方法,重点介绍了乘除法、三角函数等运算的实现技巧,并对比了几种不同的算法,如乘法移位法、GoldSchmidt法、Taylor级数展开和CORDIC算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//对需要调用IP core的乘除法来说,做好仿真最重要,包括运算周期的仿真和控制信号的设置

This chapter covers a variety of problems encountered when an FPGA designer attempts to implement a complex math function in an FPGA. Interestingly, most real-world math problems can be solved by combinations of shift and add operations. This chapter describes a few of these methods as they relate to division and trigonometric operations and then also explains how to expand this to a broader class of functions. In many cases, there are a number of alternative solutions that require optimizations for a given application.


SUMMARY OF KEY 

POINTS

-The multiply and shift method is an easy way to perform division but can
only be used when the divisor is represented in a specific form.
-This compact architecture is useful for fixed-point divisions that can afford
the relatively large latency of an iterative division process.
-The Goldschmidt method provides a way to pipeline the division process in
a manner that is much more efficient than unrolling the loop of the iterative
method.
-Taylor and Maclaurin series expansions can be used to break down
complex functions into multiply and add operations that are easily
implemented in hardware.
-The CORDIC algorithm should be preferred over a Taylor expansion for
the calculation of sine and cosine operations.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值