程序固化——FPGA学习笔记6

一、固化文件介绍


BIN:一般是由Vivado软件编译产生的,存储在特定目录下的二进制文件
MCS:一般通过VivadoGUl界面操作或者TCL命令生成,MCS文件里包含了BIN文件的内容,除此之外,每行的开始有地址信息,最后一个Byte是CRC校验信息

二、固化文件生成

1、bin文件生成

(1)添加XDC原语

为了实现上电后快速启动

set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS true [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]

set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]

该原语为未使用引脚全部默认为输出高电平。 

(2)vivado设置

配置好之后重新生成bit流文件

文件路径下可以查看到bit文件以及bin文件。

2、MCS文件生成(GUI界面)

(1)打开vivado GUI界面

填写存储器容量  例如25Q064    及有64Mbit存储空间,转化为MB为8MB空间

填写保存文件名字,路径保持跟bit文件一致(个人习惯)

对应实际器件以及XDC原语约束选择接口类型

添加bit流文件

以此勾选   写校验    禁止位交换   覆盖

最终会生成如下命令

write_cfgmem  -format mcs -size 8 -interface SPIx4 -loadbit {up 0x00000000 "C:/Users/asus/Desktop/DDS_FPGA/dds_t/dss/dss.runs/impl_1/DDS_top.bit" } -checksum -force -disablebitswap -file "C:/Users/asus/Desktop/DDS_FPGA/dds_t/dss/dss.runs/impl_1/dds_mcs"

点击OK即可生成MCS文件

3、MCS文件生成(TCL命令)

复制上一步产生命令

write_cfgmem  -format mcs -size 8 -interface SPIx4 -loadbit {up 0x00000000 "C:/Users/asus/Desktop/DDS_FPGA/dds_t/dss/dss.runs/impl_1/DDS_top.bit" } -checksum -force -disablebitswap -file "C:/Users/asus/Desktop/DDS_FPGA/dds_t/dss/dss.runs/impl_1/dds_mcs"

 需要注意路径是否与实际路径相同!!!后回车

提示成功

路径下可以查看到新生成的MCS文件。

三、文件固化烧录

1、选择添加配置存储器件

 2、根据实际选择Flash芯片

3、选择配置固化文件

4、选择固化文件,bin文件和MCS文件都可以,其他选项默认即可

5、然后然后报错了。。。。。。。没固化成功。。。。。

报错信息:[Labtools 27-3413] Dropping logic core with celiname:'your instance_ name' atlocation 'uuid C43761E0C03650398C6907A263A83E64' from probes file, since it cannotbe found on the programmed device.

检查后发现是程序中有ILA在调试部分代码,删除该部分代码即可解决问题

6、开发板断电重新上电后即可正常执行程序,需要注意一点,下载器如果连接在开发板上可能会导致程序无法生成启动!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java---BigInteger和BigDecimal和枚举

1.简介 1.BigInteger可以支持任意长度的整数 2.BigDecimal可以支持任意精度的浮点数 3.用来做精确计算 2.创建方式 new BigInteger(); new BigInteger(参数1,进制):可以将不同进制转成10进制显示 new BigDecimal(); BigInteger.valueOf(); BigDecimal.valueOf();…

吴恩达2022机器学习专项课程C2W3:实验Lab_01模型评估与选择

这里写目录标题 导入模块与实验环境配置回归1.构建并可视化数据集2.分割数据集3.重新绘制数据集3.特征缩放4.评估模型:计算训练集的误差5.评估模型:计算交叉验证集的误差 添加多项式1.构建多项式特征集2.缩放特征3.使用标准化的计训练集和交叉验证集&…

搭建一个简单的深度神经网络

目录 一、引入所需要的库 二、制作数据集 三、搭建神经网络 四、训练网络 五、测试网络 本博客实验环境为jupyter 一、引入所需要的库 torch库是核心,其中torch.nn 提供了搭建网络所需的所有组件,nn即神经网络。matplotlib类似与matlab&#xff0…

136G全国1m土地覆盖数据

数据是GIS的血液! 我们现在为你分享一个136G的全国土地覆盖数据,该数据的分辨率为1米,你可以在文末查看领取方法。 数据概况 为满足对更精确地感知国土面积的需求,来自武汉大学和中国地质⼤学的团队利用低成本的激光扫描仪&…

SAP CS01/CS02/CS03 BOM创建维护删除BAPI使用及增强改造

BOM创建维护删除相关BAPI的使用代码参考示例,客户电脑只能远程桌面,代码没法复制粘贴出来,只能贴图。 创建及修改BAPI: CSAP_MAT_BOM_MAINTAIN。 删除BAPI: CSAP_MAT_BOM_DELETE。 改造BAPI: CSAP_MAT_BOM_MAINTAIN 改造点1:拷…

[LitCTF 2023]Virginia(变异凯撒)

题目: 首先利用网站进行维吉尼亚解密(第一段和第二段密钥不同,两段无关,可只解密第二段) 第二段解密结果: Please send this message to those people who mean something to you,to those who have touch…

雪球产品可能要远离普通人了

最近有消息说,在年初发生大规模敲入事件后,雪球产品的购买门槛可能从300w提升至1000w。 那么在这个时间,了解一下雪球产品到底是什么,运行原理是什么。 第一种 经典雪球 经典雪球比较容易理解,设定好了固定的敲出条件…

Java从放弃到继续放弃

并发编程 为什么需要多线程? 由于硬件的发展,CPU的核数增多,如果仍然使用单线程对CPU资源会造成浪费。同时,单线程也会出现阻塞的问题。所以,选择向多线程转变。 多线程的使用使得程序能够并行计算,提高计…

HTTPS请求阶段图解分析

HTTPS请求阶段分析 请求阶段分析 请求阶段分析 一个完整、无任何缓存、未复用连接的 HTTPS 请求需要经过以下几个阶段: DNS 域名解析、TCP 握手、SSL 握手、服务器处理、内容传输。 一个 HTTPS 请求共需要 5 个 RTT 1 RTT(域名解析) 1 RTT…

当你的AirPods没声音或有异常时怎么办?这里提供几个解决办法

你的AirPods听起来比以前安静吗?一个AirPod的声音比另一个大吗?这里有一些技巧可以帮助你提高音量,消除与音量相关的问题。 调整AirPods的音量 在我们深入研究修复AirPods的更技术性方法之前,让我们先检查一下它们是否处于最佳音量水平,并在你尝试更改音量时正确响应。如…

C语言入门系列:变量 —— 存储数据的容器

1. 变量及其作用 想象一下,你正在编写一个程序来记录学生的成绩。你需要一个地方来暂时存放这些成绩,这就是变量的用武之地。 变量不仅可以存储数值,还能保存字符、布尔值等多种数据类型,使你的程序能够处理多样化的信息。 代码…

vue3中使用defineProps、defineEmits和defineExpose

一、defineProps 父组件通过 v-bind 绑定一个数据&#xff0c;然后子组件通过 defineProps 接受传过来的值。 父组件&#xff1a; <template><StudyDefineProps :title"title" /> </template><script setup lang"ts"> import { r…

如何设置EVM/IMA密钥即如何生成签名密钥和证书

为生成和使用签名密钥来配置 IMA&#xff0c;以下是详细步骤&#xff0c;包括如何生成签名密钥和证书。 1. 生成签名密钥和证书 首先&#xff0c;我们需要一个私钥和一个自签名证书。我们将使用 OpenSSL 来生成这些密钥和证书。 生成私钥 openssl genpkey -algorithm RSA -…

k8s之HPA,命名空间资源限制

一、HPA 的相关知识 HPA&#xff08;Horizontal Pod Autoscaling&#xff09;Pod 水平自动伸缩&#xff0c;Kubernetes 有一个 HPA 的资源&#xff0c;HPA 可以根据 CPU 利用率自动伸缩一个 Replication Controller、Deployment 或者Replica Set 中的 Pod 数量。 &#xff08;…

idea ctrl+shift+f 全局搜索失效的解決方法

一定是輸入法的問題&#xff0c;而且是簡繁輸入快捷鍵的問題 你看我按了ctrlshiftf 之后直接打出来繁体字了。微软拼音的解决方法如下&#xff1a; 打开微软拼音输入法设置 关闭它

【稳定检索/投稿优惠】2024年心理健康与社会科学国际会议(MHSS 2024)

2024 International Conference on Mental Health and Social Sciences 2024年心理健康与社会科学国际会议 【会议信息】 会议简称&#xff1a;MHSS 2024截稿时间&#xff1a;点击查看大会地点&#xff1a;中国三亚会议官网&#xff1a;www.icmhss.com会议邮箱&#xff1a;mhs…

刷代码随想录有感(101):动态规划——有障碍的最短路径

题干&#xff1a; 代码&#xff1a; class Solution { public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int m obstacleGrid.size();int n obstacleGrid[0].size();if(obstacleGrid[0][0] 1 || obstacleGrid[m - 1][n - 1] 1)r…

python-docx初探——如何用python新建world—添加段落、标题、表格

python-docx初探&#x1f680; 在项目中需要用到使用代码来编写一些结构化的文档&#xff0c;所以这里就需要涉及到一些需要用代码写world的一些工作&#xff0c;经过简单了解&#xff0c;python操作world最主要使用的就是python-docx文档&#xff0c;所以这次就先学一下这个库…

便民智慧小程序源码系统 同城信息+商家联盟+生活电商 功能强大 带完整的安装代码包以及搭建部署教程

系统概述 便民智慧小程序源码系统是一个高度集成化的本地化服务平台解决方案&#xff0c;它融合了同城信息发布、商家联盟管理和生活电商平台三大核心模块&#xff0c;旨在打造一个全方位、多维度的生活服务生态系统。该系统采用先进的前后端分离架构&#xff0c;支持快速响应…

Cartographer学习笔记

Cartographer 是一个跨多个平台和传感器配置提供 2D 和 3D 实时同步定位和地图绘制 (SLAM) 的系统。 1. 文件关系 2. 代码框架 common: 定义了基本数据结构和一些工具的使用接口。例如&#xff0c;四舍五入取整的函数、时间转化相关的一些函数、数值计算的函数、互斥锁工具等…