首页 >> 大全

学fpga(hls之BlockDesign)

2024-01-08 大全 46 作者:考证青年

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

1、准备hls代码

#include 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

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

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

学fpga(hls之BlockDesign)_学fpga(hls之BlockDesign)_

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

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

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

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

8、其他

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

注:

涉及到的管脚约束文件为

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]}]

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了