当前位置: 首页 > news >正文

同样是synthesis(综合) HLS和Vivado里面是有什么区别

也不看看HLS的全称,高层次综合,HLS (High-Level Synthesis)

1. Vitis HLS 综合:设计师画蓝图

  • 这是什么? 高层次综合 (High-Level Synthesis)。
  • 输入:您的 C/C++/OpenCL 代码。这就像是您对设计师提出的需求:“我想要一个三室两厅、带阳台、现代风格的房子。”
  • 输出RTL 代码 (Verilog 或 VHDL)。这是设计师根据您的需求,画出的一套非常详细的建筑施工蓝图。蓝图会明确指出哪里是承重墙,哪里是普通墙,水管和电路怎么走,房间的布局和尺寸等等。
  • 目标:HLS 的目标是将一个算法行为(C++代码),自动转换成一个具体的硬件微架构(RTL代码)。它会决定:
    • 使用什么样的状态机来控制流程。
    • 数据如何在寄存器之间流动(创建流水线 Pipeline)。
    • 如何与外部进行通信(创建 AXI 接口)。
    • 如何访问内存。

在这个阶段,我们只是得到了一个非常详细的、通用的硬件“蓝图”,但它还没有变成实体。

2. Vivado 综合:施工队盖房子

  • 这是什么? 逻辑综合 (Logic Synthesis)。
  • 输入:HLS 生成的 RTL 代码 (建筑蓝图)。
  • 输出:一个门级网表 (Netlist)。这相当于施工队拿着蓝图,清点出需要用到的具体建筑材料清单:“我们需要 157 个 A 型触发器、273 个 B 型查找表、0 个 DSP 模块… 并且要把它们这样连接起来。”
  • 目标:Vivado 综合的目标是将这份通用的“蓝图”(RTL代码),用您选定的某款具体 FPGA 芯片(例如 xczu7ev-ffvc1156-2-e)中实际拥有的、物理存在的逻辑资源(如 LUT、FF、BRAM、DSP)来实现。
    • 映射 (Mapping):它会把蓝图中的“墙”(逻辑运算 a+b)翻译成用“红砖”(LUTs)来砌。
    • 优化 (Optimization):施工队会想办法优化,比如用更少的砖(面积优化)或者让电流跑得更快(时序优化),来确保房子盖得又快又好,满足您在 Vivado 中设定的时钟频率等性能指标。

总结:两者的核心区别

特性Vitis HLS 综合Vivado 逻辑综合
抽象级别从 算法 到 架构从 架构 到 物理逻辑门
工作内容将 C++ 的行为翻译成电路蓝图 (RTL)将电路蓝图 (RTL) 翻译成具体的 FPGA 逻辑单元 (LUT, FF)
好比是设计师(规划功能和结构)施工队(使用具体材料建造)

所以,您必须先经过 HLS 综合,再进行 Vivado 综合。HLS 负责把您的“想法”变成“图纸”,而 Vivado 负责把“图纸”变成您 FPGA 上实实在在运行的电路。这个流程缺一不可。

http://www.lqws.cn/news/541603.html

相关文章:

  • 【git学习】学习目标及课程安排
  • Java 大视界 -- Java 大数据在智能教育学习社群知识共享与协同学习促进中的应用(326)
  • 【HTML】
  • 中国科技术语杂志中国科技术语杂志社中国科技术语编辑部2025年第3期目录
  • 算法第55天|冗余连接、冗余连接II
  • C++ 第三阶段 并发与异步 - 第二节:异步任务(std::async)
  • 在docker容器中安装docker服务,基于fuse-overlayfs进行overlay挂载,而不是vfs
  • HarmonyOS NEXT仓颉开发语言实现画板案例
  • MySQL 离线安装MariaDB
  • SYSCFG 时钟在 GD32F4 系列微控制器中的作用
  • Layer by Layer: Uncovering Hidden Representations in Language Models
  • 当前最好的0样本文本转语音是哪个模型?
  • SpringCloud系列(38)--SpringCloud Gateway实现动态路由
  • 2024百度之星:BD202404 110串
  • JDY-23蓝牙模块与电脑的连接方式
  • 从0开始学习计算机视觉--Day04--损失函数
  • 杭州西湖断桥不断:3D扫描还原‘残雪‘视觉骗局
  • 在反向代理环境下精准获取客户端真实 IP 的最佳实践
  • Linux journal 日志大小限制与管理详解
  • vue-27(实践练习:将现有组件重构为使用组合式 API)
  • 七天学会SpringCloud分布式微服务——04——Nacos配置中心
  • 便携式水质检测仪的功能
  • 基于 SpringBoot+Vue 的台球厅管理系统的设计与实现(毕业论文)
  • [ linux-系统 ] 磁盘与文件系统
  • 排查 WebView 中 touch、click 事件失效:移动端调试过程详解
  • PIXHAWK(ardupilot4.52)NMEA的解析bug
  • EXCEL数据报表
  • 接口自动化测试框架(pytest+allure+aiohttp+用例自动生成)
  • 【Python基础】05 Python视频压缩技术深度解析
  • 商务创业项目策划计划书PPT模版