HLS入门实践

目录

一.HLS简介

二.HLS关键性技术及存在的命题

三.HLS入门级实践

 参考


一.HLS简介

1.HLS是什么

高层次综合(High-level Synthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。所谓的高层次语言,包括C、C++、SystemC等,通常有着较高的抽象度,并且往往不具有时钟或时序的概念。相比之下,诸如Verilog、VHDL、SystemVerilog等低层次语言,通常用来描述时钟周期精确(cycle-accurate)的寄存器传输级电路模型,这也是当前ASIC或FPGA设计最为普遍使用的电路建模和描述方法。
2、与VHDL/Verilog编程技术有什么关系?

Verilog或VHDL与HLS相比,就好比是几十年前的汇编语言与C语言。RTL设计需要了解VHDL和Verilog等语言,而HLS工具通常使用熟悉的语言,如C / C ++。HLS工具可以处理大多数特定于硬件的实现细节,因此大大降低了软件工程师处理硬件项目的门槛。

二.HLS关键性技术及存在的命题

FPGA是HLS设计的理想平台,因为它们可以快速进行原型设计,具有快速的设计周期并且具有固有的可重新编程性。现代的HLS工具通常包含用于设计目标的广泛的FPGA技术库。
但对于一些简单的逻辑,HLS实现结果较为臃肿。一些简单的逻辑,用HDL实现只需要数十行代码,而HLS的实现结果却相当复杂。

HLS能自动把 C/C++ 之类的高级语言转化成 Verilog/VHDL 之类的底层硬件描述语言(RTL),生成定制硬件在 FPGA 上跑实现加速。这使得不懂硬件的软件工程师也可以拥有玩转硬件的能力。
为了提高设计数字硬件组件的效率,高层综合(HLS)被视为提高设计抽象水平的下一步。但是,HLS工具的结果质量(QoR)往往落后于手动寄存器传输级别(RTL)流程的质量。
HLS 经过十数年的发展,虽然有诸如 AutoPilot、OpenCL SDK 等 FPGA HLS 商业化成功的案例出现,但距离其完全替代人工 RTL 建模还有很长的路要走。


三.HLS入门级实践

初始化环境
打开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.运行

 二.生成ip核

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

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

2.仿真

 3、打开波形文件
切换目录:
cd C:\Users\AWcloud\Desktop\hls_prj\1_test\mul.prj\verification
打开仿真:
vsim vsim.wlf

 

 4、查看报告

 

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

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

 参考

https://blog.csdn.net/han422858897/article/details/117106846?utm_source=app&app_version=4.7.1&code=app_1562916241&uLinkId=usr1mkqgl919blen

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值