| |
专业技术网站:http://www.hslogic.com/
A我们首先通过MATLAB进行快速的算法效果仿真
拉普拉斯金字塔:
DTCWT算法:
这里为什么使用MATLAB进行仿真呢?首先matlab可以进行快速的算法效果仿真验证,另外,在FPGA中,仿真的结果是以波形形式输出的,我们还需要使用matlab进行将波形转换为实际的图像的操作,所以这里使用matlab。
B C_C++修改后Vivadohls工程
这里,我们将MATLAB对应的算法转换为C++后,导入到vivado中,然后进行算法的C->RTL的映射。这里我们使用的软件版本为:VIVADO2012.4即VIVADO14.4
由于Vivado只支持C语言和C++语言的简单构架(不含虚拟函数,链表等高级语法),而原始的程序,具有较多高级语法部分,因此,需要较大程度的修改。这里,我们根据A步骤的MATLAB算法,分别进行软件语言的编程。这里原来的程序基本用不到,这里我改编为C语言(如果是C++,其实在没有高级语法的时候,完全和C一样,因此写成C++本质就是C)。这里,根据上面的算法验证,我们重新编写相关的软件程序。
因此改动比较大,具体的设置步骤如下所示:
打开vivado hls软件,得到如下的界面:
关于VIVADO HLS的相关设置,具体怎么导入,这里,我们的芯片选择如下所示:
下面开始算法的映射操作:
修改之后的代码,我们点击如下的按键:
系统会自动进行代码的mapping。。。。。
如果程序没有问题,那么最后会得到如下的结果:
然后在右边的explor窗口中会看到:
这个就是映射成功之后的结果,其中会产生verilog文件和vhdl文件。
这里,对于两个算法,我们分别做相同的操作,然后这里hls中的一些设置如下所示:
Solution Setting:
C最后再ISE或者Planahead中进行FPGA的设计
这里,根据你的最初的要求,我们使用planahead来调用VIVADO HLS映射后的算法来实现。
同样,两个算法的操作是类似的,首先建立PlanAhead工程:
添加Vivado HLS工程文件:
最后得到如下的界面:
这个就是planahead的设计界面,下面我们使用这个软件进行算法的仿真。