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

HLS高层次综合设计-AXI接口

一、AXI接口
1.数组可以使用AXI4接口
2.指针参数可以使用AXI4接口
3.Ref参考参数可以使用AXI4接口

二、AXI4接口的两种应用
1.单独的数据传输方式
这种传输效率低,将AXI4-full模式退化为axi4_lite接口了;
单独的数据传输模式,每次读取或者写入数据的时候,都要写地址。

2.突发模式数据传输
这种是一种高效的数据传输模式。
单次地址,多次数据顺序传输或者采样。
这种模式支持更高的数据吞吐量。

三、AXI4的burst设计方式
1.使用循环+pipeline的方式来实现
注意:循环并非只是for循环,使用while循环也是可以的;

2.使用memcpy的方式来实现
注意memcpy只有在顶层函数中使用才是AXI4的burst传输,请不要在
非顶层函数内部使用memcpy来进行设计。

四、burst式设计注意问题
1.循环需要pipeline

2.设计需要索引升序设计,不要使用降序设计;
注意:
升序,可以index索引按照step步进来递增,step可以是1,2,3,4,但是,
必须是递增升序,不可以降序。

3.不要将进行burst的设计放入if-else或者switch-case的语句中,这种方式会破坏burst的设计
注意:如果有条件判断,需要将条件判断放在循环的内部,这样才不影响burst的传输效率。

4.AXI4 burst传输要求连续的数据访问,如果放在条件语句(如if、switch等)内部,会导致访问不连续,无法形成burst,从而降低效率。
burst被打断案例一:
void burst_bad1(int* in, int* out, int len, int enable) {
#pragma HLS INTERFACE m_axi port=in offset=slave bundle=gmem
#pragma HLS INTERFACE m_axi port=out offset=slave bundle=gmem

for (int i = 0; i < len; i++) {
if (enable) { // ❸ 访问被条件包裹
out[i] = in[i];
}
}
}

burst被打断案例二:
void burst_bad2(int* src1, int* src2, int* out, int len, int sel) {
#pragma HLS INTERFACE m_axi port=src1 offset=slave bundle=gmem
#pragma HLS INTERFACE m_axi port=src2 offset=slave bundle=gmem
#pragma HLS INTERFACE m_axi port=out offset=slave bundle=gmem

for (int i = 0; i < len; i++) {
if (sel == 0) {
out[i] = src1[i]; // 访问 src1
} else {
out[i] = src2[i]; // 访问 src2,地址跳跃到另一个内存区域
}
}
}

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

相关文章:

  • SpringBoot+Vue气候分析平台开发实践
  • 2026年AI工具测评:8款高效降本增效方案
  • 大数据专科生就业指南:技能提升与职业规划
  • 数字序列11111的编码原理与应用实践
  • 拒绝套路:一家靠谱的佛山外贸网站建设公司如何帮传统制造企业出海掘金
  • 基于Vision Transformer的K线图AI分析:从图像识别到量化交易新范式
  • 无货源店铺出单之后该怎么处理?完整操作步骤与常见问题详细解析 - 抖掌柜一键下单
  • 网络安全实战平台与渗透测试训练全指南
  • 数字化3.0时代:从大模型智能涌现到AI工程实践落地
  • PageRank算法在社交网络分析中的应用与优化
  • COMSOL模拟水中气泡放电:多物理场耦合与工业应用
  • AI工作流接管时代:开发者如何从编码者转型为流程设计者
  • 自定义内存检测工具开发与实践指南
  • 游戏行业合同管理系统:全生命周期数字化管理实践
  • PAT乙级1111题解析与编程技巧
  • 无货源电商采购软件怎么用?实操流程、高频问题及使用注意事项 - 抖掌柜一键下单
  • 目标检测中的位置敏感RoI池化:从原理到PyTorch实现详解
  • 贪心算法解决LeetCode糖果分配问题详解
  • 软考高级网规论文——无线设计
  • ComfyUI-Impact-Pack V8深度解析:如何解决AI图像生成的三大核心痛点?
  • Gartner报告解读:AI与低代码融合如何重塑软件开发范式
  • Vue3 Excel Editor:构建企业级数据编辑解决方案的高效架构设计
  • Display Driver Uninstaller深度技术解析与高级应用指南
  • 改进PageRank算法在社交网络分析中的应用与优化
  • AI 辅助前端工程化与智能组件生成实践:上下文与工具如何分工
  • Unity UGUI可拖拽圆环进度条:从原理到实现的完整指南
  • 大模型隐式引导攻击:原理、威胁与防御实践
  • UE4多人游戏开发实战:从零构建网络同步解谜平台
  • Codex AI编程助手:从概念到实战部署与配置指南
  • LEADTOOLS 使用OCR将图像转换为可搜索PDF - C DLL