天天看点

HLS——二、开发流程简单示例

hls介绍

intel hls是一个将c/c++程序转换成ip核的工具,

以下以编写一个简单的乘法器作为示例,然后在windows平台仿真,在编译fpga平台,查看报告和波形,并集成到quartus上面去使用

一、hls在windows平台仿真

初始化环境

打开cmd

切换到D:\intelFPGA\18.1\hls

运行init_hls.bat

HLS——二、开发流程简单示例

1、在桌面上新建一个文件夹存放工程文件,并在工程目录下新建一个test.cpp文件

HLS——二、开发流程简单示例

2、编写程序

HLS——二、开发流程简单示例

3、编译

切换目录到工程

c:

cd C:\Users\AWcloud\Desktop\hls_prj\1_test

HLS——二、开发流程简单示例

输入i++ -march=x86-64 -o mul.exe test.cpp

HLS——二、开发流程简单示例

生成exe文件

HLS——二、开发流程简单示例

4、运行

mul.exe

HLS——二、开发流程简单示例

二、生成fpga的ip核

1、i++ -march=CycloneV -o mul test.cpp -ghdl

HLS——二、开发流程简单示例

2、运行

运行之后才能生成波形文件

HLS——二、开发流程简单示例

3、仿真

HLS——二、开发流程简单示例

4、打开波形文件

切换目录:

cd C:\Users\AWcloud\Desktop\hls_prj\1_test\mul.prj\verification

打开仿真:

vsim vsim.wlf

HLS——二、开发流程简单示例
HLS——二、开发流程简单示例

5、查看报告

C:\Users\AWcloud\Desktop\hls_prj\1_test\mul.prj\reports

HLS——二、开发流程简单示例
HLS——二、开发流程简单示例

三、导入C语言代码编译之后生成的 components 文件夹路径到quartus

Quartus的Tools–Options–IP Setting–IP Catalog Search Locations菜单下,在Globa IP Search directory栏中指定mul的路径;

HLS——二、开发流程简单示例

在工程中的 IPCatalog 栏中找到前面加进去的 IP,然后双击该 IP,在弹出的界面中点击 OK–Generate HDL–Finish

HLS——二、开发流程简单示例
HLS——二、开发流程简单示例

四、测试自己的ip

1、新建quartus工程

2、新建顶层文件

3、添加ip

在工程中的 IPCatalog 栏中找到前面加进去的 IP,然后双击该 IP,在弹出的界面中点击 OK–Generate HDL–Finish,

4、添加 .qsys

把 components 文件夹里的 .qsys 文件添加进 Quartus 工程,

5、例化

并把_inst.v 文件中的模块端口复制到 Quartus 顶层文件中进行例化

HLS——二、开发流程简单示例

总结:C语言代码中

子函数对应所需功能的模块,

主函数对应测试平台,用于为子函数输入激励;

步骤:

1、在 C 环境下验证子函数功能,

2、使用 Modelsim 查看生成的 vsim.wlf 文件,时序,

3、编译IP核

4、集成ip到quartus

5、调用

继续阅读