vivado 配置存储器器件编程2

news2024/12/28 20:33:30
为双 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.coloradmin.cn/o/1561876.html

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

相关文章

生产制造园区数字孪生3D大屏展示提升运营效益

在智慧园区的建设中,3D可视化管理平台成为必不可少的工具,数字孪生公司深圳华锐视点打造的智慧园区3D可视化综合管理平台,致力于将园区的人口、经济、应急服务等各项业务进行3D数字化、网络化处理,从而实现决策支持的优化和管理的…

前端二维码生成工具小程序:构建营销神器的技术解析

摘要: 随着数字化营销的不断深入,二维码作为一种快速、便捷的信息传递方式,已经广泛应用于各个领域。本文旨在探讨如何通过前端技术构建一个功能丰富、操作简便的二维码生成工具小程序,为企业和个人提供高效的营销支持。 一、引言…

【目标检测】YOLOv6 的网络结构,图解RepBlock重参数化

YOLOv6 是美团推出的,在这个版本里面,不再使用之前 YOLOv4 和 YOLOv5 的带 CSP 结构的 CSPDarknet-53 作为 backbone 了,而是在 RepVGG 的启发下,推出了新的 EfficientRep 作为 YOLOv6 的 backbone。 RepVGG 最重要的一点是&…

学透Spring Boot 003 —— Spring 和 Spring Boot 常用注解(附面试题和思维导图)

这是 学透 Spring Boot 专栏 的第三篇,欢迎关注我,与我一起学习和探讨 Spring Boot 相关知识,学透 Spring Boot。 从面试题说起 今天我们通过一道和Spring Boot有关的常见面试题入手。 面试题:说说 Spring Boot 中有哪些常用注解…

助力瓷砖生产智造,基于YOLOv5全系列参数【n/s/m/l/x】模型开发构建瓷砖生产制造场景下1280尺寸瓷砖表面瑕疵检测识别系统

砖生产环节一般经过原材料混合研磨、脱水、压胚、喷墨印花、淋釉、烧制、抛光,最后进行质量检测和包装。得益于产业自动化的发展,目前生产环节已基本实现无人化。而质量检测环节仍大量依赖人工完成。一般来说,一条产线需要配数名质检工&#…

Windows系统搭建TortoiseSVN客户端并实现无公网IP访问内网服务端

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统,它与Apache Subversion(SVN)集成在一起,提供了一个用户友好的界面,方便用…

Mysql的基本命令

1 服务相关命令 命令描述systemctl status mysql查看MySQL服务的状态systemctl stop mysql停止MySQL服务systemctl start mysql启动MySQL服务systemctl restart mysql重启MySQL服务ps -ef | grep mysql查看mysql的进程mysql -uroot -hlocalhost -p123456登录MySQLhelp显示MySQ…

使用 Django 构建简单 Web 应用

当我们在使用Django构建Web应用时,通常将会涉及到多个步骤,从创建项目到编写视图、模板、模型,再到配置URL路由和静态文件,最后部署到服务器上。所以说如果有一个环节出了问题,都是非常棘手的,下面就是我们…

vim copilot插件安装使用

copilot简介 在使用不熟悉的开发语言或函数库进行开发工作时,虽然可以通过阅读开发文档或示例代码的方式学习开发,但这种方式学习成本较高、效率较低,且后续不一定会用上。 GitHub Copilot是一个由GitHub开发的机器学习工具,可以…

加密软件VMProtect教程:使用脚本-功能

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

HTTP的介绍

一.什么是HTTP? Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 二.HTTP的特点 (1)基于TCP协议:面向连接,安全 (2)基于请求-响应模型的&…

壁纸小程序Vue3(自定义头部组件)

1.自定义头部 coustom-nav <view class"layout"><view class"navbar"><view class"statusBar"></view><view class"titleBar"><view class"title">标题</view><view class&qu…

网络安全 | 什么是网络安全?

关注WX&#xff1a;CodingTechWork 网络安全 网络安全-介绍 网络安全是指用于防止网络攻击或减轻其影响的任何技术、措施或做法。网络安全旨在保护个人和组织的系统、应用程序、计算设备、敏感数据和金融资产&#xff0c;使其免受简单而不堪其绕的计算机病毒、复杂而代价高昂…

RabbitMQ安装及Springboot 集成RabbitMQ实现消息过期发送到死信队列

死信队列 RabbitMQ 的死信队列&#xff08;Dead-Letter-Exchanges&#xff0c;简称 DLX&#xff09;是一个强大的特性&#xff0c;它允许在消息在队列中无法被正常消费&#xff08;例如&#xff0c;消息被拒绝并且没有设置重新入队&#xff0c;或者消息过期&#xff09;时&…

在 Three.js 中,`USDZExporter` 类用于将场景导出为 USDZ 格式,这是一种用于在 iOS 平台上显示增强现实(AR)内容的格式。

demo 案例 在 Three.js 中&#xff0c;USDZExporter 类用于将场景导出为 USDZ 格式&#xff0c;这是一种用于在 iOS 平台上显示增强现实&#xff08;AR&#xff09;内容的格式。下面是关于 USDZExporter 的入参、出参、方法和属性的讲解&#xff1a; 入参 (Parameters): sc…

解决Quartus与modelsim联合仿真问题:# Error loading design解决,是tb文件中没加:`timescale 1ns/1ns

解决Quartus与modelsim联合仿真问题&#xff1a;# Error loading design解决&#xff0c;是tb文件中没加&#xff1a;timescale 1&#xff0c;一直走下来&#xff0c;在modelsim中出现了下面问题2&#xff0c;rtl文件、tb文件2.1&#xff0c;rtl代码2.2&#xff0c;tb测试2.3&a…

C# WPF编程-Application类(生命周期、程序集资源、本地化)

C# WPF编程-Application类 应用程序的生命周期创建Application对象应用程序的关闭方式应用程序事件 Application类的任务显示初始界面处理命令行参数访问当前Application对象在窗口之间进行交互 程序集资源添加资源检索资源pack URI内容文件 本地化构建能够本地化的用户界面 每…

Day5-

Hive 窗口函数 案例 需求&#xff1a;连续三天登陆的用户数据 步骤&#xff1a; -- 建表 create table logins (username string,log_date string ) row format delimited fields terminated by ; -- 加载数据 load data local inpath /opt/hive_data/login into table log…

封装表格组件,最后一列动态生成 vue3子组件通过slot传值向父组件

将表格二次封装&#xff0c;方便以后开发中的复用。每次只需调用表格组件后&#xff0c;在父组件中往子组件标签上写入dataSource&#xff08;表格数据&#xff09;和columns&#xff08;表格列标题&#xff09;即可。 此案例中最后一列是删除按钮&#xff0c;动态生成&#xf…

如何提高图片的分辨率?dpi修改工具推荐

在调整分辨率之前&#xff0c;我们需要了解什么是dpi分辨率&#xff0c;简单来说&#xff0c;分辨率是指图像中包含的像素数量&#xff0c;分辨率越高&#xff0c;图像就越清晰&#xff0c;常见的分辨率包括72dpi、96dpi和300dpi等&#xff0c;在打印照片或者一些考试平台对图片…