发明内容
本发明提供了一种SRAM模块的电源管理系统及电源管理方法、FPGA芯片,用以确定在FPGA芯片上电过程中各个电源的上电顺序,使内部逻辑清晰,减小功耗。
第一方面,本发明提供了一种SRAM模块的电源管理系统,该电源管理系统应用于FPGA芯片中。该电源管理系统包括电源管理模块、电源管理控制器及振荡器。其中,电源管理模块用于给SRAM模块供电,且电源管理模块的供电电压包括内核电压及模拟输入输出电压。电源管理模块具有用于判断内核电压及模拟输入输出电压是否完成上电的上电复位模块。电源管理控制器及振荡器用于在上电复位模块判断内核电压及模拟输入输出电压完成上电后,控制电源管理模块对SRAM模块上电。电源管理控制器及振荡器还用于在SRAM模块完成上电后,控制电源管理电路对SRAM模块清零。
在上述的方案中,通过设置上电复位模块判断内核电压及模拟输入输出电压是否完成上电;并在上电复位模块判断内核电压及模拟输入输出电压完成上电后,电源管理控制器及振荡器控制电源管理模块对SRAM模块上电;在SRAM模块完成上电后,控制电源管理电路对SRAM模块清零。通过采用先上电,之后再清零的方式,使内部各个电源的上电顺序明确,可避免上电与清零同时进行时,不能同时完成,导致内部逻辑混乱的情形,从而减小芯片的功耗。
在一个具体的实施方式中,SRAM模块包括SRAM阵列、字线驱动模块及位线驱动模块;电源管理模块对SRAM模块上电具体为:电源管理控制器及振荡器控制电源管理模块以内核电压对字线驱动模块上电;电源管理控制器及振荡器在字线驱动模块完成上电后,控制电源管理模块以设定电压对SRAM阵列上电;其中,设定电压大于内核电压。通过采用SRAM阵列的供电电压(设定电压)大于内核电压,提高SRAM模块的运行效率。且通过采用先对字线驱动模块先供电,后对SRAM阵列后供电的方式,保证SRAM阵列在上电过程中不会出现大电流的现象,便于将数据锁存到SRAM阵列中。
在一个具体的实施方式中,电源管理控制器及振荡器还用于对SRAM阵列上电完成后,对SRAM阵列清零前,控制电源管理模块上拉字线驱动模块的供电电压至不小于设定电压;且电源管理模块对SRAM阵列清零时,字线驱动模块的供电电压不小于设定电压。通过在清零前,上拉字线驱动模块的供电电压不小于设定电压,保证SRAM模块的字线驱动模块的输出状态稳定。
在一个具体的实施方式中,设定电压的大小随FPGA芯片的结温的升高而降低,保证FPGA芯片的运行速度和可靠性。
在一个具体的实施方式中,电源管理模块还包括:带隙基准模块,其中带隙基准模块的供电电压为模拟输入输出电压,上电复位模块与带隙基准模块的输出端连接;与带隙基准模块的输出端连接且用于给字线驱动模块供的第一LDO(Low Dropout Regulator低压差线性稳压器);与带隙基准模块连接且用于给SRAM阵列供电的第二LDO。设计了两套LDO分别给SRAM模块中的WLDR(字线驱动模块)和SRAM阵列提供不同可配置的电源电压。且两套LDO从带隙基准模块获得精准的基准参考电压,产生出精准的输出电源,提高SRAM模块的运行速度。
在一个具体的实施方式中,电源管理控制器及振荡器还用于在SRAM模块完成清零后,控制电源管理模块对SRAM模块编程;且电源管理模块对SRAM模块编程时,字线驱动模块的供电电压不小于设定电压,保证SRAM可以正常写入。
在一个具体法实施方式中,电源管理控制器及振荡器还用于在电源管理模块对SRAM模块编程后,控制电源管理模块对SRAM模块读取;电源管理控制器及振荡器还用于在电源管理模块对SRAM模块编程后且读取前,控制电源管理模块下拉字线驱动模块的供电电压至内核电压。保证SRAM模块能够正常读取。
第二方面,本发明还提供了一种FPGA芯片,该FPGA芯片包括SRAM模块及上述任意一种电源管理系统。通过设置上电复位模块判断内核电压及模拟输入输出电压是否完成上电;并在上电复位模块判断内核电压及模拟输入输出电压完成上电后,电源管理控制器及振荡器控制电源管理模块对SRAM模块上电;在SRAM模块完成上电后,控制电源管理电路对SRAM模块清零。通过采用先上电,之后再清零的方式,使内部各个电源的上电顺序明确,可避免上电与清零同时进行时,不能同时完成,导致内部逻辑混乱的情形,从而减小芯片的功耗。
第三方面,本发明还提供了一种上述SRAM模块的电源管理系统对应的电源管理方法,该电源管理方法包括:在上电复位模块判断内核电压及模拟输入输出电压完成上电后,电源管理控制器及振荡器控制电源管理模块对SRAM模块上电;在电源管理模块对SRAM模块完成上电后,电源管理控制器及振荡器控制电源管理模块对SRAM模块清零。
通过设置上电复位模块判断内核电压及模拟输入输出电压是否完成上电;并在上电复位模块判断内核电压及模拟输入输出电压完成上电后,电源管理控制器及振荡器控制电源管理模块对SRAM模块上电;在SRAM模块完成上电后,控制电源管理电路对SRAM模块清零。通过采用先上电,之后再清零的方式,使内部各个电源的上电顺序明确,可避免上电与清零同时进行时,不能同时完成,导致内部逻辑混乱的情形,从而减小芯片的功耗。
在一个具体的实施方式中,SRAM模块包括SRAM阵列、字线驱动模块及位线驱动模块。电源管理模块对SRAM模块上电具体为:电源管理控制器及振荡器控制电源管理模块以内核电压对字线驱动模块上电;电源管理控制器及振荡器在字线驱动模块完成上电后,控制电源管理模块以设定电压对SRAM阵列上电;其中,设定电压大于内核电压。通过采用SRAM阵列的供电电压(设定电压)大于内核电压,提高SRAM模块的运行效率。且通过采用先对字线驱动模块先供电,后对SRAM阵列后供电的方式,保证SRAM阵列在上电过程中不会出现大电流的现象,便于将数据锁存到SRAM阵列中。
在一个具体的实施方式中,电源管理控制器及振荡器控制电源管理模块以设定电压对SRAM阵列上电具体为:电源管理控制器及振荡器控制电源管理模块的第二LDO以设定电压对SRAM阵列上电,以便于对SRAM阵列上电,及保证对SRAM阵列供应稳定的电压电源,提高SRAM模块的运行速度。
在一个具体的实施方式中,上述电源管理方法还包括:在电源管理模块对SRAM阵列上电完成后,对SRAM阵列清零前,电源管理控制器及振荡器控制电源管理模块上拉字线驱动模块的供电电压至不小于设定电压;且电源管理模块对SRAM阵列清零时,字线驱动模块的供电电压不小于设定电压。通过在清零前,上拉字线驱动模块的供电电压不小于设定电压,保证SRAM模块的字线驱动模块的输出状态稳定。
在一个具体的实施方式中,电源管理控制器及振荡器控制电源管理模块上拉字线驱动模块的供电电压至不小于设定电压具体为:电源管理控制器及振荡器控制电源管理模块的第一LDO上拉字线驱动模块的供电电压至不小于设定电压。以便于对字线驱动模块上电,及保证对字线驱动模块供应稳定的电压电源,提高SRAM模块的运行速度。
在一个具体的实施方式中,上述电源管理方法还包括:在电源管理模块对SRAM模块清零后,电源管理控制器及振荡器控制电源管理模块对SRAM阵列编程;且电源管理模块对SRAM模块编程时,字线驱动模块的供电电压不小于设定电压,保证SRAM可以正常写入。
在一个具体的实施方式中,上述电源管理方法还包括:在电源管理模块对SRAM模块编程后,电源管理控制器及振荡器控制电源管理模块下拉字线驱动模块的供电电压至内核电压;电源管理控制器及振荡器控制电源管理模块对SRAM阵列进行读取,且电源管理模块对SRAM阵列进行读取时,字线驱动模块的供电电压等于内核电压。保证SRAM模块能够正常读取。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
为了方便理解本发明实施例提供的SRAM模块的电源管理系统,下面首先说明一下本发明实施例提供的SRAM模块的电源管理系统的应用场景,该SRAM模块的电源管理系统应用于FPGA芯片中以对FPGA芯片中的SRAM模块的供电方式进行管理。其中,FPGA芯片包括SRAM模块及SRAM模块的电源管理系统。下面结合附图对该SRAM模块的电源管理系统进行详细的叙述。
参考图1及图2,本发明实施例提供的SRAM模块30的电源管理系统20包括电源管理模块21、电源管理控制器22及振荡器23,以对FPGA芯片10中的SRAM模块30的供电方式进行管理。其中,电源管理模块21用于给SRAM模块30供电,电源管理模块21的供电电压包括内核电压及模拟输入输出电压。上述内核电压及模拟输入输出电压为现有技术中FPGA芯片10中常用的电压类型。如图2所示,电源管理模块21具有用于判断内核电压及模拟输入输出电压是否完成上电的上电复位模块212。电源管理控制器22及振荡器23用于在上电复位模块212判断内核电压及模拟输入输出电压完成上电后,控制电源管理模块21对SRAM模块30上电。电源管理控制器22及振荡器23还用于在SRAM模块30完成上电后,控制电源管理电路对SRAM模块30清零。
在上述的方案中,通过设置上电复位模块212判断内核电压及模拟输入输出电压是否完成上电;并在上电复位模块212判断内核电压及模拟输入输出电压完成上电后,电源管理控制器22及振荡器23控制电源管理模块21对SRAM模块30上电;在SRAM模块30完成上电后,控制电源管理电路对SRAM模块30清零。通过采用先上电,之后再清零的方式,使内部各个电源的上电顺序明确,可避免上电与清零同时进行时,不能同时完成,导致内部逻辑混乱的情形,从而减小芯片的功耗。
参考图2,电源管理模块21具有带隙基准模块211,带隙基准模块211的供电电压为模拟输入输出电压。上电复位模块212与带隙基准模块211的输出端连接,以判断FPGA芯片10中的内核电压与模拟输入输出电压是否完成上电。通过设置带隙基准模块211,以给电源管理模块21提供稳定的基准电压,以提高SRAM模块30的运行速度。应当理解的是,带隙基准模块211并不是电源管理模块21中的必要部件,也可以采用模拟输入输出电压直接与上电复位模块212连接的方式。
参考图1及图2,SRAM模块30包括SRAM阵列33、字线驱动模块31及位线驱动模块32。其中,SRAM阵列33用于存储数据,字线驱动模块31及位线驱动模块32用于读写数据。在具体设置时,SRAM阵列33、字线驱动模块31及位线驱动模块32均为现有技术中常规使用的结构。
在电源管理模块21对SRAM模块30具体上电时,其采用先对字线驱动模块31上电,之后对SRAM阵列33进行上电的方式,即采用分时上电,保证SRAM阵列33在上电过程中不会出现大电流的现象,便于将数据锁存到SRAM阵列33中。如图3所示,可以将先对字线驱动模块31上电,之后对SRAM阵列33上电的过程称为预清零阶段。
在电源管理模块21对字线驱动模块31上电时,电源管理控制器22及振荡器23控制电源管理模块21以上述内核电压对字线驱动模块31上电。即在电源管理模块21中的上电复位模块212判断到内核电压及模拟输入输出电压上电完成后,上电复位模块212向电源管理控制器22及振荡器23传送一个上电复位完成的信号(可以por_n信号表示),电源管理控制器22及振荡器23收到por_n信号后,通过采用振荡器23的定时功能,在延迟时间T1后,启动电源管理模块21对字线驱动模块31的上电,且采用内核电压的大小对字线驱动模块31上电。
在具体设置时,参考图2,电源管理模块21还可以包括与带隙基准模块211的输出端连接且用于给字线驱动模块31供的第一LDO213,其中,第一LDO213用于给字线驱动模块31提供不同的电压信号,且第一LDO213与带隙基准模块211的输出端连接,从而获得精准的基准参考电压,产生出精准的输出电源,从而提高SRAM模块30的运行速度。应当注意的是,上述第一LDO213模块并不限于与带隙基准模块211的输出端连接的方式,其还可以直接与模拟输入输出电压的输出端连接。
继续参考图1及图2,电源管理模块21还包括与第一LDO213的输出端连接的开关模块214,开关模块214的供电电压之一为内核电压,以给字线驱动模块31提供稳定的内核电压。其中,第一LDO213为现有技术中常规的低压差线性稳压器。在需要调整字线驱动模块31的输入电压(可以VCC_WLDR表示),电源管理控制器22可以向第一LDO213传送改变字线驱动模块31的输入电压(VCC_WLDR),使第一LDO213与开关模块214及内核电压共同配合,以提供给字线驱动模块31不同的输入电压。参考图2及图3,电源管理控制器22及振荡器23收到por_n信号后,通过采用振荡器23的定时功能,在延迟时间T1后,先第一LDO213传送一个启动电源管理模块21对字线驱动模块31的上电的信号(可以por_erase_n表示)。应当理解的是,上述仅仅示出了电源管理模块21给字线驱动模块31供电的一种方式,除此之外,还可以采用其他的方式。
参考图1、图2及图3,在电源管理控制器22及振荡器23在控制电源管理模块21对字线驱动模块31完成上电后,电源管理控制器22及振荡器23控制电源管理模块21以设定电压(可以VCC_SRAM表示)对SRAM阵列33上电;其中,设定电压(以图3中的V2表示设定电压)大于内核电压(以图3中的VCC表示内核电压)。通过采用SRAM阵列33的供电电压(设定电压)大于内核电压,提高SRAM模块30的运行速度。
在具体实现电源管理模块21对SRAM阵列33供电时,参考图2,电源管理模块21还包括与带隙基准模块211连接且用于给SRAM阵列33供电的第二LDO215。具体的,第二LDO215与带隙基准模块211的输出端连接,且第二LDO215的输出端与SRAM阵列33连接,以给SRAM阵列33供电。参考图2,电源管理控制器22可以先第二LDO215传送改变第二LDO215的输出电压的信号,以打开第二LDO215或关闭第二LDO215,以实现对SRAM模块30的打开与关闭。甚至还可以传送改变第二LDO215的输出电压的信号,以改变SRAM阵列33的输入电压。在具体确定SRAM阵列33的输入电压时,设定电压的大小可以随FPGA芯片10的结温的升高而降低(其中,FPGA芯片10的结温是指FPGA芯片10内部的温度),从而保证FPGA芯片10的运行速度和可靠性。通过在电源管理模块21中设计了两套LDO分别给SRAM模块30中的WLDR(字线驱动模块31)和SRAM阵列33提供不同可配置的电源电压。且两套LDO从带隙基准模块211获得精准的基准参考电压,产生出精准的输出电源,提高SRAM模块30的运行速度。具体的过程如图2及图3所示,在电源管理模块21对字线驱动模块31上电完成后,电源管理控制器22及振荡器23通过采用定时功能的方式,在延时T3后向第二LDO215传送一个启动电源管理模块21对SRAM阵列33上电的信号(可以por_sram_n表示)。
参考图2及图3,电源管理控制器22及振荡器23还用于对SRAM阵列33上电完成后,对SRAM阵列33清零前,控制电源管理模块21上拉字线驱动模块31的供电电压至不小于设定电压;且电源管理模块21对SRAM阵列33清零时,字线驱动模块31的供电电压不小于设定电压。具体的,参考图2及图3,在电源管理模块21对SRAM阵列33上电完成后,也即预清零阶段结束,此时,电源管理控制器22及振荡器23运用其时钟控制功能,在延时T3后,向第一LDO213传送一个确定预清零阶段结束的信号(可以rst_n表示)。如图2及图3所示,在电源管理模块21对SRAM阵列33上电完成后,第一LDO213收到预清零阶段完成的信号后,上拉字线驱动模块31的供电电压不小于设定电压,以图3中的V1表示上拉后的电压,其中,V1≥V2。具体的,可以使字线驱动模块31的供电电压等于设定电压,也可以使字线驱动模块31的供电电压大于设定电压。保证SRAM模块30的字线驱动模块31的输出状态稳定。
另外,在预清零阶段结束时,电路管理模块21也完成了对位线驱动模块32的上电,使位线驱动模块32内部的寄存器复位。
参考图1、图2及图3,电源管理控制器22及振荡器23还与FPGA芯片10中的控制电路连接,FPGA芯片10中的控制电路可以给电源管理控制器22及振荡器23发送清零信号(可以erase表示)、编程信号(可以prog_on表示)、以及读取信号(可以read_on表示)。
以图2及图3为例,在电源管理控制器22及振荡器23收到FPGA芯片10中的控制电路发出的清零信号时,此时,电源管理控制器22及振荡器23距离预清零阶段完成具有T4时间的延迟,电源管理控制器22及振荡器23控制电源管理模块21对SRAM模块30进行清零。在清零时,由于字线驱动模块31的供电电压不小于SRAM阵列33的设定电压,其相对现有技术中仍然采用内核电压作为清零电压的方式,运行速度较快。
参考图2及图3,电源管理控制器22及振荡器23还用于在SRAM模块30完成清零后,控制电源管理模块21对SRAM模块30编程;且电源管理模块21对SRAM模块30编程时,字线驱动模块31的供电电压不小于设定电压,具体的,字线驱动模块31的供电电压可以等于设定电压,也可以大于设定电压,以保证SRAM可以正常写入。具体的,在电源管理控制器22及振荡器23收到FPGA芯片10的控制电路传送的编程信号后,电源管理控制器22控制电源管理电路对SRAM阵列33进行编程。
继续参考图2及图3,电源管理控制器22及振荡器23还用于在电源管理模块21对SRAM模块30编程后,控制电源管理模块21对SRAM模块30读取;电源管理控制器22及振荡器23还用于在电源管理模块21对SRAM模块30编程后且读取前,控制电源管理模块21下拉字线驱动模块31的供电电压至内核电压。保证SRAM模块30能够正常读取。具体的,如图2及图3所示,在电源管理控制器22及振荡器23收到FPGA芯片10的控制电路传送的编程信号后,电源管理控制器22控制电源管理电路对SRAM阵列33进行编程。在电源管理控制器22及振荡器23收到FPGA芯片10的控制电路传送的读写信号后,电源管理控制器22及振荡器23向电源管理模块21传送一个vddt_n信号,以控制电源管理模块21下拉字线驱动模块31的供电电压至内核电压。在延迟时间T5后,字线驱动模块31的供电电压下降至内核电压,保证SRAM模块30能够正常读取。
在设置上述的电源管理控制器22时,参考图2,电源管理控制器22包括有三个延时单元221及一个逻辑控制单元222,逻辑控制单元222还与FPGA芯片10中的控制电路连接,以接收FPGA芯片10的控制电路传送过来的不同的控制信号(具体可以为清零信号、编程信号、读取信号)。继续参考图2,三个延时单元221及逻辑控制单元222分别与振荡器23连接,以在不同的时间向电源管理模块21传送不同的控制信号,具体的控制信号参考上电的描述,在此不再赘述。应当理解的是,图2仅仅示出了设置电源管理控制器22的一种方式,除此之外,还可以采用其他可以接收FPGA芯片10的控制电路传送的控制信号,且可以在不同时间向电源管理模块21传送不同的控制信号的装置。
通过设置上电复位模块212判断内核电压及模拟输入输出电压是否完成上电;并在上电复位模块212判断内核电压及模拟输入输出电压完成上电后,电源管理控制器22及振荡器23控制电源管理模块21对SRAM模块30上电;在SRAM模块30完成上电后,控制电源管理电路对SRAM模块30清零。通过采用先上电,之后再清零的方式,使内部各个电源的上电顺序明确,可避免上电与清零同时进行时,不能同时完成,导致内部逻辑混乱的情形,从而减小芯片的功耗。
另外,本发明实施例还提供了一种FPGA芯片10,该FPGA芯片10包括SRAM模块30及上述任意一种电源管理系统20。通过设置上电复位模块212判断内核电压及模拟输入输出电压是否完成上电;并在上电复位模块212判断内核电压及模拟输入输出电压完成上电后,电源管理控制器22及振荡器23控制电源管理模块21对SRAM模块30上电;在SRAM模块30完成上电后,控制电源管理电路对SRAM模块30清零。通过采用先上电,之后再清零的方式,使内部各个电源的上电顺序明确,可避免上电与清零同时进行时,不能同时完成,导致内部逻辑混乱的情形,从而减小芯片的功耗。
此外,本发明实施例还提供了一种上述SRAM模块30的电源管理系统20对应的电源管理方法,该电源管理方法包括:在上电复位模块212判断内核电压及模拟输入输出电压完成上电后,电源管理控制器22及振荡器23控制电源管理模块21对SRAM模块30上电;在电源管理模块21对SRAM模块30完成上电后,电源管理控制器22及振荡器23控制电源管理模块21对SRAM模块30清零。具体的步骤以及供电方式参考上述关于电源管理系统20的描述,在此不再赘述。
通过设置上电复位模块212判断内核电压及模拟输入输出电压是否完成上电;并在上电复位模块212判断内核电压及模拟输入输出电压完成上电后,电源管理控制器22及振荡器23控制电源管理模块21对SRAM模块30上电;在SRAM模块30完成上电后,控制电源管理电路对SRAM模块30清零。通过采用先上电,之后再清零的方式,使内部各个电源的上电顺序明确,可避免上电与清零同时进行时,不能同时完成,导致内部逻辑混乱的情形,从而减小芯片的功耗。
在对SRAM模块30供电时,电源管理控制器22及振荡器23控制电源管理模块21以内核电压对字线驱动模块31上电;电源管理控制器22及振荡器23在字线驱动模块31完成上电后,控制电源管理模块21以设定电压对SRAM阵列33上电;其中,设定电压大于内核电压。具体法供电方式参考上述的描述,在此不再赘述。通过采用SRAM阵列33的供电电压(设定电压)大于内核电压,提高SRAM模块30的运行效率。且通过采用先对字线驱动模块31先供电,后对SRAM阵列33后供电的方式,保证SRAM阵列33在上电过程中不会出现大电流的现象,便于将数据锁存到SRAM阵列33中。
其中电源管理控制器22及振荡器23控制电源管理模块21以设定电压对SRAM阵列33上电具体为:电源管理控制器22及振荡器23控制电源管理模块21的第二LDO215以设定电压对SRAM阵列33上电,以便于对SRAM阵列33上电,及保证对SRAM阵列33供应稳定的电压电源,提高SRAM模块30的运行速度。具体的步骤参考上述的描述,在此不再赘述。
上述电源管理方法还包括:在电源管理模块21对SRAM阵列33上电完成后,对SRAM阵列33清零前,电源管理控制器22及振荡器23控制电源管理模块21上拉字线驱动模块31的供电电压至不小于设定电压;且电源管理模块21对SRAM阵列33清零时,字线驱动模块31的供电电压不小于设定电压。具体的设置方式及流程参考上述的描述,在此不再赘述。通过在清零前,上拉字线驱动模块31的供电电压不小于设定电压,保证SRAM模块30的字线驱动模块31的输出状态稳定。
电源管理控制器22及振荡器23控制电源管理模块21上拉字线驱动模块31的供电电压至不小于设定电压具体为:电源管理控制器22及振荡器23控制电源管理模块21的第一LDO213上拉字线驱动模块31的供电电压至不小于设定电压。具体的设置方式参考上述的描述,在此不再赘述。以便于对字线驱动模块31上电,及保证对字线驱动模块31供应稳定的电压电源,提高SRAM模块30的运行速度。
上述电源管理方法还包括:在电源管理模块21对SRAM模块30清零后,电源管理控制器22及振荡器23控制电源管理模块21对SRAM阵列33编程;且电源管理模块21对SRAM模块30编程时,字线驱动模块31的供电电压不小于设定电压,保证SRAM可以正常写入。具体的实现方式参考上述的描述,在此不再赘述。
上述电源管理方法还包括:在电源管理模块21对SRAM模块30编程后,电源管理控制器22及振荡器23控制电源管理模块21下拉字线驱动模块31的供电电压至内核电压;电源管理控制器22及振荡器23控制电源管理模块21对SRAM阵列33进行读取,且电源管理模块21对SRAM阵列33进行读取时,字线驱动模块31的供电电压等于内核电压。保证SRAM模块30能够正常读取。具体的方式参考上述的描述,在此不再赘述。