CN111913558A - 一种基于risc-v指令集的低功耗微控制器的实现 - Google Patents
一种基于risc-v指令集的低功耗微控制器的实现 Download PDFInfo
- Publication number
- CN111913558A CN111913558A CN202010369744.6A CN202010369744A CN111913558A CN 111913558 A CN111913558 A CN 111913558A CN 202010369744 A CN202010369744 A CN 202010369744A CN 111913558 A CN111913558 A CN 111913558A
- Authority
- CN
- China
- Prior art keywords
- microcontroller
- power consumption
- mcu
- instruction set
- domain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 12
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 claims 2
- 230000000737 periodic effect Effects 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 15
- 238000000034 method Methods 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012827 research and development Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
本发明属于大规模数字集成电路设计、MCU芯片设计技术领域,公开一种基于RSIC‑V指令集的低功耗微控制器的实现方法。微控制器采用IP核复用技术,基于片上总线完成各模块的连接,具有模块化、可配置化、灵活性高和功耗低等特点。其中,MCU系统主要包括中央处理器单元、存储器系统、GPIO模块、DPWM模块、UART模块、I2C控制器、SPI控制器和PMU等模块;系统总线采用AXI和APB总线的双级总线结构,以连接不同速率的模块;低功耗机制则分别在系统架构层面、处理器层面和单元层面进行实现,以尽可能的减小MCU的功耗。
Description
技术领域
本发明属于数字集成电路设计技术领域,具体为一种基于RISC-V指令集的低功耗微控制器的实现。
背景技术
随着集成电路技术的迅速发展,晶体管尺寸按照摩尔定律不断的所缩小,各个功能模块和CPU集成在一起,形成了功能相对完备的微控制器系统。微控制器具有系统架构复杂、功能模块多、集成度高等特点,因此,微控制器的研发是一项难度大、成本高、时间长的工作,相关技术理论也一直是研究热点。
RISC-V指令集,中文全称为第五代精简指令集架构,由美国加州大学伯克利分校于2010年推出,其诞生之初是为了解决现有指令集架构过于冗杂、授权费过高以及不开放等问题。RSIC-V指令集以其开源免费、低功耗和高性能等优点,受到了工业界和研究机构的高度关注,经过约十年的发展,其生态越来越完善,相比其他指令集架构,呈现出后来居上的趋势。
对于一个MCU来说,除了性能和面积,功耗也是需要高度关注的一个指标,尤其是在对功耗更加敏感的物联网时代。微控制器的功耗主要可分为静态功耗和动态功耗,而低功耗技术指的是在设计和使用MCU时,为降低MCU的功耗而进行的相关优化。从技术层面上来看,其主要可划分为软件层面上的低功耗优化和硬件层面的低功耗优化,前者主要是在使用MCU时的优化,而本专利主要在硬件层面上实现MCU的低功耗优化。
发明内容
本发明为了解决微控制器研发中存在的难度大、时间长和功耗高等问题,提出了一种基于RISC-V指令集的低功耗微控制器的实现。
本发明的微控制系统使用基于RISC-V指令集架构的开源内核,系统总线为AXI和APB双级总线,AXI总线作为高速总线与系统内的内核等高速模块相连,APB作为低速总线则与GPIO、UART等速度比较低的外设模块相连,两者搭配,使系统的性能、功耗和面积达到一个较好的平衡。
微控制器的实现过程中大量使用已经经过验证的成熟IP软核,如SPI、I2C等模块,将软核进行修改,使其符合总线协议规范和预期的功能要求,这种IP核复用的技术,能够大大缩短微控制器的研发时间,并提高系统的可靠性。
在微控制器的系统架构上对功耗进行优化:将其时钟域划分为主时钟域,调试单元时钟域以及低速常开时钟域,高速时钟域和低速时钟域搭配,使得MCU能够兼顾性能与动态功耗;将其电源域可划分为主电源域、调试电源域和常开电源域,除常开电源域外,其他电源域均可在不工作时关断,达到节省静态功耗的目的。通过时钟域和电源域的不同组合为MCU划分出不同的低功耗模式,而PMU单元则起到控制MCU进入或退出不同低功耗模式的作用。
在微控制器的处理器层面上对功耗进行优化:通过实现RISC-V指令集中定义的WFI(Wait For Interrupt)指令,使处理器核能够在执行完WFI指令后能够进入到休眠状态,将处理器核的所有门控时钟都关闭,达到节省功耗的目的;而当有新的中断产生时,处理器会被重新唤醒,退出休眠状态。
在微控制器的单元层面上对功耗进行优化:对相关功能单元配备独立的门控时钟,一旦单元处于空闲的周期,即自动地将时钟关闭,以节省动态功耗;而当单元处于工作状态时,则将其时钟打开。
附图说明
图1为本发明所实现的低功耗微控制器的结构图。
图2为本发明所实现的低功耗微控制器的时钟域划分。
图3为本发明所实现的低功耗微控制器的电源域划分。
图4为本发明所实现的低功耗微控制器的设计流程。
具体实施方式
以下结合说明书附图对本发明的具体实施方式作进一步的描述,但并不因此而限制本发明的保护范围。
参照图1,本发明选取的内核基于RISC-V指令集架构实现,具有开源、免费和综合性能强等特点。内核模块作为主设备挂载到AXI总线上去,总线上的读写操作具有内核发起,从设备进行响应。数据存储器、指令存储器和Boot ROM作为片内存储器与内核模块相连,内核可对它们直接进行指令的读取和数据的访存。在编写RTL代码阶段,使用存储器的仿真模型对其进行仿真和测试,而在物理实现阶段,则使用工艺厂家提供的硬核模块直接进行顶层的集成。
对GPIO控制器、SPI控制器、UART、I2C等IP核进行设计或修改,使其符合APB总线从设备接口协议,并将它们连接到APB总线上;将DPWM模块连接在GPIO上,使得微控制器能够通过控制GPIO模块的输出达到控制DPWM输出波形占空比的目的。
参照图2,将微控制器系统划分为三个时钟域,其中主时钟域覆盖内核和大多数外设模块,主时钟域中并非只有一个时钟,其还有生成时钟。主时钟域中有一个100MHz的主时钟,其可根据模块运行速率的不同的生成不同频率的时钟,如挂载在APB总线上的大部分外设模块运行速率较低,则为它们生成频率较低的时钟,而内核等模块要求速率较高,则直接将主时钟作为其工作时钟。
调试单元时钟域主要包括JTAG调试单元,由于调试单元对时钟频率要求不高,其使用的是一个与主时钟异步的低速异步时钟。
低速常开时钟域包含看门狗时钟(WDT)、实时计数器(RTC)、电源管理单元(PMU)等永不停歇的模块,其作为常开域,承担着MCU各种功耗模式的进入和退出、休眠和唤醒等操作,如果使用高速时钟不断计数,会造成大量的功耗损失,因此必须使用极低速的时钟进行计数。
参照图3,将MCU系统被划分为三个电源域,其中主电源域的划分较为简单,包含内核、总线、内部存储器和大部分外设模块,主电源域可以在某些场景下被关闭以降低功耗;调试电源域包含调试相关的硬件模块,对于某些不需要调试功能的场景,可以将其关闭以节约功耗;常开电源域是MCU系统中唯一一个需要保持常开的电源域,在一些极低功耗场景下,主电源域和调试电源域均可以被关闭而仅保留常开电源域的电源,而常开电源中的WDT和RTC可产生中断进而将整个系统唤醒。此外,常开电源域中的PMU模块可以控制除常开电源域外的其他电源域的关闭或唤醒,这样就可以根据不同场景进入不同的功耗模式。
在处理器层面上,MCU主要通过实现RISC-V指令集架构中定义的WFI指令来实现内核的休眠和唤醒操作,达到节省功耗的目的。在内核的顶层模块有一个输出信号riscv_wfi。当该信号为高时,表示内核进入到休眠状态,MCU检测到该信号后,即把内核的时钟关闭。
内核在执行了WFI指令之后将阻止其执行后续的指令,并要求内核中所有的单元完成正在执行的操作。待到满足条件后,便意味着可以安全地进入休眠模式,将输出信号riscv_wfi置高。在进入休眠模式后,如果有新的中断到来,则会重新唤醒处理器,并将riscv_wfi置低。
在MCU的单元层面上,对MCU系统的所有APB外设模块,如UART、SPI、I2C、GPIO等,均单独配备了独立的时钟门控(clock gate),当该模块或者单元空闲时,例如某些场景不需要使用到GPIO,可以使用时钟门控将GPIO时钟关闭以节省动态功耗。某些比较独立和规模较大的模块甚至可以划分独立的电源域来支持关闭电源,以进一步节省静态功耗。
参照图4,MCU的设计首先从硬件架构划分与设计开始。在此阶段,确定MCU的模块构成,存储器系统的划分和大小(包含内部存储器与外部存储器),三个时钟域和三个电源域的划分,AXI总线与APB总线的的结构及分别挂载在总线上的模块。
在完成系统的架构划分与设计后,开始具体到每个模块的设计。在对模块的设计中,使用IP核复用技术,通过对现有成熟IP核的修改和复用,完成了UART、SPI、GPIO、I2C、PMU等模块的设计,大大减小了微控制器的研发难度与成本,提高了系统的可靠性。
在完成各模块的设计与顶层模块的集成后,即可得到设计的RTL代码,并进入到基于Golden UPF的低功耗设计流程中。在UPF中,需要依据硬件的架构划分进行电源域的定义,本设计中定义了三个电源域,其中主电源域和调试电源域为可关断的,而常开电源域为不可关断的。此外,在UPF中还定义了与电源域有关的level shifter,isolation cell等器件,以实现电源的关断与电压的转换。有了UPF文件,即可进行逻辑综合工作,将RTL代码转换为门级网表文件。
微控制器的物理实现过程是在物理设计工具中完成的,其流程包括微控制器的布局规划、单元摆放、时钟树综合、单元布线、电压衰减分析等工作。物理设计完成后,还需要进行时序和物理验证工作,验证通过后即可得到MCU的物理版图。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均属于本发明技术方案保护的范围内。
Claims (5)
1.一种基于RISC-V指令集的低功耗微控制器的实现,其特征在于微控制器主要包含:中央处理器内核,用于进行程序的运行和数据的运算;内部存储器系统采用数据存储器和指令存储器分离的哈弗结构,还有一个用于存放启动代码的Boot ROM;GPIO模块,用于实现微控制器的通用输入输出接口;DPWM模块,用于实现输出可调节占空比的周期波形;
UART模块,用于实现数据的异步传输;I2C控制器,用于实现数据的串行输入输出;SPI控制器,用于实现数据的同步传输;WDT(看门狗计数器)和RTC(实时计数器),用于计数和产生中断;PMU(电源管理单元),用于对MCU各部分的电源进行开启或关闭;调试单元,用于进行MCU的调试工作。
2.如权利1所要求的一种基于RISC-V指令集的低功耗微控制器的实现,其特征在于使用二级总线结构实现系统内各模块的互联互通,其中高速总线为AMBA AXI总线,用于挂载高速运行的CPU内核等模块;低速总线为AMBA APB总线,用于挂载GPIO、UART、I2C、SPI等模块;高速总线和低速总线之间使用转接桥进行协议的转换,两者相搭配,平衡了系统的综合PPA性能,并使系统内各模块按部就班,有序运行。
3.如权利1所要求的一种基于RISC-V指令集的低功耗微控制器的实现,其特征在于:在微控制器的系统架构层面上,将其时钟域划分为主时钟域,调试单元时钟域以及低速常开时钟域;将其电源域可划分为主电源域、调试电源域和常开电源域;通过时钟域和电源域的不同组合为MCU划分出不同的低功耗模式,而PMU单元则起到控制MCU进入或退出不同低功耗模式的作用。
4.如权利1所要求的一种基于RISC-V指令集的低功耗微控制器的实现,其特征在于:在微控制器的处理器层面上,通过实现RISC-V指令集中的WFI(wait for interrupt)指令,使处理器核能够在执行完WFI指令后能够进入到休眠状态,将处理器核的所有门控时钟都关闭,达到节省功耗的目的;而当有新的中断产生时,处理器会被重新唤醒,退出休眠状态。
5.如权利1所要求的一种基于RISC-V指令集的低功耗微控制器的实现,其特征在于:在微控制器的单元层面上,对相关功能单元配备了独立的门控时钟,一旦单元处于空闲的周期,即自动地将时钟关闭,以节省动态功耗;而当单元处于工作状态时,则将其时钟打开。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010369744.6A CN111913558A (zh) | 2020-04-30 | 2020-04-30 | 一种基于risc-v指令集的低功耗微控制器的实现 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010369744.6A CN111913558A (zh) | 2020-04-30 | 2020-04-30 | 一种基于risc-v指令集的低功耗微控制器的实现 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111913558A true CN111913558A (zh) | 2020-11-10 |
Family
ID=73237537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010369744.6A Pending CN111913558A (zh) | 2020-04-30 | 2020-04-30 | 一种基于risc-v指令集的低功耗微控制器的实现 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913558A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486245A (zh) * | 2020-12-17 | 2021-03-12 | 清华大学 | 可重构阵列时钟门控控制方法、装置、设备及介质 |
CN112597724A (zh) * | 2021-03-04 | 2021-04-02 | 长沙海格北斗信息技术有限公司 | 基于risc-v的芯片设计方法、导航芯片及接收机 |
CN113253824A (zh) * | 2021-06-21 | 2021-08-13 | 成都爱旗科技有限公司 | 一种基于risc-v内核的mcu系统、供电方法以及终端设备 |
CN114257619A (zh) * | 2021-12-20 | 2022-03-29 | 中科芯云微电子科技有限公司 | 一种物联网终端、物联网系统和物联网控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200990088Y (zh) * | 2006-09-29 | 2007-12-12 | 上海海尔集成电路有限公司 | 一种新型的8位risc微控制器构架 |
CN101251766A (zh) * | 2008-03-21 | 2008-08-27 | 北京中星微电子有限公司 | 一种多媒体处理平台芯片 |
CN202126688U (zh) * | 2011-02-21 | 2012-01-25 | 山东力创科技有限公司 | 基于ARM Cortex M0的通用MCU芯片 |
CN103412990A (zh) * | 2013-08-05 | 2013-11-27 | 北京航空航天大学 | 一种多层次协同低功耗设计方法 |
CN204423297U (zh) * | 2015-01-26 | 2015-06-24 | 北京神州龙芯集成电路设计有限公司 | 一种用以实现系统控制和电源管理的片上系统 |
-
2020
- 2020-04-30 CN CN202010369744.6A patent/CN111913558A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200990088Y (zh) * | 2006-09-29 | 2007-12-12 | 上海海尔集成电路有限公司 | 一种新型的8位risc微控制器构架 |
CN101251766A (zh) * | 2008-03-21 | 2008-08-27 | 北京中星微电子有限公司 | 一种多媒体处理平台芯片 |
CN202126688U (zh) * | 2011-02-21 | 2012-01-25 | 山东力创科技有限公司 | 基于ARM Cortex M0的通用MCU芯片 |
CN103412990A (zh) * | 2013-08-05 | 2013-11-27 | 北京航空航天大学 | 一种多层次协同低功耗设计方法 |
CN204423297U (zh) * | 2015-01-26 | 2015-06-24 | 北京神州龙芯集成电路设计有限公司 | 一种用以实现系统控制和电源管理的片上系统 |
Non-Patent Citations (1)
Title |
---|
胡志杰: "RISC-V 处理器的低功耗模式设计" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486245A (zh) * | 2020-12-17 | 2021-03-12 | 清华大学 | 可重构阵列时钟门控控制方法、装置、设备及介质 |
CN112597724A (zh) * | 2021-03-04 | 2021-04-02 | 长沙海格北斗信息技术有限公司 | 基于risc-v的芯片设计方法、导航芯片及接收机 |
CN112597724B (zh) * | 2021-03-04 | 2021-05-25 | 长沙海格北斗信息技术有限公司 | 基于risc-v的芯片设计方法、导航芯片及接收机 |
CN113253824A (zh) * | 2021-06-21 | 2021-08-13 | 成都爱旗科技有限公司 | 一种基于risc-v内核的mcu系统、供电方法以及终端设备 |
CN113253824B (zh) * | 2021-06-21 | 2021-11-12 | 成都爱旗科技有限公司 | 一种基于risc-v内核的mcu系统、供电方法以及终端设备 |
CN114257619A (zh) * | 2021-12-20 | 2022-03-29 | 中科芯云微电子科技有限公司 | 一种物联网终端、物联网系统和物联网控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111913558A (zh) | 一种基于risc-v指令集的低功耗微控制器的实现 | |
Lyonnard et al. | Automatic generation of application-specific architectures for heterogeneous multiprocessor system-on-chip | |
Cesario et al. | Component-based design approach for multicore SoCs | |
US5918061A (en) | Enhanced power managing unit (PMU) in a multiprocessor chip | |
Torii et al. | A 600MIPS 120mW 70/spl mu/A leakage triple-CPU mobile application processor chip | |
US11231769B2 (en) | Sequencer-based protocol adapter | |
Chowdhury et al. | AnyCore: A synthesizable RTL model for exploring and fabricating adaptive superscalar cores | |
US6694441B1 (en) | Power management method and arrangement for bus-coupled circuit blocks | |
Aldworth | System-on-a-chip bus architecture for embedded applications | |
CN100454319C (zh) | 一种导航系统的微型处理器ip核设计方法 | |
Wang et al. | A UVM verification platform for RISC-V SoC from module to system level | |
CN109948200A (zh) | 一种细粒度控制电源供应的低功耗处理器 | |
Chen et al. | YHFT-QDSP: High-performance heterogeneous multi-core DSP | |
Lee et al. | Web-based energy exploration tool for embedded systems | |
CN101286181B (zh) | 基于dw8051核的现场可编程门阵列片上可编程系统 | |
Kharade et al. | VLSI design of AMBA based AHB2APB bridge | |
CN206162380U (zh) | 异构多核处理器功耗控制装置和异构多核处理器系统 | |
Huang et al. | FPGA verification methodology for SiSoC based SoC design | |
Yue-Li et al. | Design of a high performance microcontroller | |
Srinivasan et al. | Power Evaluation of the Arbitration policy for different On-Chip Bus based SoC platform | |
Arakawa | Multicore SoC for embedded systems | |
Ouni | High-level energy characterization, modeling and estimation for OS-based platforms | |
Xiao et al. | Godson-2H: a complex low power SOC in 65nm CMOS | |
Popovic | Improving the energy efficiency of a microcontroller instruction fetch using tight loop cache | |
Clarke et al. | The system design of a Windows CE ARM based micro-controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201110 |