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

高层次综合理念

一、function & LOOP
fucntion功能:
RD_OP + CMP_OP + WR_OP
或者
Load +Compute + store

LOOP功能:
RD_OP + CMP_OP + WR_OP
或者
Load + Compute + store

USR_ACCESS2原语的核心价值

二、HLS工具优化逻辑
1.HLS的优化效果高度依赖于编译7器的能力,开发者还需要通过添加大量编译指令(如Pragma)来引导工具生成高效代码,因此在实际开发中仍需具备硬件知识的支持
2.HLS是没有办法精确控制时序的,比如CPU流水线,资源优化,微观颗粒度设计,只能用verilog
3.如果做宏观算法沿着,功能实现,不考虑性能,建议使用HLS

三、设计注意事项
1.HLS高层次综合的特有的数据类型
2.原生态数据 & 新生态数据类型之间的转换
3.变量的初始化
4.复合数据类型在高层次综合之中的应用
5.TB的编写和设计,以及覆盖率
6.接口的综合,分为block-level接口和Port-level接口
7.数组的使用和映射
8.const,global,static,local,volatile的使用
9.循环优化:pipeline,unroll,part-unroll,merge,dataflow,multi-loop
10.rewind,flush,以及边界处理
11.数组partition,map,reshape,map,rom,ram,buffer,window

四、高层次综合
1.c/c++/systemc/matlab对系统建模,也就是ESL的设计理念。
2.高层次综合工具对特定对下进行优化和映射:
数组,循环,函数等。
3.Vivado HLS对C代码的转换过程可分为时序安排(Scheduling)、资源规划(Binding)和控制逻辑提取(Control Logic Extraction)三个阶段
时序安排用于决定每个时钟周期所执行的操作;资源规划用于决定这些操作选用FPGA中的何种资源实现;控制逻辑提取用于产生有限状态机(Finite State Machine,FSM)。

开发者都说宏观和抽象的设计,侧重于图论

工具链侧重于翻译,映射,微观把控,IR表调度。

五、优化
1.循环优化
关于循环的unroll展开
关于循环的merge融合
关于循环的split分割
关于循环的改造和拆分
目的:用于提升数据的吞吐量和计算效率

2.数据流路径优化
数据流的内存访问效率
存储器的访问效率

3.并行化设计
hls工具编译器会自动的检测,推断或者挖掘算法中可能的并行性,但是一般是
比较保守的。所以不能全靠工具,设计者的代码风格要足够好,不然工具会对
用户设计的代码进行折中优化,从而达不到效果,或者产生错误的效果。

4.流水线设计
主要将大操作进行多阶段的拆分

5.内存优化
访问DDR,访问BRAM,LUT,FF等

七、工具

http://www.jsqmd.com/news/783758/

相关文章:

  • 为Hermes Agent框架配置自定义模型供应商并连接Taotoken
  • ARGO:本地部署AI智能体,打造私有化多智能体协作平台
  • 淘金币自动化脚本:5分钟完成每日任务的高效解决方案
  • CATLASS EVG扩展说明
  • 避开递归深坑:从ICode Python 6级题看如何设计清晰的递归函数
  • 2026企业AIAgent平台评测:主流智能体平台横向对比
  • Taotoken模型广场在技术选型阶段提供的直观比较与试用体验
  • 别再让Langchain卡住你的前端!一个FastAPI + SSE的保姆级流式输出教程(附完整可运行代码)
  • 变形翼无人机穿越狭窄缝隙的技术挑战与解决方案
  • CANN/ops-math图像到列算子
  • CANN/pyasc合并排序队列API
  • 2026线下门店智能马桶TOP8排行榜:实体店买马桶到底选谁? - 江湖评测
  • CANN/cann-bench GQA算子API描述
  • 微信AI机器人插件生态全解析:从选型部署到开发实践
  • CANN/sip ColwiseMul按列逐点乘示例
  • 网盘下载提速神器:九大平台直链解析工具完整指南
  • Cursor API本地代理:内网集成AI编程与自动化工作流实战
  • 认知科学启发的AGI测试框架:从人类智能维度到可量化评估
  • HoRain云--PHP命名空间终极指南
  • pypto.distributed 模块介绍
  • Python后台服务/守护进程如何正确处理SIGINT信号?一个真实的生产环境案例
  • CANN/pyasc load_data数据加载API文档
  • 人形机器人供应链观察:良质关节如何在三年内成为头部厂商的核心合作伙伴?(附数字化案例拆解) - 黑湖科技老黑
  • CANN具身智能-PI0训练样例
  • HIXL LLM-DataDist接口
  • C++ ONNX Runtime 实战:为什么我的 session->Run 在跨函数调用时就崩溃了?
  • CANN/AMCT OFMR大模型量化
  • OpenClaw爬虫框架实战:从Awesome清单到自动化数据采集系统构建
  • 国内主流氯化镁生产厂家综合实力排行及选型指南 - 奔跑123
  • ngx_close_accepted_connection