hls介绍
intel hls是一个将c/c++程序转换成ip核的工具,
以下以编写一个简单的乘法器作为示例,然后在windows平台仿真,在编译fpga平台,查看报告和波形,并集成到quartus上面去使用
一、hls在windows平台仿真
初始化环境
打开cmd
切换到D:\intelFPGA\18.1\hls
运行init_hls.bat
1、在桌面上新建一个文件夹存放工程文件,并在工程目录下新建一个test.cpp文件
2、编写程序
3、编译
切换目录到工程
c:
cd C:\Users\AWcloud\Desktop\hls_prj\1_test
输入i++ -march=x86-64 -o mul.exe test.cpp
生成exe文件
4、运行
mul.exe
二、生成fpga的ip核
1、i++ -march=CycloneV -o mul test.cpp -ghdl
2、运行
运行之后才能生成波形文件
3、仿真
4、打开波形文件
切换目录:
cd C:\Users\AWcloud\Desktop\hls_prj\1_test\mul.prj\verification
打开仿真:
vsim vsim.wlf
5、查看报告
C:\Users\AWcloud\Desktop\hls_prj\1_test\mul.prj\reports
三、导入C语言代码编译之后生成的 components 文件夹路径到quartus
Quartus的Tools–Options–IP Setting–IP Catalog Search Locations菜单下,在Globa IP Search directory栏中指定mul的路径;
在工程中的 IPCatalog 栏中找到前面加进去的 IP,然后双击该 IP,在弹出的界面中点击 OK–Generate HDL–Finish
四、测试自己的ip
1、新建quartus工程
2、新建顶层文件
3、添加ip
在工程中的 IPCatalog 栏中找到前面加进去的 IP,然后双击该 IP,在弹出的界面中点击 OK–Generate HDL–Finish,
4、添加 .qsys
把 components 文件夹里的 .qsys 文件添加进 Quartus 工程,
5、例化
并把_inst.v 文件中的模块端口复制到 Quartus 顶层文件中进行例化
总结:C语言代码中
子函数对应所需功能的模块,
主函数对应测试平台,用于为子函数输入激励;
步骤:
1、在 C 环境下验证子函数功能,
2、使用 Modelsim 查看生成的 vsim.wlf 文件,时序,
3、编译IP核
4、集成ip到quartus
5、调用