Lab3: C++任意精度类型验证
概述
这个练习是用C++任意精度类型做的设计,您可以在用户界面查看并调试这个设计
步骤1:创建打开工程
1. 在lab2中使用的Vivado HLS命令提示符下,更改为Lab3目录
2. 创建一个新的vivado HLS 工程,键入命令为vivado_hls –f run_hls.tcl
3. 打开vivado HLS 用户界面,键入vivado_hls –phamming_window_prj
4. 在资源管理器中打开源文件夹,双击hamming_window.cpp 打开代码如图49
5.按住Ctrl键并单击hamming_window.h第45行,打开这个头文件。
6. 向下滚动,以查看类型定义(图50)
注意:在这个实验中,所做的设计和Lab1和lab2是一样的有一点除外。这个设计是用C++并且类型已经用C++任意精度类型更新,ap_in,是Vivado HLS定义提供的头文件ap_int.h
步骤2:运行C调试
1. 点击工具栏里Run CSimulation按钮,打开C仿真对话框
2. 选择Debug选项
3. 点击OK 运行仿真
打开调试环境
1. 选择hamming_window.cpp 代码标签
2. 在61行设置断点,如图51
3. 点击恢复按钮(Resume button)或F8,来执行代码到断点处。
4. 点击两次Step Into按钮,或F5,看到图52
在设计中的这个变量是C++任意精度类型,这些类型在ap_int.h头文件中定义,当调试碰到这些类型,它会进入到这个头文件里面。
当你继续单步执行代码,您有机会更详细地观察结果的任意精度的类型是如何计算出来的。
更高效的方法是退出ap_int.h头文件并返回查看结果。
8. 点击Step Return 按钮,或者F7,返回到调用函数
9. 选择Variables 标签
10. 展开outdata变量,如图53看到在VAL参数中所示的变量的值。
任意精度的类型是一个强有力的手段来创建高性能,精确到位的硬件设计。然而,在调试环境,可以通过定义头文件来减少工作量。使用断点和单步返回特点,跳过低级别的计算并查看在变量选项卡变量的值。
结论
在本教程中,您学习:
•的C试验台在模拟过程中的重要性。
•如何使用C调试环境,设置断点和单步执行代码。
•如何调试C和C+ +任意精度类型。