cuter

Vivado赛季心得与感受

1
阅读(8449)

Vivado赛季心得与感受

第一部分:把这一阶段所有博文分类整理一下,顺便谈一些自己的感受。

1、首先是基础

正所谓:合抱之木,生于毫末;九层之台,起于累土,想要用好一款开发工具,必须掌握各种常用的基本操作、流程。打好了基础,后面就会走得轻松愉快,也会走得更高。

1.1、Vivado实现纯逻辑开发——从最简单开始

这篇笔记介绍了如何使用Vivado进行基于HDL的逻辑设计,记录了从代码编辑到比特流生成的全过程,对于不熟悉Vivado的FPGA开发人员来讲,个人感觉还是有一定参考价值的。借助这个最简单的设计,能够掌握Vivado的基本使用流程。

1.2、基于Vivado的嵌入式开发——PS+PL实践

这篇笔记介绍了如何在Vivado平台下实现基于ZYNQ的PS+PL设计,侧重点在于block design的创建,如何添加Vivado自带IP核。

1.3、Vivado轻松实现IP封装

这篇笔记介绍了如何利用Vivado将设计好的HDL资源打包成IP核,以便Vivado调用,添加至Block Design。

1.4、Vivado下创建基于AXI-Lite的用户IP核

这个流程实际上和IP封装是类似的,只是在向导过程中选择的类型有区别。

Vivado为设计人员提供了很多IP核,但不可能完全满足我们的所有设计需求,在设计过程中,很多时候需要设计个性化的IP核,用于完成自己想要的功能。因此,在Vivado下创建IP核的流程也是必须掌握的基础之一。

1.5、Vivado IP核剖析

Vivado里已经见不到XPS的身影,一个新的名词“Block Design(BD)”被引入了,和XPS一样,如果想要把自己的设计放进BD,就必须进行打包,生成IP核。所以对IP核的文件结构、描述文件进行一定的了解也是有好处的。

1.6、Vivado 逻辑分析仪的使用

对于FPGA开发人员来讲,逻辑分析仪是十分重要的,可以大大加快Debug的进度,缩短项目周期,自从我写了这篇笔记抛砖引玉之后,AET几位博主写了多篇关于Vivado逻辑分析仪的文章,这是喜闻乐见的。本来我还打算分享一下Vivado逻辑分析仪的高级触发功能,不过貌似已经有人写过啦~


基础篇小结:

有的人会认为这些东西太简单,根本没必要长篇大论地整成博客来片点击量。但是如何你实际去操作了,也可能会碰到问题。比如,Vivado不够“智能”,有时候挑选的top module是错误的。然后去解决这些错误,你就会有收获,有成长。这一阵子看到一些网友对博主的讽刺和抨击,有时候也会觉得气氛,博主们花费大量的时间和精力把自己学习经验分享出来,反而遭受这种待遇,人心啊……“路虽通,不行不至;事虽小,不为不成”,看着别人的东西,觉得简单,你试试,未必就简单!


2、设计实战之等精度频率计

2.1、Vivado设计实战——等精度频率计(概述篇)

2.2、Vivado设计实战——等精度频率计(原理篇)

2.3、Vivado设计实战——等精度频率计(完结篇)

学习了一些基础的东西之后,我就开始考虑怎么把这些“招数”串起来,形成更加有意义、作用更大的“套路”,所以就有了这3篇笔记,记录了基于ZYNQ的等精度频率计的设计过程。进一步巩固前一段时间所学的东西。


3、设计实战之音乐的节奏

这一部分算是有些失败吧,按照最初的想法,考虑的是把Vivado自带IP,Vivado HLS生成的IP联合使用,完成设计。但是在实现过程中,随着一些东西的接触,想法也在不断的改变,最终并没有做出一个很好的成品。到现在还是留着一个“频谱显示和音频播放无法同时进行”的尾巴。

3.1、Vivado设计实战——音乐的节奏(概述)

3.2、利用PWM IP核实现节奏灯


4、Vivado HLS的使用

关于HLS,我也是比较感兴趣的,毕竟从更高的层次能够完成设计的话,工作的复杂度相对来说就会低一些。然而,如何去正确地看待HLS,该花多少时间、精力去研究HLS,还是需要认真思考的。关于HLS的文章有以下几篇。



4.1、漫谈High Level Synthesis(HLS)

4.2、Vivado HLS初体验

4.3、自己设计简单算法,进一步熟悉HLS

4.4、Vivado HLS IP-XACT快速创建AXI总线IP(PWM)

4.5、Vivado HLS何去何从?——近日的一些尝试

最后做一下小结,个人认为HLS尚有些“华而不实”,花大量功夫去研究,还不如踏踏实实按照我们所熟悉的FPGA开发流程把Vivado用好。花时间好好学一学Tcl,应该会起到事半功倍的成效。


5、Tcl脚本

其实,按照我最先的想法,是打算好好学学Tcl的,个人认为Tcl的引入使得Vivado变得可编程,也使开发变得更加快速、灵活,可惜的是参赛的博主都不太写Tcl方面的东西。我在写了《Vivado Tcl你用过吗?——Tcl实现GUI个性化》一文之后,有朋友建议我写HLS方面的东西,把Vivado“软件设计的思想和FPGA的开发思路是契合的”这个特点体现出来,就暂时放下了Tcl。经过对HLS的一番摸索之后,个人感觉HLS没有Tcl来的重要——HLS的应用还是具有一定的局限性,对设计人员要求比较高,并不是像官方所说的考虑算法层面就可以了,有的设计要做到“眼中有代码,心中有电路”,感觉略难。Tcl用好了就不一样了,利用Tcl修改综合后的网表文件;可以脱离GUI操作,利用命令提高开发效率;可以辅助仿真;辅助Debug;辅助软件调试等,用好了Tcl,Vivado会进一步大放异彩!


版权声明:

本文由博主“cuter”发布。欢迎转载,但不得擅自更改博文内容,也不得用于任何盈利目的。转载时不得删除作者简介和版权声明。如有盗用而不说明出处引起的版权纠纷,由盗用者自负。

博客官方地址:

ChinaAET:http://blog.chinaaet.com/cuter521

EDN China: http://bbs.ednchina.com/BLOG_cuter521_356737.HTM