Verilog实例-AMBA(AHB)协议

2023-11-18

目录

一、简介

1.1 AHB

AHB 是为提出高性能可综合设计的要求而产生的新一代 AMBA 总线。AMBA AHB 是位于 APB 之上新一级的总线并且实现了高性能、高系统时钟频率系统的以下特征要求:

  • 突发传输;
  • 分块处理;
  • 单周期总线主机移交;
  • 单时钟沿操作;
  • 非三态执行;
  • 更宽的数据总线架构(64 位或者 128 位)。

在这里插入图片描述

1.2 signal list

Name Source To Description
HCLK
总线时钟
clock source each module 总线时钟,上升沿采样
HRESETn
复位
reset controller
复位控制器
each module 总线复位,低电平有效
HADDR[31:0]
地址总线
Master decoder mux to slave arbiter 32位系统地址总线
HTRANS[1:0]
传输类型
Master mux to slave 当前传输类型NONSEQ(不连续), SEQ, IDLE, BUSY
2’b00 : IDLE 空闲
2’b01 : BUSY 忙
2’b10 : NONSEQ 非连续
2’b11 : SEQ 连续
HWRITE
传输方向
Master mux to slave 1为写传输,0为读传输
HSIZE[2:0]
传输大小
Master mux to slave 表示传输的大小,典型情况是字节(8 位)、半字(16 位)或者是字(32 位)。协议允许最大的传输大小可以达到 1024 位。3’b000: 8bits ; 3’b001: 16bits ; 3’b010: 32bits ;3’b011: 64bits ; 3’b100: 128bits ; 3’b101: 256bits ;3’b110: 512bits ; 3’b111: 1024bits
HBURST[2:0]
突发类型
Master mux to slave 表示传输是否组成了突发的一部分。支持四个、八个 或者 16 个burst节拍的突发传输并且突发传输可以是增量或者是回环。( burst类型,支持4、8、16 burst,incrementing/wrapping。)
3’b000: SINGLE (单个传输burst)
3’b001: INCR (未定义长度的incrementing burst)
3’b010: WRAP4 (4拍wrapping burst)
3’b011: INCR4 (4拍incrementing burst)
3’b100: WRAP8 (4拍wrapping burst)
3’b101: INCR8 (4拍incrementing burst
3’b110: WRAP16 (4拍wrapping burst)
3’b111: INCR16 (16拍incrementing burst)
HPROT[3:0]
保护控制
Master mux to slave 保护控制信号,需要slave带保护功能,一般不用(提供总线访问的附加信息并且主要是打算给那些希望 执行某种保护级别的模块使用的。这个信号指示当前 传输是否为预取指或者数据传输,同时也表示传输是 保护模式访问还是用户模式访问。对带存储器管理单 元的总线主机而言这些信号也用来指示当前传输是高 速缓存的(cache)还是缓冲的(buffer)。)
HWDATA[31:0]
写数据总线
Master mux to slave 写数据总线,Master到Slave 。建议最小的数据总线宽度为 32 位。然而,在要 求高带宽运行时扩展(数据总线)还是很容易的。
HRDATA[31:0]
读数据总线
Slave mux to master 读数据总线,Slave到Master。建议最小的数据总线宽度为 32 位。
HREADY
传输完成
Slave mux to master arbiter 高:Slave指出传输结束 低:Slave需延长传输周期 (注意:总线上的从机要求 HREADY 作为输入输出信号。)
HRESP[1:0]
传输响应
Slave mux to master arbiter Slave发给Master的总线传输状态OKAY, ERROR, RETRY, SPLIT。
HSELx
从机选择
Decoder
译码器
slave slave选择信号

AHB仲裁信号

Name Source To Description
HBUSREQx
总线请求
Master arbiter master给仲裁器的请求获得总线使用权的请求信号,系统中每个master都有一个 HBUSREQx 信号,最多 16 个总线主机。
HLOCKx
锁定的传输
Master arbiter 如果一个master希望自己在传输期间不希望丢掉总线,则需要向仲裁器发送这个锁定信号。当该信号为高时表示主机请求锁定对总线的访问并且 在该信号为低之前其他主机不应该被允许授予总线。
HGRANTx
总线授予
arbiter master 授权信号,当前bus master x的优先级最高。当HREADY和HGRANTx同时为高时,master获取系统总线的访问权利
HMASTER [3:0]
主机号
arbiter 具有split功能的slave 仲裁器为每一个master分配的ID,指出哪个主设备正在进行传输,提供进行split的信息
HMASTLOCK
锁定顺序
arbiter 具有split功能的slave 表示当前的master正在执行Locked顺序的传输。这个信号和HMASTER有相同的时序
HSPLITx[15:0]
分块完成请求
slave arbiter 从设备用这个信号告诉仲裁器哪个主设备运行重新尝试一次split传输,每一位对应一个主设备

1.3 Bus interconnection 总线互联

AMBA AHB 总线协议设计使用一个中央多路选择器互联方案。

使用该方案所有总线主机设备输出地址和控制信号来指示它们想执行的传输同时仲裁器决定哪一个主机能够将它的地址和控制信号连通到所有的从机。

当然也需要一个译码器来控制读数据和响应多路信号选择器,多路信号选择器选中来自传输中所包含从机的适当信号。
在这里插入图片描述

1.4 Overview of AMBA AHB operation

1.4.1 Basic transfer

AHB 传输包含两个截然不同的部分:

  • 地址阶段:一个周期
  • 数据阶段:一个或多个周期,由HBURST信号决定需要几个有效周期,可以由HREADY发出请求延长一个周期。
1.4.1.1 NO WAIT

在这里插入图片描述

第一个周期的上升沿:master驱动地址和控制信号;
第二个周期的上升沿:slave采样地址和控制信号,并将HREADY拉高;

  • 如果是write操作,master会在第二个周期的上升沿传输要写入的数据;
  • 如果是read操作,slave会在HREADY信号拉高后将读取的数据写入总线;

第三个周期的上升沿:

  • 如果是write操作,master获取HREADY高信号,表明slave已成功接收数据,操作成功;
  • 如果是read操作,master获取HREADY高信号,表明此时的读数据有效并且接收下来,操作成功。

需要注意,HREADY信号在数据有效期间必须为高,并且延续到第三个周期的上升沿之后,确保master的正确采样。

1.4.1.2 WITH WAIT

在这里插入图片描述

HREADY信号需要在第二、三个周期拉低,slave不能立即处理,即需要等待两个周期。
注:

  • 写操作而言总线主机必须保持数据在整个扩展周期中稳定。
  • 读传输从机没必要提供有效数据直到传输将要结束时,即在HREADY拉高后给出即可。
1.4.1.3 Multiple transfers 多重传输 多个信号传输(两级流水线)

在这里插入图片描述

信号传输最多两个,AHB 两级流水线

第一个周期:master发起一个操作A,并驱动地址和控制信号;
第二个周期:slave收到了来自总线的请求,将HREADY信号拉高;

  • 第二个周期上升沿后,master发现有操作B需要执行,并且检查到上一周期的HREADY为高,则发起第二个操作B;

第三个周期:master获取HREADY信号为高,表示操作A已经完成;

  • 第三个周期上升沿后,master发现有操作C需要执行,并且检查到上一周期的HREADY为高,则发起第三个操作C;

  • 第三个周期上升沿后,slave由于繁忙插入了一个等待状态,将HREADY拉低;

第四个周期:master获取HREADY信号为低,知道slave希望等待,于是master保持和上一拍一样的信号;

  • 第四个周期,slave处理完了事务,将HREADY信号拉高,表示可以继续处理;

第五个周期:master获取HREADY信号为高,知道slave已经可以处理B操作;
第五个周期上升沿后,B操作完成;
第六个周期上升沿后,C操作完成。

1.5 Interface description

1.5.1 HRESP[1:0]

在传输中从机通过使用响应信号来表示状态

state description
OKAY OKAY 响应用来表示传输进展正常并且当 HREADY 变高时表示传 输成功完成。
ERROR ERROR 响应表示发生了一个传输错误并且传输失败。
RETRY 和 SPLIT RETRY 和 SPLIT 两个传输响应都表示传输不能立刻完成,但是总线 主机应该继续尝试传输。

1.5.2 HTRANS[1:0] transfer type

HTRANS[1:0] Type Description
00 IDLE 表示没有数据传输的要求。master 被授予总线,但slave没有传输数据。被选中的slave需要通过HRESP[1:0]返回一个OKAY响应
01 BUSY 主设备占用总线,但是在burst传输过程中还没有准备好进行下一次传输一次burst传输中间主设备可发BUSY这时slave不会从总线上收取数据而是等待,并且通过HRESP[1:0]返回一个OKAY响应。需要注意的是,这个transfer需要给出下一拍的地址和控制信号,尽管slave不会去采样。
10 NONSEQ 表示一次突发的第一个传输或者一个单一传输。地址和控制信号和前一次传输无关。 总线上的单一传输被视为(数据量为)一个的突发因此传输类型是非连续的。
11 SEQ burst中剩下的传输是连续传输并且地址是和前一次传输有关的。控制信息和前一次传输一样。地址等于前一次 传输的地址加上传输大小(字节)。在回环突发的情况 下传输地址在地址边界处回环,回环值等于传输大小乘 以传输的次数(4、8 或者 16 其中之一)。(回环指从传输的结束地址边界跳回到传输的起始地址边界)

在这里插入图片描述

T1:传入地址和控制信号,是burst传输的开始,传输类型位NONSEQ。

T2:master不能立刻执行突发的第二次传输,所以主机使用了BUSY传输来延时下一次传输的开始。

T3:slave采集到了master发来的BUSY,master需要等一拍,slave忽略BUSY传输

T4:master发起第二个传输,同一个BURST的第二个传输,传输类型是SEQ。

T5:slave将HEREADY拉低,master需要等待一个周期。

T8:burst的最后一个传输以无等待状态完成。

1.5.3 HSIZE[2:0]

HSIZE[2:0] Size Description
000 8 bits Byte
001 16 bits Halfword
010 32 bits Word
011 64 bits -
100 128 bits 4-word line
101 256 bits 8-word line
110 512 bits -
111 1024 bits -

**HSIZE[2:0]**被用来和 **HBURST[2:0]**信号一起决定回环突发的地址边界。

1.5.4 HBURST[2:0] 突发操作

增量突发(Incrementing bursts):访问连续地址并且突发中的每次传输地址仅是前一次地址的一个增量

回环突发(wrapping bursts):如果传输的起始地址并未和突发(x 拍)中字节总数对齐那么突发 传输地址将在达到边界处回环。

  • 例如,一个四拍回环突发的字(4 字节)访问将在 16 字节边界回环。因此,如果传输的起始地址是 0x34,那么它将包含四个到地址
    0x34、0x38、0x3C 和 0x30;
HBURST[2:0] type Description
000 SINGLE Single transfer
001 INCR Incrementing burst of unspecified length
未指定长度的增量突发
010 WRAP4 4-beat wrapping burst
011 INCR4 4-beat increment burst
100 WRAP8 8-beat wrapping burst
101 INCR8 8-beat increment burst
110 WRAP16 16-beat wrapping burst
111 INCR16 16-beat increment burst
1.5.4.1 Early burst termination 突发提前终止

例子:

  • 图 3.7表示了一个四拍回环突发;
  • 图 3.8表示了一个四拍增量突发;
  • 图 3.9表示了一个八拍回环突发;
  • 图 3.10表示了一个八拍增量突发;
  • 图 3.11表示了一个未定长度的突发。

图 3.7表示了一个四拍回环突发并且第一次传输伴随一个附加等待状态。
在这里插入图片描述

图 3.8表示了(回环突发)和增量突发的唯一不同,既是地址连续 通过了 16 字节边界。
在这里插入图片描述
在这里插入图片描述

图 3.10中的突发使用半字传输,所以地址每次增加 2 个字节并且突发在递增因此地址 连续增加通过了 16 字节边界。
在这里插入图片描述

图 3.11表示未定义长度的增量突发。
在这里插入图片描述

1.5.5 HPROT[3:0] 保护控制信号

保护控制信号,HPROT[3:0],提供总线访问的附加信息并且最初打算是给那些希望执行某种保护级别的模块使用的.

HPROT[3]
cacheable高速缓存
HPROT[2]
bufferable带缓存的
HPROT[1]
privileged特权模式
HPROT[0]
data数据/opcode操作码
Description
- - - 0 Opcode fetch
- - - 1 Data access
- - 0 - User access
- - 1 - Privileged access
- 0 - - Not bufferable
- 1 - - Bufferable
0 - - - Not cacheable
1 - - - Cacheable

并不是所有总线主机都能产生正确的保护信息,因此建议从机在没有严格必要的情况下不要使用 HPROT 信号。

1.5.6 Address decoding 地址译码

对于每个总线上的从机来说使用一个中央地址译码器提供选择信号,HSELx。选择信号 是高位地址信号的组合译码,并且建议使用简单的译码方案以避免复杂译码逻辑和确保高速操作。

在这里插入图片描述

1.5.7 Slave transfer responses HRESP[1:0]

只要从机被访问那它必须提供一个表示传输状态的响应。HREADY 信号被用来扩展传 输并且和响应信号 HRESP[1:0]相结合,以提供传输状态。

HSRESP[1] HRESP[0] Response Description
0 0 OKAY 当 HREADY 为高表示传输已经成功完成。OKAY 响应也被用来插入任意一个附加周期,当 HREADY 为 低时,优先给出其他三种响应之一。
0 1 ERROR 该响应表示发生了一个错误。错误条件应该发信号给 总线主机以便让主机意识到传输失败。 一个错误条件需要双周期响应。
1 0 RETRY RETRY(重试)信号表示传输并未完成,因此总线 主机应该重试传输。主机应该继续重试传输直到完成 为止。 要求双周期的 RETRY 响应。
1 1 SPLIT 传输并未成功完成。总线主机必须在下一次被授予访 问总线时重试传输。当传输能够完成时从机将请求代 替主机访问总线。 要求双周期的 SPLIT 响应。

仅有 OKAY 响应可以在单个周期里给出。ERROR、SPLIT 和 RETRY 响应需要至少两个周期

1.5.7.1 Two-cycle response

在这里插入图片描述

主机从地址 A 发起传输;
这次传输在接收到响应之前主机将地址移动到 A + 4;
从机在地址 A 不能立刻完成传输因此从机发出一个RETRY 响应。该响指示主机在地址 A 的传输无法完成并且在地址 A + 4 的传输被取消而用空闲传输替代。

在这里插入图片描述

RETRY:对 RETRY 而言仲裁器将继续使用常规优先级方案因此只有拥有更高优先级的主机 将获准访问总线;

SPLIT:对于 SPLIT 传输而言仲裁器将调整优先级方案以便其他任何主机请求总线即能获 得访问(总线),即使是优先级较低的主机。为了完成一个 SPLIT 传输从机必须通 知仲裁器何时数据可用。

1.5.8 HWDATA[31:0] and HRDATA[31:0]

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

1.6 Arbitration 仲裁

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

1.7 AHB Interface diagram

在这里插入图片描述

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

在这里插入图片描述

二、Spec

(1)Function descripton

(2)Interface description

Signal Name Width Type Direction Description
clk 1 input System clk signal, 50Mhz
rst 1 input System reset signal,negedge
cmd_i 16 input [15]:读写指示;1:写,0:读[14:8]:地址位[7:0]:数据位
cmd_ready 1 output 信号ready
cmd_valid 1 input 信号valid
tx 1 output uart发送数据端
rx 1 input uart接收数据端
read_valid 1 output 读数据valid
read_data 8 output 读到的数据

(3)Block Diagram

(4)Design detil

  1. List item

(5)Timing

三、Design and Verification

- RTL

在这里插入代码片

- Test bench

在这里插入代码片

四、Graph

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Verilog实例-AMBA(AHB)协议 的相关文章

  • PRBS笔记

    1 概述 PRBS 伪随机二进制序列 也称为伪随机码 通常被用来测试高速信号的信号质量 伪随机 也说明了该码流并不是真正的随机 而是具有特性属性 码流由 多项式 决定 具有重复周期 PRBS具有多种阶数 如PRBS7 PRBS15 PRBS
  • 各种FIFO硬件设计(FIFO概念、异步、同步、非2次幂深度FIFO)

    文章目录 一 FIFO概述 二 FIFO分类 三 FIFO重要信号与参数 3 1 信号 3 2 参数 3 2 1 data depth的确定 四 FIFO存储原理 五 同步FIFO 5 1 空满信号判断 5 2 同步FIFO源码 5 3 测
  • 数字IC手撕代码-兆易创新笔试真题

    前言 本专栏旨在记录高频笔面试手撕代码题 以备数字前端秋招 本专栏所有文章提供原理分析 代码及波形 所有代码均经过本人验证 目录如下 1 数字IC手撕代码 分频器 任意偶数分频 2 数字IC手撕代码 分频器 任意奇数分频 3 数字IC手撕代
  • 基于单光子探测的多脉冲周期符合远距离测距

    激光测距技术通过发射主动激光信号对目标进行探测 接收由目标漫反射回来的回波信号并进行统计 处理及换算 从而得到目标的距离 速度信息 实现对目标距离信息的探测 凭借其系统简单 操作灵活 高精度等特点 被广泛运用于民用 科研及军事等各类场合 基
  • Verilog实例-AMBA(AHB)协议

    目录 一 简介 1 1 AHB 1 2 signal list 1 3 Bus interconnection 总线互联 1 4 Overview of AMBA AHB operation 1 4 1 Basic transfer 1 4
  • 二、RISC-V SoC内核注解——译码 代码讲解

    tinyriscv这个SoC工程的内核cpu部分 采用经典的三级流水线结构进行设计 即大家所熟知的 取值 gt 译码 gt 执行三级流水线 另外 在最后一个章节中会上传额外添加详细注释的工程代码 完全开源 如有需要可自行下载 上一篇博文中注
  • MOS管的知识,看这一篇就可以了

    转载 21ic电子网 2020 11 15 18 19 以下文章来源于记得诚电子设计 作者记得诚 记得诚电子设计 分享电子硬件知识 永远相信美好的事情即将发生 今天的文章简单总结一下MOS管 如下是本文目录 场效应管分类 场效应管分为结型
  • 跨时钟域处理方法(一)——打拍

    一 说明 处理跨时钟域的数据可以分为单bit数据和多bit数据 而打拍的方法主要常见于处理单bit数据的跨时钟域问题 打拍的本质是通过添加寄存器 对输入的数据进行延拍 其主要目标是消除亚稳态的影响 常见的是打2拍 也就是添加2级寄存器 二
  • 【FPGA】:频率测量

    转载 1 FPGA频率测量的三种方法 直接测量法 间接测量法 等精度测量法
  • 实验1-FPGA编程入门

    文章目录 一 认识全加器 二 输入原理图实现1位加法器 一 半加器原理图输入 二 全加器原理图输入 三 Verilog语言实现全加器 四 总结 五 资料参考 一 认识全加器 一 半加器 1 逻辑分析 如下图所示 半加器只有两个输入和两个输出
  • 吃透Chisel语言.18.Chisel模块详解(五)——Chisel中使用Verilog模块

    Chisel模块详解 五 Chisel中使用Verilog模块 上一篇文章讲述了用函数实现轻量级模块的方法 可以大幅度提升编码效率 Chisel中也提供了一些好用的函数 方便我们编写代码 也方便Chisel编译器优化生成的硬件电路 在Chi
  • 关于xilinx BRAM IP的延迟以及流程

    关于RAM IP的延迟 1 选择了output registers 可以在RAM输出端口添加register 也可以在core的输出添加 在primitives添加 降低clock to out到primitive的延迟 在core添加re
  • 【FPGA】面试问题及答案整理合集

    面试问题及答案整理合集 1 硬件描述语言和软件编程语言的区别 2 FPGA选型问题 3 建立时间和保持时间问题 3 亚稳态问题 4 竞争和冒险问题 5 乒乓操作问题 6 同步和异步逻辑电路 7 同步复位和异步复位 8 MOORE 与 MEE
  • FPG—VGA显示器字符显示(附代码)

    目录 1 实操 1 1 字符取模 1 2 顶层模块 1 3 图像数据生成模块 1 3 1 模块框图 1 3 2 波形图绘制 1 3 3 代码编写 1 3 4 仿真验证 2 总结 本例程大部分与VGA显示驱动内容相同 只是显示部分改变了 故此
  • [从零开始学习FPGA编程-28]:进阶篇 - 基本组合电路-奇偶校验生成器(Verilog语言版本)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 第1章 奇偶校验生成器 1 1 什么是奇校验 1 2 Verilog语言描述
  • [HDLBits] Exams/ece241 2014 q7a

    Design a 1 12 counter with the following inputs and outputs Reset Synchronous active high reset that forces the counter
  • 使用七牛云进行文件上传

    目录 一 七牛云入门测试 1 注册七牛云账号 完成后选择对象存储 2 在里面创建空间 一个空间相当于一个文件夹 就是将对象上传到的地方 3 查看个人秘钥 注册完成账号后 会有一个秘钥 上传文件的时候进行授权和认证 4 文件上传测试 二 封装
  • 【FPGA】通俗理解从VGA显示到HDMI显示

    注 大部分参考内容来自 征途Pro FPGA Verilog开发实战指南 基于Altera EP4CE10 2021 7 10 上 贴个下载地址 野火FPGA Altera EP4CE10征途开发板 核心板 野火产品资料下载中心 文档 hd
  • 无线网络管理系统与无线路由器的区别

    第5章 波形发生器软件设计 本章我们将介绍系统的软件设计 系统中控制软件占有很重要的地位 它不仅要产生波形数据 控制波形的发生 还要控制显示电路和键盘电路 因此系统软件的好坏直接决定着系统的功能和稳定 5 1软件的总体结构 在本系统中 由于
  • [Verilog] Verilog 基本格式和语法

    主页 元存储博客 全文 3000 字 文章目录 1 声明格式 1 1 模块声明 1 2 输入输出声明 1 3 内部信号声明 1 4 内部逻辑声明

随机推荐

  • 单边带(SSB)调制技术

    文章目录 单边带 SSB 调制技术 1 双边带简述 2 单边带调制 单边带 SSB 调制技术 1 双边带简述 首先简述一下双边带调制 所谓双边带 DSB double sideband 调制 本质上就是调幅 时域上将基带信号x t 和高频载
  • pytorch FX模型静态量化

    文章目录 前言 一 pytorch静态量化 手动版 踩坑 二 使用FX量化 1 版本 2 代码如下 总结 前言 以前面文章写到的mobilenet图像分类为例 本文主要记录一下pytorchh训练后静态量化的过程 一 pytorch静态量化
  • 特征工程完全总结(Python源码)

    https www jianshu com p 114385e5a757
  • 【Linux】多线程的互斥与同步

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 线程冲突 二 重入与线程安全 1 线程不安全的情况 2
  • svg php,如何加载使用PHP生成的SVG文件?

    我想用 PHP创建一个SVG文件 然后将其包含在HTML文件中 这是我到目前为止 this tutorial之后 svg php header Content type image svg xml gt p gt http www w3 o
  • Session、Token、Cookie的区别及实际使用

    在现代Web开发中 身份验证和会话管理涉及一些基本概念 如Session Token和Cookie 尽管它们都用于管理不同方面的Web会话 但它们之间的差异是很重要的 在本文中 我们将一一介绍Session Token和Cookie的定义
  • 空间直角坐标系右手系和左手系的判定方法及绕轴旋转的正方向

    1 判定坐标系 右手大拇指指向z轴方向 其余四指由x轴握向y轴方向 如果成功 那么判定为右手系 左手大拇指指向z轴方向 其余四指由x轴握向y轴方向 如果成功 那么判定为左手系 坐标系的种类判断成功 那么接下来该判断旋转正方向 2 旋转正方向
  • Linux常用基本操作命令详解(一)

    Linux实用命令 1 前 言 2 常用Linux命令 2 1 常用的系统工作命令 2 2 系统状态检测命令 2 3 工作目录切换命令 3 小结 4 复习巩固题 参考资料 1 前 言 最近学习了有关Linux的一些常用基本命令 在此做个简单
  • python学习笔记 - 如何从几千个文件中寻找出指定的内容

    今天在处理数据时遇到这么个问题 如何从几千个txt文件中找到我想要的内容呢 这是我的实现思路 读取文件 选中指定的内容段 在新路径下保存内容段并命名为之前的文件名 以下是用python实现的代码 有详细注释 usr bin env pyth
  • Selenium Python 教程

    Selenium Python 教程 准备工作 元素定位 控制浏览器操作 Webelement常用方法 鼠标操作 键盘事件 获取断言信息 等待页面加载完成 隐式等待 在不同的窗口和框架之间移动 警告框处理 下拉框选择 文件上传 cookie
  • 网络安全(黑客)自学建议一一附学习路线

    温馨提示 为了避免误入歧途 自学请优先看 网络安全法 下面是一些学习建议 1 多请教有经验的人 切忌钻牛角尖 特别是刚入门的什么都不了解的情况下 可能你花好几天研究的一个东西 人10分钟就能搞定 一定不要做闷葫芦 有问题多问 遇到问题不可怕
  • 机器视觉第二次大作业

    内容 给定图像 消除其中的周期性干扰 以下为处理过程 1 显示图像的傅里叶变换后的频谱和傅里叶变换对数所得的频谱 从图2 可以明显的看出周期性噪声在频谱上的分布 于是在低中高频段上都有分布 但是低 通部分较少 所以考虑使用低通滤波器 此部分
  • java学习笔记13--反射机制与动态代理

    本文地址 http www cnblogs com archimedes p java study note13 html 转载请注明源地址 Java的反射机制 在Java运行时环境中 对于任意一个类 能否知道这个类有哪些属性和方法 对于任
  • StyleGAN2 解释

    本文是 1 的译文 按照作者Connor Shorten 的说法 此博客讨论的是StyleGAN2的诸如weight demodulation path length regularization和去掉progressive growing
  • VS Code Remote基于docker的Python开发环境搭建,ssh免密登录

    win电脑 生产一对公钥与私钥 私钥在win 公钥pub在服务器 ssh keygen 服务器复制私钥和ssh配置 1 root用户进入服务器 cd ssh 复制win电脑上的 ssh id rsa pu到服务器 root ssh 目录下
  • 【const-指针-数组】

    文章目录 const const 数组 const 指针 最后 const const是constant的简写 它是用来定义常量 它限定一个变量不允许被改变 产生静态作用 修饰静态变量 const int a 3 int const a 3
  • ZYNQ 库函数学习之SPI

    SPI是串行外设接口 Serial Peripheral Interface 的缩写 是一种高速的 全双工 同步的通信总线 并且在芯片的管脚上只占用四根线 节约了芯片的管脚 同时为PCB的布局上节省空间 提供方便 正是出于这种简单易用的特性
  • 为了买车,我用Python把某帝给搞采集了。

    上班摸鱼看了2个星期车评 还是一头雾水 选合资还是国产 发动机cvt好还是双离合好 艾瑞泽5 GT动力足 但腰线和前脸让人吐槽 真的可靠吗 国产选长安逸动还是吉利帝豪 标志408出来了 还有艾瑞泽8很漂亮 看会视频吧 同质化严重 讲来将去就
  • 基于51单片机的智能晾衣架的设计与实现(源码+论文)_kaic

    摘要 随着社会和市场的变化 我国经济的快速发展和房地产行业的快速扩张 使得装修家居行业飞速发展 在行业高速发展的同时 消费者家居智能化要求也在日益发展 随着科学技术的进步和电子技术的发展 单片机作为智能控制芯片 越来越多的应用到生活中的个各
  • Verilog实例-AMBA(AHB)协议

    目录 一 简介 1 1 AHB 1 2 signal list 1 3 Bus interconnection 总线互联 1 4 Overview of AMBA AHB operation 1 4 1 Basic transfer 1 4