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

参数传递规则问题-类型匹配


一、顶层参数传递给sub_function参数
note: candidate function not viable: no known conversion from 'ap_uint<32> *' to 'ap_uint<16> *' for 4th argument;


void my_top
(
hls::stream<ap_axiu<PIX_W*N_PIX,1,1,1> >& src,
hls::stream<ap_axiu<PIX_W*N_PIX,1,1,1> >& dst,
ap_uint<32> param_mem[1024]
){
#pragma HLS RESOURCE variable=param_mem core=RAM_2P_BRAM//这里指定为双口RAM会出问题
#pragma HLS INTERFACE axis register both port=src
#pragma HLS INTERFACE axis register both port=dst
#pragma HLS INTERFACE s_axilite port=return bundle=CONTROL_BUS
#pragma HLS INTERFACE s_axilite port=param_mem bundle=CONTROL_BUS


static struct cfg_info_s cfg_info;
#pragma HLS RESOURCE variable=cfg_info core=RAM_2P_LUTRAM


ap_uint<32> t1=0;
ap_uint<32> t2=0;
ap_uint<32> t3=0;

//注意param_cfg中接收&param_mem[0]的数组或者指针,将会自动的被综合综合工具综合为RAM_1P_BRAM,也就是单口RAM
param_cfg(&param_mem[0],&t1,&t2,&t3,&cfg_info[0]);

}

上述代码会存在问题,数据类型不匹配note: candidate function not viable: no known conversion from 'ap_uint<32> *' to 'ap_uint<16> *' for 4th argument;
需要将数据类型改为一样才可行


二、强制转换
void my_top
(
hls::stream<ap_axiu<PIX_W*N_PIX,1,1,1> >& src,
hls::stream<ap_axiu<PIX_W*N_PIX,1,1,1> >& dst,
ap_uint<32> param_mem[1024]
){
#pragma HLS RESOURCE variable=param_mem core=RAM_2P_BRAM//这里指定为双口RAM会出问题
#pragma HLS INTERFACE axis register both port=src
#pragma HLS INTERFACE axis register both port=dst
#pragma HLS INTERFACE s_axilite port=return bundle=CONTROL_BUS
#pragma HLS INTERFACE s_axilite port=param_mem bundle=CONTROL_BUS


static struct cfg_info_s cfg_info;
#pragma HLS RESOURCE variable=cfg_info core=RAM_2P_LUTRAM


ap_uint<32> t1=0;
ap_uint<32> t2=0;
ap_uint<32> t3=0;

//注意param_cfg中接收&param_mem[0]的数组或者指针,将会自动的被综合综合工具综合为RAM_1P_BRAM,也就是单口RAM
param_cfg((ap_uint<16>*)&param_mem[0],&t1,&t2,&t3,&cfg_info[0]);

}

ERROR: [SYNCHK 200-61] XXX:60: unsupported memory access on variable 'param_mem.V' which is (or contains) an array with unknown size at compile time.
ERROR: [SYNCHK 200-41] XXX:101: unsupported pointer reinterpretation from type 'i32*' to type 'i16*' on variable 'op.V'.

上述代码综合也会失败,因为这种强制类型转换会出问题,所以老实的把类型搞对才好。

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

相关文章:

  • Smol轻量级模型:高效神经网络架构设计与应用
  • bool值不等于0都是true
  • 链表中倒数第k个结点-C++
  • 别再为CWRU轴承数据发愁了!一个Python函数搞定数据读取与划分(附完整代码)
  • ARM GICv3虚拟中断控制器与ICV_HPPIR1_EL1寄存器详解
  • 多项式优化框架设计与Julia实现实践
  • 解锁macOS视频预览新境界:QuickLookVideo全面解析与实战指南
  • Leetcode刷题总结-3.二叉树篇
  • 实战:在华为Atlas 300i Pro上部署YOLOv5模型进行目标检测(MindSpore+CANN)
  • 终极Django REST Framework数据分析指南:API使用统计与业务洞察实战
  • RPG Maker Decrypter技术深度解析:三版本加密算法实现与架构设计
  • 视觉因果发现:ToCT方法与CauSight模型解析
  • GAN判别器增强技术与对抗训练优化策略
  • Arm Cortex-X925错误记录寄存器架构与RAS技术解析
  • Shark007 Advanced Codecs
  • 安吉办公椅生产厂家有哪些?2026办公网椅生产厂/人体工学椅/安吉办公椅源头工厂调研-商用座椅领军好物精选 - 栗子测评
  • mousemaster:用键盘驱动鼠标,提升效率与缓解RSI的终极方案
  • 别再只用MaxPooling了!用PyTorch手把手实现小波池化层,提升图像分类的抗噪能力
  • 园林绿化公司哪家好?2026浙江苗木绿化/小区绿化苗木/园林绿化公司实力分析-园林苗木服务领军机构优选推荐 - 栗子测评
  • G-Helper终极指南:免费掌控华硕笔记本的完整解决方案
  • 视觉自回归模型多样性优化与多尺度生成技术
  • 大模型的工程原理 第7章 Mixture of Experts(MoE)架构
  • 2.1 链路层发现协议(LLDP)
  • 2026年4月白酒经销商厂家名录:成都白酒批发厂家、散装白酒生产厂家、浓香型白酒厂家、白酒代理加盟厂家、白酒厂家电话选择指南 - 优质品牌商家
  • 链表中环的入口结点-C++
  • 2026年3月高效的宠物医院运营托管团队推荐,宠物医院代运营/宠物医生美团运营,宠物医院运营托管品牌怎么选择 - 品牌推荐师
  • 如何利用Turborepo实现TypeScript项目的类型安全构建流程优化
  • 多项式优化与半定规划松弛的计算挑战与优化策略
  • 红外线桥切机哪家好?桥切机厂家有哪些?2026年桥切机厂家推荐:福建晶洋领衔 - 栗子测评
  • 2026乐山油炸工艺解析:乐山美食攻略、乐山美食街、乐山美食订餐热线、乐山辜李坝老地方油炸、乐山市区美食、乐山当地人去的美食街选择指南 - 优质品牌商家