【发布时间】:2013-10-22 20:15:29
【问题描述】:
我知道 verilog 是一种 HDL 并且它完全是关于并行处理,但我面临的问题是我必须写一份报告,说明为什么一段 C++ 代码在 HDL 环境中更好。
所以我有了用 Verilog 编写的 C++ 代码。它完美地工作。现在我必须写一篇关于这部分代码如何在 Verilog 中更快的报告。所以我必须做执行时间比较。
我设法使用以下方法找到了我的 C++ 代码的执行时间:
#include <iostream.h>
#include <time.h>
using namespace std;
int main()
{
clock_t t1,t2;
t1=clock();
//code goes here
t2=clock();
float diff ((float)t2-(float)t1);
cout<<diff<<endl;
system ("pause");
return 0;
}
现在如何在 Verilog 中获得相同的结果? Xilinx 编译器中是否有任何选项可以告诉我该代码在被编程到 FPGA 板上后需要多长时间才能产生最终结果?或者我可以在代码中添加一些能够给出这个结果的东西吗?
谢谢
【问题讨论】:
-
这段代码不是用 Verilog 写的,这不是 Verilog 的语法,可能是你写的,并为 Xilinx Linux 交叉编译过......你无法合成这样的代码......
-
我给出的代码是 C++。这只是一个例子。实际代码很长。我想说的是
<time.h>是我在C++中用来查找执行时间的方法。 -
在 fpga 或 verilog 模拟器上,计算结果需要多个时钟周期。将其乘以 1/clock_frequency 即可得到执行时间。
标签: c++ hardware verilog fpga hdl