Vivado hls 对C语言的限制需要改哪些怎么改代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vivado hls 对C语言的限制需要改哪些怎么改代码相关的知识,希望对你有一定的参考价值。

我现在想把C代码在VIvadohls上高级综合 可是有限制 需要改代码 请问有木有大神可以帮帮忙!!!急急急

参考技术A 操作编码如下:

int strlen(char *p)


int i=0;
while(*p++)i++;
return i;


#include <stdio.h>
#include <string.h>

void main()

char x[3]=0;
x[0]='a';
x[1]='b';
x[2]='c';
int len=strlen(x);
printf("%c %d \r\n",x[6],len);

VIVADO HLS函数层面的优化

VIVADO HLS函数层面的优化

参考文献

[1]、lauren的FPGA(微信公众号)
[2]、Xilinx暑期学校

项目简述

这篇文章简单从函数层面描述HLS约束的方法有哪些,进一步的掌握HLS的约束方法。

数据类型

要尽量使用任意精度数据类型。例子如下:

对函数实现inline操作

inline:将简单的函数进行合并。
例子如下:

阻止inline的方法如下:

可以看出把inline关掉的话,相应的资源与吞吐率得到了相应的改善。

函数的Allocation操作

可以让函数例化多份:

生成的资源如下:

函数的dataflow操作

原理如下:

例子如下:

总结

创作不易,认为文章有帮助的同学们可以关注、点赞、转发支持。为行业贡献及其微小的一部分。对文章有什么看法或者需要更近一步交流的同学,可以加入下面的群:

以上是关于Vivado hls 对C语言的限制需要改哪些怎么改代码的主要内容,如果未能解决你的问题,请参考以下文章

VIVADO HLS函数层面的优化

安装xilinx ise后,会出现多个应用程序比如vivado,vivado HLS, xilin

设计简单算法体验Vivado HLS的使用

vivado 错误怎么改

基于Zynq-7000系列之硬件开发学习教程——Xilinx Vivado HLS案例

Vivado HLS Coding Style-22维卷积:C代码构建高效硬件