vivado 器件编程

生成器件镜像后 下一步是将其下载到目标器件。 Vivado IDE 具有内置原生的系统内器件编程功能用于执行此操作。 Vivado Design Suite 和 Vivado Lab Edition 都包含相应的功能 支持您连接到包含 1 个或多个 FPGA ACAP 的硬 件, 以便对这些器件进行编程并与之交互。要连接到硬件 可通过 Vivado Lab Edition Vivado Design Suite 图形用 户界面, 也可使用 Tcl 命令。无论采用何种方法 连接到硬件并对目标器件执行编程的步骤都相同
1. 打开硬件管理器 (Hardware Manager)
2. 打开主机上运行的硬件服务器所管理的硬件目标。
3. 将器件镜像与相应的器件相关联。
4. 将器件镜像编程或下载到硬件器件中。
打开硬件管理器
打开硬件管理器是对硬件中的设计进行编程和 / 或调试的第一步。要打开硬件管理器 请执行以下操作之一
• 如果工程已打开 请单击 Vivado Flow Navigator 的“编程和调试 (Program and Debug) ”部分中的“ Open Hardware Manager”按钮。
• 选择“ Flow ” → “ Open Hardware Manager ”。
• 在 Tcl 控制台窗口中 运行 open_hw_manager 命令
打开硬件目标连接
打开硬件目标 如包含 JTAG 链的硬件开发板 该链中包含一个或多个 FPGA ACAP 下一步是连接到硬件服务 器, 它负责管理与硬件目标间的连接。有 3 种方法可用
• 在 Vivado Flow Navigator 的“编程和调试 (Program and Debug) ”部分中的“硬件管理器 (Hardware Manager) ” 下, 使用“ Open Target selection ”打开新的硬件目标或最近的硬件目标 如下图所示
• 使用“ Hardware Manager ”窗口顶部的绿色用户辅助功能栏上的“ Open Target ” → “ Recent targets ”或“ Open Target” → “ Open New Target ”选项即可分别打开最近的硬件目标或新的硬件目标 如下图所示
使用 Tcl 命令打开到硬件目标的连接。
提示 “自动连接 (Auto Connect) ”选项可用于自动连接至本地硬件目标。
使用 hw_server 连接至硬件目标
连接至本地机器上的目标时 Vivado 会自动启动 hw_server 。但您也可以在本地机器或远程机器上手动启动 hw_server。例如 Windows 平台上安装的完整版 Vivado cmd 命令提示符处运行以下命令
C:\Xilinx\Vivado\<Vivado_version>\bin\hw_server.bat
如果当前在 Windows 平台上使用的是 Hardware Server (Standalone) 安装 那么请在 cmd 命令提示符处运行以下命 令:
c:\Xilinx\HWSRVR\<Vivado_version>\bin\hw_server.bat
请遵循下一章节中的步骤 使用此代理打开到新硬件目标的连接。
要获取兼容 JTAG 下载线缆和器件列表 请参阅 附录 D: hw_server 支持的 JTAG 线缆和器件
如需了解有关使用 SmartLynq 数据线缆的更多信息 请参阅《 SmartLynq 数据电缆用户指南》 ( UG1258 )
重要提示 如果 Vivado Hardware Manager 已连接至 hw_server 并且 hw_server 已停止 那么 Hardware Manager 会自动检测到此状况 并断开与服务器的连接。
打开新硬件目标
“打开新硬件目标 (Open New Hardware Target) Wizard 提供了一种交互式方法 供您用于连接到硬件服务器和目 标。此向导流程包含以下步骤:
1. 根据您的硬件目标连接到的机器 选中本地服务器或远程服务器
• 本地服务器 (Local server) 如果您的硬件目标连接到运行 Vivado Lab Edition Vivado IDE 的机器 请使用此 设置( 请参阅下图 Vivado 软件会在本地机器上自动启动 Vivado Hardware Server (hw_server) 应用。
• 远程服务器 (Remote server) 如果您的硬件目标连接到的机器与运行 Vivado Lab Edition Vivado IDE 的机器 不同, 请使用此设置。指定远程机器的主机名或 IP 地址以及该机器上运行的 Hardware Server (hw_server) 应 用的端口号( 请参阅下图 。请参阅“连接到实验室机器上运行的远程 hw_server ”以获取有关远程调试的更 多信息。
重要提示 使用远程服务器时 您需要手动启动 Vivado Hardware Server ( hw_server ) 应用 启动的应用 版本与您将用于连接到硬件服务器的 Vivado 软件版本相同。
提示 如果只需远程连接到实验室机器 则无需在该远程机器上安装完整的 Vivado Design Suite 。可改为 在该远程机器上安装轻量级 Vivado Hardware Server (Standalone) 工具。
2. 从硬件服务器管理的目标列表中选择相应的硬件目标。请注意 选择目标时 您会看到该硬件目标上可用的各种硬 件器件。
重要提示 如果在 JTAG 链中存在第三方器件 请使用 赛灵思答复记录 61312 中的指示信息来为未知器件 添加 IDCODE IR Length 和名称。
对硬件目标进行故障排除
尝试连接至硬件目标时可能会遇到问题。以下是常见问题以及有关解决此类问题的建议
• 如果您无法正确识别目标上的硬件器件 这可能表示您的硬件无法按默认目标频率运行。您可调整硬件目标或电缆 的 TCK 管脚频率 请参阅上图 。请注意 每一种类型的硬件目标都可能包含不同属性。请参阅每个硬件目标的文 档, 以了解有关这些属性的更多信息。
• 当 Vivado 硬件服务器尝试自动判定 JTAG 链中所有器件的指令寄存器 (IR) 长度时 在极为罕见的情况下 它可能无 法正确判定其长度。您应检查每个未知器件的 IR 长度 确保其正确无误。如需指定 IR 长度 可在“打开新硬件目 标 (Open New Hardware Target) Wizard 的“硬件器件 (Hardware Devices) ”表中直接指定其长度 请参阅“打开 新硬件目标”)
相关信息
打开新硬件目标
打开最近的硬件目标
“打开最近的硬件目标 (Open New Hardware Target) Wizard 同样可用于填充先前已连接的硬件目标列表。除使用此 向导连接到硬件目标外, 您也可以通过选中“硬件管理器 (Hardware Manager) ”窗口中的“打开最近的目标链路 (Open recent target link)” 然后选中列表中任一最近连接的硬件服务器 / 目标组合来重新打开到先前已连接的硬件目 标的连接。您还可通过 Vivado Flow Navigator 的“编程和调试 (Program and Debug) ”部分中的“ Hardware Manager”下的“打开目标 (Open Target) ”选项来访问此最近使用的目标列表。
使用 Tcl 命令打开硬件目标
您也可以使用 Tcl 命令来连接至硬件服务器 / 目标组合。例如 要连接至由 localhost 3121 上运行的 hw_server 所管理 的 digilent_plugin 目标 序列号 210203339395A ), 请使用以下 Tcl 命令
connect_hw_server -url localhost:3121
current_hw_target [get_hw_targets */xilinx_tcf/Digilent/210203339395A]
set_property PARAM.FREQUENCY 15000000 [get_hw_targets \
*/xilinx_tcf/Digilent/210203339395A]
open_hw_target
完成打开到硬件目标的连接后 “硬件 (Hardware) ”窗口中将显示打开的目标的硬件服务器、硬件目标和各种硬件器 件( 请参阅下图
将编程文件与硬件器件相关联
连接到硬件目标后 在进行器件编程之前 需将比特流数据编程文件与该器件相关联。在“硬件 (Hardware) ”窗口中 选择硬件器件, 确保“属性 (Properties) ”窗口中的“编程文件 (Programming file) ”属性设置为相应的编程文件。
注释 为方便起见 Vivado IDE 自动使用当前实现的设计的编程文件作为打开的硬件目标中的首个匹配器件的 “Programming File ”属性的值。仅当使用 Vivado IDE 工程模式时 此功能才可用。使用 Vivado IDE 非工程模式时 , 您需要手动设置该属性。 您也可以使用 set_property Tcl 命令来设置硬件器件的 PROGRAM.FILE 属性
set_property PROGRAM.FILE {C:/<path_to_programming_file>} [lindex
[get_hw_devices] 0]
  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vivado软件的使用 一、 建立工程 1.1新建一个工程 或者: 1.2设置工程名字和路径。输入工程名称、选择工程存储路径,并勾选Create project subdirectory选项,为工程在制定存储路径下建立独立的文件夹设置完成后,点击Next。注意: 工程名称和存储路径中不能出现中文和空格,建议工程名称以字母、数字、下划线来组成。 1.3选择RTL Project一项,并勾选Do not specify sources at this time,勾选该选项是为了跳过在新建工程的过程中添加设计源文件。点击Next。根据使用的FPGA开发平台,选择对应的FPGA目标器件. 1.4确认相关信息与设计所用的FPGA器件信息是否一致,一致请点击Finish,不一致,请返回上一步修改。 1.5得到如下的空白的Vivado工程界面,完成空白工程新建 二、 工程设计 2.1设计文件输入,如下图所示,点击Flow Navigator下的Project Manager->Add Sources或中间Sources中的对话框打开设计文件导入添加对话框。 2.2添加设计文件,然后Next 2.3如果有v/vhd文件,可以通过Add File一项添加。在这里,我们要新建文件,所以选择Create File一项。 2.4在Create Source File中输入File Name,点击OK。注:名称中不可出现中文和空格。 2.5在弹出的Define Module中的I/O Port Definition,输入设计模块所需的端口,并设置端口防线,如果端口为总线型,勾选Bus选项,并通过MSB和LSB确定总线宽度。完成后点击OK. 2.6新建的设计文件(此处为flow_led.v)即存在于Source中的Design Source中。双击打开该文件,输入相应的设计代码。 三、 添加约束 添加约束文件,有两种方法可以添加约束文件,一是利用Vivado中planning功能,二是可以直接新建XDC的约束文件,手动输入约束命令。 3.1利用IO planning 3.1.1点击Flow Navigator 中Synthesis中的Run Synthesis,先对工程进行综合。 3.1.2综合完成后,选择Open Synthesized Design,打开综合结果。 3.1.3此处应该出现如下界面,如果没有出现,在图示位置layout中选择IO planning在右下方的选项卡中切换I/O ports 一栏,并在对应的信号后,输出对应的FPGA管脚标号,并制定I/O std。(具体的FPGA约束管脚和IO电平标准,可参考对应板卡的用户手册或原理图)。 3.1.4完成后,点击上方工具栏中的保存按钮,工程提示新建XDC文件或选择工程中已有的XDC文件。在这里,我们要Create a new file,输入File name,点击OK完成约束过程。 3.1.5、此时在Source下的Constraints中会找到新建的XDC文件。 3.2建立XDC文件 3.2.1、点击Add Source ,选择第一项Add or Create Constraints一项,点击Next。 3.2.2、点击Create File ,新建一个XDC文件,输入XDC文件名,点击OK。点击Finish。 3.2.3、双击打开新建好的XDC文件,按照如下规则,输入相应的FPGA管脚约束信息和电平标准。 四、 功能仿真 4.1创建激励测试文件,在Source中右击选择Add source。在Add Source界面中选择第三项Add or Create Simulation Source,点击Next。 4.2选择Creat File,创建一个新的激励测试文件。输入激励测试文件名,点击OK,然后点击Finish。 4.3弹出module端口定义对话框,由于此处是激励文件,不需要有对外的接口,所以为空。点击OK,空白的激励测试文件就建好了。 4.4在source 下双击打开空白的激励测试文件,完成对将要仿真的module的实例化和激励代码的编写。激励文件完成后,工程目录如下图: 4.5此时,进入仿真。在左侧Flow Navigator中点击Simulation 下的Run Simulation 选项,并且选择Run Behavioral Simulaiton一项,进入仿真界面。 4.6下图为仿真界面。 4.7可以通过左侧的Scope一栏中的目录结构定位到设计者想要查看的module内部寄存器,在Objects对应的信号名称上右击选择Add To Wave Window,将信号加入波形中。 4.8可通过选择工具栏中的如下选项来进行波形的仿真时间控制,如下工具条,分别是复位波形(即清空现有波形)、运行仿真、运行特定时长的仿真、仿真时长设置、仿真时长单位、单步运行、暂停…… 4.9最终得到的仿真效果图如下。核对波形与预设的逻辑功能是否一致,仿真完成。 五、综合下载 5.1在Flow Navigator中点击Program and Debug下的Generate Bitstream选项,工程会自动完成综合、实现、Bit文件生成过程,完成之后,可点击Open Implemented Design 来查看工程实现结果。 5.2点击Flow Navigator中的Open Hardware Manager一项,进入硬件编程管理界面。 5.3在Flow Navigator中展开Hardware Manager ,点击Open New Target 5.4在弹出的Open hardware target向导中,先点击Next,进入Server选择向导。 5.5保持默认,next。 5.6选中FPGA芯片型号,点击Next。完成新建Hardware Target。 5.7此时,Hardware一栏中出现硬件平台上可编程器件。(此处以zynq为例,如果是纯的FPGA的平台,该出只有一个器件。)在对应的FPGA器件上右击,选择Program Device 5.8选择bit文件位置,默认,直接Program。 观察实验结果,设计完成。
带HMI操作面板的PLC。系统能够与实际的自动化对象一起使用。在小型,功能齐全的模型上展示。 硬件组件: Digilent Cmod A7×1个 软件应用程序和在线服务: Vivado设计套件 要求: •FPGA板:基本上可与市场上任何可用的器件一起使用;设计的可扩展性提供了使其能够适应最小规模的能力。 •Raspberry Pi:与触摸屏配对;或任何屏幕和输入设备系统。 该项目试图从一开始就开发专门用于PLC应用的CPU。除了创建CPU外,我们还想以行业认可的方式来演示其操作。这迫使我们开发一个不仅包含CPU,还包含人机界面及其之间连接的系统。我们选择自动化对象来演示我们的设计的原因一直是电梯,因为它是非常常见的对象,并为我们提供了足够的工作空间。 简要功能 执行自动化系统的数字控制:完整的IEC 61131-3布尔运算,包括计数器和计时器功能块。 可配置性:在软件级别–完全可编程;在硬件级别–可扩展的基于FPGA的设计,可以重新配置为仅包括应用程序所需的外围设备。 高速运行:针对其应用量身定制的设计;从PLC的角度来看,最常见且最关键的硬件加速操作。 项目总结 该设计可以分为两部分:可以通过用户编程的类似CPU的基于FPGA的PLC,以及负责为CPU编程和受控过程的可视化提供非常简单的人机界面的Raspberry Pi应用程序。这两块板,FPGA和Raspberry Pi,都通过SPI接口互连。PLC和HMI之间的编程和数据交换使用相同的连接。 该项目中使用的语言是用于CPU部分的Verilog HDL和用于Raspberry Pi部分的Java。值得注意的是,该项目已经开发并使用了仅适用于设计的CPU的汇编语言。 由于其模块化,该设计具有高度可扩展性和可修改性。任何能够通过AMBA 3 APB接口进行通信的外围设备都可以进行连接和通信,从而扩展了特定应用所需的设计能力。这也意味着任何不使用的外围设备都可以轻松地从设计中删除,从而为关键部件留出了硬件空间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值