在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1027|回复: 6

[讨论] 上电复位同步释放问题

[复制链接]
发表于 2023-2-24 16:42:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近有一个较为困扰的问题,SOC 上电后系统处于POR复位过程中,内部RC开始起振,一定时间后释放复位,cpu跑在RC 时钟域,并开始配置PLL,等待PLL lock 后,CPU 切换到PLL 时钟域,系统正常work。 有些困惑,一些模块如DDR 、VIDEO 都有单独的PLL时钟,在上电复位过程中,这些PLL 处于关闭,复位结束时,CPU 可以将复位释放同步在自己运行的RC 时钟域,而其他模块的时钟尚未打开,如何做同步释放?难道所有模块都要加时钟mux上电工作在RC时钟域,最后再切换时钟?  希望得到的您的解惑
发表于 2023-2-24 17:28:33 | 显示全部楼层
等模块的时钟有了再释放复位,不然时钟都没有释放复位模块也不能工作啊
 楼主| 发表于 2023-2-25 12:03:14 | 显示全部楼层


失重wlq 发表于 2023-2-24 17:28
等模块的时钟有了再释放复位,不然时钟都没有释放复位模块也不能工作啊


那请教一下,逻辑上怎么处理时钟稳定后再释放复位,不知道我这样描述对不对:

   复位源释放复位时,模块的时钟还处于gate 状态,模块没有时钟,不存在寄存器复位端亚稳态状态。软件在模块PLLlock后,把时钟门控打开,模块就可以work 了。
那这样模块的复位不做复位同步逻辑都可以。加了复位同步逻辑模块会在时钟到来后两拍释放复位,不加的话时钟到来时已释放复位,好像模块都能正常工作。
    请问这样理解对吗
发表于 2023-2-27 14:45:11 | 显示全部楼层


maws 发表于 2023-2-25 12:03
那请教一下,逻辑上怎么处理时钟稳定后再释放复位,不知道我这样描述对不对:

   复位源释放复位时,模 ...


是的,实际电路不做复位同步的话可能也是能正常工作的,但是有些设计里面如果存在一些没有复位置位端的寄存器,还是会有风险,再加上一些仿真工具,对于这种先释放复位再使能时钟的情形可能会直接报出寄存器的x态并传播导致后续仿真跑飞,所以一般保险起见都会加打两拍的复位同步模块
发表于 2023-2-27 15:04:54 | 显示全部楼层


maws 发表于 2023-2-25 12:03
那请教一下,逻辑上怎么处理时钟稳定后再释放复位,不知道我这样描述对不对:

   复位源释放复位时,模 ...


我看了下我们项目里的时钟模块的设计,有些也是在其他的PLL没lock的时候,PLL的输出就和晶振时钟做个mux,让模块先用晶振时钟去了,等pll lock了再切换到pll输出的时钟,这两种做法都可以吧,主要看模块在pll配置完之前需不需要工作
 楼主| 发表于 2023-4-4 16:32:00 | 显示全部楼层


失重wlq 发表于 2023-2-27 15:04
我看了下我们项目里的时钟模块的设计,有些也是在其他的PLL没lock的时候,PLL的输出就和晶振时钟做个mux ...


不好意思,好久才回复,最近了解了一些做法,和您说的一致,如果模块需要上电立即跑,就用switch方式先跑一定有的时钟,等PLL 稳定后再切换。
如果不需要的话,一般用ICG 上电默认关闭钟,复位源解复位之后,等到PLL lock 后再开钟。 一般情况都对复位加同步器,所以即使复位源释放复位后,也必须等到ICG 打开,再等两拍模块才解除复位。

谢谢您的答复
发表于 2023-11-11 16:49:06 | 显示全部楼层
同样问题,终于找到答案了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 02:58 , Processed in 0.025110 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表