在源代码中自动跟踪变量的使用

时间:2011-02-16 01:50:47

标签: c fpga

我正在使用一组语音处理例程(用C语言编写),这些例程意味着要在MATLAB上使用mex命令进行编译。有这个C函数,我有兴趣使用FPGA加速。

硬件通过输入端口接收指定的输入参数,其余输入作为常量进行硬编码,并将特定变量传递到C函数中的一些位置,比如 foo ,输出端口。

我有兴趣跟踪 foo 的计算图(不确定这是否是正确的术语)。即 foo 如何与中间计算变量相关,而中间计算变量最终又取决于输入参数和硬编码常数。这是为了让我能够平滑逻辑,以便使用硬件描述语言对它们进行编码,并删除不影响 foo 值的不可逆逻辑。问题在于一些中间变量是全局变量,因此跟踪很麻烦。

是否有一个自动化工具可以分析一组给定的C头文件和源文件,并提供一种跟踪指定变量如何更改的方法,并使用所有变量的某种依赖关系图?

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是进行价值分析的工具。

在可用的工具中,我认为Code Surfer可能是最好的工具。当然,它也相当昂贵,但如果你是学生,他们确实有学术许可计划。在开源方面,Frama-C也可以以更有限的方式做到这一点,并且具有更加陡峭的学习曲线。但它是免费的,会让你到达你想去的地方。