vivado 配置存储器器件编程2

为双 QSPI (x8) 器件创建配置存储器文件
您可使用 write_cfgmem Tcl 命令来为双 QSPI (x8) 器件生成 .mcs 镜像。此命令会将配置数据自动拆分为 2 个独立 的 .mcs 文件。
注释 SPIx8 生成 .mcs 时指定的大小即为这 2 个四通道闪存器件的总大小。
注释 write_cfgmem Tcl 命令在为双 QSPI (x8) 模式构建 .mcs 文件时会将起始地址一分为二。
write_cfgmem 使用示例
此示例演示了如何为多重启动设计生成 .mcs 文件 此设计在地址 0 加载“黄金镜像”比特流并在地址 0x0100_0000 加载多重启动比特流。
器件 2 256 Mib QSPI 闪存器件 256 Mib = 32 MiB
总存储空间大小 2 * 32 MiB = 64 MiB
加载地址
黄金 0 * 2 = 0
多重启动 0x0100_0000 * 2 = 0x0200_0000
write_cfgmem -format mcs -interface spix8 -size 32 \
-loadbit "up 0 ./design1_spix8.bit up 0x02000000 ./design2_spix8.bit" \
-file design1_design2_spix8.mcs
连接到 Vivado 中的硬件目标
要连接到 Vivado 中的硬件目标 请执行以下操作
1. 确保在硬件目标的 FPGA 模式管脚上已选中相应的配置模式 Master SPI Master BPI ), 以便从配置存储器器 件配置此 FPGA
如需了解更多信息 请参阅目标器件的相应“配置用户指南”。
2. 遵循“对 FPGA 器件进行编程”中的步骤 连接至硬件目标。
重要提示 如果开发板已掉电或者电缆已断开连接 那么 Vivado IDE 会关闭硬件目标。同时还会取消 Vivado 主线程中的任意 Vivado 操作。
添加配置存储器器件
要将配置存储器器件添加至 Vivado 器件编程器中的硬件目标 请执行以下操作
1. 如上所述连接至硬件目标后 请右键单击硬件目标 如下所示 并选中“ Add Configuration Memory Device ”以 添加配置存储器器件。
单击此菜单项即可打开“ Add Configuration Memory Device ”对话框
2. 选中相应的配置存储器器件 然后选择“ OK ”。
提示 选择“制造商 (Manufacturer) ”、“密度 (Density) ”或“类型 (Type) ”信息 并使用“ Search ”字段
缩小列表显示信息范围。 这样即可将配置存储器器件添加至硬件目标器件中。
对配置存储器器件进行编程
1. 创建配置存储器器件后 Vivado 器件编程器会发出如下提示 “您现在是否想要对配置存储器器件进行编程 (Do you want to program the configuration memory device now?)”。
单击“ OK ”即可打开“对配置存储器器件进行编程 (Program Configuration Memory Device) ”对话框。
2. 选中此对话框中的所有字段
• “ Configuration file .mcs .bin - 指定用于对配置存储器器件进行编程的文件。存储器配置文件将使 用 write_cfgmem Tcl 命令来创建。请参阅“创建配置存储器文件” 以获取更多信息。
• 非配置存储器 I/O 管脚的状态
Pull-none - 指定编程到 FPGA 中的间接配置比特流将未使用的 I/O 管脚设置为“ pull-none ”。
Pull-up - 指定编程到 FPGA 中的间接配置比特流将未使用的 I/O 管脚设置为“ pull-up ”。
Pull-down - 指定编程到 FPGA 中的间接配置比特流将未使用的 I/O 管脚设置为“ pull-down ”。
重要提示 确保非配置存储器 I/O 管脚的状态与 write_bitstream 属性中的设置相匹配。该属性默
认值为 pull-down
• “ Program Operations 在配置存储器器件上执行
Address Range - 指定要编程的配置存储器器件的地址范围。可能的地址范围值如下
- Configuration File Only - 仅使用存储器配置文件所需的地址空间来执行擦除、空白检查、编程和验 证。
- Entire Configuration Memory Device - 将在整个器件上执行擦除、空白检查、编程和验证。
• “ RS Pins - 可选。版本选择管脚映射 (Revision Select Pin Mapping) 仅限配合 BPI 配置存储器器件一起使用 (其中闪存上的前 2 FPGA 地址管脚绑定到 FPGA RS[1:0] 。启用该选项时 Vivado 会驱动 FPGA RS[1:0] 用于编程。请参阅相应的 FPGA 配置用户指南 以了解应用的用法。
• “ Erase - 擦除配置存储器器件的内容。
• “ Blank Check - 检查配置存储器器件 确保编程前器件中不含数据。
• “ Program - 使用指定的配置文件 .mcs .bin 对配置存储器器件进行编程。
• “ Verify - 编程后 验证配置存储器器件的内容与配置文件 .mcs .bin 相匹配。
• “ Verify Checksum - 验证配置存储器器件中已编程的数据。该工具会基于配置存储器器件中已编程的数据来 计算校验和值, 然后将其与 .prm 文件中指定的校验和值进行比较。
提示 用户可生成 cfgmem 文件并指定 -checksum write_cftmem 选项。此步骤会创建 .prm
其中包含有关 cfgmem 输出文件的校验和信息。
• “ Create SVF Only - 启用该选项即可支持以您指定的编程操作来创建 .svf 文件。其它第三方工具可使用 此 .svf 文件在 Vivado 外部对配置存储器器件进行编程。
重要提示 启用该选项时 Vivado 仅生成含相关编程选项的 .svf 文件。它不会实际对配置存储器器件执 行编程。
3. 单击“ OK ”以根据此对话框中的选择 在配置存储器器件上启动擦除、空白检查、编程和验证操作。每项操作完 成后, Vivado 都会通知您。
注释 按下“ Apply ”将存储配置存储器设置 但不会对配置存储器器件进行编程。如果您在按下“应用 (Apply) ” 后按下“取消 (Cancel) 那么配置存储器器件将完成设置 并且可稍后执行编程。
启动器件
对配置存储器器件进行编程后 您可发出软启动操作 JPROGRAM 以从所连配置存储器器件启动 FPGA 配置。
如果要在目标 FPGA 器件上执行启动操作 请选中目标器件 右键单击并选择“ Boot from Configuration Memory Device”。
重要提示 从配置存储器启动后 可能出现由于系统启动设置而导致调试核不立即显示的情况。赛灵思建议您等 待一段时间, 具体时间可在 Vivado 硬件管理器的 Tcl 控制台内使用 boot_hw_device Tcl 命令来指定 如下所 示:
boot_hw_device after 1000 [refresh_hw_device]
其中 可指定的最大 wait_on 值为 1000
在主模式下配置失败
注释 以下内容在 MPSoC Versal 架构上不予支持。
当开发板处于“主 BPI (Master BPI) ”模式或“主 SPI (Master SPI) ”模式下且 JTAG 线缆连接至 Vivado 硬件管理器 时, 可能会发生配置失败。如果硬件管理器轮询和恢复功能导致主模式配置中断 那么在上电时可能会发生间歇性配置 失败。为避免出现此问题, 请在 Vivado 硬件管理器 Tcl 控制台中设置以下参数以确保不对配置状态寄存器进行更新
set_param xicom.allow_cfgin_commands false
注释 此参数会影响整条链上的所有器件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QA测试开发工程师面试题满分问答5: 内存溢出和内存泄漏问题

概念阐述 内存溢出(Memory Overflow)和内存泄漏(Memory Leak)是与计算机程序中的内存管理相关的问题,它们描述了不同的情况。 内存溢出是指程序在申请内存时,要求的内存超出了系统所能提供的可用内存资源…

SSM框架学习——Eclipse创建Spring MVC maven项目

Spring MVC项目创建 什么是Spring MVC Spring MVC是Spring内置的,实现了Web MVC设计模式的框架。 它解决了Web开发过程中很多的问题,例如参数接收、表单验证等。另外它采用松散耦合可插拔组件等结构,具有相对较高的灵活性和扩展性。 Spri…

vue创建项目下载动态路由v-for mounted websocket :style :class store使用说明

在Vue中创建一个项目,并整合动态路由、v-for、mounted生命周期钩子、WebSocket、:style、:class以及Vuex的store,涉及到多个Vue核心特性的使用。下面我将简要说明如何逐步整合这些特性。 1. 创建Vue项目 使用Vue CLI创建项目: 2. 配置动态路…

html怎么实现axios发请求,并且实现跨域

方案是代理服务器 前端处理 一、下包 save是开发环境的意思 可以单独弄个server文件夹或者其他也行 npm install express --savenpm install http-proxy-middleware --save二、准备proxy-server.js文件 const express = require(express) const {createProxyMiddleware } = r…

C++ 类(初篇)

类的引入 C语言中,结构体中只能定义变量,在C中,结构体内不仅可以定义变量,也可以定义函数。 而为了区分C和C我们将结构体重新命名成class去定义 类的定义 标准格式: class className {// 类体:由成员函…

【计算机网络】epoll

IO多路转接 - epoll 一、I/O多路转接之 epoll1. epoll 接口(1)epoll_create()(2)epoll_wait()(3)epoll_ctl() 2. epoll 原理3. epoll 的优点4. epoll 的使用5. epoll 的工作模式(1)水…

实验四 Java图形界面与事件处理(头歌)

实验四 Java图形界面与事件处理(头歌) 制作不易!点个关注!给大家带来更多的价值! 目录 实验四 Java图形界面与事件处理(头歌) 制作不易!点个关注!给大家带来更多的价值!代码如下: 代码如下&…

platformio创建项目卡死问题(ctl解决)

vscode上安装完platformio后,创建一个新项目,始终在转圈,查阅官网文档后发现可以使用ctl在终端中创建项目,本文方案的前提是终端走了代理。 根据官网命令安装ctl: curl -fsSL -o get-platformio.py https://raw.gith…

case语句

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 CASE 语句的执行方式与 IF...THEN...ELSIF 语句的执行方式类似,但是它是通过一个表达式的值来决定执行哪个分支 CASE 选择器表达式 WHEN 条件 1 THEN 语句序列 …

2024.03.23校招 实习 内推 面经

绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、校招 | 元戎启行 2024春招(内推) 校招 | 元戎启行 2024春招(内推) 2、校招 | 博雅工道机器人 2024春季校园招聘开始了! 校招…

内网穿透实践

一、使用介绍 由于绝大部份人的网络都是处在内网之中,这导致你在本地电脑上写的一些web服务器(又或者其它网络相关的功能),都是无法将链接发给别人使用查看的。 并且由于大部分人采用的方案也都是在本地进行测试开发&#xff0c…

dotnet依赖注入与IOC(包含Autofac的使用)

文章目录 依赖注入与IOCIOC依赖注入DIAutofac轻量容器的使用 依赖注入与IOC IOC IOC 是 Inversion of Control(控制反转)的缩写。在软件开发中,IOC 是一种设计模式,它改变了传统的程序设计流程,使得对象之间的依赖关系…

redis数据结构基础介绍

Redis 是一种开源的、内存中的数据结构服务器,它支持多种类型的数据结构。以下是 Redis 支持的主要数据结构: 字符串(String): 这是最简单的类型,一个键对应一个值,是二进制安全的。这意味着 Re…

Linux: linux常见操作指令

目录 01.ls 指令 02. pwd命令 03. cd 指令 04. touch指令 05.mkdir指令(重要) 06.rmdir指令 && rm 指令(重要) 07.man指令(重要) 07.cp指令(重要) 08.mv指令&#…

H.264 压缩与编解码原理

H.264 压缩与编解码原理 H.264 压缩与编解码原理H.264 简介视频编码的总体思路H.264 压缩技术帧内预测压缩什么是空间冗余?具体预测方法 帧间预测压缩什么是时间冗余?具体预测方法:运动估计 概念:Group of Pictures(GO…

java-网络编程socket-聊天室-先导

这边我会简单介绍一下聊天室的组成部分,和思路的引导 涉及知识点 java 中异常处理机制 和 io流和网络编程socket 简单回顾异常机制 Java中的异常机制是一种用于处理程序运行期间出现的错误或异常情况的机制。这种机制允许程序员定义在特定情况下可能发生的错误,并…

mysql慢sql排查与分析

当MySQL遇到慢查询(慢SQL)时,我们可以通过以下步骤进行排查和优化: 标题开启慢查询日志: 确保MySQL的慢查询日志已经开启。通过查看slow_query_log和slow_query_log_file变量来确认。 如果没有开启,可以…

闻风丧胆的算法(二)

🌈个人主页:Rookie Maker 🔥 系列专栏:算法 🏆🏆关注博主,随时获取更多关于IT的优质内容!🏆🏆 😀欢迎来到我的代码世界~ 😁 喜欢的小…

小林coding图解计算机网络|基础篇01|TCP/IP网络模型有哪几层?

小林coding网站通道:入口 本篇文章摘抄应付面试的重点内容,详细内容还请移步: 文章目录 应用层(Application Layer)传输层(Transport Layer)TCP段(TCP Segment) 网络层(Internet Layer)IP协议的寻址能力IP协议的路由能力 数据链路层(Link Lay…

一文介绍回归和分类的本质区别 !!

文章目录 前言 1、回归和分类的本质 (1)回归(Regression)的本质 (2)分类(Classification)的本质 2、回归和分类的原理 (1)回归(Regression&#x…