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

array参数在顶层约束中的情况


一、input_array约束为axis
void array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {
#pragma HLS INTERFACE axis register both port=d_i

int i;

// Breaks FIFO interface d_o[3] = d_i[2];
For_Loop: for (i=0;i<4;i++) {
d_o[i] = d_i[idx[i]];

//d_o[i] = d_i[i];

}

}

rtl仿真结果:

注意,数组指定axis的时候,不需要指定depth,因为数组默认就已经给定了depth了,数组的大小就是depth,如果是指针变量就不行,指针变量约束为axis,是需要开发者显示的指定detph,否则是死锁的。


二、input_array约束为s_axilite

void array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {
#pragma HLS INTERFACE s_axilite register port=d_i

int i;

// Breaks FIFO interface d_o[3] = d_i[2];
For_Loop: for (i=0;i<4;i++) {
d_o[i] = d_i[idx[i]];

//d_o[i] = d_i[i];

}

}

需要注意的是,约束为axilte,并不是将其约束为寄存器了,上述代码将其约束为axilite_ram了。

修改代码后:

void array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {
#pragma HLS INTERFACE s_axilite register depth=4 port=d_i

int i;

// Breaks FIFO interface d_o[3] = d_i[2];
For_Loop: for (i=0;i<4;i++) {
d_o[i] = d_i[idx[i]];

//d_o[i] = d_i[i];

}

}

综合还是生成axilite_bram了。

再次修改:

void array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {
#pragma HLS ARRAY_PARTITION variable=d_i complete dim=1
#pragma HLS INTERFACE s_axilite register depth=4 port=d_i

int i;

// Breaks FIFO interface d_o[3] = d_i[2];
For_Loop: for (i=0;i<4;i++) {
d_o[i] = d_i[idx[i]];

//d_o[i] = d_i[i];

}

}

三、input_array约束为m_axi------------非常常用

void array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {
#pragma HLS INTERFACE m_axi port=d_i

int i;

// Breaks FIFO interface d_o[3] = d_i[2];
For_Loop: for (i=0;i<4;i++) {
d_o[i] = d_i[idx[i]];

//d_o[i] = d_i[i];

}

}

上述是数组设计,约束为m_axi的时候,不需要指定depth。如果是指针,需要指定depth.

四、input_array约束为ap_hs

void array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {
//#pragma HLS INTERFACE m_axi depth=0 port=d_i
#pragma HLS INTERFACE ap_hs port=d_i

int i;

// Breaks FIFO interface d_o[3] = d_i[2];
For_Loop: for (i=0;i<4;i++) {
d_o[i] = d_i[idx[i]];

//d_o[i] = d_i[i];

}

}

五、input_array约束为ap_memory---------非常常用

void array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {
//#pragma HLS INTERFACE m_axi depth=0 port=d_i
#pragma HLS INTERFACE ap_memory port=d_i

int i;

// Breaks FIFO interface d_o[3] = d_i[2];
For_Loop: for (i=0;i<4;i++) {
d_o[i] = d_i[idx[i]];

//d_o[i] = d_i[i];

}

}

六、input_array约束为bram---------非常常用

void array_FIFO (dout_t d_o[4], din_t d_i[4], didx_t idx[4]) {
//#pragma HLS INTERFACE m_axi depth=0 port=d_i
#pragma HLS INTERFACE bram port=d_i

int i;

// Breaks FIFO interface d_o[3] = d_i[2];
For_Loop: for (i=0;i<4;i++) {
d_o[i] = d_i[idx[i]];

//d_o[i] = d_i[i];

}

}

七、input_array约束为ap_fifo

八、input_array约束为ap_bus
几乎很少用到,用到再说

九、axilite + ap_memory接口的bram-------非常常用
这个只要你将数组约束为axilite,默认就是生成ap_memory+lite接口的bram资源,注意这里是生成ram了,不只是接口。
这个是生成了实实在在的存储资源,而不是存储资源接口。

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

相关文章:

  • 从NeRF到3DGS:想快速上手三维重建?手把手教你用Colmap+3DGS复现第一个场景
  • 言行之道:聪明人与愚人的行为特征比较
  • 2026执业医师技能操作培训机构红黑榜 - 医考机构品牌测评专家
  • 终极免费视频下载插件:VideoDownloadHelper完整使用指南
  • TC3xx安全启动设计实战:如何为你的SafetyLib和SecurityLib规划芯片上电流程
  • PEMS-BAY交通速度数据HDF5文件解析全攻略:用Pandas和h5py库搞定时空数据预处理
  • Veo 2K→4K升频质量跃迁的临界点在哪?实测37组参数组合后锁定的4个不可妥协设置(含FFmpeg后处理联动配置)
  • py每日spider案例之cosine壁纸接口获取(无加密)
  • 基于ESP32-S3的本地语音控制:边缘AI与MCP外设集成实践
  • 2026年海南进出口公司正规代办机构怎么选才靠谱?外贸贸易公司创业权威甄选指南速看收藏 - GrowthUME
  • DeepSeek商用风险预警:2024最新许可证条款拆解,90%企业已踩中的4类违规陷阱?
  • 无锡上门奢侈品回收机构排行 5家正规服务商盘点 - 互联网科技品牌测评
  • Shopify库存预留难题:从Redis到MySQL,突破高并发交易瓶颈!
  • 告别扫描版乱码:拿Meta Nougat给你的老旧技术手册/电子书做个‘文字化手术’
  • 石家庄钻石回收哪家靠谱省心|正规高价不压价门店推荐 - 奢侈品回收测评
  • AI如何终结评估一刀切:从打分到生长地图的范式革命
  • 5分钟快速上手Vue 3树形组件:vue-tree-list实用指南
  • 教你如何利用AI精准锁定核心文献
  • Unity 2D横版游戏开发避坑指南:从零搭建一个像素风闯关游戏(附完整源码)
  • AutoCAD导出PDF实战:从黑白施工图到彩色效果图,一份配置全搞定
  • 从‘底跟踪’到‘水跟踪’:聊聊DVL在复杂水下环境里的那些‘坑’与应对策略
  • 西安别墅装修公司怎么选?2026年设计实力、施工标准与全案管理深度横评 - 科技焦点
  • 无锡上门奢侈品回收机构排行 合规服务对比解析 - 互联网科技品牌测评
  • 2026年了,谁还在堆参数?AI真的要从大模型转向好模型了
  • ColabFold终极指南:15分钟免费预测蛋白质三维结构的完整教程
  • OpenUtau:开源歌声合成的终极解决方案,打造无国界音乐创作体验
  • E-Hentai-Downloader:三分钟搞定漫画批量下载与归档的实用指南
  • utf8mb4_bin utf8mb4_0900_as_ci utf8mb4_0900_ai_ci utf8mb4_general_ci
  • 2026 年 5 月海口名表回收行业深度解读!内行人才懂的回收门道,首选添价收 - 薛定谔的梨花猫
  • Debian查看日志