Multi-Channel PCe QDMARDMA Subsystem

news2024/11/18 9:48:06

可交付资料:
1.    详细的用户手册
2.    Design File:Post-synthesis EDIF netlist or RTL Source
3.    Timing and layout constraints,Test or Design Example Project
4.    技术支持:邮件,电话,现场,培训服务


联系方式:
Email:neteasy163z@163.com

  1. 介绍

基于PCI Express Integrated Block,Multi-Channel PCIe QDMA&RDMA Subsystem实现了使用DMA地址队列和DMA Ring缓冲的独立多通道、高性能Continous或Scather Gather DMA,提供FIFO/AXI4-Stream用户接口。

    1. 1 特性
  • 支持Ultrascale+,Ultrascale,7 Series的PCI Express Integrated Block
  • 支持64,128,256,512-bit数据路径
  • 64-bit源地址,目的地址,和描述符地址
  • 多达8个独立的host-to-card(H2C/Read)数据通道或H2C DMA
  • 多达8个独立的card-to-host(C2H/Write)数据通道或C2H DMA
  • AXI4-Stream/FIFO用户接口(每个通道都有自己的AXI4-Stream/FIFO接口)
  • 每个DMA引擎支持DMA地址队列,队列深度可达32
  • 每个DMA引擎支持DMA Ring缓冲,Ring缓冲深度和个数可配置
  • H2C DMA支持视频显示定时时序输入控制
  • AXI4-Lite Master接口允许PCIe通信绕过DMA引擎
  • Scather Gather描述符列表支持无限列表大小
  • 每个描述符的最大传输长度为4GB
  • MSI中断
  • 连续描述符的块获取
  • 中断或查询模式
    1. 2 应用

本内核体系结构支持广泛的计算和通信目标程序应用,强调性能、成本、可扩展性、功能可扩展性和关键任务可靠性。典型应用包括:

● 数据通信网络

● 电信网络

● 宽带有线和无线应用

● 网络接口卡

● 用于各种应用程序的服务器add-in card

典型应用如下图所示:

图 1 Multi-Channel PCIe QDMA&RDMA Subsystem典型应用:8通道视频采集和视频显

2. 概述

Multi-Channel PCIe QDMA&RDMA Subsystem作为一个高性能DMA数据搬移器,内核通过AXI4-Stream/FIFO接口直接连接RTL逻辑。使用提供的字符驱动程序,AXI4-Stream/FIFO接口可用于PCIe地址空间和AXI地址空间之间的高性能数据搬移。除了基本的DMA功能,DMA支持多达8个独立的upstream和downstream通道,每个通道支持深度为32的DMA地址队列,以及深度和个数可配置的DMA Ring缓冲,另外还允许PCIe通信绕过DMA引擎。

图 2 Multi-Channel PCIe QDMA&RDMA Subsystem概述

2.1 特性概要

基于描述符提供的信息:源地址,目的地址和传输数据长度,Multi-Channel PCIe QDMA&RDMA Subsystem实现Host存储器和PCIe DMA子系统之间的数据搬移。这些DMA可以同时是Host to Card(H2C)和Card to Host(C2H)传输。每个DMA通道对应各自的AX4-Stream/FIFO接口,DMA从Host存储器获取并解析描述符链表,基于描述符链表信息完成自己通道的数据传输,然后使用MSI中断发出描述符完成或错误的信令。内核也提供多达16个输出到Host的用户中断信号。

主机可以通过以下2个接口访问用户逻辑:

  • AXI4-Lite Master配置接口:这个接口是一个固定的32-bit端口,用于对性能要求不高的用户配置和状态寄存器的访问
  • User Register:这个接口是多个32-bit向量信号和1-bit信号,这些信号来自对应DMA通道数据搬移过程中产生的控制或状态信号
  • 3. 产品规格

结合Integrated Block for PCI Express IP,Multi-Channel PCIe QDMA&RDMA Subsystem为PCIe提供了一个高性能的DMA解决方案。

3.1 性能

Endpoint配置参数:Max Payload Size=256-byte,Max Read Request Size=512-byte

8-Channel PCIe-SGQDMA Subsystem,DMA Transfer Length = 4MB

表1 PCIe 3.0 x16 C2H DMA速率

DMA0

DMA1

DMA2

DMA3

DMA4

DMA5

DMA6

DMA7

速率

1660MB/s

1660MB/s

1660MB/s

1660MB/s

1660MB/s

1660MB/s

1660MB/s

1660MB/s

表2 PCIe 3.0 x16 H2C DMA速率

DMA0

DMA1

DMA2

DMA3

DMA4

DMA5

DMA6

DMA7

速率

1670MB/s

1670MB/s

1670MB/s

1670MB/s

1670MB/s

1670MB/s

1670MB/s

1670MB/s

表3 PCIe 3.0 x8 C2H DMA速率

DMA0

DMA1

DMA2

DMA3

DMA4

DMA5

DMA6

DMA7

速率

880MB/s

880MB/s

880MB/s

880MB/s

880MB/s

880MB/s

880MB/s

880MB/s

表4 PCIe 3.0 x8 H2C DMA速率

DMA0

DMA1

DMA2

DMA3

DMA4

DMA5

DMA6

DMA7

速率

890MB/s

890MB/s

890MB/s

890MB/s

890MB/s

890MB/s

890MB/s

890MB/s

表5 PCIe 2.0 x8 C2H DMA速率

DMA0

DMA1

DMA2

DMA3

DMA4

DMA5

DMA6

DMA7

速率

450MB/s

450MB/s

450MB/s

450MB/s

450MB/s

450MB/s

450MB/s

450MB/s

表6 PCIe 2.0 x8 H2C DMA速率

DMA0

DMA1

DMA2

DMA3

DMA4

DMA5

DMA6

DMA7

速率

455MB/s

455MB/s

455MB/s

455MB/s

455MB/s

455MB/s

455MB/s

455MB/s

​​​​​​​3.2 资源

8-Channel PCIe-SGQDMA Subsystem

表7 PCIe 3.0 x16 DMA Subsystem资源

LUTs

FFs

BRAMs

PCIe

资源

46985

101938

150

1

表8 PCIe 3.0 x8 DMA Subsystem资源

LUTs

FFs

BRAMs

PCIe

资源

26388

51935

78

1

表9 PCIe 2.0 x8 DMA Subsystem资源

LUTs

FFs

BRAMs

PCIe

资源

26945

38687

55

1

8-Channel PCIe-CQDMA Subsystem

表10 PCIe 3.0 x16 DMA Subsystem资源

LUTs

FFs

BRAMs

PCIe

资源

34976

75994

150

1

表11 PCIe 3.0 x8 DMA Subsystem资源

LUTs

FFs

BRAMs

PCIe

资源

19364

37487

78

1

表12 PCIe 2.0 x8 DMA Subsystem资源

LUTs

FFs

BRAMs

PCIe

资源

20973

29963

55

1

​​​​​​​3.4 端口描述

Multi-Channel PCIe QDMA&RDMA Subsystem直接和integrated block for PCIe连接。和PCIe integrated block IP数据路径接口的宽度是64,128,256或512-bit,时钟频率最高可达250MHz。除了AXI4-Lite Master接口,数据路径宽度适用于所有数据接口。AXI4-Lite Master接口的宽度固定为32-bit。

以下列表描述了这个IP的端口(默认数据路径接口宽度是512-bit,PCIe接口是x16)。

表15 参数定义

参数名称

描述

默认值

CNUM

H2C和C2H的通道数量

8

C2H_BUF_BRAM_CASCADE_DEPTH

C2H数据缓冲区的BRAM级联深度

0:BRAM深度=29=512

1:BRAM深度=29+1=1024

……

N:BRAM深度=29+N

0

C2H_BUF_USE_URAM

C2H数据缓冲区是否使用URAM

0:不使用URAM

1:使用URAM

0

C2H_BUF_URAM_CASCADE_DEPTH

H2C数据缓冲区的URAM级联深度

0:URAM深度=212=4096

1:URAM深度=212+1=8192

……

N:URAM深度=212+N

0

H2C_BUF_BRAM_CASCADE_DEPTH

H2C数据缓冲区的BRAM级联深度

0:BRAM深度=29=512

1:BRAM深度=29+1=1024

……

N:BRAM深度=29+N

0

H2C_BUF_USE_URAM

H2C数据缓冲区是否使用URAM

0:不使用URAM

1:使用URAM

0

H2C_BUF_URAM_CASCADE_DEPTH

C2H数据缓冲区的URAM级联深度

0:URAM深度=212=4096

1:URAM深度=212+1=8192

……

N:URAM深度=212+N

0

表16 顶层接口信号

信号名称

方向

描述

pcie_trn_clk

输出

PCI Express Transaction接口时钟

pcie_trn_reset_n

输出

PCI Express Transaction复位,低有效

trn_lnk_up

输出

PCI Express Transaction Link Up信号,高有效

表17 PCIe接口信号

信号名称

方向

描述

pcie_refclk_p

输入

PCI Express 接口参考时钟+

pcie_refclk_n

输入

PCI Express 接口参考时钟-

pcie_perst_n

输入

PCI Express接口基本复位,低有效

pci_exp_txp[15:0]

输出

PCI Express串行差分输出+,16通道

pci_exp_txn[15:0]

输出

PCI Express串行差分输出-,16通道

pci_exp_rxp[15:0]

输入

PCI Express串行差分输入+,16通道

pci_exp_rxn[15:0]

输入

PCI Express串行差分输入-,16通道

表18 H2C通道0-CNUM-1 FIFO(FWFT)接口信号

信号名称

方向

描述

fifo_rdclk_disp

[CNUM-1:0]

输入

FIFO读时钟

Bit i,表示H2C通道i的读时钟

fifo_rdrstn_disp

[CNUM-1:0]

输入

FIFO读复位,低有效

Bit i,表示H2C通道i的读复位

fifo_rdreq_disp

[CNUM-1:0]

输入

FIFO读使能,高有效

Bit i,表示H2C通道i的读使能

fifo_q_disp

[512*CNUM-1:0]

输出

FIFO读数据

Bit 512*(i+1)-1~512*i,表示H2C通道i的读数据

fifo_empty_disp

[CNUM-1:0]

输出

FIFO空,高有效

Bit i,表示H2C通道i的缓存空信号

fifo_prog_empty_disp

[CNUM-1:0]

输出

FIFO可编程空(阈值等于16),高有效

Bit i,表示H2C通道i的缓存可编程空信号

表19 C2H通道0-CNUM-1 FIFO接口信号

信号名称

方向

描述

fifo_wrclk_acq

[CNUM-1:0]

输入

FIFO写时钟

Bit i,表示C2H通道i的写时钟

fifo_wrrstn_acq

[CNUM-1:0]

输入

FIFO写复位,低有效

Bit i,表示C2H通道i的写复位

fifo_wrreq_acq

[CNUM-1:0]

输入

FIFO写使能,高有效

Bit i,表示C2H通道i的写使能

fifo_data_acq

[512*CNUM-1:0]

输入

FIFO写数据

Bit 512*(i+1)-1~512*i,表示C2H通道i的写数据

fifo_prog_full_acq

[CNUM-1:0]

输出

FIFO可编程满(阈值等于深度-16),高有效

Bit i,表示C2H通道i的缓存可编程满信号

表20 Config AXI4-Lite Master接口信号

信号名称

方向

描述

m_axil_awaddr[31:0]

输出

write address

m_axil_awprot[2:0]

输出

write protection type

m_axil_awvalid

输出

write address valid

m_axil_awready

输入

write address ready

m_axil_wdata[31:0]

输出

write data

m_axil_wstrb[3:0]

输入

write strobes

m_axil_wvalid

输出

write valid

m_axil_wready

输入

write ready

m_axil_bresp[1:0]

输入

write response

m_axil_bvalid

输入

write response valid

m_axil_bready

输出

response ready

m_axil_araddr[31:0]

输出

read address

m_axil_arprot[2:0]

输出

read protection type

m_axil_arvalid

输出

read address valid

m_axil_arready

输入

read address ready

m_axil_rdata[31:0]

输入

read data

m_axil_rresp[1:0]

输入

read response

m_axil_rvalid

输入

read valid

m_axil_rready

输出

read ready

表21 中断接口信号

信号名称

方向

描述

usr_intr_pos[15:0]

输入

用户中断输入。

Bit i:用户中断#i输入,上升沿有效。

表22 软复位接口信号

信号名称

方向

描述

c2h_dma_grst_n

输出

C2H DMA全局复位输出,低有效。

c2h_dma_fsm_srst_n

[CNUM-1:0]

输出

C2H通道i的DMA FSM复位输出,低有效。

c2h_dma_buf_srst_n

[CNUM-1:0]

输出

C2H通道i的DMA Buffer复位输出,低有效。

h2c_dma_grst_n

输出

H2C DMA全局复位输出,低有效。

h2c_dma_fsm_srst_n

[CNUM-1:0]

输出

H2C通道i的DMA FSM复位输出,低有效。

h2c_dma_buf_srst_n

[CNUM-1:0]

输出

H2C通道i的DMA Buffer复位输出,低有效。

表23 用户寄存器接口信号

信号名称

方向

描述

acquisition_stat

[32*CNUM-1:0]

输入

CNUM个C2H通道状态

Bit 32*(i+1)-1~32*i,表示C2H通道i的状态

display_stat

[32*CNUM-1:0]

输入

CNUM个H2C通道状态

Bit 32*(i+1)-1~32*i,表示H2C通道i的状态

acquisition_res

[32*CNUM-1:0]

输出

CNUM个C2H通道的分辨率设置

Bit 32*(i+1)-1~32*i,表示C2H通道i的分辨率

display_res

[32*CNUM-1:0]

输出

CNUM个H2C通道的分辨率设置

Bit 32*(i+1)-1~32*i,表示H2C通道i的分辨率

acquisition_fps

[32*CNUM-1:0]

输出

CNUM个C2H通道的帧率设置

Bit 32*(i+1)-1~32*i,表示C2H通道i的帧率

display_fps

[32*CNUM-1:0]

输出

CNUM个H2C通道的帧率设置

Bit 32*(i+1)-1~32*i,表示H2C通道i的帧率

acquisition_xfer_size

[32*CNUM-1:0]

输出

CNUM个C2H通道的传输大小设置

Bit 32*(i+1)-1~32*i,表示C2H通道i的传输长度

display_xfer_size

[32*CNUM-1:0]

输出

CNUM个H2C通道的传输大小设置

Bit 32*(i+1)-1~32*i,表示H2C通道i的传输长度

acquisition_xfer_num

[32*CNUM-1:0]

输出

CNUM个C2H通道的传输总数设置

Bit 32*(i+1)-1~32*i,表示C2H通道i的传输总数

display_xfer_num

[32*CNUM-1:0]

输出

CNUM个H2C通道的传输总数设置

Bit 32*(i+1)-1~32*i,表示H2C通道i的传输总数

acquisition_enable

[CNUM-1:0]

输出

CNUM个C2H通道的采集使能,高有效

Bit i = 1,表示使能C2H通道i采集

display_enable

[CNUM-1:0]

输出

CNUM个H2C通道的显示使能,高有效

Bit i = 1,表示使能H2C通道i显示

display_timing_enable[CNUM-1:0]

输出

CNUM个H2C通道的内部显示定时使能,高有效。

Bit i = 1,表示使能H2C通道i内部显示定时

display_timing_ext_enable[CNUM-1:0]

输出

CNUM个H2C通道的外部显示定时使能,高有效。

Bit i = 1,表示使能H2C通道i外部显示定时

acq_usr_reset[CNUM-1:0]

输出

CNUM个C2H通道的用户复位信号

Bit i,表示C2H通道i用户复位信号

disp_usr_reset[CNUM-1:0]

输出

CNUM个H2C通道的用户复位信号

Bit i,表示H2C通道i用户复位信号

usr_ctrl[31:0]

输出

用户控制信号输出

usr_ctrl2[31:0]

输出

用户控制#2信号输出

usr_stat[31:0]

输入

用户状态信号输入

acq_blk_baddr_l[32*CNUM-1:0]

输出

CNUM个VID-ACQ数据块基址LSB

Bit 32*(i+1)-1~32*i,表示ACQ#i的数据块基址

disp_blk_baddr_l[32*CNUM-1:0]

输出

CNUM个VID-DISP数据块基址LSB

Bit 32*(i+1)-1~32*i,表示DISP#i的数据块基址

acq_blk_baddr_h[32*CNUM-1:0]

输出

CNUM个VID-ACQ数据块基址MSB

Bit 32*(i+1)-1~32*i,表示ACQ#i的数据块基址

disp_blk_baddr_h[32*CNUM-1:0]

输出

CNUM个VID-DISP数据块基址MSB

Bit 32*(i+1)-1~32*i,表示DISP#i的数据块基址

acq_blk_size[32*CNUM-1:0]

输出

CNUM个VID-ACQ数据块大小

Bit 32*(i+1)-1~32*i,表示ACQ#i的数据块总数

disp_blk_size[32*CNUM-1:0]

输出

CNUM个VID-DISP数据块大小

Bit 32*(i+1)-1~32*i,表示DISP#i的数据块总数

acq_blk_num[32*CNUM-1:0]

输出

CNUM个VID-ACQ数据块总数

Bit 32*(i+1)-1~32*i,表示ACQ#i的数据块大小

disp_blk_num[32*CNUM-1:0]

输出

CNUM个VID-DISP数据块总数

Bit 32*(i+1)-1~32*i,表示DISP#i的数据块大小

acq_usr_param [32*CNUM-1:0]

输出

CNUM个VID-ACQ用户参数

Bit 32*(i+1)-1~32*i,表示ACQ#i的用户参数

disp_usr_param [32*CNUM-1:0]

输出

CNUM个VID-DISP用户参数

Bit 32*(i+1)-1~32*i,表示DISP#i的用户参数

acq_pkt_num [32*CNUM-1:0]

输入

CNUM个VID-ACQ数据包总数

Bit 32*(i+1)-1~32*i,表示ACQ#i的数据包总数

disp_pkt_num [32*CNUM-1:0]

输入

CNUM个VID-DISP数据包总数

Bit 32*(i+1)-1~32*i,表示DISP#i的数据包总数

acq_dsc_pkt_num [32*CNUM-1:0]

输入

CNUM个VID-ACQ丢弃数据包总数

Bit 32*(i+1)-1~32*i,表示ACQ#i的丢弃数据包总数

disp_dpl_pkt_num [32*CNUM-1:0]

输入

CNUM个VID-DISP复制数据包总数

Bit 32*(i+1)-1~32*i,表示DISP#i的复制数据包总数

表24 Display FPS Timing通道0-CNUM-1接口信号

信号名称

方向

描述

fifo_wrclk_disp_fps

[CNUM-1:0]

输入

FIFO写时钟

Bit i,表示Display FPS Timing通道i的写时钟

fifo_wrrstn_disp_fps

[CNUM-1:0]

输入

FIFO写复位,低有效

Bit i,表示Display FPS Timing通道i的写复位

fifo_wrreq_disp_fps

[CNUM-1:0]

输入

FIFO写使能,高有效

Bit i,表示Display FPS Timing通道i的写使能

fifo_prog_full_disp_fps

[CNUM-1:0]

输出

FIFO可编程满,高有效

Bit i,表示Display FPS Timing通道i的缓存可编程满信号

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

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

相关文章

隐私计算概述

1. 基本概念 隐私计算是指在保证数据提供方不泄露原始数据的前提下,对数据进行分析计算的一些列信息技术,保障数据在流通和融合过程中的“可用不可见”。 从技术交付出发,隐私计算是众多学科的交叉融合技术,目前主流的隐私计算技术分为三大方向:第一类是多方安全计算为代…

linux内核中断

目录 硬中断特点 中断API 线程中断 系统标准的优先级顺序 中断信息查看 中断上半部与下半部 软中断与并发 硬中断特点 优先级最高中断函数在中断上下文中,不能阻塞不要间接或直接调用shedule() 在申请内存空间时,使用GFP_ATOMIC 标志&#xff08…

Blender——苹果纹理绘制

效果图 前言 在进行纹理绘制之前,首先要具有苹果三维模型。 关于苹果的建模请参考:Blender——“苹果”建模_行秋的博客 1.苹果UV的展开 1.1首先点击UV Eidting,滑动三维模型,使其大小适中。 1.2打开左上角的UV选区同步&#x…

IPv6 的地址(计算机网络-网络层)

目录 IPv6地址的表示方法 IPv6的分类 IPv6 全球单播地址 IPv6 多播地址 IPv6地址的表示方法 在 IPv6 中,每个地址占 128 位,地址空间大于 3.4 *10^ 38 。在想象得到的将来,IPv6的地址空间是不可能用完的 128位的IPv6地址使用冒号十六进制记…

玩以太坊链上项目的必备技能(库 [library]-Solidity之旅十七)

库(library) 作为开发者的您,想必对项目中重复使用的工具函数,抽取到一个公共中,以便可以在您项目中的其它位置可调用。 而 Solidity 与您所熟知的没有什么不同,它也是用来实现可重复调用,且还…

基于 Traefik 的激进 TLS 安全配置实践

前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。 Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...)集成,并自动和动态地配置自…

力扣(39.40)补9.20

目前打算刷些算法题&#xff0c;数据结构的题暂时放一放吧。 39.组合总和 不会&#xff0c;毕竟好久没做回溯了。 看了这个图会好理解很多呦。 class Solution { List<List<Integer>> ansnew ArrayList<>(); List<Integer> listnew ArrayList<>(…

AcWing算法学习之动态规划(基础)

背包问题 01背包问题 思路&#xff1a; 01背包问题&#xff0c;表示每个物品要么放&#xff0c;要么不放。从集合的角度分析DP问题&#xff0c;状态表示为&#xff1a;选择前i个物品&#xff0c;总体积小于等于j的选法的集合&#xff0c;属性f[i][j]表示价值的最大值。状态计算…

正交编码器数字滤波器(二)

正交编码器数字滤波器&#xff08;一&#xff09;电路初画完了&#xff0c;正交编码器数字滤波器&#xff08;二&#xff09;把核心部分用HDL描述语言实现了&#xff0c;放在一个小芯片里。 上面的整张图上&#xff0c;截出下面的小图&#xff0c;就用古老的ABEL工具实现它。 这…

高斯函数和C++简单实现

高斯函数在科学和工程中有广泛应用&#xff1b;其定义为&#xff0c; 其一般图像为&#xff0c; 高斯函数的图形在形状上像一个倒悬着的钟&#xff1b;参数a指高斯曲线的峰值&#xff0c;b为其对应的横坐标&#xff0c;c即标准差&#xff08;有时也叫高斯RMS宽值&#xff09;&a…

【1754. 构造字典序最大的合并字符串】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你两个字符串 word1 和 word2 。你需要按下述方式构造一个新字符串 merge &#xff1a;如果 word1 或 word2 非空&#xff0c;选择 下面选项之一 继续操作&#xff1a; 如果 word1 非空&#xff0…

Python常用基础语法知识点大全

介绍 Python 是一门独特的语言&#xff0c;快速浏览一下他的要点&#xff1a; 面向对象&#xff1a;每一个变量都是一个类&#xff0c;有其自己的属性&#xff08;attribute&#xff09;与方法&#xff08;method&#xff09;。语法块&#xff1a;用缩进&#xff08;四个空格…

Qml 中用 Shader 实现圣诞树旋转灯

一、前言 2022年圣诞节到来啦&#xff0c;很高兴这次我们又能一起度过~ 这次给大家带来一个简单漂亮圣诞树灯。 当然了&#xff0c;本篇文章主要是讲解一下如何在 Qml 中使用 GLSL 来实现自己的特效。 至于代码嘛&#xff0c;我比较喜欢在 Shaderjoy 上寻找&#xff0c;那里有很…

Biotin-PEG-Biotin,生物素-聚乙二醇-生物素聚乙二醇试剂供应

一&#xff1a;产品描述 1、名称 英文&#xff1a;Biotin-PEG-Biotin 中文&#xff1a;生物素-聚乙二醇-生物素 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a;Biotin PEG 4、分子量&#xff1a;可定制&#xff0c;2000/10000/3400/1000/20000/500 5、质量控制&…

c++继承知识点

目录1.继承的概念及定义1.1继承的概念1.2 继承定义1.2.1定义格式1.2.2继承关系和访问限定符1.2.3继承基类成员访问方式的变化2.基类和派生类对象赋值转换3.继承中的作用域4.派生类的默认成员函数5.继承与友元6. 继承与静态成员如何定义一个不被继承的类7.继承的一个题目8. 复杂…

目标检测之YOLOv2算法分析

要点 Batch Normalization 训练 若batchsize64,某一层的某一个神经元会输出64个响应值&#xff0c;对这64个响应值求均值&#xff0c;标准差&#xff0c;然后标准化&#xff0c;对标准化的结果乘λβ\lambda \betaλβ,其中λ\lambdaλ和 β\betaβ是需要训练的参数&#xf…

Windows平台RTMP、RTSP播放器录像模块精细化控制

技术背景 上篇文章&#xff0c;我们介绍了Unity平台RTMP、RTSP播放器录像功能&#xff0c;这里&#xff0c;我们详细的介绍下&#xff0c;做个RTSP或RTMP拉流端录像模块有哪些需要考虑的技术点&#xff1f; 在我们常规的考量&#xff0c;RTMP或RTSP流录制&#xff0c;无非就是…

在gitee上新建仓库并上传文件

一、进入到自己gitee的个人主页&#xff0c;点击图示新建仓库 二、根据图示操作&#xff0c;最后点击创建 三、如果没有配置git全局设置&#xff0c;需要配置一下(配置过的可以跳过这一步) 四、打开你要上传的文件&#xff0c;在里面右击鼠标&#xff0c;点击如图所示 五、输入…

spring之Bean的循环依赖问题

文章目录一、Bean的循环依赖之Set注入模式下1、Husband类2、Wife类3、Spring配置文件4、测试类5、测试结果6、结论二、Bean的循环依赖之构造方法注入模式下1、Husband类2、Wife类3、Spring配置文件4、测试类5、运行结果三、Spring解决循环依赖的机理三级缓存&#xff08;面试常…

PyQt5 基本布局管理 及 信号槽机制

一&#xff1a;布局设计 & 信号槽机制 效果实现如下&#xff1a; 对于窗口整体设计左右布局 对于左边布局&#xff0c;包括有水平布局(用户信息 左上方一块)垂直布局(多个按钮 左下方一块) 对于右边布局&#xff0c;主要是窗口切换&#xff0c;通过按下左边布局的左下方侧按…