第44 期: 面向未来十年的“All Programmable” - Xilinx
第44 期: 面向未来十年的“All Programmable” - Xilinx
第44 期: 面向未来十年的“All Programmable” - Xilinx
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
手 把 手 课 堂 : F P G A 1 0 1<br />
大<br />
大多数工程师在碰到需要在 FPGA 中实现诸如正弦、余弦<br />
或开平方这样的数学函数时,首先会想到的是用查找表,<br />
可能再结合线性内插或者幂级数(如果有乘法器可用)。<br />
不过对这种工作来说,CORDIC 算法是工具库中最重要的<br />
工具之一,只是鲜有工程师知晓。<br />
CORDIC 的 意 思 是 坐 标 旋 转 数 字 计 算 机, 是 Jack<br />
Volder 在 1959 年为康维尔公司 (Convair) B-58A“盗贼”<br />
项目设计新的导航计算机时发明的。这是一种设计用于计<br />
算数学函数、三角函数和双曲函数的简单算法。<br />
这种算法的真正优势在于只需要采用极小型的 FPGA<br />
封装就可以实现它。CORDIC 只需要一个小型查找表,加<br />
上用于执行移位和加法的逻辑。重要的是这种算法不需要<br />
专门的乘法器或除法器。<br />
这种算法是 DSP 以及工业与控制应用最有用的工具<br />
之一,其最为常见的用途是实现如表 1 所示的传统数学函<br />
数,可在器件缺少专用乘法器或 DSP 模块的情况下提供<br />
器件所需的乘法器、除法器或更有意义的函数。举例来说,<br />
设计人员在众多小型工业控制器中使用 CORDIC 来实现数<br />
学传递函数和真正的 RMS 测量。工程师也在生物医学应<br />
用中使用 CORDIC 来进行快速傅里叶变换 (FFT) 计算,<br />
以分析多种生理信号的频谱。在本应用中,结合传统的数<br />
学函数,设计人员使用 CORDIC 实现 FFT 旋转因子。<br />
CORDIC 详解<br />
CORDIC 算法可以采用线性、圆或双曲线三种配置中的任<br />
2012 年第二季度 赛灵思中国通讯 44 <strong>期</strong> 41