it
Nelle architetture riconfigurabili a grana grossa, quando viene eseguita un’applicazione la parte del design non necessario alla computazione spreca potenza. In particolare il consumo di potenza è composto da due termini, dinamico e statico. Il primo è dovuto invece alla corrente derivante dal caricamento e scaricamento continuo della capacità di carico durante le transizioni. Il secondo è dovuto alle correnti di leakage, ed è presente anche quando non ci sono transizioni di stato. Le due tecniche più efficaci nella limitazione della potenza dinamica e statica sono rispettivamente clock gating e power gating. Il clock gating è una tecnica che consiste nel disattivare il clock della logica non coinvolta nella computazione, mentre il power gating consiste nello scollegare l’alimentazione alla logica non utilizzata.
MDC integra un sistema automatico per la gestione della dissipazione di potenza, basato sulle tecniche di clock gating e power gating, che identifica le regioni logiche omogenee nel design e le attiva/disattiva, preservando la correttezza della computazione.
Le fasi che concorrono all’implementazione automatica della gestione della dissipazione di potenza, schematizzate in figura, sono:
- Logic regions identification: durante questa fase MDC analizza le specifiche dataflow in ingresso ed estrae da esse gli insiemi di risorse che da un punto di vista funzionale sono sempre attive/inattive insieme; questi insiemi sono chiamati regioni logiche (LR). L’identificazione delle LR consente al progettista di gestire l’attivazione della logica a un livello di grana grossa, invece che a un livello di grana fine (cioè operando sul singolo attore).
- Power saving:
- clock gating: la gestione del clock gating viene implementata su tecnologia ASIC per mezzo di semplici porte and, chiamate celle di clock gating, che prendono come input il clock di sistema. Quando la funzionalità di clock gating è abilitata, l’output della cella di clock gating è basso, e le transizioni logiche della corrispondente LR associate al clock non avvengono più. Su FPGA l’implementazione del clock gating richiede l’utilizzo di specifici moduli presenti sulla scheda. Questi moduli sono in numero limitato e potrebbero non essere sufficienti per tutte le LR identificate dal tool. MDC gestisce anche questo aspetto: se il numero dei moduli è inferiore a quello delle LR, il tool accorpa alcune LR tentando di minimizzare comunque l’overhead di dissipazione dovuto a queste regioni sub-ottimali.
- power gating: l’implementazione del power gating richiede diversa logica addizionale (sleep transistors per accendere/spegnere l’alimentazione, isolation cells per evitare la trasmissione di segnali spuri in input a celle normalmente accese, e state retention cells per salvare lo stato interno delle regioni spente). Questa logica viene inserita per mezzo di un file di power format (il Common Power Format (CPF) promosso dalla Silicon Integration Initiative), che consente ai progettisti di specificare i requisiti di potenza in fase di progettazione, senza dover modificare direttamente l’RTL. In base alle LR identificate e alla loro composizione, MDC scrive il file CPF che contiene tutte le necessarie informazioni relative ai requisiti di potenza. Inoltre genera automaticamente un Power Controller che pilota tutti i segnali necessari ad abilitare la logica di power gating.
Per maggiori dettagli riguardo gli algoritmi implementati da MDC per identificare le regioni logiche e minimizzare la potenza delle stesse sono consultabili i seguenti articoli: Power-Awarness in Coarse-Grained Reconfigurable Designs: a Dataflow Based Strategy, Coarse-Grained Reconfiguration: Dataflow-Based Power Management, Automated Power Gating Methodology for Dataflow-Based Reconfigurable Systems, Early Stage Automatic Strategy for Power-Aware Signal Processing Systems.
en
Within a coarse-grained reconfigurable architectures when an application is executed the parts of the design not involved in the computation waste power. In particular, power consumption is determined by two different contributions: dynamic and static. The former is due to capacitance charging/discharging when logic transitions occur. The latter is due to leakage currents and it is consumed even when the circuit is not switching. Two of the most effective techniques in saving dynamic and static power are clock gating and power gating. Clock gating consists in switching off the clock of the logic not involved in the computation, while power gating consists in shutting down the supply voltage.
MDC features an automated power management technique, based on clock gating and power gating techniques, which identifies the homogenous logic regions in the design and enables/disables them at the same time, preserving the overall computing correctness.
The steps of the power management flow, depicted in figure, are:
- Logic regions identification: during this step MDC analyses the input dataflow models and extract from them the sets of resources that, from the functional point of view, are active/inactive together; these sets are called logic regions (LR). LRs identification allows the designer to manage the logic activation at a coarse grain level, instead of at the fine grain (single actor) one.
- Power saving:
- clock gating: clock gating management on ASIC technology is implemented by means of simple and gates, called clock gating cells, which take as input the main clock signal. When the clock gating feature is enabled, the clock gating cell output is zero, and the logic transitions associated to the clock signal (within the considered LR) do not occur anymore. On FPGA clock gating implementations requires the utilization of dedicated modules available on the board. These modules are limited in number and, in some cases, can be not enough for all the identified LRs. MDC manages this issue; if these modules are less than the number of LRs, the tool joins some LRs aiming at the minimization of the power dissipation overhead due to the sub-optimal LR.
- power gating: power gating implementation requires a lot more additional logic (sleep transistors to switch on/off the power supply, isolation cells to avoid the transmission of spurious signals in input to the normally-on cells and state retention logic to maintain the internal state of the gated region). This logic is inserted by means of a power format file (the Silicon Integration Initiative’s Common Power Format (CPF)), which allows designers specifying power intent early in the design, relieving them from the direct modification of the RTL design. Depending on the identified LRs and their compositions, MDC write a CPF file which contains all the necessary power information. Furthermore it generates a Power Controller that drives all the enable signals necessary to the power gating logic.
For further details on the algorithms implemented by MDC to identify logic regions and to manage their power consumption, please refer to the following articles: Power-Awarness in Coarse-Grained Reconfigurable Designs: a Dataflow Based Strategy, Coarse-Grained Reconfiguration: Dataflow-Based Power Management, Automated Power Gating Methodology for Dataflow-Based Reconfigurable Systems, Early Stage Automatic Strategy for Power-Aware Signal Processing Systems.