第11周作业---HLS编程环境入门

本文介绍了高层次综合(HLS)的概念,包括其与VHDL/Verilog的关系,以及HLS在FPGA设计中的优势。通过Vivado HLS工具,详细阐述了HLS开发步骤,如环境搭建、C代码编译和综合。同时,讨论了HLS的技术问题,如字长优化、循环优化和软件并行性支持,并提到了环境配置中遇到的VS2019兼容性问题。
摘要由CSDN通过智能技术生成

HLS概念

HLS是什么

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

HLS 自动分析一个算法中的潜在并发性
HLS 自动在需要的路径插入寄存器,并自动选择最理想的时钟
HLS 自动产生控制数据在一个路径上的出入方向的逻辑
HLS 自动完成设计部分与系统中的其他接口
HLS 自动映射数据到存储单元中以平衡资源使用与带宽
HLS 自动将程序中计算的部分映射到对应逻辑单元,在实现等效运算的前提下选择有效运算
大多数 HLS 工具需要用户提供功能的规范,交互的描述,一个对接的计算设备,和目标优化方向。而对于 Vivado HLS 来说,用户需要:(Vivado 是赛灵思推出的一种 HLS 工具)

一个用C/C++/System C编写的函数
一个测试平台用于验证结果(C testbench)
一个FPGA开发版
期望的时钟周期
一个简单的实施指导
Vivado HLS 需要进行的步骤:

编译、执行(仿真)、调试相应的 C 语言代码
把 C 算法综合为 RTL 实现,在这个过程中可以使用优化指令
生成综合分析报告并分析设计
验证 RTL 的实现
打包 RTL 成 IP 包

HLS 与 VHDL/Verilog 有什么关系?

在 FPGA 硬件开发上,VHDL/Verilog 与 HLS 相比,就好比是几十年前的汇编语言与现在的 C 语言。
RTL(寄存器传输级别,基于 VHDL/Verilog 语言)逐步发展,但 VLSI 系统的复杂性呈指数级增长,使 RTL 设计和验证过程成为生产力的瓶颈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值