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

Array作为顶层参数-优化设计(二)

一、核心代码#include array_FIFO.hvoid array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {//void array_FIFO (dout_t d_o[4], din_t *d_i, didx_t idx[4]) {#pragma HLS INTERFACE s_axilite register depth4 portd_i//#pragma HLS INTERFACE s_axilite register depth4 portd_iint i;// Breaks FIFO interface d_o[3] d_i[2];For_Loop: for (i0;i4;i) {//d_o[i] d_i[idx[i]];d_o[i] *d_i;}}二、TB设计#include array_FIFO.hint main () {din_t d_i[4];dout_t d_o[4];didx_t idx[4];int i, retval0;FILE *fp;// Create input datafor (i0;i4;i) {d_i[i] i10;//idx[i] i;idx[i] 3-i;}// Call the function to operate on the dataarray_FIFO(d_o,d_i,idx);// Save the results to a filefpfopen(result.dat,w);fprintf(fp, Din Dout\n);for (i0;i4;i) {fprintf(fp, %d %d\n, d_i[i], d_o[i]);}fclose(fp);// Compare the results file with the golden resultsretval system(diff --brief -w result.dat result.golden.dat);// if (retval ! 0) {// printf(Test failed !!!\n);// retval1;// } else {// printf(Test passed !\n);// }// Return 0 if the test passes//return retval;return 0;}三、仿真结果总结#pragma HLS INTERFACE s_axilite register depth4 portd_i这条指令将数组作为axilite的4个寄存器在进行处理。四、核心代码换一个方式进行设计#include array_FIFO.hvoid array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {#pragma HLS ARRAY_PARTITION variabled_i complete dim1#pragma HLS INTERFACE s_axilite portd_i//void array_FIFO (dout_t d_o[4], din_t *d_i, didx_t idx[4]) {#pragma HLS INTERFACE s_axilite register depth4 portd_i//#pragma HLS INTERFACE s_axilite register depth4 portd_iint i;// Breaks FIFO interface d_o[3] d_i[2];For_Loop: for (i0;i4;i) {d_o[i] d_i[i];}}
http://www.zskr.cn/news/1341170.html

相关文章:

  • pointer reference作为顶层参数(二)
  • CANN/asc-devkit获取向量寄存器长度API
  • DeepCreamPy深度解析:当AI神经网络邂逅动漫图像修复
  • 从零开发游戏需要学习的c#模块,第十八章(2D 碰撞检测与金币收集)
  • ElevenLabs声音库迁移避雷手册(从V2到V3),37家SaaS厂商踩过的5个兼容性深坑:API响应结构突变、SSML标签弃用、Webhook回调中断
  • NCM文件转换终极指南:3步快速解密网易云音乐加密音频
  • 企业AI开发包含哪些内容:从需求分析到交付落地的完整指南 - 华旭传媒
  • DiffSinger歌声合成技术:从架构设计到生产部署的工程实践
  • Sequin实战教程:构建企业级变更数据捕获管道
  • 如何快速获取精准歌词?LDDC 跨平台歌词下载工具完整指南
  • 如何利用VITON-HD实现高分辨率虚拟试衣的完整指南
  • article-extractor安全实践:防范XSS攻击与内容过滤的最佳策略
  • UVa 255 Correct Move
  • Spring AI 2.0 开发Java Agent智能体 - 多模态支持
  • Spark 安装与使用完全指南【保姆级教程】
  • CANN/asc-devkit算子动态库配置
  • LLPlayer:终极语言学习视频播放器 - 用AI技术革新你的外语学习方式
  • Soulmask《灵魂面具》 专用服务器搭建教程
  • 大模型微调是什么?企业为什么需要:2026年术语适配、知识注入与场景落地指南 - 观域传媒
  • Wurm Unlimited 专用服务器搭建教程
  • 2026哪家公司可以做GEO获客/AI搜索排名提升?九颐数科等三家服务商能力拆解与选择框架 - 广州矩阵架构科技公司
  • Flux1-dev完整教程:24GB以下显存用户的终极AI解决方案
  • GitHub社区徽章系统技术深度解析:基于GraphQL的事件管理架构实现原理
  • JetBrains IDE 试用重置终极指南:ide-eval-resetter 完整教程
  • YimMenu完全指南:5大核心功能让你安全畅玩GTA5在线模式
  • 读《AI时代成为行业精英的融合型学习法》
  • 企业落地 AI Agent,第一批最容易跑通的 10 个低风险场景
  • 如何在企业中构建真正有效的AI Agent?从理论到落地,基于300+企业Agent交付经验的实战指南
  • DicomObjects COM -Release Date: 2026-05-18
  • Web基础(六):Mybatis