微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 一种时钟与功耗管理控制器的硬件实现

一种时钟与功耗管理控制器的硬件实现

时间:12-08 来源:互联网 点击:
本文阐述了一种芯片时钟与功耗管理控制器的工作原理,进行了模块划分,采用硬件描述 语言实现了设计,并利用Synopsys公司的EDA工具进行了仿真和综合。该控制器已成功应用于东南大学ASIC中心研制的嵌入式处理器芯片Garfield4Plus中,并通过了实际的流片和测试。 在SoC芯片设计中,功耗是微处理器芯片是否成功的重要标准之一。同时,作为一个庞大的数字电路系统,处理器芯片的时钟架构及其控制也将变得尤为重要,将直接影响到芯片的功耗。基于以上考虑,整个芯片的时钟和功耗必须得到统一的管理和控制。包括核与总线在内的各功能模块的时钟应当能够跟据具体工作需要自由开关,以保证芯片尽可能地减小功耗。因此,处理器中需要一个专门的时钟与功耗管理控制器(以下统称PMC)来实现这些功能。PMC控制着整个芯片的工作模式和系统时钟频率,其稳定和完善将影响整个芯片的性能。

本文通过对PMC工作原理的分析确定了设计的总体结构并进行了具体的模块划分,使用基于硬件描述语言的逻辑综合方式进行了设计实现,并成功应用于东南大学ASIC工程中心研制的嵌入式处理器芯片Garfield4Plus中,通过了实际的流片和测试。

PMC功能描述

PMC负责管理整个芯片工作模式的切换和系统时钟频率的设定,并负责管理芯片上各功能模块的时钟信号和复位信号。通过设定PMC的功能寄存器,可以控制芯片在SLOW、NORMAL、IDLE、SLEEP四种工作模式间进行切换。

系统启动后默认工作在SLOW模式下,时钟频率较低,系统时钟由外部晶振直接提供,并且可以通过设置PMC相关控制寄存器,得到分频后更低速的时钟。

NORMAL模式是系统最常用的正常工作模式,系统工作在较高的频率上。外部晶振时钟通过DPLL数字锁相环倍频后,还可以再次被分频,得到一个可选频率范围较宽的高速时钟。数字锁相环倍频值和稳定时间等参数可以通过PMC进行设置。

当内核空闲时可以设置系统进入IDLE模式。当总线也空闲时,内核时钟将被关闭,同时停止对外部存储设备的操作,可以大大减小系统功耗。这种模式可以被各种内外部中断信号唤醒,唤醒后的系统将恢复到进入此状态之前的工作模式继续工作。

如果系统当前工作全部完成,整个系统都空闲的时候,可以设置系统进入SLEEP模式。PMC将会关闭除实时控制模块RTC以外的所有模块,系统功耗降低到最小。系统将会等待外部唤醒信号或RTC的定时唤醒信号来恢复系统时钟。被唤醒的系统将会首先进入SLOW模式。为了确保实现系统的唤醒,RTC和系统时钟唤醒模块使用独立的电源和晶振。

PMC还可以自由控制各功能模块时钟的开关。在正常的工作模式下,可以关闭暂时不用的模块以减小系统的功耗。另外,PMC还管理系统的复位信号并实现软件复位功能。

模块划分及实现

根据以上对于PMC工作原理和欲实现功能的分析,可将PMC划分为6个功能模块:PMC控制器状态机(FSM)、数字锁相环控制器(DPLL控制)、时钟分频选择模块(包括两个时钟分频器和一个无毛刺时钟切换专用电路GCM)、复位信号控制模块(Reset)、系统时钟唤醒模块(Wakeup)和总线接口模块,如图1所示。另外,数字锁相环DPLL为硬件宏模块,其性能经过专门的调试和验证以保证符合使用要求;GCM用于保证时钟切换时电路能够稳定工作。



图1 PMC模块划分和时钟路径

从图1中还可以清晰看出PMC的时钟结构。Wakeup模块使用RTC的专用晶振时钟,以保证主时钟关闭后还能正常工作。Reset模块使用主晶振时钟。主晶振时钟经过可选分频得到较慢的时钟,同时主晶振时钟经过DPLL倍频,再经过可选分频得到较快的时钟。两路时钟经过GCM的平稳切换可获得整个系统所使用的工作时钟,该时钟将会分别提供给内核、总线和各功能模块(包括PMC自身的控制和接口模块)。

PMC控制器状态机

PMC控制器状态机的功能是决定系统的工作状态变化,并根据所处工作状态输出控制信号以及与其它模块的握手信号。此模块是整个PMC的控制核心,它可以分析软件命令,根据软件命令改变系统当前的工作模式,并收集总线、存储器、中断控制器等其他功能模块的工作状态信息;再根据这些信息控制工作模式的改变,输出包括开启晶振时钟、开启数字锁相环、时钟源选择、SDRAM自刷新等控制信号,以及与总线、中断控制器等模块的握手信号。系统工作模式转换的状态机如图2所示。



图2 工作模式转换状态机

数字锁相环控制器

数字锁相环控制器负责根据PMC的相关控制寄存器配置数字锁相环DPLL,并通过硬件计数实现用户设定的稳定过渡时间,以保证DPLL有足够的稳定时间来锁定所设置的工作频率。控制器状态机发出的时钟选择命令和用户发出的频率重配命令都要经过此模块的管理,以保证切换过程中的时钟稳定。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top