准备学习Vivado HLS,这里做个记录。
本着先感性再理性的学习规律,首先翻译Xilinx提供的教程ug871,同步上手操作。

教程描述

本教程是一些较小的教程的集合,这些教程说明和演示了使用高级综合将C,C ++和SystemC代码转换为RTL实现的过程中的所有步骤。 本教程介绍了如何创建初始RTL实现,然后在不更改C代码的情况下使用优化指令将其转换为低区域和高吞吐量的实现。 以下各节描述了每个教程的摘要。

高层次综合简介

本教程介绍了Vivado高级综合(HLS)。 您可以使用图形用户界面(GUI)和Tcl环境学习执行高级综合的主要任务。

C验证

本教程回顾了一个好的C测试平台的各个方面,并演示了Vivado高级综合C调试环境的基本操作。 本教程还显示了如何调试任意精度的数据类型。

接口综合

该接口综合教程回顾了为RTL设计创建端口的所有方面。 您可以学习如何控制块级I / O端口协议和端口I / O协议,如何将C函数中的数组实现为多个端口和接口协议类型(RAM,FIFO,AXI4-Stream),以及如何 实现了AXI4总线接口。
为了创建最佳的设计实现,本教程以一个设计示例作为结束,其中将I / O访问和逻辑一起优化。

任意精度类型

本教程中的实验练习将用原生C类型编写的C设计与用Vivado高级综合任意精度类型编写的相同设计进行了对比,显示了后者如何在不牺牲准确性的情况下提高了硬件结果的质量。

设计分析

本教程使用DCT函数来解释Vivado高级综合中交互式设计分析功能的特性。 初始设计将带您经历多个分析和优化阶段,这些阶段突出了分析透视图的所有功能,并为设计优化方法提供了基础。

设计优化

本教程使用矩阵乘法器示例,回顾了两种设计的优化技术。 设计优化实验室解释了如何对设计进行流水线设计,并与流水线化循环与流水线化功能的方法进行了对比。
本教程向您展示如何利用从分析中学到的见解来更新初始C代码并创建更优化的设计实现。

RTL验证

本教程说明如何使用RTL协同仿真功能自动验证通过综合创建的RTL。 本教程演示了C测试平台的重要性,并向您展示了如何使用RTL验证的输出在Vivado和Mentor Graphics ModelSim模拟器中查看波形图。

在IPI中使用HLS IP

本教程说明了如何将由高级综合创建的RTL设计打包为IP,添加到Vivado IP目录中,以及如何在Vivado Design Suite中使用。

在ZynqSoC设计中使用HLS IP

除了在Zynq®-7000SoC设计中使用HLS IP模块之外,本教程还介绍了如何将由高级综合创建的C驱动程序文件合并到Zynq处理系统(PS)的软件中。

在SystemGeneratorforDSP中使用HLS IP

本教程说明了如何将由高级综合创建的RTL设计打包为IP并在System Generator for DSP中使用。

Vivado HLS教程相关推荐

  1. Vivado HLS 入门实验

    当我们安装好Vivado 的时候,也同时装好了Vivado HLS.. 这是个什么东西?我就有一种想一探究的感觉.网上一查,Vivado High-Level Synthesis.学习了一段时间的Zy ...

  2. Vivado HLS error: Cannot find ISE in the PATH variable or it's an unsupported version

    在Vivado HLS中export rtl时选择pcores for edk并选中Evaluate VHDL,时会出现该错误,提示ISE找不到. 解决方案: 在path中添加ISE 和Vivado的 ...

  3. vivado hls(1)

    笔记 1.vivado  hls是fpga高级综合工具,可以将C语言转换成verilog代码,适合编写算法,但是要有硬件思想. 2.软核就是只要资源足够,就可以用逻辑打一个CPU出来,与硬核不一样,硬 ...

  4. Vivado HLS基本应用

    Vivado HLS基本应用 1.双击Vivado HLS图标 2.创建工程可以,点快捷键或者从File->创建新工程 3.填写工程名和工程存放路径 3.添加主函数名,添加文件(如果有需要的话) ...

  5. 在vivado里用rtl描述_如何利用Vivado HLS处理许多位准确或任意精度数据类型

    我们在设计硬件时,它往往是要求更精确的位宽.例如,一个filter的输入是12位和一个累加器的结果只需要一个最大范围为27位.然而对于硬件设计来说,使用标准的C数据类型会造成硬件成本的浪费.这就会造成 ...

  6. 在vivado hls软件上打开zynqnet工程,Vivado HLS Command Prompt(Vivado HLS 命令提示符)是什么

    直接在HLS中使用open project 是无法打开这个zynqnet的,在看zynqnet的使用说明的时候,有这样一段话: 如果使用中文翻译过的话,看到的是这样一段文字: 对于平时使用HLS编写I ...

  7. Vivado HLS(High-level Synthesis)笔记一:HLS基本流程

    前言 实验室项目需要,需要将在服务器段跑出的网络参数配置到FPGA上,一种方法是直接利用verilog或者vhdl直接去写一个网络的前向传播模型,另一种就是用 C/C++ 来描述网络的前向传播模型,然 ...

  8. Vivado HLS常用优化命令介绍

    HLS 简介 Xilinx Vivado HLS工具可以将用户使用C++编写的逻辑自动转化为硬件语言(如Verilog或VHDL语言)编写的RTL级硬件逻辑,目的是为了让软件工程师将算法快速部署在FP ...

  9. 【HLS教程】HLS入门与精通

    总纲 HLS和FPGA实现是怎么一回事 HLS已有库说明 HLS语法讲解与实例 HLS自定义模板 HLS实现OpenCV函数 前言 主要还是工作中用到,HLS毕竟还是小众模版库,就目前来看,连Veri ...

  10. Xilinx Vitis HLS教程1--Vitis HLS概述[01/12]

    Xilinx Vitis HLS教程1--Vitis HLS概述[01/12] 前言 1 软件工程师的设计原则 1.1 简介 1.2 吞吐量和性能 1.3 架构问题 1.4 FPGA编程的3大范式 1 ...

最新文章

  1. VB 字节数组和字符串的转换问题 (StringByte)
  2. IntelliJ IDEA里对Lombok插件的配置步骤
  3. 【渝粤教育】国家开放大学2018年秋季 0434-22T高级英语口语 参考试题
  4. 大二c语言期末考试题库及详解答案,大学C语言期末考试练习题(带详解答案)...
  5. Canalys:2021年第四季度苹果智能手机出货量占全球总量的22%
  6. 01-04 Linux常用命令-网络相关
  7. Java客户端开发是什么_客户端桌面应用一般是用什么技术开发的?
  8. Android ListView notifyDataSetChanged()不刷新数据
  9. 产品经理——关于色彩搭配!!
  10. Angular - FormGroup 踩坑合辑之:setValue,patchValue,reset
  11. Unity3d开发“类三消”游戏
  12. java 订单号生成器
  13. pytest合集(5)— Function函数
  14. echart 实现地图坐标轴带图标
  15. 流行QQ在线客服代码
  16. 博途仿真软件安装过程
  17. C#中ref和out关键字的应用以及区别。
  18. Linux中的软件管理(一)配置本地yum源及yum命令详解
  19. sku排列算法实现商品规格属性组合
  20. nodejs 面试题

热门文章

  1. python爬取酒店评论_scrapy爬取酒店评论数据
  2. linux下用arcconf做raid5,arcconf工具相关命令V1.0
  3. c语言背包问题(动态规划解法)
  4. 【lizhi125】比Nero更好用的免费小巧的光盘刻录软件——ImgBurn(中文版)
  5. VB.Net程序设计:分页控件
  6. 小超市的大梦想,京东的梦醒时分
  7. 车型代号对照表_宝马内部代号对应车型解读,绝密!
  8. 古墓新手机器人_古墓新手任务攻略 - 玩家乐园 - 北大侠客行MUD论坛 - Powered by Discuz!...
  9. C++搭建集群聊天室(二):安装muduo网络库
  10. 哈理工OJ 1562 字符统计器(水模拟)