FPGA HLS 开发服务范围
围绕确认的项目输入、工作内容、交付物与验收条件组织实施;是否进入 PoC 或完整开发阶段由双方确认的任务书确定。
适用项目
- 已有目标产品或板卡,需要补齐“C/C++ HLS”相关设计与实现
- 已有代码或 IP,需要围绕“Pipeline/Unroll”完成集成、调试或重构
- 平台、器件或接口尚未冻结,需要先验证“接口综合”等关键风险
主要工作内容
- 建立 C/C++ 参考模型与测试向量:先将“建立 C/C++ 参考模型与测试向量”写入需求与接口基线,明确“C/C++ HLS”涉及的对象、参数、依赖和通过条件。
- 完成数据类型、循环和存储访问重构:围绕“完成数据类型、循环和存储访问重构”形成专项设计,记录“Pipeline/Unroll”相关架构、配置、约束和版本。
- 配置 Pipeline、Unroll、Dataflow 与接口综合:针对“配置 Pipeline、Unroll、Dataflow 与接口综合”完成工程集成,保留“接口综合”相关构建、日志、问题定位和变更记录。
- 执行 C 仿真、C/RTL 协同仿真和实现评估:以“执行 C 仿真、C/RTL 协同仿真和实现评估”为验证重点,在约定环境中执行“C/RTL 协同验证”相关测试并提交可复核结果。
项目输入
- 可编译的 C/C++ 参考代码、依赖和算法说明
- 输入输出范围、精度、误差预算和测试向量
- 目标吞吐、延迟、启动间隔、接口和存储结构
- 目标器件、HLS/ 实现工具版本、时钟和资源预算
交付物
- HLS 工程、综合指令、脚本和版本配置:“HLS 工程、综合指令、脚本和版本配置”用于复现约定实现,提交时绑定目标器件、工具、依赖和源码版本。
- 重构后的 C/C++ 源码及数据类型说明:“重构后的 C/C++ 源码及数据类型说明”说明接口、参数、配置与限制,作为系统联调和后续维护依据。
- 生成 RTL、接口封装和集成示例:“生成 RTL、接口封装和集成示例”按任务书列明文件范围、第三方授权边界、构建方法和制品校验值。
- C 仿真、C/RTL 对照、资源、时序和 QoR 报告:“C 仿真、C/RTL 对照、资源、时序和 QoR 报告”绑定测试对象、环境、用例、结果与剩余限制,作为阶段或最终验收证据。
验收方法
- C 模型与 RTL 输出在冻结向量和误差范围内一致
- 综合指令、工具版本和目标时钟可重复执行
- 延迟、启动间隔、吞吐和资源按实现报告记录
- 边界输入、复位、背压和接口异常完成测试
能力与结果边界
HLS 结果受代码结构、数据类型、约束、工具版本和目标器件影响,需以综合实现报告为准。 未经目标项目验证的厂商参数、理论峰值、路线图或示例工程不作为项目实测结果;最终结论以冻结版本和书面测试证据为准。
FPGA HLS 开发常见问题
什么样的 C/C++ 代码适合 HLS?
需要明确边界、数据类型、循环和存储访问,动态内存、递归、不可综合系统调用或不确定循环通常需要先重构。
HLS 能否自动得到满足全部约束的 RTL?
不能这样承诺。结果受代码结构、综合指令、数据类型、目标器件和工具版本影响,需要以 C/RTL 对照和实现报告评估。
HLS 页面是否包含 Linux、BSP 和驱动?
不默认包含。只有当 HLS 模块需与 SoC 处理器协同时,才在任务书中增加平台、驱动和软件交付。
FPGA HLS 开发的交付范围如何确定?
以项目任务书为准。计划交付的HLS 工程、综合指令、脚本和版本配置、重构后的 C/C++ 源码及数据类型说明等内容需逐项列明;第三方 IP、加密网表、厂商库、协议资料和许可证文件受原授权限制。
FPGA HLS 开发周期和报价如何评估?
工作量取决于输入完整度、接口和模块数量、器件与工具成熟度、第三方 IP、板卡状态、软件配套、测试设备及验收深度。完成输入审查后再形成阶段计划与报价。

在线咨询
电话咨询
微信咨询


回到顶部