- 博客(11)
- 资源 (3)
- 收藏
- 关注
转载 SDSoc学习(一):使用MIO驱动LED
简介 在XILINX官网上看见了一些SDSoc的介绍视频,感觉这个工具很强大,我之前也有一点点VIVADO+HL...
2020-07-24 11:11:37 634
原创 VIVADO HLS函数层面的优化
VIVADO HLS函数层面的优化参考文献项目简述数据类型对函数实现inline操作函数的Allocation操作函数的dataflow操作总结参考文献[1]、lauren的FPGA(微信公众号)项目简述这篇文章简单从函数层面描述HLS约束的方法有哪些,进一步的掌握HLS的约束方法。数据类型要尽量使用任意精度数据类型。例子如下:对函数实现inline操作inline:将简单的函数进行合并。例子如下:阻止inline的方法如下:可以看出把inline关掉的话,相应的资源与吞吐率得到
2020-07-19 16:37:43 780
原创 VIVADO HLS数组的优化
VIVADO HLS数组的优化项目简述数组的分割对数组采用Partition展开操作对一维数组采用Partition展开操作对多维数组采用Partition展开操作数组的映射和重组数组的MAP数组的ARRAY_RESHAPE总结项目简述前面一篇文章,我们已经进行了讲解软件程序中最重要的两个指标是时间复杂度、空间复杂度。上面循环语句的优化主要体现在时间复杂度的优化,那么这篇文章我们将着重于空间复杂度的优化。时间复杂度体现在循环语句上面,而空间复杂度则体现在数组上面,所以这篇文章我们将讲解VIVADO HL
2020-07-19 16:06:36 3218
原创 VIVADO HLS循环语句的优化
VIVADO HLS循环语句的优化参考文献项目描述for循环的衡量指标对for循环设置Pipeline操作对for循环设置Unrolling操作for循环的合并对于两个完全并列的for循环约束方法——合并for循环对于并列for循环的循环边界为不同常数的循环合并对于并列for循环的循环边界一个为常数一个为变量的合并对于并列for循环的循环边界两个均为变量的合并for循环的优化——dataflowfor循环的结果被另外多个for循环使用,为了使用dataflow解决办法另一个不能使用dataflow的例子及解
2020-07-19 12:43:09 2241
原创 VIVADO HLS的接口描述
VIVADO HLS的接口描述参考文献项目描述基本介绍顶层函数握手信号ap_ctrl设置Port-leve I/O参考文献[1]、lauren的FPGA(微信公众号)项目描述我们在进行HLS编译的时候会设置顶层文件,顶层文件中包括形参、返回值等等。这些映射到硬件电路中会产生信号,这些信号具体又遵循什么样的接口描述我们需要设置,这不仅可以帮助我们设置更优的约束条件使得编译出来的硬件电路更加完美,更重要的是可以让我们精确了解端口所遵循的时序,只有这样我们才可以控制输入输出数据流,进而完成一定的功能。另一
2020-07-18 20:23:23 3190 4
原创 Vivado HLS中的数据类型
Vivado HLS中的数据类型参考文献项目简述为什么在VIVADO HLS中使用任意精度数据类型VIVADO HLS中如何使用任意精度数据类型VIVADO HLS中数据类型的转换VIVADO HLS中的复合数据类型参考文献[1]、lauren的FPGA(微信公众号)[2]、小鱼FPGA(微信公众号)项目简述我们知道C、C++中数据类型的大小都是以字节为单位,这在FPGA中式相当浪费资源,因为只能式8bit的整数倍。所以在VIVADO HLS中我们需要具体指定每个数据类型的位宽,比如5位、10位。
2020-07-16 17:04:29 3217
原创 高层次综合(HLS)常用时间术语的解释
高层次综合(HLS)常用时间术语的解释参考文献项目简述HLS工作原理高层次综合(HLS)指标总结参考文献[1]、小鱼FPGA(微信公众号)[2]、lauren的FPGA(微信公众号)项目简述前面一篇关于HLS的文章,我们已经进行了讲解,我们学习HLS并不是为了学习C、C++代码如何编写。我们是为了学习如何使用HLS进行加速,将高层次代码编译成底层逻辑。那么编译的好坏必然会引入一些指标,接下来我们将对这些指标进行进一步的说明,以便大家可以理解HLS设计。HLS工作原理进行HLS约束的主要原理如下
2020-07-16 14:55:47 4366 1
原创 异步FIFO的设计
异步FIFO的设计参考文献项目简述异步FIFO设计难点空满信号的产生1读写地址跨时钟域问题空满信号的产生1多位二进制码如何转化为格雷码异步FIFO系统框图异步FIFO代码:测试文件实验结果总结参考文献[1]、小鱼FPGA(微信公众号)[2]、aslmer(博客园)项目简述之前写过一篇异步FIFO的注意点,详情见博客。但是不免有许多同学要问为什么官方的IP都会出现这种问题,难道是官方的IP设计的不好?这种可能性肯定不大,因为官方的IP肯定设计的比较完美。那么肯定是这种现象在异步FIFO的设计中是不可
2020-07-16 00:57:57 3118 5
原创 学习XILINX HLS工具的官方资料
学习XILINX HLS工具的官方资料参考文献项目简述官方学习资料Xilinx官方教程总结参考文献[1]、小鱼FPGA(微信公众号)项目简述HLS工具是Xilinx官方发布的一个高层次综合工具,可以把用C、C++、System C编写的程序装换成HDL代码。并且给出一些策略,这些策略可以使得编译出来的HDL代码在面积与速度之间取得平衡,从而达到设计者的设计要求。现在市面上面关于HLS的资料比较少,已知的有米联客的教程,但是上面的教程并没有着重讲解HLS本身,反而讲了一些算法,至于为什么对C++代码进
2020-07-13 13:07:39 2566
原创 基于FPGA的PCIE设计(3)
PCIE协议基础参考文献项目简述PCIE概述参考文献[1]、移知网项目简述前面已经有两篇博客介绍了PCIE,相信大家应该都看不懂,前面的博客主要讲解了PCIE在FPGA中的实现,那么我们就接着学习这个协议。在接下来的几篇博客,我将尽可能的讲解一些我学会的PCIE的知识,但是要想真正学会还是得看Base Specification。这里再次说明,如果只是为了使用PCIE那么完全没有必要对PCIE的协议了解太深,因为在FPGA里面有相应的IP。这里说明一下XDMA的缺点,因为XDMA使用起来非常方便,但
2020-07-09 15:59:41 7701
原创 基于ZYNQ的千兆网项目(3)
基于ZYNQ的UDP实现项目简述UDP简述PL端设计PS端设计下板测试项目简述前面的文章讲解了TCP客户机与主机在ZYNQ上面的实现,其实说白了就是调用现成的API函数,这点与FPGA的设计其安全不同,因为进行FPGA设计必须要完全理解底层才可以进行相应的设计。本篇博客我们将讲解ZYNQ实现UDP协议。关于UDP的理论部分,我们在使用FPGA实现的时候已经进行了完整的讲解,详细请查看基于FPGA的千兆以太网的实现,上面对UDP的特点、组包、CRC进行了详细的论证。这里建议大家一定要学习, 虽然即使不明白
2020-07-01 10:01:39 6770 1
High-Level-Synthesis-Flow-on-Zynq-using-Vivado-HLS-master.zip
2020-08-09
卷积神经网络代码(HLS版本).zip
2020-08-09
FIFO深度计算.pdf
2020-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人