Xilinx 7系列FPGA配置(ug470)

Xilinx 7系列FPGA配置(ug470)

    • 配置模式
      • 串行配置模式
        • 接口
        • 从-连接方式
        • 主-连接方式
        • 串行菊花链(非同时配置)
        • 串行配置(同时配置)
        • 时序
      • 主SPI配置模式
        • SPIx1/x2 连接图
        • SPIx1模式时序
        • SPIx4 连接图
        • SPI操作指令
        • 操作flash空间大于128Mb
        • SPI配置时序
        • SPI最大速率计算
        • 上电顺序要求
      • 主BPI配置模式
        • 接口
        • 异步读取模式
          • 连接图
          • 时序
        • 同步读取模式
          • 连接图
        • 最大配置速率计算
        • 上电顺序要求
      • SelectMAP 配置模式
        • 简介
        • 接口
        • Data Ordering
        • 单器件配置模式
          • 连接示例
          • 数据加载
            • 连续配置时序
            • 非连续配置时序
          • 终止操作
            • 时序
            • 状态字定义
            • 状态字数据对齐
        • 多器件SelectMAP独立配置
        • 多器件SelectMAP同时配置
        • 并行菊花链配置
      • JTAG配置模式
    • 配置引脚
      • CVGBVS
      • PROGRAM_B
      • INIT_B
      • PUDC_B
      • VCCBATT
      • RS0, RS1
      • RDWR_B
      • FCS_B
      • FOE_B
      • FWE_B
    • Configuration Details
      • 配置文件格式
      • 总线位宽自动检测
      • 同步字
      • 位交换和总线字序
      • 延迟配置
        • 延迟相关信号
      • 配置顺序
        • Setup
          • Device Power-Up (Step 1)
          • Clear Configuration Memory (Step 2, Initialization)
          • Sample Mode Pins (Step 3)
        • Bitstream Loading
          • Synchronization (Step 4)
          • Check Device ID (Step 5)
          • Load Configuration Data Frames (Step 6)
          • Cyclic Redundancy Check (Step 7)
        • Startup
        • 配置过程I/O电平变化(EOS)
        • STARTUPE2原语
      • Bitstream Security
      • Bitstream Composition
    • 配置寄存器
    • 重配置和多镜像
      • Fallback MultiBoot
        • 先加载golden再触发MultiBoot
        • 直接加载MultiBoot
      • IPROG
        • IPROG Using ICAPE2
        • IPROG Embedded in the Bitstream
        • Status Register for Fallback and IPROG Reconfiguration
      • WBSTAR Register
      • Watchdog Timer
        • Configuration Monitor Mode
        • User Monitor Mode
      • RS Pins
    • JTAG高级用法
    • 参考文献

配置模式

如果 M[2:0] 为 ”101“,则该FPGA 只支持 JTAG 进行配置。处于其余配置模式下时,依旧可以使用 JTAG 模式进行调试,并且优先级最高。

串行配置模式

接口

在这里插入图片描述

从-连接方式

主-连接方式
  • 除了CCLK 连接不同,其他都和从串行模式一样
串行菊花链(非同时配置)
  • 上升沿采样DIN数据,下降沿DOUT输出数据,形成上下流关系;
  • SPI 在该连接方式下不支持重配置功能;
  • 第一个器件最后完成配置;当链中最远端器件完成配置,则将DONE变为高阻态,这样下一个器件检测到DONE为高则开始配置;
  • 7系列必须放在第一个;
  • DOUT传输的总数据量有限制,所以要根据程序大小计算好可以连接的器件个数

在这里插入图片描述

串行配置(同时配置)
  • 所有器件要一样(IDCODE一样),配置程序也一样

在这里插入图片描述

时序

在这里插入图片描述

主SPI配置模式

SPIx1/x2 连接图
  • INIT_B 需要外部上拉电阻;
  • 菊花链模式不支持SPIx2和x4,DOUT连接下个器件的DIN形成菊花链;
  • FPGA VCCO_0 要适配 FLASH器件的VCC;
  • 默认SPI器件在CCLK下降沿锁存数据,FPGA在上升沿采样数据(可以通过配置SPI_FALL_EDGE属性更改为下降沿采样);
  • 可通过ConfigRate属性调节CCLK频率;可通过ExtMasterCclk_en属性使能外部输入时钟EMCCLK作为CCLK源使用;
  • VCCBATT用于AES密钥存储,需要时连接

在这里插入图片描述

SPIx1模式时序
  • CCLK初始始终为3MHz,配置ConfigRate只有在读写数据时生效,写地址和指令时不生效;
  • SPI FLASH在配置后不使用,建议将FCS_B拉高;
  • PUDC_B为低,在写完读指令和地址后,MOSI需要拉高或者为高阻态

在这里插入图片描述

SPIx4 连接图

在这里插入图片描述

SPI操作指令
  • 通过spi_buswidth属性改变读写位宽

在这里插入图片描述

操作flash空间大于128Mb
  • 通过使能 spi_32bit_addr 属性支持32bit地址模式
SPI配置时序
  • 默认SPI器件在CCLK下降沿锁存数据,FPGA在上升沿采样数据;
  • 可以通过配置SPI_FALL_EDGE属性更改为下降沿采样,但是一开始还是上升沿采样,只有到读取bit流中的更改为下降沿这个配置信息之后才会生效,这个在使能外部时钟源和更改速率之前生效

在这里插入图片描述

SPI最大速率计算

在这里插入图片描述

在这里插入图片描述

上电顺序要求

SPI flash必须在FPGA 拉低FCS_B和发送读指令之前具备接受指令状态

主BPI配置模式

  • 某些引脚位于 bank15,Artix-7 中 7A50T 以及更小器件和 Spartan-7系列不支持 BPI 配置;
  • BPI模式支持异步和同步读取两种方式,默认异步;
  • 异步读取支持x8和x16两种位宽,均为自动识别
接口

在这里插入图片描述

异步读取模式
连接图
  • BPI模式:M[2:0]= 101 ;
  • CCLK必须作为输出悬空;
  • RS[1:0]用于多镜像配置(MultiBoot)

在这里插入图片描述

时序
  1. 开始配置:上电或者低脉冲PROGRAM_B信号;
  2. 上电配置:PROGRAM_B低电平时拉低INIT_B;
  3. 初始化完成:INIT_B变高,INIT_B上升沿采样M[2:0],识别配置模式;
  4. 识别为BPI模式:FWE_B拉高,FOE_B拉低,FCS_B拉低;
  5. 主模式时INIT_B上升沿一段延时后输出CCLK;
  6. FPGA输出初始地址并维持10个CCLK;
  7. FPGA在CCLK上升沿读取数据;
  8. CRC错误,INIT_B输出低,DONE保持低电平;
  9. 加载完成,DONE拉高;
  10. CCLK变为高阻态;
  11. 在GTS_cycle后多功能I/O引脚变为用户模式,默认为DONE变为高后一个周期

在这里插入图片描述

同步读取模式
连接图
  1. 同步读取模式是最快的配置模式;
  2. 一开始使用默认CCLK速率和异步读取模式,直到读取bitstream的header才转换为同步读模式;
  3. 同步模式需要通过设置BPI_sync_mode属性设置,有两种属性值:Type1(用于G18F信号flash);Type2(用于P30/P33信号flash);
  4. 同步读模式,FPGA CCLK输出连接BPI Flash,ADV_B连接FLASH ADV引脚;
  5. FPGA配置完成后 BPI flash保持同步读模式;
  6. 同步读模式只支持x16;
  7. bit顺序和SelectMap一样

在这里插入图片描述

最大配置速率计算

在这里插入图片描述

上电顺序要求
  • 在FPGA驱动FCS_B低电平并输出第一个地址之前,BPI闪存必须准备好进行异步读取,以确保BPI闪存可以输出存储的比特流。

SelectMAP 配置模式

简介
  • 总线宽度 8、16、32bits,可以自动识别总线宽度;

  • 支持配置和读取操作;

  • 读操作只有从 SelectMAP模式支持;

  • CCLK主模式下为输出;从模式下为输入;

  • 模式:单器件从模式、多器件菊花链模式、多相同器件模式

接口

Data Ordering

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=MD_IMG%2FXilinx%207%E7%B3%BB%E5%88%97FPGA%E9%85%8D%E7%BD%AE.assets%2Fimage8.png&pos_id=img-ZR95DUWS-1709733617032)
在这里插入图片描述

单器件配置模式
连接示例

在这里插入图片描述

数据加载

支持连续和非连续数据加载,数据加载由 CSI_B、RDWR_B、CCLK信号控制

  • CSI_B

    • SelectMAP 接口使能,低有效;

    • 当不需要SelectMAP和读回操作时,CSI_B可以接地

  • RDWR_B

    • 输入输出使能,低电平输入(写FPGA),高电平输出(读FPGA);
    • CSI_B使能时,RDWR_B保持不变,否则会中断配置和回读操作
  • CCLK

    • 所有数据操作同步于CCLK;
    • 配置FPGA:FPGA在时钟上升沿采样;
    • 回读FPGA:FPGA在时钟上升沿更新数据
连续配置时序

非连续配置时序

两种非连续配置方式:

  • 通过控制CSI_B信号;
  • 通过控制CCLK信号


在这里插入图片描述

终止操作
  • 分为配置终止和回读终止操作;
  • 当CSI_B有效时改变RDWR_B触发终止操作;
  • 配置终止会持续4个CCLK周期,同时数据线D0-7会返回状态字;回读终止不返回状字;
  • 终止操作完成后会恢复配置/回读操作;或者可以通过产生PROGRAM_B低脉冲复位整个器件
时序

在这里插入图片描述

状态字定义

状态字数据对齐

多器件SelectMAP独立配置
  • 通过CS单独控制每个器件

多器件SelectMAP同时配置

并行菊花链配置
  • CS_B为菊花链;
  • 第一个器件可以为Master/Slave SelecrMAP、BPI,其他必须都为Slave SelecrMAP

在这里插入图片描述

JTAG配置模式

  • 无论M[2:0]配置为何值,都支持JTAG在线配置

配置引脚

在这里插入图片描述

在这里插入图片描述

CVGBVS

  • 输入引脚;
  • CVGBVS决定bank0 I/O支持的电压值,以及配置区间bank14、bank15的I/O所支持的电压值;
  • 若I/O工作在1.8V或者更低电压下,CVGBVS接GND;
  • 若I/O工作在2.5V/3.3V下,CVGBVS接VCCO_0(3.3V/2.5V);
  • 7系列有两种I/O bank类型:high-range (HR I/O) banks 支持3.3,2.5V电压标准;a few lower voltage I/O standards, and high-performance (HP I/O) banks 支持 1.8V 或者更低的电压标准;

在这里插入图片描述

PROGRAM_B

  • 输入引脚,下降沿有效,用于复位整个器件;
  • 上升沿开始启动配置,但上电时把 PROGRAM_B 保持低电平不会使 FPGA配置保持复位状态,延迟配置时间需要使用 INIT_B 信号配合完成
  • 引脚外部需要通过4.7kΩ 以上电阻上拉至VCCO_0

INIT_B

  • FPGA 初始化引脚或配置错误信号,低电平有效。当 FPGA 处于配置复位状态或当FPGA 正在初始化(清除)其配置存储器(PROGRAM_B信号为低电平)时或当 FPGA 检测到配置错误时,FPGA 会将该引脚驱动为低电平;
  • 在上电期间,可以通过讲该引脚拉低,来延迟上电配置程序的时间 ;
  • 当完成初始化后,该引脚被释放,外部上拉电阻讲该引脚拉高,当检测到该信号上升沿之后,FPGA会读取M[2:0]引脚状态,从而确定后续采用哪种配置方式进行配置 ;
  • 引脚外部需要通过4.7KΩ以上的电阻上拉至VCCO_0 ;
  • M[2:0]被采样之后:INIT_B作为输出,0表示CRC或IDCODE错误(这时DONE为低电平),0或表示回读CRC错误(这时DONE为高电平,且回读CRC使能);1表示没有CRC错误,初始化完成

PUDC_B

  • 输入引脚(不可悬空),在配置期间I/O引脚内部上拉电阻使能;
  • 低电平,配置期间所有未赋值引脚为高电平;
  • 高电平,配置期间所有未赋值引脚为高阻态

VCCBATT

  • FPGA内部易失性存储器的电池备用电源,用于存储AES解密器的密钥,如果不需要使用AES易失性密钥存储区域中的解密器密钥,那么将该引脚接地就行,该引脚不是I/O,不受VCCO_0的影响

RS0, RS1

  • 输出引脚,RS[1:0]用多镜像配置(MultiBoot)

RDWR_B

  • 输入引脚;
  • 高电平:FPGA输出数据到SelectMap数据线上;
  • 低电平:外部控制器通过SelectMap数据线写数据到FPGA

FCS_B

  • 输出引脚,flash片选信号,低有效

FOE_B

  • 输出引脚,flash输出使能,低有效

FWE_B

  • 输出引脚,flash写使能,低有效

Configuration Details

配置文件格式

在这里插入图片描述

总线位宽自动检测

  • Serial、JTAG、SPI模式不支持总线位宽自动检测功能;
  • 只检测D[7:0]的值,检测到0xBB,若下一次检测到0x11,则为x8;若下一次检测到0x22,则为x16;若下一次检测到0x44,则为x32;然后立即切换总线位宽,开始检测同步字
    在这里插入图片描述

同步字

  • 识别到同步字前没有其他包数据

在这里插入图片描述

位交换和总线字序

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

延迟配置

  • 通过 INIT_B保持低电平来延迟配置。当INIT_B拉高后(完成初始化阶段),再次拉低不会延迟配置。
延迟相关信号

在这里插入图片描述

配置顺序

在这里插入图片描述

Setup
Device Power-Up (Step 1)
  • 电源引脚

在这里插入图片描述

  • 上电时序


在这里插入图片描述

Clear Configuration Memory (Step 2, Initialization)
  • 以下情况都会触发“清除配置存储”:重新上电、PROGRAM_B低脉冲、JTAG JPROGRAM指令、IPROG指令、fallback重配置;
  • BRAM和寄存器都会通过GSR拉高初始化;
  • 这段期间,除了少数配置输出引脚,其他I/O通过GTS处于高阻态,如果PUDC_B为低,则为内部上拉
Sample Mode Pins (Step 3)
  • INIT_B拉高后,器件采集M[2:0]模式引脚值,驱动CCLK(master模式下),然后在CCLK上升沿采集配置数据引脚值
Bitstream Loading
Synchronization (Step 4)
  • 对于BPI模式、SelectMAP模式,同步前需要先自动识别位宽;
  • 任何同步字前的数据都会被忽略,除了位宽检测序列;
  • 同步阶段对于大多数用户是透明的,因为工具生成的bit包含位宽检测序列及同步字

同步阶段相关信号

Check Device ID (Step 5)
  • 同步之后进行器件ID检验,如果ID不匹配则回退进行重配置

  • 7系列 jtag ID Code寄存器格式

Load Configuration Data Frames (Step 6)
  • 同步字加载及器件ID检查完成后,开始加载配置数据帧

  • Configuration Packets :Type1、Type2两种,寄存器地址只用5bit

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

Cyclic Redundancy Check (Step 7)
  • FPGA 计算CRC跟bit里的校验值比较;
  • 同步丢失后,后续的指令都被忽略,最配置失败—DONE低,INIT_B高
Startup
  • DONE置位后要保留足够时间保证能到 phase7,保守时间为64个时钟周期

在这里插入图片描述

  • 防止DONE、GTS、GWE在MMCMs锁相和DCI匹配前置位

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

配置过程I/O电平变化(EOS)
  • 在End Of Startup后一个CFGCLK发生0-1-0的电平转变过程;
  • 避免产生影响:VCCO14、15接2.5/3.3V;或者外部引脚上拉;还可以逻辑设计忽略EOS 后第一个CFGCLK上升沿之后至少200ns不采纳数据

STARTUPE2原语

Bitstream Security

Bitstream Composition

在这里插入图片描述在这里插入图片描述在这里插入图片描述

配置寄存器

在这里插入图片描述

重配置和多镜像

Fallback MultiBoot

  • 回退功能使能:ConfigFallback(通过xdc约束或者bitstream设置);
  • 回退重配置时将忽略IPROG,看门狗计时器关闭;
  • 重配置失败,配置终止,INIT_B和DONE保持低电平
先加载golden再触发MultiBoot

在这里插入图片描述

直接加载MultiBoot
  • 对于SPI模式,回退默认使用x1进行golden镜像加载;
  • 对于BPI模式,回退默认使用异步读模式进行镜像加载,所以当配置为同步读模式时要注意CCLK,同时要满足异步和同步读模式;
  • BPI模式,硬件设计RS引脚要根据upper address进行上拉或者下拉

在这里插入图片描述

IPROG

  • IPROG(Internal PROGRAM)指令和PROGRAM_B引脚给低脉冲作用类似,区别在于IPROG不复位WBSTAR、TIMER、BSPI和BOOTSTS寄存器值;
  • IPROG指令触发初始化,同时INIT和DONE拉低;
  • 两种发起指令方式:逻辑控制ICAPE2;生成bit时在golden bit前加入WBSTAR和IPROG指令; 4.当触发回退重新加载时IPROG指令将被忽略
IPROG Using ICAPE2
  • 输入配置信息需要位转换;
  • 发送流程:同步字->WBSTAR->IPROG

在这里插入图片描述

IPROG Embedded in the Bitstream

在这里插入图片描述

Status Register for Fallback and IPROG Reconfiguration
  • BOOTSTS用于存储配置历史;
  • Valid用于只是当前Status是否有效;
  • Status_0用于记录最新配置状态; Status_1用于记录上一次配置状态;

在这里插入图片描述

  • Status_1 表示执行了IPROG,检测到CRC错误;
  • Status_0表示回退加载成功,同时也有IPROG,只是回退重配置忽略IPROG指令,但是同样记录状态

WBSTAR Register

  • 执行IPROG指令后,FPGA从WBSTAR指示的地址开始读指令

在这里插入图片描述

Watchdog Timer

  • 两种模式:配置监控、用户逻辑监控;
  • 计数到达0,触发回退;
  • 计时器寄存器计数时钟为CFGMCLK(65MHz))256分频,一个时钟周期为4000ns,计数器位宽30bits,所以可以计时4230秒;
  • 回退重配置时,Watchdog不使能
Configuration Monitor Mode
  • TIMER寄存器:TIME_CFG_MON设为1,并设置超时计数值
User Monitor Mode
  • TIMER寄存器:TIME_USR_MON设为1,并设置超时计数值

RS Pins

  • 除SPI配置模式,RS信号均由WBSTAR寄存器控制输出;

  • 当BPI或Master SelectMap模式回退时,输出低电平;

  • 在多镜像场景用作为高位地址线;

  • 除CCLK外所有BPI引脚均为多功能I/O,配置完成后(DONE为高)均可由用户控制

在这里插入图片描述

JTAG高级用法

在这里插入图片描述

参考文献

7 Series FPGAs Configuration User Guide (UG470)

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

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

相关文章

FC-AE-1553 协议

FC-AE-1553 协议 MIL-STD-1553B总线协议总线结构字格式消息传输方式 FC协议FC协议栈拓扑结构服务类型帧/序列/交换FC帧格式 FC-AE-1553网络构成帧类型命令帧状态帧数据帧 Information UnitsNC1NC2NC3-4NC5-7NT1-7 传输模式1. NC-NT2. NT-NC3. NT-NT4. 无数据字的模式命令5. 带数…

STM32CubeMX学习笔记12 ---低功耗模式

在实际使用中很多产品都需要考虑低功耗的问题,STM32F10X提供了三种低功耗模式:睡眠模式(Sleep mode)、停机模式(Stop mode)和待机模式(Standby mode)。这些低功耗模式可以有效减少系…

Casper Network(CSPR)即将迎来两项重大升级,以实现功能上的进一步完善

Casper Network(CSPR)即将实现更加完备的功能升级,现已进入倒计时阶段。 Casper Network(CSPR)将升级到其最先进以及更全的版本,即“功能完备”的版本,让Casper Network(CSPR&#…

腾讯云十大优惠活动曝光,TOP10值得买云服务器配置报价

腾讯云服务器多少钱一年?61元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器165元一年、756元3年,4核16G12M服务器32元1个月、312元一年,8核32G22M服务器115元1个月、345元3个月,腾讯云服务器网txyfwq.co…

Java实现读取转码写入ES构建检索PDF等文档全栈流程

背景 之前已简单使用ES及Kibana和在线转Base64工具实现了检索文档的demo,并已实现WebHook的搭建和触发流程接口。 传送门: 基于GitBucket的Hook构建ES检索PDF等文档全栈方案 使用ES检索PDF、word等文档快速开始 实现读取本地文件入库ES 总体思路&…

44、网络编程/数据库相关操作练习20240306

一、代码实现数据库的创建&#xff08;员工信息表&#xff09;&#xff0c;并存储员工信息&#xff08;工号、姓名、薪资&#xff09;&#xff0c;能实现增加人员信息、删除人员信息、修改人员薪资操作。 代码&#xff1a; #include<myhead.h>int do_update(sqlite3 *p…

Python中的模块包第三方库详解

模块&包 模块 一个.py文件就是一个模块&#xff0c;里面是一些函数和变量&#xff0c;需要的时候可以导入。 模块命名规范: 1.以英文开头&#xff0c;不出现中文 2.模块名不应与系统内置函数重名 包 包本身就是一个文件夹&#xff0c;如果文件夹内有__init__.py文件&…

Java电梯模拟升级版

Java电梯模拟升级版 文章目录 Java电梯模拟升级版前言一、UML类图二、代码三、测试 前言 在上一版的基础上进行升级&#xff0c;楼层采用享元模式进行升级&#xff0c;并对楼层对象进一步抽象 一、UML类图 二、代码 电梯调度器抽象类 package cn.xx.evevator;import java.ut…

K倍区间 刷题笔记

法一 前缀和暴力搜索 &#xff08;数据大会超时&#xff09; #include<iostream> #include<cstring> #include<algorithm> #include<cstdio> using namespace std; const int N100010; int a[N],s[N]; int n,k; int main(){ cin>>n>>…

RISC-V架构学习资料整理

1、韦东山——D1S哪吒开发板的裸机代码仓库 https://github.com/bigmagic123/d1-nezha-baremeta 2、melis系统移植到D1S https://blog.51cto.com/u_13800193/6268813 3、韦东山的gitee仓库 https://gitee.com/weidongshan 4、D1S编译工具链下载 https://github.com/Tina-Linux/…

LabVIEW管道缺陷智能检测系统

LabVIEW管道缺陷智能检测系统 管道作为一种重要的输送手段&#xff0c;其安全运行状态对生产生活至关重要。然而&#xff0c;随着时间的推移和环境的影响&#xff0c;管道可能会出现老化、锈蚀、裂缝等多种缺陷&#xff0c;这些缺陷若不及时发现和处理&#xff0c;将严重威胁到…

ProxySQL实现mysql8主从同步读写分离

ProxySQL基本介绍 ProxySQL是 MySQL 的高性能、高可用性、协议感知代理。以下为结合主从复制对ProxySQL读写分离、黑白名单、路由规则等做些基本测试。 先简单介绍下ProxySQL及其功能和配置&#xff0c;主要包括&#xff1a; 最基本的读/写分离&#xff0c;且方式有多种&…

Java递归生成本地文件目录树形结构

Java递归生成本地文件目录(树行结构) 1.读取txt文件保存的文件目录结构 2.递归生成本地文件目录树形结构&#xff0c;并修改目录文件前缀进行递增 3.结果截图 4.代码 package com.zfi.server.device;import io.swagger.annotations.Api; import org.springframework.web.bind…

Postman接口测试—配置token为全局变量,配置测试环境

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 为什么要进行接口测试 因为不同端&#xff08;前段&#xff0c;后端&#xff09;的工作进度不一…

仿牛客网项目---关注模块的实现

本篇文章是关于我的项目的关注模块的开发。 关注模块的开发实现了用户之间的关注功能和关注列表的展示。通过使用相应的服务类处理关注和取消关注操作&#xff0c;并利用用户服务类获取用户信息&#xff0c;实现了关注功能的存储和查询。同时&#xff0c;通过触发关注事件&…

【软考】设计模式之访问者模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. java示例5.1 喂动物5.1.1 抽象访问者5.1.2 具体访问者5.1.3 抽象元素5.1.4 具体元素5.1.5 对象结构5.1.6 客户端类5.1.7 结果示例 5.2 超市销售系统5.2.1 业务场景5.2.2 业务需求类图5.2.3 抽象访问者5.2.4 具体访问者5.2.5 抽象元素…

前端面试拼图-原理源码

摘要&#xff1a;最近&#xff0c;看了下慕课2周刷完n道面试题&#xff0c;记录下... 1. JS内存泄漏如何检测&#xff1f;场景有哪些? 1.1 垃圾回收 GC 垃圾回收是一种自动管理内存的机制&#xff0c;它负责在运行时跟踪内存的分配和使用情况&#xff0c;并在不再需要的对象…

理解CAE

用于自监督表示学习的上下文自动编码器 摘要 我们提出了一种新的掩模图像建模(MIM)方法&#xff0c;上下文自编码器(CAE)&#xff0c;用于自监督表示预训练。我们通过在编码的表示空间中进行预测来预训练编码器。预训练任务包括两个任务:掩模表示预测—预测掩模块的表示&…

专业145+总分410+西工大西北工业大学827信号与系统考研经验电子信息与通信工程,海航,真题,大纲,参考书。

经过一年的努力&#xff0c;分数终于出来。今年专业课827信号与系统145&#xff08;很遗憾差了一点点满分&#xff0c;没有达到Jenny老师的最高要求&#xff09;&#xff0c;数一130&#xff0c;英语和政治也都比较平衡&#xff0c;总分410分&#xff0c;当然和信息通信考研Jen…

C及C++每日练习(2)

1.选择&#xff1a; 1.使用printf函数打印一个double类型的数据&#xff0c;要求&#xff1a;输出为10进制&#xff0c;输出左对齐30个字符&#xff0c;4位精度。以下哪个选项是正确的&#xff1f; A.%-30.4e B.%4.30e C.%-30.4f D.%-4.30 在上一篇文章中&#xff0c;提到了…