[SOC]clock与reset设计

关于时钟

如今SOC芯片的规模都很大,可以被划分为很多异步的clock domain,需要一个时钟模块来产生各个clock domain所需要的时钟。

芯片的时钟源可以是外部晶振或是内部PLL,当然内部PLL也需要一个参考时钟,这个参考时钟一般是来自于片外的晶振。常见的外部时钟源有32.768KHz时钟和26MHz时钟(这个频率可变)。32.768KHz时钟用来提供给rtc模块或者timer模块等,用于产生系统时钟、时间戳或者进行计数等。26MHz时钟常用做PLL的参考时钟,或者其他需要慢速时钟的模块。

26MHz的时钟一般需要一段时间才能稳定,可以在上电复位释放后对32.768KHz进行采样计数,当计数到期后再释放系统的复位信号并运行power up sequence,完成冷启动的过程。
在这里插入图片描述
实际的clock网络比上图要复杂很多,不仅需要考虑各个clock domain所需的时钟频率,还要考虑低功耗设计的需求,包括软硬件可控的时钟门控(clock gate)、时钟变频等。

大芯片一般不止一个PLL,这些PLL根据各个clock domain在不同的工作模式下的频点需求,通过软件可控的mux和分频模块产生所需的时钟频率。在run time切频时一般需要在切换的过程中不产生毛刺,并且满足时序约束,可以通过软件控制关闭clock gate或者硬件状态机控制clock gate实现。如果是仅仅通过控制mux或者分频模块就能实现切频,那么可以简单的应用无毛刺的mux或分频电路实现。
下图为无毛刺时钟源选择电路实现。
无毛刺时钟源选择电路

关于复位

常用的复位策略有同步复位和异步复位。
同步复位由于需要时钟才能工作,并且复位信号需要保持1个clock cycle以上,由于这些缺点,在如今的soc设计中用的已经比较少了。
纯异步复位很容易出现recovery time和removal time的违例,从而产生亚稳态的传播。如下图所示,撤销复位时,恢复到非复位状态的电平必须在时钟有效沿来临之前的一段时间到来,才能保证时钟能有效恢复到非复位状态,此段时间为recovery time。复位时,在时钟有效沿来临之后复位信号还需要保持的时间为去除时间removal time。
在这里插入图片描述
为了解决异步复位的问题,一种处理方法是在复位信号送入模块前,先经过异步复位同步释放模块,如下图,这样PR工具会自动检查模块中DFF的时序并修正,直到没有recovery和removal的violation。
在这里插入图片描述
异步复位同步释放的reset在clock上升沿释放,并且一个周期内必须到达每个dff,如果模块比较大,reset在一个周期内到达不了每个dff有可能会有风险。可以使用另一种处理方法,通过控制clock的开关,在reset的时候,停掉clock,这样也可以达到同样的效果。等复位完了,再开启模块时钟,再启动模块工作。这种流程可以保证不会出现recovery和removal的问题,因为复位置起撤销时都没有时钟。

SOC芯片中的reset源可以分为片外reset源和片内reset源。片外的reset源一般有来自PMIC的power reset,来自系统板上的pad reset,jtag reset,如果有pcie可能还有PErst等。片内的reset源有watchdog timeout reset,software reset及其他硬件机制产生的reset等。一个模块的reset可能由几种或者全部reset源控制。

大型SOC芯片的时钟设计

大型SOC芯片可能需要几十甚至上百个时钟,这些时钟都来自于PLL输出或者上面介绍的其他时钟源。时钟的生成有一定的规则,借助这些规则可以通过脚本来生成时钟产生模块,这样也有助于时钟网络的验证。

  • 2
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 国际科技大学的SOC设计与实践课程是一门重要的课程,旨在向学生介绍系统级芯片设计的基本原理和流程。此课程涉及的内容包括:数字电路设计,集成电路布局布线,系统级仿真和验证等。学生将通过实践,掌握在商业电路设计中使用的最佳实践和工具。从而能够综合运用各种工具和方法,设计出高质量的芯片。 此外,该课程还注重学生的独立思考能力和创造力,在设计哲学、产品创新和商业模式等方面进行深入探讨。这将为学生未来的职业生涯提供有用的资源和经验。 最后,国际科技大学的SOC设计与实践课程还为学生提供了一个深入了解和探究芯片技术前沿的机会。学生们将与教授和业界领先人士密切合作,了解最新的技术发展趋势和应用。这将帮助学生在未来成为具有竞争力的在技术和商业领域的人才。 ### 回答2: 国科大计算机学院的SOC设计与实践课程是一门重要的硬件课程,作为本科生和研究生计算机教育的一部分,旨在培养学生的硬件设计能力和实践经验。 在这门课程中,学生将学习数字系统、计算机结构和硬件描述语言等知识,并通过理论课程和实验操作来掌握这些知识。在实验方面,学生将分组设计和实现一个完整的系统芯片(SOC),包括主控制器、存储控制器、I/O接口等部分,从而深入了解一款系统芯片的设计流程和硬件实现。 该课程有着丰富的实践经验和先进的实验设施,为学生提供了一个充满挑战性和创新性的学习环境,培养了学生的综合能力和团队精神。通过这样的课程学习,学生具备了实际的项目经验和设计理念,并在硬件领域展示出了自己的创造力和能力。 总之,国科大SOC设计与实践课程是一门重要的硬件课程,可以带给学生丰富的实践经验和设计能力,让学生在硬件领域获得深入的理解和发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值