Skip to main content

LUP Student Papers

LUND UNIVERSITY LIBRARIES

Digital ASIC Automated Power Analysis

Strömberg, Viktor LU (2025) EITM01 20251
Department of Electrical and Information Technology
Abstract
This thesis investigated the possibilities to automate the manual RTL power estimation flow for digital ASICs in Ericsson. The goal being to detect whether predefined power test cases that run with a single randomization seed are sufficient or if a multitude of seeds in an automated power flow could be used to detect scenarios with even higher activity. In order to automate the power estimation flow, first a script automating one flow was developed in Bash, then a script that could handle multiple flows sequentially was written in Python. Finally, to reduce the time spent on power simulations, an algorithm for enabling parallel power flows was developed and written in Python. The parallelization relies on a state machine for the different... (More)
This thesis investigated the possibilities to automate the manual RTL power estimation flow for digital ASICs in Ericsson. The goal being to detect whether predefined power test cases that run with a single randomization seed are sufficient or if a multitude of seeds in an automated power flow could be used to detect scenarios with even higher activity. In order to automate the power estimation flow, first a script automating one flow was developed in Bash, then a script that could handle multiple flows sequentially was written in Python. Finally, to reduce the time spent on power simulations, an algorithm for enabling parallel power flows was developed and written in Python. The parallelization relies on a state machine for the different power flow steps and instances and draws inspiration from the Python threading module. The automation of the power flow can be used to evaluate if peak power activity can be reduced through RTL changes and can help in the identification of the most power consuming scenarios. When comparing the predefined power test cases with the results from the automated flow, it is clear for one of the modules that a higher switching activity can be detected using the automation, but for the other there is no noticeable difference. The other major part of this thesis focused on implementing clock gating on submodules of a module. This relied on running synthesis and test cases in order to identify fruitful clock gating conditions. One type of submodule could be clock gated using only boolean combinations of signals, while the other type required the construction of a separate module monitoring signals to the submodule. Both implementations were evaluated using the manual power estimation flow and showed a reduction of the total power. This reduction was observed in dynamic power consumption. (Less)
Popular Abstract (Swedish)
Ett automatiserat programflöde för att analysera effektförbrukningen i integrerade kretsar visar på bristerna i det manuella flödet. Genom att köra många slumpade testfall i effektuppskattningarna kan man upptäcka scenarier som ger högre effektförbrukning. Inom modern utveckling av integrerade kretsar, och inte minst inom de som utvecklas för telekommunikation, ställs det höga krav på energieffektivitet. Detta innebär att betydande fokus läggs på att analysera effektförbrukningen hos dessa. På Ericsson används i dagsläget ett manuellt programflöde som i stora drag består av tre steg. Testfallen som används i dessa kan sägas utgöra en modellering av det förväntade mjukvarubeteendet i hårdvaran under olika användningsscenarier. Men dessa... (More)
Ett automatiserat programflöde för att analysera effektförbrukningen i integrerade kretsar visar på bristerna i det manuella flödet. Genom att köra många slumpade testfall i effektuppskattningarna kan man upptäcka scenarier som ger högre effektförbrukning. Inom modern utveckling av integrerade kretsar, och inte minst inom de som utvecklas för telekommunikation, ställs det höga krav på energieffektivitet. Detta innebär att betydande fokus läggs på att analysera effektförbrukningen hos dessa. På Ericsson används i dagsläget ett manuellt programflöde som i stora drag består av tre steg. Testfallen som används i dessa kan sägas utgöra en modellering av det förväntade mjukvarubeteendet i hårdvaran under olika användningsscenarier. Men dessa testfall är ej statiska, utan kan faktiskt varieras genom slumpning för att på så vis ge en större spridning i beteende. Målet var att automatisera programflödet för effektuppskattningar så att ett stort antal testfall skulle kunna köras och varieras för att därigenom upptäcka just det fall som skapar högst effektförbrukning. Tillvägagångssättet som användes bestod av att först skriva ett enkelt skript för att automatisera ett flöde, vilket därefter följdes av skrivandet av ett nytt skript som automatiserar flera flöden i en så kallad for loop. Eftersom denna strategi innebär att flöden kör efter varandra, så tar det i många fall för lång tid. Därför krävdes en ny algoritm som möjliggör parallella körningar. Denna algoritm bygger på en tillståndsmaskin och hämtar inspiration från en Pythonmodul. Den resulterande datan från skriptet presenteras sedan som en lista som rangordnar aktiviteten i kretsarna för olika testfall, denna lista innehåller också annan viktig data som tillhör effektuppskattningarna. En annan del av arbetet bestod av att undersöka möjligheterna till att minska effektförbrukningen i en viss integrerad kretsmodul. För att genomföra detta användes clock gating som är en teknik där man stänger av klocksignalen till vissa kretsar. Klocksignalen ändrar omväxlande värde mellan 1 och 0 med en viss bestämd frekvens och används för att synkronisera och tillåta uppdateringar i digitala kretsar. När den stängs av kan energi sparas eftersom denna uppdatering inte längre sker och klockan behöver ju inte heller driva lika mycket digital elektronik. När effektuppskattningsflödet körs efter att clock gatingen implementerats så syns det hur aktiviteten och därigenom effektutvecklingen minskar. (Less)
Please use this url to cite or link to this publication:
author
Strömberg, Viktor LU
supervisor
organization
course
EITM01 20251
year
type
H2 - Master's Degree (Two Years)
subject
keywords
RTL Power Estimation, ASIC Power Analysis
report number
LU/LTH-EIT 2025-1095
language
English
id
9213581
date added to LUP
2025-10-07 11:24:17
date last changed
2025-10-07 11:24:17
@misc{9213581,
  abstract     = {{This thesis investigated the possibilities to automate the manual RTL power estimation flow for digital ASICs in Ericsson. The goal being to detect whether predefined power test cases that run with a single randomization seed are sufficient or if a multitude of seeds in an automated power flow could be used to detect scenarios with even higher activity. In order to automate the power estimation flow, first a script automating one flow was developed in Bash, then a script that could handle multiple flows sequentially was written in Python. Finally, to reduce the time spent on power simulations, an algorithm for enabling parallel power flows was developed and written in Python. The parallelization relies on a state machine for the different power flow steps and instances and draws inspiration from the Python threading module. The automation of the power flow can be used to evaluate if peak power activity can be reduced through RTL changes and can help in the identification of the most power consuming scenarios. When comparing the predefined power test cases with the results from the automated flow, it is clear for one of the modules that a higher switching activity can be detected using the automation, but for the other there is no noticeable difference. The other major part of this thesis focused on implementing clock gating on submodules of a module. This relied on running synthesis and test cases in order to identify fruitful clock gating conditions. One type of submodule could be clock gated using only boolean combinations of signals, while the other type required the construction of a separate module monitoring signals to the submodule. Both implementations were evaluated using the manual power estimation flow and showed a reduction of the total power. This reduction was observed in dynamic power consumption.}},
  author       = {{Strömberg, Viktor}},
  language     = {{eng}},
  note         = {{Student Paper}},
  title        = {{Digital ASIC Automated Power Analysis}},
  year         = {{2025}},
}