网站首页 > 技术文章 正文
文章来源:赛灵思开源Vitis HLS FPGA工具(仅限前端) - CNX Software中文站
目前,虽然已经有了一些针对FPGA开发的开源程序,例如Symbiflow、Yosys。但FPGA供应商通常只为想要在其芯片上工作的开发人员提供“闭源程序”,所以,这还是有一定程度的局限性的。
不过,赛灵思最近采取的行动却突破了这一局限。他们通过发布Vitis HLS前端的源代码来履行其“支持开发人员和研究人员开源计划的承诺”。
Vitis HLS究竟是什么?
在我们查看源代码发布之前,我们可能想知道Vitis HLS究竟做了什么。该公司将Vitis HLS描述为一种高级综合(HLS)工具,其允许 C、C++ 和OpenCL函数硬连线到设备逻辑结构和RAM/DSP块上。Vitis HLS在Vitis应用加速开发流程中实现硬件内核,并在公司的Vivado Design Suite中使用C/C++代码为FPGA设计开发RTL IP 。
Vitis HLS设计流程如下:
- 编译、模拟和调试C/C++算法。
- 查看报告以分析和优化设计。
- 将C算法综合到 RTL 设计中。
- 使用RTL协同仿真来验证RTL的实现。
- 将RTL实现打包到编译后的目标文件( .xo )扩展名中,或导出到RTL IP。
部分开源版本
该版本中的一个关键词是“前端”,因为 Vitis HLS 后端在RTL代码生成之前处理FPGA的特定优化和调度仍然是闭源的。
尽管如此,前端源代码将允许软件和硬件开发人员使用标准的Clang/LLVM基础设施,同时自定义设计流程以添加对新高级语言、新的特定领域优化编译指示或编译器指令的支持,并自定义对LLVM IR(中间表示)的转换。Vitis HLS前端的源代码可以在Github上找到。
Vitis HLS前端的开源版本已经被提前收到代码的公司和大学使用。Silexica的 SLX插件扩展了Vitis HLS 2020.2代码转换,以改善Vitis HLS带来的延迟和吞吐量结果,而伊利诺伊大学厄巴纳香槟分校集成了新的Clang pragma和LLVM以进行评估。伦敦帝国理工学院的一名博士生利用该代码将其动态和静态调度 (DASS) 集成到HLS流程中。香港科技大学(HKUST)开发了两个项目,即“高效自动优化通过阶段排序”和“Multi-FPGA HLS”,分别使用机器学习和启发式算法来提高性能和资源消耗,以及与网络或DDR存储器互连的多个FPGA。
更多干货,请点击:CNX SOFTWARE中文站 — 嵌入式开发者的新闻知识库!
猜你喜欢
- 2024-12-02 StackBlitz - 目前最好用的在线开发工具
- 2024-12-02 F12-开发者工具常用操作与使用说明
- 2024-12-02 比GDB更方便的代码调试工具:CGDB
- 2024-12-02 新一代网络协议抓包调试工具!-Proxyman
- 2024-12-02 运维必会的10个网络抓包/调试工具
- 2024-12-02 什么?这六款让前端开发更轻松的实用工具你还不知道!
- 2024-12-02 推荐20个提升程序员软技能与效率的必备工具
- 2024-12-02 Chrome开发者工具使用教程
- 2024-12-02 终端调试哪家强?
- 2024-12-02 Termino.js :下一代创意无限的终端模拟器!
你 发表评论:
欢迎- 07-08记oracle日志挖掘实操&查询归档不正常增长情况(一)
- 07-08Oracle 伪列!这些隐藏用法你都知道吗?
- 07-08orcl数据库查询重复数据及删除重复数据方法
- 07-08重大故障!业务核心表被truncate删除,准备跑路……
- 07-08oracle数据恢复—oracle执行truncate命令误删除数据的数据恢复
- 07-08Oracle-rac 修改scanip(oracle 修改sequence cache)
- 07-08ORACLE RAC CDB和PDB切换(oracle数据库rac切换)
- 07-08Oracle rac haip作用(oracle rac的典型特征)
- 596℃几个Oracle空值处理函数 oracle处理null值的函数
- 590℃Oracle分析函数之Lag和Lead()使用
- 577℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 573℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 569℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 562℃【数据统计分析】详解Oracle分组函数之CUBE
- 549℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 542℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- 记oracle日志挖掘实操&查询归档不正常增长情况(一)
- Oracle 伪列!这些隐藏用法你都知道吗?
- orcl数据库查询重复数据及删除重复数据方法
- 重大故障!业务核心表被truncate删除,准备跑路……
- oracle数据恢复—oracle执行truncate命令误删除数据的数据恢复
- Oracle-rac 修改scanip(oracle 修改sequence cache)
- ORACLE RAC CDB和PDB切换(oracle数据库rac切换)
- Oracle rac haip作用(oracle rac的典型特征)
- 新手小白怎么学UI设计 推荐学习路线是什么
- 超实用!0基础UI设计自学指南(0基础学ui设计好就业吗)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- 前端接口 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)