Power consumption control method and programmable logic device
By acquiring the status information of the service modules of the programmable logic device, the working state of the power consumption module is dynamically adjusted, which solves the problem of excessive power consumption of the device. This achieves the reduction of power consumption while ensuring the normal operation of the service modules, thereby improving the stability and service life of the equipment.
Patent Information
- Application Number
- CN202511482054.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-16
- Publication Date
- 2026-03-06
AI Technical Summary
As the complexity of programmable logic devices increases, resource consumption rises, and power consumption increases significantly, affecting device lifespan, maintenance costs, and heat dissipation difficulties, especially in mobile terminals, IoT devices, and data centers.
By acquiring the status information of the business modules, the working state of the power consumption module is dynamically adjusted, including shutting down idle clock units, disconnecting power, and configuring the cache module. Power consumption management is adjusted according to temperature and data volume to achieve normal operation of the business modules and dynamic reduction of power consumption.
Without adding extra hardware, the power consumption of programmable logic devices can be dynamically reduced, thereby improving device stability and lifespan, and reducing equipment maintenance costs and heat dissipation difficulties.
Smart Images

Figure CN121614017A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of integrated circuit technology, and more specifically, to a power consumption control method and a programmable logic device. Background Technology
[0002] Programmable logic devices are versatile, and their multi-clock tree architecture and abundant resources can support the application needs of multiple fields.
[0003] In actual product development, to expand application scenarios, designers usually make full use of the device's clock and logic resources. However, as functional complexity increases, resource utilization increases, and power consumption also increases significantly. Summary of the Invention
[0004] In view of the above problems, the present invention proposes a power consumption control method and a programmable logic device.
[0005] In a first aspect, embodiments of this application provide a power consumption control method applied to a programmable logic device, the programmable logic device including a service module and a power consumption module corresponding to the service module, the method including: acquiring status information of the service module; determining the service status of the service module based on the status information; and adjusting the working state of the power consumption module corresponding to the service module based on the service status of the service module.
[0006] Optionally, the power consumption module includes a clock unit; adjusting the operating state of the power consumption module corresponding to the service module according to the service state of the service module includes: adjusting the operating state of the clock unit according to the service state of the service module.
[0007] Optionally, the step of adjusting the working state of the clock unit according to the business state of the business module includes: if the business state of the business module is idle and the clock unit is in the start state, then the clock unit is turned off; if the business state of the business module is in the working state and the clock unit is in the off state, then the clock unit is started.
[0008] Optionally, the programmable logic device further includes multiple cache modules; the power consumption control method further includes: if the service state of the service module is idle, then one or more cache modules are determined as the first cache module corresponding to the service module; if the service state of the service module is idle and there is data transmission at the service end of the service module, then the transmission data is cached in the first cache module.
[0009] Optionally, the power consumption module further includes a power supply unit; the step of adjusting the working state of the power consumption module corresponding to the service module according to the service state of the service module further includes: if the service state of the service module is idle, then update the idle duration of the service module in the idle state; if the idle duration is greater than or equal to a preset idle threshold, then disconnect the path between the service module and the corresponding power supply unit; the power consumption control method provided in this application embodiment further includes: if the service state of the service module is working, then reset the value of the idle duration to the initial value; wherein, the initial value is less than the preset idle threshold.
[0010] Optionally, the step of adjusting the working state of the power consumption module corresponding to the service module according to the service state of the service module further includes: if the service state of the service module is working and the path between the service module and the corresponding power supply unit is disconnected, then connect the path between the service module and the corresponding power supply unit and start the clock unit.
[0011] Optionally, the programmable logic device further includes multiple cache modules, and the programmable logic device has multiple service modules; the power consumption control method provided in this application embodiment further includes: obtaining the detection temperature of the programmable logic device; if the detection temperature is greater than or equal to a preset temperature threshold, then determining a service module that meets the preset power consumption conditions as a target service module among the multiple service modules; wherein, the preset power consumption conditions include: the service state of the service module is in the working state, and the clock unit of the service module is in the startup state, and the amount of data transmitted at the service end of the service module is less than a first preset data threshold; determining one or more cache modules among the multiple cache modules as the second cache module corresponding to the target service module; turning off the clock unit corresponding to the target service module; and caching the transmitted data at the service end of the target service module to the second cache module.
[0012] Optionally, the power consumption control method provided in this application embodiment further includes: if the amount of data in the second cache module is greater than or equal to a second preset data threshold, then the clock unit corresponding to the target service module is started; wherein, the second preset data threshold is greater than the first preset data threshold.
[0013] Optionally, the status information includes one or more of the following: the presence signal of the service module, the enable signal of the service module, and the data status of the service terminal of the service module; the step of determining the service status of the service module based on the status information includes: if the presence signal of the service module corresponds to a first status, and / or the enable signal of the service module corresponds to a second status, and / or the service terminal of the service module has data transmission, then the service status of the service module is determined to be a working status; if the presence signal of the service module corresponds to a third status, and / or the enable signal of the service module corresponds to a fourth status, and / or the service terminal of the service module does not have data transmission, then the service status of the service module is determined to be an idle status; wherein, the logic corresponding to the first status is the opposite of that of the second status; the logic corresponding to the third status is the opposite of that of the fourth status.
[0014] Secondly, embodiments of this application also provide a programmable logic device, including: a service module, a power consumption module corresponding to the service module, a service identification module, and a power consumption management module; wherein, the service identification module is used to acquire the status information of the service module and to determine the service status of the service module based on the status information; the power consumption management module is used to adjust the working status of the power consumption module corresponding to the service module according to the service status of the service module.
[0015] The technical solution provided by this invention is applied to a programmable logic device (PLD). The PLD includes a service module and a power consumption module corresponding to the service module. The power consumption control method includes: acquiring the status information of the service module; determining the service status of the service module based on the status information; and adjusting the working state of the power consumption module corresponding to the service module based on the service status of the service module. Thus, without adding additional hardware conditions, the working state of the power consumption module is dynamically adjusted based on the service status of the service module, thereby dynamically reducing the power consumption of the PLD while ensuring the normal operation of the service module. Furthermore, by actively adjusting the working state of the power consumption module, the working environment of the PLD is made more stable, and the service life of the PLD is extended. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments and drawings obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0017] Figure 1 A flowchart illustrating a power consumption control method provided in an embodiment of this application is shown.
[0018] Figure 2A schematic diagram of the structure of a clock management module provided in an embodiment of this application is shown.
[0019] Figure 3 A flowchart illustrating another power consumption control method provided in an embodiment of this application is shown.
[0020] Figure 4 A schematic diagram of the structure of a power consumption control device provided in an embodiment of this application is shown.
[0021] Figure 5 A schematic diagram of another power consumption control device provided in an embodiment of this application is shown.
[0022] Figure 6 A schematic diagram of another power consumption control device provided in an embodiment of this application is shown. Detailed Implementation
[0023] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
[0024] Programmable logic devices are versatile, and their multi-clock tree architecture and abundant resources can support the application needs of multiple fields.
[0025] In actual product development, to expand application scenarios, designers usually make full use of the device's clock and logic resources. However, as functional complexity increases, resource utilization increases, and power consumption also increases significantly.
[0026] Programmable logic devices consume a lot of electrical energy during operation, which not only limits the device's lifespan but also increases maintenance costs and heat dissipation difficulties.
[0027] For example, in mobile terminal devices, the high power consumption of programmable logic devices can lead to shorter battery life and affect user experience; in IoT devices, devices often need to operate for long periods of time, and in some application scenarios, devices may be deployed in remote areas. High power consumption will require frequent battery replacements or charging, which will severely limit the application of the devices; and in data centers, high power consumption will lead to a sharp increase in heat dissipation costs.
[0028] To address the aforementioned technical problems, the inventors have proposed a power consumption control method and a programmable logic device (PLD). This power consumption control method is applied to a PLD, which includes a service module and a corresponding power consumption module. The method includes: acquiring the status information of the service module; determining the service status of the service module based on the status information; and adjusting the operating status of the corresponding power consumption module based on the service status. Thus, without adding additional hardware, the operating status of the power consumption module is dynamically adjusted based on the service status of the service module, thereby dynamically reducing the power consumption of the PLD while ensuring the normal operation of the service module. Furthermore, by actively adjusting the operating status of the power consumption module, the operating environment of the PLD is made more stable, extending the lifespan of the PLD.
[0029] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0030] Please see Figure 1 , Figure 1 This is a flowchart illustrating a power consumption control method provided in an embodiment of the present invention, as shown below. Figure 1 As shown, the method includes steps S110 to S130.
[0031] Step S110: Obtain the status information of the business module.
[0032] Step S120: Determine the business status of the business module based on the status information.
[0033] Step S130: Adjust the working state of the power consumption module corresponding to the business module according to the business status of the business module.
[0034] The power consumption control method provided in this application is applied to programmable logic devices, which are integrated circuits that use programmable logic arrays (PLAs) or programmable logic gate arrays (PLAs) to implement logic functions. They consist of a series of basic logic units (such as programmable logic gates and flip-flops), wiring resources, and other functional modules (clock management modules, power supply units, cache modules, digital signal processors, analog-to-digital converters, sensor modules, etc.). The required basic logic units and functional modules are connected through programming to achieve the desired logic functions.
[0035] The clock management module includes multiple clock units, each of which generates a corresponding clock signal. Different clock units correspond to different clock signals.
[0036] In the embodiments of this application, a service module represents a combination of basic logic units required to implement user logic. Each service module is combined with corresponding wiring resources and functional modules to implement the corresponding user logic. Here, user logic refers to the digital circuit function defined and implemented by the user (design engineer) according to the needs of the actual application, which can be input into the programmable logic device through hardware description language (such as Verilog or VHDL) or schematic diagram.
[0037] In the embodiments of this application, the power consumption module is another functional module required by the service module to implement user logic. The operation of the power consumption module will generate power consumption, such as power supply unit, clock management unit, sensor module, etc.
[0038] When the business module is working, it can implement user logic and meet user needs. When the business module is in standby mode, it is powered on and will continue to generate power consumption, such as static power consumption (various leakage currents) and dynamic power consumption (when receiving a clock signal, it will flip at the clock edge, etc.).
[0039] In practical applications, in order to meet more application scenarios, the clock management module and logic resources are often made full use of. This results in a higher resource utilization rate and higher power consumption, which means more functions (more business modules).
[0040] To improve the aforementioned technical problems, the inventors of this application, through extensive research, creatively proposed to dynamically adjust the working state of the power consumption module in conjunction with the business status of the business module, thereby ensuring the normal operation of the business module while dynamically reducing the power consumption of the programmable logic device.
[0041] Among them, programmable logic devices can obtain the status information of the service modules and determine the service status of the service modules based on the status information.
[0042] Optionally, business status includes working status and non-working status.
[0043] When the business status is active, the business modules need to run to complete the corresponding functions.
[0044] When the business status is idle, the business module does not need to participate in the work.
[0045] In some implementations, the status information includes, but is not limited to, one or more of the following: the presence signal of the service module, the enable signal of the service module, and the data status of the service module's business side.
[0046] The presence signal of the service module represents the hardware status feedback signal, indicating whether the service module is currently in the system (physically present, connected normally, and ready to work). It is understandable that the service module can only function normally when it is present.
[0047] In some implementations, the presence signal of a service module can be obtained by detecting the presence detection pin of the service module. If the presence signal of the service module corresponds to a first state, it indicates that the service module is in place; if the presence signal of the service module corresponds to a third state, it indicates that the service module is not in place.
[0048] In the embodiments of this application, the logic corresponding to the first state and the third state is opposite. Optionally, if the first state is high, then the third state is low. It is understood that in other application scenarios, the first state is low and the third state is high, and the specific settings can be made according to actual usage needs.
[0049] The enable signal for the business module is a control signal used to control whether the business module is in a working state.
[0050] In some implementations, the enable signal of the service module can be obtained by detecting the enable port of the service module. It is understood that other implementations can also be used in other implementations, such as using dedicated hardware pins or registers. The specific implementation can be set according to actual usage needs, and this application does not limit it.
[0051] If the enable signal of the business module corresponds to the second state, it indicates that the business module is in the working state; if the enable signal of the business module corresponds to the fourth state, it indicates that the business module is in the idle state.
[0052] In the embodiments of this application, the logic corresponding to the second state and the fourth state is opposite. Optionally, if the second state is high, then the fourth state is low. It is understood that in other application scenarios, the second state is low and the fourth state is high, and the specific settings can be made according to actual usage needs.
[0053] In this context, the business end of a business module refers to the interface portion used by the module to complete its core business functions. The business end directly participates in the module's main data processing or signal transmission. By monitoring the data status of the business end, the module's business status can be reflected. When the business end is transmitting data, it indicates that the module has data requiring processing and is in a working state. When the business end is not transmitting data, the module is in an idle state.
[0054] In some implementations, when there is a data stream at the business end (the data flowing at the business end, usually in the form of messages or data packets), the data stream can be analyzed to determine whether there is transmitted data in the payload field of the data stream.
[0055] The payload field is the part of the data packet or message that contains core business data. The presence of transmitted data can be confirmed by analyzing whether key fields exist in the data packet or message, and whether key fields are empty.
[0056] For example, a business module is used to adjust the device's operation based on changes in light intensity. This can be done by analyzing the payload field in data packets or messages to determine if a light intensity field exists and if it is empty. If not empty, it confirms the presence of transmitted data. In different application scenarios, the specific key fields of the payload field and the method for determining transmitted data can be determined based on the actual business being processed by the business module. These can be configured according to actual usage needs, and this application does not impose any restrictions on this.
[0057] Understandably, the clock units and business status judgment conditions corresponding to the business modules can be pre-configured to enable dynamic management of the business modules.
[0058] In some implementations, the power consumption module includes a clock unit. Then step S130 may include: adjusting the operating state of the clock unit according to the service state of the service module.
[0059] Please see Figure 2 , Figure 2 This illustration shows a structural diagram of a clock management module provided in an embodiment of this application, as shown below. Figure 2 As shown, the clock management module includes n clock units (where n is a positive integer, greater than or equal to 1), namely clock unit 1, clock unit 2, ..., and clock unit n. Different clock units output different clock signals, and each clock unit is used to output a clock signal to the corresponding clock domain for use. For example, clock unit 1 outputs a clock signal to clock domain 1, clock unit 2 outputs a clock signal to clock domain 2, ..., clock unit 3 outputs a clock signal to clock domain 3.
[0060] The clock domain represents a logical region (corresponding to one or more service modules) composed of basic logic units that use the same clock signal. Each logical region composed of clock domains can be used to implement one or more user logic modules.
[0061] In practical applications, in order to meet more application scenarios, the clock management module and logic resources are often made full use of. This results in more functions, higher resource utilization, and higher power consumption.
[0062] When the service module is in the active state, it can operate using the clock signal from the clock unit. When the service module is in the inactive state, the clock signal from the clock unit is transmitted to the service module. When the devices in the service module receive the clock signal, they will flip at the clock edge, resulting in power consumption.
[0063] To reduce system power consumption, the operating state of the clock unit can be dynamically adjusted according to the service status of the service modules. Thus, the clock unit does not need to be kept running all the time, and can be dynamically started and stopped according to the needs of the service modules, which can effectively reduce system power consumption while ensuring the normal operation of the service modules.
[0064] In some implementations, the steps include adjusting the operating state of the clock unit according to the service state of the service module, including the following steps.
[0065] (1) If the business module is in an idle state and the clock unit is in an active state, then the clock unit is turned off.
[0066] When the business module is in an idle state, it does not need to use the clock signal. If the clock unit is in the active state, the clock signal will cause the business module to generate dynamic power consumption. At this time, turning off the clock unit will stop the generation of the clock signal, and the business module will no longer receive the clock signal, thus avoiding meaningless toggling.
[0067] (2) If the business module is in the working state and the clock unit is in the off state, then start the clock unit.
[0068] When the business module is in the working state, the normal operation of the business module requires the use of a clock signal. If the clock unit is in the off state, the clock unit should be started in time to ensure the normal operation of the business module.
[0069] In some implementations, the programmable logic device also includes multiple cache modules.
[0070] After the clock unit is switched to the off state, the service module needs to be switched back to the on state to work properly. If the service module is transmitting data while the clock unit is in the off state, the service module cannot process the data in time, which may result in data loss. To prevent data loss, a buffer module can be configured for the service module to buffer the transmitted data that cannot be processed in time.
[0071] The power consumption control method provided in this application embodiment also includes the following steps.
[0072] (1) If the business status of the business module is idle, one or more cache modules are determined as the first cache module corresponding to the business module among multiple cache modules.
[0073] (2) If the business module is in an idle state and there is data being transmitted on the business end of the business module, then the data being transmitted will be cached in the first cache module.
[0074] It is understandable that when the clock unit corresponding to the business module returns to the startup state, the business module can promptly read the cached transmission data from the cache module for processing.
[0075] In some implementations, after the business module has finished reading the data from the cache module, the cache module configured for the business module can be canceled, thereby releasing the cache module resources.
[0076] In some implementations, the power consumption module further includes a power supply unit. The step of adjusting the operating state of the power consumption module corresponding to the service module according to the service state of the service module also includes the following steps.
[0077] (1) If the business status of the business module is idle, then update the idle duration of the business module in the idle state.
[0078] (2) If the idle duration is greater than or equal to the preset idle threshold, the path between the service module and the corresponding power unit is disconnected.
[0079] When a service module is idle, it does not need to operate. However, because it is constantly powered on, the devices in the service module will generate static power consumption (various leakage currents). In some feature-rich systems, some service modules are used less frequently, and being powered on for extended periods can result in significant power consumption.
[0080] To further reduce system power consumption, in the embodiments of this application, the idle time of the service module can be monitored. For example, the service status of the service module can be checked periodically according to a preset cycle.
[0081] When a business module is in an idle state, the idle duration can be continuously updated. For example, if a business module is in an idle state in the current detection period, and was in an idle state in the previous detection period, the idle duration will be increased by the period length.
[0082] Furthermore, it is determined whether the updated idle duration is greater than or equal to the preset idle threshold. If the idle duration is greater than or equal to the idle threshold, it indicates that the service module is in an idle state for a long time. The path between the service module and the corresponding power supply unit can be temporarily disconnected. Disconnecting the power supply to the service module can reduce the static power consumption caused by power-on.
[0083] Furthermore, the power consumption control method provided in this application embodiment also includes the step of: if the service state of the service module is the working state, then the value of the idle duration is reset to the initial value; wherein the initial value is less than the preset idle threshold.
[0084] In some implementations, the step of adjusting the working state of the power consumption module corresponding to the service module according to the service state of the service module further includes: if the service state of the service module is working and the path between the service module and the corresponding power supply unit is disconnected, then connect the path between the service module and the corresponding power supply unit and start the clock unit.
[0085] In some implementations, the programmable logic device (PLD) further includes multiple cache modules; the number of service modules in the PLD is also multiple. When the PLD is overheated, its electrical performance degrades, leakage current increases, and it may even cause the entire system to crash. Therefore, embodiments of this application can also mitigate the damage to the PLD caused by overheating by adjusting the service states of the service modules. The power consumption control method provided in embodiments of this application further includes the following steps.
[0086] (1) Obtain the detection temperature of the programmable logic device.
[0087] In some implementations, programmable logic devices can have temperature sensors placed in multiple locations to monitor thermal status and ensure reliable device operation. For example, temperature sensors can be placed in the power module, clock management module, hard-core processing system, etc.
[0088] Optionally, the highest temperature among the temperatures detected by multiple sensors can be used as the detection temperature. Alternatively, the average temperature detected by multiple sensors can be used as the detection temperature. The specific settings can be configured according to actual usage requirements, and this application does not impose any limitations on this.
[0089] (2) If the detected temperature is greater than or equal to the preset temperature threshold, the business module that meets the preset power consumption condition is selected as the target business module among multiple business modules.
[0090] When the temperature is too high, select the business module that can temporarily stop working from among multiple business modules as the target business module.
[0091] In some implementations, the preset power consumption conditions include: the service module is in a working state, the clock unit of the service module is in an activated state, and the amount of data transmitted at the service end of the service module is less than a first preset data threshold.
[0092] (3) Among multiple cache modules, determine one or more cache modules as the second cache module corresponding to the target business module.
[0093] (4) Turn off the clock unit corresponding to the target service module.
[0094] The order of configuring the second cache module for the target business module and disabling the clock unit can be changed or performed simultaneously, and this application does not impose any restrictions on this.
[0095] (5) Cache the transmission data of the target business module to the second cache module.
[0096] When the temperature of the programmable logic device is high, power consumption can be reduced by shutting down some service modules, thereby reducing the instantaneous thermal load on the programmable logic device and preventing damage to the system due to excessive temperature.
[0097] In some implementations, the power consumption control method provided in this application further includes: if the data volume of the second cache module is greater than or equal to a second preset data threshold, then activating the clock unit corresponding to the target service module. The second preset data threshold is greater than a first preset data threshold.
[0098] When the amount of data accumulated by the target business module reaches the second preset data threshold, the clock unit of the target business module is restored to process the data in a timely manner.
[0099] Please see Figure 3 , Figure 3 This is a flowchart illustrating another power consumption control method provided in an embodiment of the present invention, as shown below. Figure 3 As shown, the method includes steps S210 to S230.
[0100] Step S210: When the power-on of the programmable logic device is detected, the initial configuration is performed according to the instructions of the host computer.
[0101] The power consumption control method provided in this application is applied to a programmable logic device, which includes a service module, a power consumption module corresponding to the service module, a service identification module, and a power consumption management module.
[0102] Programmable logic devices can be connected to a host computer, for example, through the JTAG (Joint Test Action Group) interface, and the host computer can configure the programmable logic device.
[0103] The host computer configures the service identification module and power management module according to the type of service module and the resources of programmable logic devices (such as the number of clock management modules).
[0104] In some implementations, the configuration includes the number of service modules, the method for identifying the service status of the service modules, and the method for adjusting the working status of the power consumption modules.
[0105] Step S220: The service identification module periodically obtains the status information of the service module according to the configuration content and the preset cycle, and determines the service status of the service module based on the status information of the service module.
[0106] The service identification module may include an identification configuration unit and a status update unit. Optionally, the identification configuration unit may configure the number of service modules and the identification method for service status according to the configuration instructions from the host computer.
[0107] The service identification module can periodically confirm the service status of service modules according to a preset cycle, based on the configured number of service modules and the service status identification method, and update the service status of the service modules to the status identification unit. Optionally, the status identification unit can store the service status of the service modules in a register.
[0108] Step S230: After the service identification module detects the update of the status identification unit, it transmits the service status of the service module to the power management module.
[0109] The service identification module can poll the status identification unit, and after discovering that the register has been updated, it will transmit the service status of the service module to the power management module.
[0110] In step S240, the power management module manages the power consumption module corresponding to the service module according to the service status of the service module, and determines the service status of the service module. If the service module is in the working state, proceed to step S250; if the service module is in the idle state, proceed to step S260.
[0111] The power management module may include a power configuration unit and a status confirmation unit. Optionally, the power configuration unit may configure the number of service modules and the method for adjusting the operating status of the power modules corresponding to the service modules, according to the configuration instructions from the host computer.
[0112] The power consumption configuration unit receives the service status of the service modules, and determines the operating status of the power consumption modules corresponding to the service modules based on the configured number of service modules and the operating status adjustment method of the power consumption modules corresponding to the service modules. The operating status of the power consumption modules corresponding to the service modules is then updated to the status confirmation unit. Optionally, the status confirmation unit may store the operating status of the power consumption modules corresponding to the service modules in a register.
[0113] Step S250: Enable the clock unit corresponding to the business module whose business status is working, and release the cache module. After the clock unit and business module are working normally, proceed to step S230.
[0114] The service identification module can poll the status confirmation unit, and after discovering that the register has been updated, it can adjust the working status of the power consumption module according to the working status of the power consumption module corresponding to the service module in the status confirmation unit.
[0115] In the embodiments of this application, the power consumption module includes a clock unit. When it is confirmed that the service status corresponding to the service module is in the working state, the power consumption configuration unit updates the working status of the clock unit corresponding to the service module to the open state. At this time, the corresponding clock unit needs to be turned on to ensure that the clock signal required for normal operation of the service module is provided.
[0116] Once the business module is working normally, the caching module is no longer needed, and the corresponding caching module can be released.
[0117] Step S260: After shutting down the clock unit corresponding to the service module whose service status is idle and configuring the cache module, proceed to step S230.
[0118] When the service status corresponding to the service module is confirmed to be idle, the power consumption configuration unit updates the working status of the clock unit corresponding to the service module to the off state. At this time, by turning off the corresponding clock unit, the system power consumption is reduced. In order to store the service flow of the service module during the clock unit shutdown period, a cache module can be configured for the service module with the clock unit turned off to prevent data loss during transmission.
[0119] Please see Figure 4 , Figure 4 This is a schematic diagram of the structure of a programmable logic device provided in an embodiment of the present invention, such as... Figure 4 As shown, the programmable logic device 300 provided in this application embodiment includes: a service module 310, a power consumption module 340 corresponding to the service module 310, a service identification module 320, and a power consumption management module 330.
[0120] Here, the service module 310 represents a combination of basic logic units required to implement user logic. Each service module 310 is combined with corresponding wiring resources and functional modules to implement the corresponding user logic. It can be understood that there are one or more service modules 310, and the more functional the programmable logic device 300, the more service modules 310 there are.
[0121] The service identification module 320 is used to obtain the status information of the service module 310 and to determine the service status of the service module 310 based on the status information.
[0122] The power consumption module 340 provides other functional modules required by the service module 310 to implement user logic. The operation of the power consumption module 340 will generate power consumption, such as power supply unit, clock management unit, sensor module, etc.
[0123] In some implementations, the service identification module 320 can be pre-configured by a host computer. The configuration includes the number of service modules 310 and the method for identifying service status.
[0124] The power management module 330 is used to adjust the working state of the power module 340 corresponding to the service module 310 according to the service status of the service module 310.
[0125] In some implementations, the power management module 330 can be pre-configured by a host computer. The configuration includes the number of service modules 310, the power consumption module 340 corresponding to the service module 310, and the power consumption adjustment method.
[0126] The programmable logic device provided in this application embodiment sets up a service identification module and a power management module through existing basic logic units. The service identification module and the power management module identify the service status of the service module and adjust the operation of the power module according to the service status of the service module. No additional hardware cost is required. While ensuring the normal operation of the service module, the power consumption of the programmable logic device is dynamically reduced, which is beneficial to the heat dissipation and low power consumption design of the product.
[0127] Furthermore, the programmable logic device 300 provided in this application embodiment can be implemented by soft cores and hard cores. Soft core implementation is convenient for users to port and has higher versatility. Users can also reduce or remove functions according to system complexity, which is convenient for later maintenance and version upgrades. Hard core implementation can take power consumption module management into account, which can further reduce design complexity and power consumption, and can be applied in low-power chip circuits.
[0128] Please see Figure 5 , Figure 5 This is a schematic diagram of another programmable logic device provided in an embodiment of the present invention. Figure 5 As shown, the programmable logic device 300 includes n service modules, namely service module 1, service module 2, ..., service module n; the programmable logic device 300 also includes n power consumption modules, namely power consumption module 1, power consumption module 2, ..., power consumption module n; wherein, service module 1 corresponds to power consumption module 1, service module 2 corresponds to power consumption module 2, ..., service module n corresponds to power consumption module n.
[0129] The service identification module 320 of the programmable logic device 300 may include a port identification unit 321, an identification configuration unit 322, and a status storage unit 323.
[0130] The status information of the business module's business end enters the port identification unit 321, and the port identification unit 321 transmits the status information of the business end to the identification configuration unit 322 for further processing.
[0131] The identification configuration unit 322 can configure the number of service modules and the identification method of service status according to the configuration instructions of the host computer.
[0132] In some implementations, the identification configuration unit 322 can periodically confirm the service status of n service modules according to a preset period and the identification method of the number of configured service modules and the service status, and update the service status of the service modules to the status storage unit 323. Optionally, the status storage unit 323 can store the service status of each service module separately through registers.
[0133] In some implementations, the port identification unit 321 may also poll the status storage unit 323 according to a preset period to obtain the service status of each service module and determine whether the service status of the service module has been updated.
[0134] If the port identification unit 321 determines that the service status of the service module has been updated, it outputs the service status of the service module to the power management module 330.
[0135] Optionally, the port identification unit 321 can output the service status of all service modules to the power management module 330.
[0136] Alternatively, in order to reduce the amount of data processing, the port identification unit 321 may only output the service status of the service module that has been updated to the power management module 330.
[0137] In some implementations, the port identification unit 321 can set the polling period length according to the needs of the actual application scenario, such as 100ms, 1s, etc. It is understood that the shorter the period length, the more sensitive the port identification unit 321 is, but the corresponding data processing volume will increase. The corresponding period length can be set according to the application scenario's requirements for sensitivity and power consumption.
[0138] In some implementations, the power management module 330 of the programmable logic device 300 may include a power configuration unit 331 and a power storage unit 332.
[0139] In some implementations, the power consumption configuration unit 331 can configure the working state adjustment method of the power consumption module corresponding to the service module according to the configuration instructions of the host computer.
[0140] The power configuration unit 331 receives the service status of the service module sent by the port identification unit 321, and determines the working status of the power module corresponding to the service module according to the number of configured service modules and the working status adjustment method of the power module corresponding to the service module, and updates the working status of the power module corresponding to the service module to the power storage unit 332.
[0141] Optionally, the power storage unit 332 can store the operating status of the power module corresponding to the service module through a register.
[0142] In some implementations, the power storage unit 332 can be configured to control the operating state of the power module, that is, the operating state of the power module stored in the power storage unit 332 can be used as a control signal for the power module.
[0143] In other embodiments, the operating state of the power consumption module is directly controlled by the power consumption storage unit 332. However, signal glitches may exist, affecting control accuracy. To reduce errors and improve control quality, such as... Figure 6 As shown, the power management module 330 may also include a power control unit 333. The power control unit 333 can read the operating status of each power module in the power storage unit 332 to ensure that the signal is stable during the control period (if the signal output by the register is used directly for control, the output of the register will only stabilize after a period of time after the rising edge of the clock. After the rising edge of the clock, the output of the register will change, which is prone to glitches), and control the power modules according to the operating status of the power modules.
[0144] Optionally, the power consumption control unit 333 can be implemented by hardware units such as state machines and gating units, or it can be implemented by software configuration.
[0145] In summary, this application provides a power consumption control method and a programmable logic device. The power consumption control method is applied to a programmable logic device, which includes a service module and a corresponding power consumption module. The power consumption control method includes: acquiring the status information of the service module; determining the service status of the service module based on the status information; and adjusting the operating status of the power consumption module corresponding to the service module based on the service status. Thus, without adding additional hardware conditions, the operating status of the power consumption module is dynamically adjusted based on the service status of the service module, thereby dynamically reducing the power consumption of the programmable logic device while ensuring the normal operation of the service module. Furthermore, by actively adjusting the operating status of the power consumption module, the operating environment of the programmable logic device is made more stable, extending the lifespan of the programmable logic device.
[0146] In this embodiment, the modules / units included in the various devices and products described in the above embodiments can be software modules / units, hardware modules / units, or a combination of both.
[0147] For example, for various devices and products applied to or integrated into a chip, each module / unit can be implemented using hardware methods such as circuits, or at least some modules / units can be implemented using software programs that run on a processor integrated within the chip, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits; for various devices and products applied to or integrated into a chip module, each module / unit can be implemented using hardware methods such as circuits, and different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or different components of the chip module, or at least some modules / units... It can be implemented using software programs that run on the processor integrated within the chip module. The remaining modules / units (if any) can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into the terminal, each of its modules / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or different components within the terminal. Alternatively, at least some modules / units can be implemented using software programs that run on the processor integrated within the terminal, while the remaining modules / units (if any) can be implemented using hardware methods such as circuits.
[0148] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the above-described device and module can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0149] In the several embodiments provided in this application, the coupling between modules can be electrical, mechanical, or other forms of coupling.
[0150] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0151] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A power consumption control method characterized by comprising: The application is applied to a programmable logic device, the programmable logic device comprises a service module and a power consumption module corresponding to the service module, and the method comprises: acquiring state information of the service module; determining a service state of the service module according to the state information; adjusting a working state of the power consumption module corresponding to the service module according to the service state of the service module.
2. The power consumption control method according to claim 1, characterized by, The power consumption module comprises a clock unit; The adjusting of the working state of the power consumption module corresponding to the service module according to the service state of the service module comprises: adjusting a working state of the clock unit according to the service state of the service module.
3. The power consumption control method according to claim 2, wherein The adjusting of the working state of the clock unit according to the service state of the service module comprises: if the service state of the service module is an idle state and the clock unit is in a start state, then the clock unit is closed; if the service state of the service module is a working state and the clock unit is in a closed state, then the clock unit is started.
4. The power consumption control method according to claim 2, wherein The programmable logic device further comprises a plurality of cache modules; the power consumption control method further comprises: if the service state of the service module is an idle state, then one or more cache modules in the plurality of cache modules are determined as first cache modules corresponding to the service module; if the service state of the service module is an idle state and there is transmission data in a service end of the service module, then the transmission data is cached to the first cache modules.
5. The power consumption control method according to claim 2, wherein The power consumption module further comprises a power supply unit; the adjusting of the working state of the power consumption module corresponding to the service module according to the service state of the service module further comprises: if the service state of the service module is an idle state, then an idle duration during which the service module is in the idle state is updated; if the idle duration is greater than or equal to a preset idle threshold, then a path between the service module and a corresponding power supply unit is disconnected; The power consumption control method further comprises: if the service state of the service module is a working state, then a value of the idle duration is reset to an initial value; wherein the initial value is less than the preset idle threshold.
6. The power consumption control method according to claim 5, wherein The adjusting of the working state of the power consumption module corresponding to the service module according to the service state of the service module further comprises: if the service state of the service module is a working state and a path between the service module and a corresponding power supply unit is in a disconnected state, then the path between the service module and the corresponding power supply unit is connected, and the clock unit is started.
7. The power consumption control method according to claim 2, wherein The programmable logic device further comprises a plurality of cache modules; the number of service modules of the programmable logic device is a plurality; The power consumption control method further comprises: acquiring a detected temperature of the programmable logic device; if the detected temperature is greater than or equal to a preset temperature threshold, then a service module satisfying a preset power consumption condition is determined as a target service module in the plurality of service modules; wherein the preset power consumption condition comprises: a service state of the service module is a working state, a clock unit of the service module is in a start state, and a data amount of transmission data of a service end of the service module is less than a first preset data threshold. determining one or more cache modules as second cache modules corresponding to the target service module from the plurality of cache modules; turning off a clock unit corresponding to the target service module; buffering transmission data of a service end of the target service module to the second cache module.
8. The power consumption control method according to claim 7, wherein The power consumption control method further comprises: if the data amount of the second cache module is greater than or equal to a second preset data threshold, starting the clock unit corresponding to the target service module; wherein the second preset data threshold is greater than the first preset data threshold.
9. The power consumption control method according to any one of claims 1 to 8, characterized by, The state information comprises one or more of a bit signal of the service module, an enable signal of the service module, and a data condition of a service end of the service module. The determining of the service state of the service module according to the state information comprises: if the bit signal of the service module corresponds to a first state, and / or the enable signal of the service module corresponds to a second state, and / or there is transmission data at the service end of the service module, determining that the service state of the service module is a working state; if the bit signal of the service module corresponds to a third state, and / or the enable signal of the service module corresponds to a fourth state, and / or there is no transmission data at the service end of the service module, determining that the service state of the service module is an idle state; wherein the logic corresponding to the first state and the second state is opposite; and the logic corresponding to the third state and the fourth state is opposite.
10. A programmable logic device, characterized by comprises: a service module, a power consumption module corresponding to the service module, a service identification module, and a power consumption management module; The service identification module is configured to acquire state information of the service module, and to determine a service state of the service module according to the state information. The power consumption management module is configured to adjust a working state of the power consumption module corresponding to the service module according to the service state of the service module.