首页 > 其他分享 >Processor System Reset IP核理解

Processor System Reset IP核理解

时间:2024-11-19 19:20:24浏览次数:1  
标签:Reset reset 复位 IP peripheral aresetn 信号 Processor 时钟

  叠甲声明:我是菜鸟,我是菜鸟,我是菜鸟,以下均为我的个人理解,肯定有错误,忘指正。

 

信号描述

  首先这是一个复位模块,就是用来复位的,其中左边5个都是输入信号,右边5个(组)都是输出的复位信号,各信号的描述大致如下:

1. 时钟输入端

  slowest_sync_clk,最慢同步时钟,其实这就是复位模块的输入时钟,但是应该要连接到系统使用的最慢同步时钟。因为输出的各路信号之间有时延(应该是故意这么设计的),并且需要对输入的时钟进行滤波,防止误触发,所以需要有输入时钟,用最慢的时钟只是为了防止某些设备复位时间不够。

2. DCM锁定信号

  dcm_locked,DCM(Digital Clock Manager)锁定信号,锁定了表明时钟已经保持稳定了,所以可以衍生为PLL,MMCM等时钟锁定信号。如果没有使用DCM,则该信号应该接高。如果使用了多个DCM,那么应该把最终实现锁定的DCM连接于此(比如所有DCM锁定信号相与再连接于此)。它可以理解为整个复位模块的使能信号,为高时各种输出的复位信号才有用,为低时所有输出的复位信号均处于有效状态(即复位状态)。

3. 输入的复位信号

  ext_reset_in,aux_reset_in,mb_debug_sys_rst,这3个信号都为输入的复位信号,输出的复位信号可以由这三个信号中的任意一个触发。

  ext_reset_in:外部复位输入

  aux_reset_in:总线复位输入

  mb_debug_sys_rst:调试复位

  至于它们为什么叫这个名字,我觉得无所谓啦,只需要知道他们的特性就行。

  其中ext_reset_in和aux_reset_in可以分别设置有效电平,即高电平复位还是低电平复位,也可以单独设置有效宽度,有效宽度可选范围为1~16,举个栗子:设置ext_reset_in为低电平有效,有效电平宽度为4个时钟,那么意味着ext_reset_in至少保持4个时钟的低电平才能输出复位信号。因此ext_reset_in和aux_reset_in其实就是两个可以单独配置的复位输入端,名字什么的无所谓。

  mb_debug_sys_rst有效电平固定为高电平,其有效宽度与mb_debug_sys_rst一致。

4. 输出的复位信号

  mb_reset,bus_struct_reset,peripheral_reset,interconnect_aresetn,peripheral_aresetn这5个信号都为输出的复位信号。其中bus_struct_reset,peripheral_reset为高电平有效,interconnect_aresetn,peripheral_aresetn为低电平有效,bus_struct_reset和interconnect_aresetn可以单独设置宽度1~8,可以理解为可以选择1~8个引脚输出相同的信号,peripheral_reset和peripheral_aresetn可以单独设置宽度1~16,可以理解为可以选择1~16个引脚输出相同的信号。可以设置输出的复位信号宽度,这样让每个输出信号只接到一个模块,这样不需要把同一个信号串接到不同的模块。

  另外我理解bus_struct_reset和interconnect_aresetn应该适合接到需要复位的内部模块上,而peripheral_reset和peripheral_aresetn适合分配引脚,接到其他需要复位的芯片上。

  mb_reset则不可配置宽度和电平,时钟为高电平有效,它适合接在其他核心的复位引脚上,比如ARM。

 输出时序

  首先输出的复位信号可以由3个输入的复位信号中的任何一个信号触发,假设此时配置的ext_reset_in为低电平有效,有效宽度为4,那么当ext_reset_in拉低4个时钟之后,复位信号成立,但是输出的复位信号不会立马生效,而是要过6个时钟,所有复位信号共同生效。

  当ext_reset_in由低变成高之后,输出的复位信号同样不会立马恢复,先经过32个时钟之后,bus_struct_reset和interconnect_aresetn恢复,再经过16个时钟peripheral_reset和peripheral_aresetn恢复,再经过16个时钟mb_reset恢复,这样也很好理解,先让FPGA内部各复位信号恢复,然后让板子上其他外设恢复,最后让ARM(假设)恢复。也就是说输入的复位信号恢复以后,要经过32+16+16=64个时钟之后所有的复位信号才能恢复,至于在这64个时钟之内,输入的信号再次变成了有效状态会发生什么呢?我自己仿真了一下,在不同阶段有不同的结果,但是讨论这个问题实际意义不大。

  还有一个很重要的点是,这个模块具有上电复位功能,上电之后的前46个时钟输出的都是复位状态,第46个时钟之后bus_struct_reset和interconnect_aresetn恢复,再经过16个时钟peripheral_reset和peripheral_aresetn恢复,再经过16个时钟mb_reset恢复。

标签:Reset,reset,复位,IP,peripheral,aresetn,信号,Processor,时钟
From: https://www.cnblogs.com/Suzkfly/p/18555279

相关文章

  • 你可能不知道的JavaScript-1
    目录1.防御式CSS2.js的应用领域JavaScript中让人迷惑的知识点3.一个网页URL从输入到浏览器中到显示经历过怎么样的解析过程呢4.浏览器内核1.是什么2.浏览器的渲染过程HTML解析CSS解析构建RenderTree3.回流与重绘1.回流(重排)2.重绘3.页面性能优化1.减少DOM操......
  • P1014 [NOIP1999 普及组] Cantor 表
    这道题需要我们按照Z形,给出第N项的值。按照Z形对表进行观察,我们可以对表中的数据进行一个分组如图,发现第一层有一个数,第二层有两个数,第三层有三个数,第n层有n个数,且奇数层的分母是从层数p开始数到1,也就是p,p-1,p-2,p-3........,分子是1数到p,偶像层与奇数层相反。那么知道这个......
  • 洛谷:P1008 [NOIP1998 普及组] 三连击
    这道题需要我们找出所有符合要求的数对,由于数据量不大,这里我们可以使用枚举的方法进行枚举,那么我们从最小的三位数100到最大数999进行遍历寻找,再对这三个数进行判断,判断这三个数的每一位是否由1-9这9个数组成,且每个数只出现一次。在判断这个地方我们可以用一个数组来进行计数,将......
  • Nginx Ingress Controller的监控日志分析:请求来源IP的深度剖析
    个人名片......
  • [71] (多校联训) A层冲刺NOIP2024模拟赛24
    bydT3放道这种题有什么深意吗flowchartTB A(选取字符串) styleAcolor:#ffffff,fill:#00c0c0,stroke:#ffffff确实是签,但是一直在想组合意义,最后因为没提前处理逆元遗憾离场了,赛后看题解发现的确是往树上转化更简单点赛时的组合意义代码没过#include<bits/stdc++.h>us......
  • centos9stream 新系统配置IP 设置远程登录 修改国内源
    配置IP.网关.DNS连接互联网vim/etc/NetworkManager/system-connections/ens33.nmconnection###网络配置文件[connection]id=ens33uuid=3c17691d-cccc-xxxx-zzzz-xzxzxczxcczxtype=ethernetautoconnect-priority=-999interface-name=ens33timestamp=1732001143[et......
  • 【NOIP提高组】 统计数字
    【NOIP提高组】统计数字C语言代码C++代码Java代码Python代码......
  • 【NOIP普及组】记数问题
    【NOIP普及组】记数问题C语言代码C++代码Java代码Python代码......
  • 【NOIP普及组】 排座椅
    【NOIP普及组】排座椅C语言版本C++版本Java版本Python版本......
  • ip地址是自己的所在地吗
    IP地址,这一串由数字组成的序列,对于大多数互联网用户而言,既熟悉又神秘。在探讨“IP地址是否是自己的所在地”这一问题时,我们首先需要明确IP地址的定义及其与地理位置之间的关系。IP地址,全称InternetProtocolAddress,即互联网协议地址,是每个连接到互联网上的设备(如电脑、手机......