Windows下quartus 18.1 HLS入门

Windows下quartus 18.1 HLS入门\

一、HLS简介

1、HLS是什么

HLS(High-Level Synthesis)是一种硬件描述语言(HDL)的编程技术,它可以将高级语言代码(如C/C++)转换成硬件描述语言(如VHDL或Verilog)。

2、HLS与VHDL/Verilog编程技术有什么关系?

HLS与VHDL/Verilog编程技术有很大的关系,因为它们都是用于编写硬件描述语言的工具。然而,HLS与传统的VHDL/Verilog编程技术不同之处在于,HLS更加高级,可以让开发人员使用更加直观和易于理解的语言来描述硬件功能,从而提高开发效率和代码质量。HLS的流程与传统的VHDL/Verilog编程技术也不同,它更加依赖于自动化工具来完成硬件代码的生成和优化。

3、HLS关键技术问题

1.语言映射:如何将高级语言转换为硬件描述语言,生成硬件电路。
2.时序约束:如何对生成的硬件电路进行时序优化,以达到最佳的性能。
3.存储器优化:如何最大限度地利用FPGA中的存储器资源,提高性能和资源利用率。
4.并行化:如何将硬件电路并行化,以提高性能。

4、HLS目前存在的技术局限性

难以处理复杂的电路:HLS通常用于生成相对简单的电路,因为它难以处理复杂的电路。
设计复杂度高:使用HLS进行设计需要掌握高级语言、硬件描述语言和电路设计知识。如果开发人员没有足够的经验,可能会导致设计复杂度高、性能低下的问题。
生成的电路可能不是最优的:HLS生成的电路可能不是最优的,因为它依赖于自动化工具进行优化,而自动化工具的优化程度有限。
代码可读性差:HLS生成的硬件描述语言通常比手写的代码难以理解和调试,这可能会影响开发人员的效率。

二、环境搭建

HLS入门程序

1.初始化

1.打开系统命令管理器cmd,定位到init_hls.bat的路径,并运行。

./init_hls.bat
2.编写测试软件

在文件中创建test.cpp并添加代码

#include "HLS/hls.h"
#include "stdio.h"

component int mul(int a,int b)
{
	int c =0;
	c = a*b;
	return c;
}
int main()
{
	int a=0,b=0,c=0,i=0;
	for(i=0;i<5;i++)
	{
		a= i+1;
		b= i+2;
		c = mul(a,b);
		printf("%d * %d = %d\n",a,b,c);
	}
	return 0;
}

3.编辑测试文件
利用系统命令管理器进入test.cpp所在文件夹,生成mul.exe文件

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

运行mul.exe文件

mul.exe

生成镜像文件

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

继续运行mul.exe文件,产生波形文件vsim.wlf

mul.exe
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值