Xilinx Vivado的使用详细介绍(2):综合、实现、管脚分配、时钟设置、烧写
前面一篇介绍了从新建工程一直到编写代码进行行为仿真,这篇继续进行介绍。
修改器件型号
新建工程时选择过器件型号,如果新建好工程后需要修改型号,可以选择菜单Tools - Project Settings。

弹出窗口中,点击Project Device右侧的按钮,即可选择器件型号。

综合(Synthesis)
综合类似于编程中的编译。
在Flow Navigator或Flow菜单中,选择Synthesis - Run Synthesis;或点击工具栏中的三角形按钮如图,即可开始对设计文件进行综合。


综合以及后面的实现等操作,耗时较长,可以在底部的Design Runs窗口查看进度。
如果没有找到这个窗口,在菜单中选择
Window - Design Runs即可打开。

综合完成后,会弹出如下窗口。如果选择第一项并点击OK,就会启动下一步的实现。为了方便学习,这里我们直接点击Cancel。

实现(Implementation)
综合完成后,需要进行实现,操作如图。


实现完成后,同样会出现一个窗口如下。选择第一项可以打开下一步的IO口设置界面,选择第一项可以启动后面要说的生成比特流操作。同样,这里还是点击Cancel关闭。

IO口配置(I/O Planning)/编辑约束文件(Edit Constraints Sets)
做好的模块,在烧写进板子之前,需要设置输入输出信号与板子上IO口的对应关系。
IO口设置有两种方法,第一种是直接创建并编辑约束文件,第二种是在图形界面进行设置。
编辑约束文件
如果对约束文件的格式有了解,IO口的配置,可以直接通过手动编辑约束文件实现。右击文件夹或空白处,选择Edit Constraints Sets。

在弹出窗口中添加约束文件,点击OK。

打开文件按格式进行编辑即可。

图形界面配置管脚
在实现完成后,Open Implemented Design选项从灰色变成可点击状态。

点击Open Implemented Design,即可打开Implemented Design窗口。

在I/O Ports窗口展开管脚,对于每个输入输出信号,在Site栏选择对应的管脚,注意确保Fixed栏处于勾选状态,I/O Std常选择LVCMOS33。

设置好后,Implemented Design窗口标题栏会显示一个*号,表示设置发生了更改。

按Ctrl+S快捷键保存设置,会弹出窗口如图,提示保存constraints文件会导致综合与实现过期。也就是说,修改了管脚分配设置后,需要重新进行综合、实现操作。这里点击OK。

弹出窗口,选择Create a new file并输入文件名,点击OK。

此时test.xdc约束文件已经自动被创建并编辑,可以打开查看。

时钟信号
很多电路需要有时钟信号进行驱动,通常在开发板上都有一个外部时钟信号输入。例如在Basys3开发板中,从电路图可以看出,W5管脚外接了一个100MHz的时钟。因此可以设置100MHz时钟输入信号clk对应管脚W5。
如果需要的时钟频率不是100MHz,可以自行编写分频器取得需要的频率,或者配置IP核中的时钟Clocking Wizard来实现。IP核的具体使用方法将在后面再进行介绍。

重新进行综合与实现
IO口设置进行了修改,需要重新综合与实现。
生成比特流
生成比特流文件,这个文件会被直接烧写进板子。类似于编程中的二进制可执行文件。


错误处理
由于程序编写问题、管脚分配问题,生成比特流文件容易发生错误。

在Message窗口可以看到发生错误的原因。

右击选择Search for Answer Record可以在论坛搜索这个问题,寻找解决方法。

烧写程序
选择Program and Debug - Open Hardware Manager。

Hardware Manager窗口即被打开。
用USB连接开发板。如果之前连接过开发板,直接点击上方绿色栏的Open recent target即可打开;如果是第一次连接开发板,则点击Open a new hardware target。

点击Next。

还是点击Next。

显示下面窗口,稍后即可打开硬件设备。

由于手头暂时没有开发板,后面的步骤就不截图先简单说一下。有了板子再截图补上。
打开设备后,就会在Hardware窗口显示。右击设备并选择Program......。

弹出比特流文件选择窗口,一般直接按默认值点击确认,即可烧写程序到板子中。
Xilinx Vivado的使用详细介绍(2):综合、实现、管脚分配、时钟设置、烧写的更多相关文章
- xilinx Vivado的使用详细介绍(2):创建工程、添加文件、综合、实现、管脚约束、产生比特流文件、烧写程序、硬件验证
xilinx Vivado的使用详细介绍(2):创建工程.添加文件.综合.实现.管脚约束.产生比特流文件.烧写程序.硬件验证 Author:zhangxianhe 新建工程 打开Vivado软件,直接 ...
- Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真
Xilinx Vivado的使用详细介绍(1):创建工程.编写代码.行为仿真 Author:zhangxianhe 新建工程 打开Vivado软件,直接在欢迎界面点击Create New Projec ...
- Xilinx Vivado的使用详细介绍(3):使用IP核
ilinx Vivado的使用详细介绍(3):使用IP核 Author:zhangxianhe IP核(IP Core) Vivado中有很多IP核可以直接使用,例如数学运算(乘法器.除法器.浮点运算 ...
- Xilinx Vivado的使用详细介绍(4):Zedboard+vivado之流水灯(加SDK)
Vivado+zedboard之初学流水灯 Author:zhangxianhe 环境:vivado 2016.3(已验证适用于2015.4) 开发板:Zedboard version xc7z020 ...
- Xilinx Vivado的使用详细介绍(5):调用用户自定义封装的IP核
Zedboard OLED Display Controller IP v1 介绍 Author:zhangxianhe 本文档提供了快速添加,连接和使用ZedboardOLED v1.0 IP内核的 ...
- 72.xilinx vivado zynq vdma仿真及应用详解(一)
很多人用zynq平台做视频图像开发,但是对vdma了解比较少,上手起来稍微有些困难,我针对这一现象,做了一个基于vivado和modelsim的仿真和应用测试工程,并写篇文章做些介绍,希望能对大家有帮 ...
- Python 模块EasyGui详细介绍
转载:无知小德 Python 模块EasyGui详细介绍 EasyGui 官网: http://easygui.sourceforge.net 官方的教学文档:http://easygui-docs- ...
- 一、Python 模块EasyGui详细介绍
Python 模块EasyGui详细介绍 EasyGui 官网: -http://easygui.sourceforge.net 官方的教学文档: -easygui-docs-0.96\tutoria ...
- kvm详细介绍
KVM详解,太详细太深入了,经典 2016-07-18 19:56:38 分类: 虚拟化 原文地址:KVM详解,太详细太深入了,经典 作者:zzjlzx KVM 介绍(1):简介及安装 http:// ...
随机推荐
- jenkins 搭建过程中遇到的问题
1.[ERROR] Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a goa ...
- Photoshop CS6 操作记录
全局快捷键 橡皮 E 画笔 B 魔棒工具 W 钢笔工具 P 选区工具 M 移动画布 按住Space后鼠标拖动 放大缩小画布 Ctrl+-, Ctrl++ 调出/收回标尺 Ctrl+R 调整画笔大小 [ ...
- 用C读取json文件
a jconf_t * read_jconf(const char *file) { static jconf_t conf; // 清空数据 memset(&conf, , sizeof(j ...
- 2016年排名Top 100的Java类库——在分析了47,251个依赖之后得出的结论(16年文章)
本文由HollisChuang 翻译自 The Top 100 Java Libraries in 2016 – After Analyzing 47,251 Dependencies . 原作者:H ...
- QQ 互联认证 回调地址提示说要http :// 但是事实不用
真奇怪 腾讯最近人手不够吧 这样的错误也会犯错....
- 阿里云k8s私有仓库registry操作管理
1. 登录阿里云Docker Registry $ sudo docker login --username=*****技 registry.cn-hangzhou.aliyuncs.com 用于登录 ...
- 测试cnblogs的代码折叠展开功能和zoom.js实现图片放大缩小冲突的问题
#!/usr/bin/env python # -*- coding:utf- -*- def test(): print('from the test'
- Redis 集群_主从配置_哨兵模式
首先:slaveof 可以在[从]服务器启动一个service服务,直接将[从]服务器定义为[从Redis] redis-server --slaveof <master-ip> < ...
- openstack neutron 深入
一.概述 环境说明:
- ASP.NET MVC3 Model验证总结 @Html.ValidationSummary(true)
http://www.wyjexplorer.cn/Post/2012/8/3/model-validation-in-aspnet-mvc3 ASP.NET MVC3中的Model是自验证的,这是通 ...