FPGA开发流程以及Vivado的使用(一)

因为实验室项目需要学习fpga,自己看了些资料感觉整理的比较混乱,发现了b站小梅哥的视频,感觉思路终于被理清了,赶紧来记录一下。小梅哥爱漂流的个人空间-小梅哥爱漂流个人主页-哔哩哔哩视频哔哩哔哩小梅哥爱漂流的个人空间,提供小梅哥爱漂流分享的视频、音频、文章、动态、收藏等内容,关注小梅哥爱漂流账号,第一时间了解UP主动态。FPGA烤肉饭,多放孜然少放盐,不要香菜icon-default.png?t=N7T8https://space.bilibili.com/476579378?spm_id_from=333.337.0.0

师兄推荐使用zynq7000系列的开发板,因此主要针对Vivado的使用进行一个简单的介绍。我使用的是VIvado18.3主要是因为网上大量的学习资料和视频课程都是18.3的版本:

https://pan.baidu.com/s/1ftBMQjqbMkyiCAuEc4XCuw?pwd=js7j 提取码: js7j

软件安装参考的是这位大佬的博客:Vivado18.3的安装 安装教程_vivado2018.3安装教程-CSDN博客

因为我电脑上的matlab是2022版本,因此会出现与Vivado版本不匹配的报错,解决方法在Vivado18.3配置MATLAB R2019b_vivado18.3的matlab-CSDN博客中给出。直接修改ml_supported.xml文件,在其中添加对应的matlab版本号就可以。Vivado18.3默认的matlab版本为2016、2017和2018,但只要在这个文件中添加对应的matlab版本号就不会出现报错。

FPGA的开发流程可以分为7个步骤:

1.确定设计目标

2.设计输入:这个阶段需要使用Verilog或者VHDL语言来实现设计功能。

3.综合工具:个人理解这个部分相当于单片机中的编译功能,就是使用EDA软件将我们编写的程序转化为逻辑门级别的电路。在Vivado或者Quartus中都提供了相应的功能。

4.功能仿真:成功的生成组合电路只能说明我们的代码不存在语法和是时序问题,因此还需要进行功能仿真来确认设计目标能否实现。Vivado,Quartus和Modelsim等都提供了功能仿真的工具。

5.布局布线:功能仿真与预期效果一致后,我们需要考虑在实际应用中因为走线问题带来的延迟等问题。因此需要对我们设计的功能模块在开发板上进行布局操作。这里需要针对我们使用的开发板来选择相应的工具。如过使用的是XILINX的板子那么就需要用Vivado作为开发工具,如果使用的是Altera的板子那么就使用Quaturs。

6.性能分析:在完成布线后可是通过时序仿真或者静态时序分析来对电路的性能进行分析,查看我们设计的电路是否满足要求。

7.调试:在目标板上运行程序。

下面按照前面描述的步骤来熟悉Vivado的使用:

打开软件,点击Create Project->Next,会弹出如下对话框:

勾选Create project subdirectory,这样他就会在我们选择的路径下新建一个以项目名称命名的文件夹,方便我们查找。

下面我们需要新建两个文件,一个用来完成步骤2的操作:用来使用verilog语言对设计目标进行描述;另一个用来完成步骤4中的功能仿真操作。

新建project后会进入下面的页面,在左边Setting中选择Add Sources,弹出如下对话框:design sources对应的就是我们的设计文件,下面的simulation sources对应的就是仿真文件。分别新建两个文件,一般design sources就是用我们想要达到的目标来命名,比如:MUX2_1,LED,Dff等,仿真文件可以在该名称后加上testbenche加以区别。

在编写完设计文件的代码后,进行步骤3的操作(生成一个逻辑门级的电路):

运行成功后在右上角会显示已经完成,在message栏可以查看是否存在错误。

下面我们在仿真文件中设定时间,为输入配置一些波形,然后进行第4步的操作:

选择Run Simulation中的Run behavioral Simulation,完成后会弹出仿真结果:

在第一次仿真时可能会出现三条蓝线,一条红线的情况(显示我们的输入值为Z状态),只要再点击一下仿真就可以出现正确的波形。(有些uu说这个情况是Vivado中存在的bug)。但我的仿真时间设定的是1600ns,但是仿真却只进行了1000ns,此时点击下图中红框圈出的RUN ALL按键,再进行一次仿真,可以看到右上角现实的时间变成了1600ns。

为了更好地观测图像,点击绿色圆圈1中的内容可以让仿真结果框悬浮出来,方便我们自行调整大小。点击标号2绿圈的按钮可以让波形显示与对话框大小合适。调整后的结果如下:

下面进行第5步操作,点击Run Implementation,完成后也是在右上角会显示Implementation completed。

完成上述操作后,我们可以对设计的电路进行时序仿真,此时可以看到Simulation下本来灰色的两个选项变成了黑色:

选择Timing Simulation就完成了时序仿真。

因为板子还没有到,最后一步的操作过几天再进行记录。

  • 26
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值