IO口配置(I/O Planning/编辑约束文件(Edit Constraints Sets

做好的模块,在烧写进板子之前,需要设置输入输出信号与板子上IO口的对应关系。

IO口设置有两种方法,第一种是直接创建并编辑约束文件,第二种是在图形界面进行设置。

编辑约束文件

操作和上一步添加Verilog设计文件、仿真文件基本一致,唯一的区别是选择Add or Create Simulation Sources。新建一个名为Zedboard_pin的约束文件。

打开Zedboard_pin的约束文件,并把如下代码复制进去。

create_clock -name clk100MHZ -period 10.0 [get_ports {clk_i}]
set_property PACKAGE_PIN Y9 [get_ports {clk_i}]
set_property IOSTANDARD LVCMOS33 [get_ports {clk_i}]
set_property PACKAGE_PIN N15 [get_ports {rst_n_i}]
set_property IOSTANDARD LVCMOS18 [get_ports {rst_n_i}]
set_property PACKAGE_PIN T22 [get_ports {div2hz_o}]
set_property IOSTANDARD LVCMOS33 [get_ports {div2hz_o}]
set_property PACKAGE_PIN T21 [get_ports {div8_o}]
set_property IOSTANDARD LVCMOS33 [get_ports {div8_o}]
set_property PACKAGE_PIN U22 [get_ports {div4_o}]
set_property IOSTANDARD LVCMOS33 [get_ports {div4_o}]
set_property PACKAGE_PIN U21 [get_ports {div3_o}]
set_property IOSTANDARD LVCMOS33 [get_ports {div3_o}]
set_property PACKAGE_PIN V22 [get_ports {div2_o}]
set_property IOSTANDARD LVCMOS33 [get_ports {div2_o}]

图形界面配置管脚

在实现完成后,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。此时约束文件已经自动被创建并编辑,可以打开查看。

综合(Synthesis

综合类似于编程中的编译。

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

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

综合后时序仿真(Run Post-Synthesis Timing Simulation

在Flow Navigator窗口中点击Run Simulation - Run Post-Synthesis Timing Simulation;或者在菜单中选择Flow - Run Simulation - Run Post-Synthesis Timing Simulation,即可启动行为仿真。

观察波形可以清晰看到综合后仿真加入了延迟更加接近实际芯片的运行情况

执行(Implementation)

综合完成后,需要进行实现,在Flow Navigator或Flow菜单中,选择Synthesis - Run Implementation;或点击工具栏中的三角形按钮如图,即可开始对设计文件进行综合。实际中是在综合后没有错误直接点Run Implementation选项进行实现。

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

执行后时序仿真(Run Post-Implementation Timing Simulation

观察波形可以清晰看到布局布线后仿真加入了延迟这要比综合后的时序更加接近真实的情况。

生成比特流

生成比特流文件,这个文件会被直接烧写进板子。类似于编程中的二进制可执行文件。点击Program and Debug->Generate Bitstream。或下图的上面图标即可执行生成比特流的操作。

比特流生成后显示如下对话框,为了方便直接点击Cancel。

烧写程序

连接电路板并打开电源。 生成比特流,打开硬件会话并编程FPGA。

确保Micro-USB电缆连接到Zedboard的电源连接器旁边的JTAG PROG连接器。

Zedboard需要通过位于POWER开关旁边的J20连接一个单独的电源。

选择Program and Debug - Open Hardware Manager。

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

第一次连接开发板,点击Open a new hardware target,点击Next

还是点击Next。

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

\

由于我以前连接过开发板,所以直接连接开发板。

Hardware Manager窗口即被打开,此时处于”Unconnected”状态。

单击Open target,在下面出现的菜单中选择 Auto Connect。

硬件会话状态从“Unconnected”更改为服务器名称,设备突出显示。 还要注意状态表明它没有被编程。

打开设备后,就会在Hardware窗口显示。右击设备并选择Program Device,进行Program。

或者直接点击绿色栏的Program Device进行Program。

弹出比特流文件选择窗口,一般直接按默认值点击Program,即可烧写程序到板子中。

本实验介绍了VIVADO 的FPGA 开发流程规范。包括了程序设计、行为仿真、综合过程、综合后时序仿真、执行过程、执行后仿真,比特流文件生成并下载到开发板上验证。

注意点一:

在vivado下建立工程,有以下几种情况:1.如果没有涉及到PS部分,可以采用基于v文件或者diagram的工程。基于v文件的工程是由一个个的verilog或vhdl或ip组成的;基于diagram的工程是先新建一个diagram,然后在diagram中添加一个个的ip。2.如果用到了PS,那只能采用基于diagram的工程。

PS和PL的关系:PS的实质就是ARM Cortex A9 MPcore,所以如果我们不使用可编程部分,我们完全可以只使用PS部分。也就是说,对于ZYNQ芯片,PS部分可以完全独立使用,不依赖PL部分。PL部分的实质是Xilinx FPGA。在ZYNQ中,我们可以把PL看成是PS的另一个具有可重配置特点的“外设”,它可以作为PS部分的一个从设备,受ARM处理器控制。比如ARM(PS)的串口数量不够时,以太网接口不够时,或者需要视频接口时都可以用PL部分扩展。当然我们也可以把PL部分看成一个不受ARM处理器控制,与ARM处理器对等的主设备,主动完成与外部芯片、接口的数据交互。更甚至PL部分也可以作为整个系统的主设备,主动从APU部分的存储器中获取、存储数据,并可控制ARM处理器的运算。所以,理论上PL部分也可以像PS部分那样独立运行。但限制是必须使用JTAG接口对PL部分进行配置。如果没有JTAG接口,就无法独立运行,因为ZYNQ的PS部分和PL部分都必须依靠PS来完成芯片的初始化配置。

注意点二:

PS核与PL的IP之间通信方式只有一种,那就是通过AXI总线。AXI interconnect IP是一个功能强大的IP,它能管理多个AXI接口的IP。用户如果用到多个AXI IP,那么只需PS将M_AXI_GP0引脚连接到AXI interconnect Ip的SO0_AXI引脚,再将AXI interconnect ip的输出分别连接到每个AXI IP的S_AXI引脚即可,省去了多个AXI互联的管理问题。Processor System Reset IP为其他IP提供复位信号。

xilinx Vivado的使用详细介绍(2):综合、实现、管脚约束、产生比特流文件、烧写程序、硬件验证相关推荐

  1. xilinx Vivado的使用详细介绍(2):创建工程、添加文件、综合、实现、管脚约束、产生比特流文件、烧写程序、硬件验证

    xilinx Vivado的使用详细介绍(2):创建工程.添加文件.综合.实现.管脚约束.产生比特流文件.烧写程序.硬件验证 Author:zhangxianhe 新建工程 打开Vivado软件,直接 ...

  2. Xilinx Vivado的使用详细介绍(2):综合、实现、管脚分配、时钟设置、烧写

    前面一篇介绍了从新建工程一直到编写代码进行行为仿真,这篇继续进行介绍. 修改器件型号 新建工程时选择过器件型号,如果新建好工程后需要修改型号,可以选择菜单Tools - Project Setting ...

  3. Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真、Testbench

    新建工程 打开Vivado软件,直接在欢迎界面点击Create New Project,或在开始菜单中选择File - New Project即可新建工程. 点击Next 输入工程名称和路径. 选择R ...

  4. Vivado 2018.3入门教程(三):生成比特流文件+硬件连接

    这是我的Vivado 2018.3入门教程(三):生成比特流文件+硬件连接 我的Vivado 2018.3入门教程大致分为四个部分: Vivado 2018.3入门教程(一):创建工程+新建源文件. ...

  5. vivado流程导航器详细介绍【全网最详细】

    一.主要组件 Menu Bar-菜单栏 Main Toolbar-主工具栏 Flow Navigator-流程导航器 Data Windows Area-数据窗口区域 Menu Command Qui ...

  6. 能综合和仿真但是不能生成bit流文件的解决方法

    生成流文件时老是报错: 错误信息: [Drc 23-20] Rule violation (LUTLP-1) Combinatorial Loop - 1 LUT cells form a combi ...

  7. 安卓开发板烧写程序与安装软件的区别_巧用imx6开发板烧写android系统的详细步骤讲解...

    平台:迅为iMX6开发板 iMX6 可以使用 OTG接口烧写镜像,OTG烧写也可以叫 USB 烧写. 1.OTG烧写环境 OTG 烧写只需要在 windows 环境,OTG 烧写方式首先要安装 ADB ...

  8. C语言烧写C51单片机的线,51单片机烧写程序过程以及详细说明【图文】

    Step 1:Keil软件的安装 1.选中文件夹中的C51V900安装程序并打开,如图: 2.在安装对话框里一直选择Next,直到Finish完成Keil的安装. Step 2: 安装USB转串口线的 ...

  9. 51单片机下载完程序后不亮_程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍...

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计.方便了逻辑的设计.丰富了逻辑的输出.不同厂家的单片机需要不同编程IDE来实现编 ...

最新文章

  1. IDEA 解决 Java8 的数据流问题,用过的都说好!!!
  2. Python+selenium 自动化-切换窗口页签、切换iframe框架。确定页面是否包含iframe方法。
  3. 微信小程序电商实战-商品列表流式布局
  4. 面向对象三大特性: 封装,继承,多态
  5. 找出二维数组中每行的最小数但最小数的列不能相同
  6. C语言 - printf的占位符(%) 异常
  7. Last-Modify、ETag、Expires和Cache-Control(转载)
  8. Django Ajax学习一
  9. python三引号的作用_Python学习笔记(三)基本数据类型
  10. 全网首发:FreeSwitch服务器转发引起的硬解失败原因分析
  11. android 按钮变形动画,android-动画切换按钮
  12. 台服DNF修改Script.pvf文件修改黑钻抽奖机的道具爆率,图文详解
  13. 【调度问题】基于遗传算法求解公交排班系统matlab源码
  14. android minui fb显示相关函数
  15. [转](1条消息) 前端必知:针对高分辨率屏幕的样式优化(转载请删除括号里的内容)
  16. 车内看车头正不正技巧_史上最全:新手开车/停车技巧(真实图解)
  17. windows版本tcping参数详解
  18. LINUX系统是什么?
  19. python数据分析vip班级笔记
  20. 第1篇 编程能力是什么

热门文章

  1. 用turtle画正方形螺旋线(条件)
  2. 四苯乙烯和β-环糊精聚集诱导发光聚合物/Pb~(2+)诱导GSH-Au(Ⅰ)聚集诱导发光微球的研究
  3. Isotonic Regression
  4. 【已解决】使用双屏显示后,断开外接屏幕,原先外接屏幕上的窗口没法还原到原来的主屏幕上
  5. 如何在百度云盘中寻找资源
  6. mysql ip鉴权_网站登录鉴权的实现
  7. python 命名实体识别_命名实体识别的两种方法
  8. 【转】AndroidQ新特性
  9. 【通讯原理】Ch.15 WiFi以外的其他无线网络
  10. LED智能照明灯具常见调光曲线及其点亮现象简述