XC7A100T-FPGA板卡设计

XC7A100T-FPGA板卡设计

一、项目需求分析

1.1处理器选型

(1)需要通过vivado去量化所需要的逻辑资源量、I/O口资源以及GTP等资源;

(2)通过选型手册(7-series-product-selection-guide)去选择合适的型号,通常需要考虑留多一些容量。

由上图所知,封装为FGG484和FBG484封装可以兼容设计XC7A35T、XC7A100T和XC7A200T。立创商城给出如下的价格:

1.2电源器件的选型

电源功耗评估,可以采用官方给出的评估表格(7_Series_XPE_2019)进行评估;可以使用快速评估/导入vivado软件文件进行评估(待补充)。

汇总出FPGA所需要的电源类型和功耗:

1V0     2.04A    

1V2     0.245A

1V5     0.472A

1V8     0.91A

3V3     0.537A

实际考虑电源的类型和功耗:

1V0     4A    

1V2     0.5A

1V5     1A

1V8     2A

3V3     1A

所以选用一个EA3059芯片和一个TPS54620RGYR。

1.3连接器选型

采用PCB金手指连接。

为什么金手指会有倒角?

倒角是为了确保连接器能够快速插入,连接器边缘被倒角成30到45度的角度,以防止金手指在插拔过程中刮伤卡槽或露出铜。

金手指常用于存储器、U盘、读卡器等。

二、7系列FPGA接口总结

2.1FPGA电源上电时序

根据DS181手册,7系列FPGA上电时序分为两部分,普通电源上电时序和MGT电源上电时序,这两个部分可以交叉着上电,满足各自时序即可。

普通电源上电时序:VCCINT(1V0)、VCCBRAM(1V0)、VCCAUX(1V8)、VCCO(1V2、1V35、1V5、1V8、2V5和3V3)

(1)VCC1V0_FPGA

(2)VCC1V8_FPGA

(3)VCC3V3_FPGA、VCC1V5_FPGA

MGT电源上电时序:VCCINT、VCCMGTAVCC(1V0)、VCCMGTAVTT(1V2)

(1)VCC1V0_MGTAVCC

(2)VCC1V2_MGTAVCC

那么上电时序可以为:

VCC1V0_FPGA/VCC1V0_MGTAVCC➡VCC1V2_MGTAVCC➡VCC1V8_FPGA➡VCC1V5_FPGA/VCC3V3_FPGA。

每种电源所需要的电容容值:

2.2BANK0信号配置

(1)CFGBVS管脚

当VCCO电压为3.3V/2.5V时,CFGBVS_0上拉到VCCO;

当VCCO电压为1.8V/1.5V时,CFGBVS_0下拉到GND。

(2)M[2:0]管脚

(3)PROBLEM_B管脚

当PROBLEM_B_0为低电平时,FPGA配置被清零并启动新序列;所以需要一个≤4.7K上拉到VCCO。

(4)INT_B管脚

开漏输出管脚,当配置错误时,会输出低电平信号;配置成功时,释放高阻态。所以需要一个≤4.7K上拉到VCCO。

(5)DONE管脚

当配置完成时,DONE管脚会输出一个高电平信号,开漏输出管脚,内部有一个大约10K的上拉电阻。

(6)JTAG管脚

TMS(test mode select)状态选择、TDI(test data in)串行数据输入、TDO(test data out)串行数据输出、TCK(test clock)时钟。

根据IEEE规范,时序图要求,TCK下降沿变更,并且在一开始TCK是有一个空包信号,所以TCK需要下拉到地,同理根据时序图要求,TDI上拉到VCC,TMS和TDO也上拉给默认状态。

(7)CCLK管脚

(8)DXP、DXN管脚

温度感应二极管管脚,使用时可以连接到MAX6627等温度传感器芯片;

不使用时,连接到GND。

(9)VP、VN管脚

XADC专用差分模拟输入(正向),XADC专用差分模拟输入(反向);

如果不使用,连接到GND。

(10)VREFP、VREFN管脚

VREFP:可以连接到外部1.25V,获得最佳ADC性能;如果没有外部参考,连接到GNDADC。

VREFN:可以连接到外部1.25V,获得最佳ADC性能;如果没有外部参考,连接到GND。

(11)VCCADC、GNDADC管脚

VCCADC:可以连接到单独的1.8V;如果没有使用,连接到VCCAUX;

GNDADC:通过铁氧体磁珠连接地;即使没有使用XADC,也通过铁氧体磁珠连接地。

(12)VCCBAT管脚

连接到电池以在FPGA未供电时保留密钥;如果不适用密钥,连接到GND或者VCCAUX。

2.3BANK14&15管脚

(1)PUDC_B管脚

(引脚不允许浮空)

当PUDC_B为低电平时,每个SelectIO引脚上启用内部上拉电阻,即≤1K接到GND;

当PUDC_B为高电平时,每个SelectIO引脚上禁用内部上拉电阻,即通过≤4.7K电阻上接到VCC0_14。

(2)EMCCLK管脚

主模式:切换至EMCCLK时钟源;

从模式/JTAG模式:不连接。

(3)CSI_B管脚

(4)CSO_B管脚

(5)DOUT管脚

(6)RDWR_B管脚

(7)D00_MOSI管脚

(8)D01_DIN管脚

(9)D[0-31]数据管脚

对于SPI模式:(区分SPI是X1、X2、X3还是X4类型就行)

D00连接到SPI的DQ0,D01连接到SPI的DQ1,D02连接到SPI的DQ2,D03连接到SPI的DQ3。

对于SelectMap模式:

对于BPI模式模式:

对于JTAG模式:不用任何数据管脚。

对于以上所有模式:没有用到的管脚忽略不连接即可。

(10)A[00-28]地址管脚

(11)FCS_B管脚

(12)FOE_B管脚

(13)FWE_B管脚

(14)ADV_B管脚

(15)RS0、RS1管脚

2.4BANK的其余引脚

(1)MRCC管脚

多区域时钟管脚,如果是单端时钟,时钟信号必须由MRCC引脚的正端输入;

不作为时钟管脚时,引脚作为普通的I/O使用。

(2)SRCC管脚

但区域时钟管脚,如果是单端时钟,时钟信号必须由SRCC引脚的正端输入;

不作为时钟管脚时,引脚作为普通的I/O使用。

(3)AD0P/N~AD15P/N管脚

模拟输入管脚,可以作为模拟信号的输入,也可以作为普通的I/O管脚。

(4)T0、T1、T2、T3内存字节组(0~3)

(5)T0/1/2/3_DQS  DDR数据选择引脚

2.5高速接口

(1)MGTRREF管脚

在UG482手册中有说明,校准输入引脚,用于终端电阻校准电路。需要一个100Ω电阻接到MGTAVTT。

(2)MGTVCCAUX、MGTAVTT和MGTAVCC管脚

MGTVCCAUX:辅助四锁相环(QPLL)的收发器模拟供电电源;

MGTAVTT:GTX收发器内部端接的模拟供电电源;

MGTAVCC:GTX发送器和接收器的模拟供电电源。

三、7A100T原理图设计

3.1原理图内容规划

3.2FPGA_BANK0

Read more

已解决:Cannot find a valid baseurl for repo: base/7/x86_64

已解决:Cannot find a valid baseurl for repo: base/7/x86_64

使用 Yum 命令遇到此错误,下图是报错信息: 分析:由第二行报错信息得在尝试从 CentOS 镜像列表获取信息时遇到了问题,无法解析 mirrorlist.centos.org 这个域名。这可能是由于网络连接问题导致的。 以下是解决方法: 一、首先通过 ping 命令检查网络连接,确保网络能够正常访问外网。 ping www.baidu.com  Ctrl + c 停止访问 可以正常访问的结果如下图所示: 二、如果网络正常,问题可能是当前的镜像源出现故障或者当前网络无法访问镜像源。可以尝试更换为其他可用的镜像源。 可以通过 vi 命令编辑 /etc/yum.repos.d/CentOS-Base.repo 文件,将其中的 mirrorlist 行用 # 号注释掉,并将 baseurl 行取消注释,并修改为其他可靠的镜像地址。

Linux:初始网络(下)

或许你有一个疑问,“发请求、收响应”,却不清楚数据在网线里到底是怎么从一台主机走到另一台主机的。这篇博客在上一篇博客基础上,将最基础的局域网通信原理出发,拆解数据封装与解包的核心逻辑,再延伸到跨网段的网络传输,帮你建立起网络传输的完整宏观认知,所以大家要认真阅读啦~~ 一、同局域网通信:以太网内的主机如何直接对话 局域网是我们最常接触的网络场景,比如家里的路由器连接的电脑、手机,公司内网的办公设备,都属于同一个局域网。我们先从最核心的问题切入,理解局域网通信的底层逻辑 1. 核心问题:同一局域网的两台主机,能直接通信吗? 答案是:完全可以!局域网内的主机通信,本质是基于以太网协议、通过 MAC 地址完成的二层直连通信,原理就像我们在同一个教室里上课:老师喊出同学的名字,全班同学都能听到这个声音,但只有名字对应的同学会做出回应,其他同学会自动忽略这个信息 2. 局域网通信的唯一身份标识:MAC 地址 在以太网的局域网里,每一台主机的唯一性,靠的就是 MAC 地址来保证。 * 核心定义:MAC 地址用来识别数据链路层中相连的节点,是网卡的 “物理身份证”

Flutter 三方库 flutter_curve25519 的鸿蒙化适配指南 - 实现高性能 X25519 密钥交换、端到端加密与椭圆曲线加密实战

Flutter 三方库 flutter_curve25519 的鸿蒙化适配指南 - 实现高性能 X25519 密钥交换、端到端加密与椭圆曲线加密实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 flutter_curve25519 的鸿蒙化适配指南 - 实现高性能 X25519 密钥交换、端到端加密与椭圆曲线加密实战 前言 在 Flutter for OpenHarmony 的安全协议开发中,椭圆曲线密码学(ECC)是构建端到端加密(E2EE)的基础。flutter_curve25519 是 Curve25519 算法的高性能实现。它能够快速生成公私钥对并进行安全密钥协商(X25519)。本文将指导大家如何在鸿蒙端利用该库构建金融级的安全通信底座。 一、原理解析 / 概念介绍 1.1 基础原理 Curve25519 是一种目前公认最快速、最高效且抗定时攻击的椭圆曲线。flutter_curve25519 将复杂的数学运算通过二进制优化,提供了简洁的 API。 graph LR

Flutter 组件 ical 适配鸿蒙 HarmonyOS 实战:标准日历解析,构建全场景跨平台日程同步与时间管理枢纽

Flutter 组件 ical 适配鸿蒙 HarmonyOS 实战:标准日历解析,构建全场景跨平台日程同步与时间管理枢纽

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 ical 适配鸿蒙 HarmonyOS 实战:标准日历解析,构建全场景跨平台日程同步与时间管理枢纽 前言 在鸿蒙(OpenHarmony)生态迈向高效办公、智能家居协同及多设备日程无缝同步的背景下,如何实现标准化的日历互通、在端侧解析复杂的时序数据,已成为提升应用生产力体验的“时间基石”。在鸿蒙设备这类强调分布式原子化服务与系统级日历集成的环境下,如果应用仅能实现简单的点对点提醒,而无法兼容国际通用的 iCalendar(RFC 5545)标准,用户就无法在鸿蒙终端上直接订阅或同步来自外部邮件、OA 系统或第三方社交平台的活动邀请。 我们需要一种能够深度解析 .ics 格式、支持复杂循环规则(RRULE)计算且具备高性能序列化能力的日历处理引擎。 ical 为 Flutter 开发者引入了成熟的 iCalendar 协议解析方案。它不仅支持对各类日历组件(VEvent, VTodo, VJournal)的结构化解构,更提供了简洁的