FPGA实施者定点算法规范框图的清晰示例

信息处理 算法 固定点
2022-02-23 16:21:08

我一直致力于将一个简单的浮点算法转换为定点算法,并且需要创建一个框图来帮助将在 FPGA 上实现它的人。通常情况下,输出可以表示为一些输入信号(实部和虚部)的线性组合。

我想创建一个清晰的框图,显示位宽、舍入与截断、每个点的饱和度、位移(由于将整数与分数相乘)等(你在图中使用 Qmn 表示法吗?)。我在网上看到的大部分内容要么对硬件寄存器如此详细,以至于我实际上无法说出正在发生的事情,要么如此高级,以至于它本质上是算法的概念表示,带有一些包含位宽的注释。

虽然我承认没有一个正确的答案,但我很想知道其他人如何创建好的图表将算法交给实施者。

谢谢。

1个回答

我设计了很多 DSP 算法,我通常会在 FPGA 中实现它们。我很少需要向其他人解释算法的内部结构。话虽如此,最好在每个组件的框图/设计文档中表示位数(我通常使用 Sony Playstation 2 中的 s:m:f 表示法)。您还应该指定 FPGA 设计人员是否必须截断或舍入。

否则,如果您将用于内部计算的位数留给 FPGA 设计人员,那么您就是在自找麻烦。使用不足的位数可能会使您的算法无用或不稳定。

出于两个原因,在 Matlab/Python/Octave/C++ 中创建算法的定点模型也是一个好主意。首先,您将能够验证所需的位数,以便您的定点算法的行为类似于浮点算术算法。其次,您将能够将 FPGA 实现与您的定点模型进行比较。FPGA 实现的行为应该与您的定点模型完全相同。