学fpga(hls之BlockDesign)

阅读: 评论:0

学fpga(hls之BlockDesign)

学fpga(hls之BlockDesign)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163】

        用hls生成了ip之后,驱动也有了,verilog代码也有了。下面最重要的一步就是把ip加入到整个BlockDesign里面去,这个流程也是非常重要的。

1、准备hls代码

#include <ap_cint.h>extern "C" void led_twinkle(uint1 key, uint32 num, uint2* led)
{
#pragma HLS INTERFACE s_axilite port=num
#pragma HLS INTERFACE ap_none port=key
#pragma HLS INTERFACE ap_none port=led
#pragma HLS INTERFACE ap_ctrl_none port=returnint i;if(key){for(i = 0; i < num; i++){if(i < num/2){*led = 1;}else{*led = 2;}}}else{*led = 0;}
}

2、综合、导出RTL

注意Configuration里面的Version设置成0.0.0,不然可能编译不过。

3、确认RTL压缩包生成,解压一下

4、重新利用vivado创建工程,注意选择的芯片类型必须和hls选定的芯片类型一致,不然有可能发现不了ip。接着还需要创建一个block design,这是zynq开发的一个必要环节。

5、添加ip catalog目录,用于发现ip

6、验证确认Led_twinkle是不是真的已经加入到ip repository里面去了

7、依次选择zynq和Led_twinkle,选择自动连线,

8、其他

        因为在led_twinkle_0里面有一个输入信号key、一个输出信号led需要进行配置。所以这部分的话在使用的时候,最好右击+make external一下,同时搭配一个constrain文件,这样就完全没有问题了。

注:

        涉及到的管脚约束文件为

set_property -dict {PACKAGE_PIN H15 IOSTANDARD LVCMOS33} [get_ports key_0]
set_property -dict {PACKAGE_PIN H17 IOSTANDARD LVCMOS33} [get_ports {led_0[0]}]
set_property -dict {PACKAGE_PIN H18 IOSTANDARD LVCMOS33} [get_ports {led_0[1]}]

本文发布于:2024-01-30 17:37:13,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170660743621705.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:fpga   hls   BlockDesign
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23