Refine
Document Type
- Doctoral thesis (13)
- Habilitation thesis (1)
- Master thesis (1)
Has Fulltext
- yes (15)
Is part of the Bibliography
- no (15)
Keywords
- Fehlertoleranz (5)
- Eingebettetes System (3)
- Integrierte Schaltung (3)
- Zuverlässigkeit (3)
- Built-in self-repair (2)
- Fehleranalyse (2)
- Hardwareentwurf (2)
- Integrated circuits (2)
- Integrierte Schaltungen (2)
- Redundanz (2)
Institute
In zukünftigen eingebetteten Systemen ist bei zunehmender Integrationsdichte mit einer abnehmenden Zuverlässigkeit zu rechnen. Insbesondere lang laufende Systeme werden mit fortschreitender Zeit Alterungserscheinungen aufweisen, die sich durch den permanenten Ausfall einzelner Komponenten bemerkbar machen. Um die Funktionstüchtigkeit solcher Systeme auch für einen langen Zeitraum zu gewährleisten, sind Funktionen erforderlich, die die Erkennung, Lokalisierung und Behandlung solcher permanenter Fehler erlauben. Diese Funktionen sind dabei in das System zu integrieren. Es existieren dafür bereits verschiedene Ansätze auf unterschiedlichen Systemebenen. Das Spektrum solcher Ansätze reicht von einer Reparatur auf Transistorebene über die Reparatur einzelner Komponenten, die aus einigen dutzend bis einigen tausend Transistoren bestehen, bis hin zu Reparaturansätzen, die komplette Prozessorkerne in einem System ersetzen. Jeder Ansatz hat dabei seine spezifischen Vor- und Nachteile. Das betrifft insbesondere den Aufwand zur Administration der Reparatur sowie die Anwendbarkeit auf beliebige Hardwarestrukturen. Bisher wurden die Reparaturmethoden isoliert entwickelt. In Systemen mit zunehmender Komplexität wird jedoch ein hierarchischer Ansatz benötigt, der die existierenden Techniken ebenenübergreifend verbindet. Dadurch kann eine Zerlegung des Systems in verschiedene Gruppen vorgenommen werden, wobei für jede Gruppe eine spezifische Reparaturmethodik besonders geeignet ist. Es entsteht dadurch ein teils hierarchisch organisierter Reparaturansatz, der unterschiedliche Reparaturtechniken miteinander kombiniert.
Es werden für das hierarchische Verfahren insbesondere software-basierte Reparaturansätze betrachtet, da diese nur einen geringen Administrationsaufwand in Hardware erfordern. Die Nutzung fehlerhafter Komponenten im Prozessor wird dabei durch die Anpassung des ausgeführten Programms an die aktuelle Fehlersituation vermieden. Diese Anpassung kann beispielsweise auf Systemebene, durch Verlagerung eines Programms von einem Prozessorkern auf einen anderen Kern oder auf der Ebene von Prozessorkernen, wobei die Benutzung einzelner Komponenten eines Kerns vermieden wird, erfolgen. Diese Anpassungen lassen sich durch Techniken, wie sie im Backend eines Compilers eingesetzt werden, bewerkstelligen. Die Reparatur auf den verschiedenen Ebenen erfordert dabei unterschiedlich mächtige Backends. Das reicht von einem Backend, das nur eine Ablaufplanung ändert, über ein Backend, das darüber hinaus noch die Registervergabe anpasst, bis hin zu einem Backend, das den Programmcode zweier Prozessorkerne vertauscht und an den jeweiligen Kern anpasst. Die Ausführung der software-basierten Reparatur soll dabei möglichst durch den fehlerhaften Kern selbst ausgeführt werden. In schwerwiegenden Fällen erfolgt eine administrierte Reparatur auf der Systemebene durch einen zur Reparaturzeit bestimmten Prozessorkern des Systems. Der Aufwand für entsprechende Backends sowie deren Möglichkeit zur Fehlerbehandlung werden in dieser Arbeit untersucht.
Verification of software for Contiki-based low-power embedded systems using software model checking
(2017)
The main building blocks for the internet of things are connected embedded systems. Often these systems are also used in safety critical applications. Therefore, it is particularly important that these devices work according to their specification i.e. they behave as intended. Nowadays, even for simple devices embedded operating systems as Contiki are used to simplify application development and to increase portability between different hardware platforms.
The main objective of this thesis is to present a methodology for the verification of software applications written for the operation system Contiki, taking the system hardware into account. Therefore, software model checking and especially bounded model checking [BCC⁺03] is used as a technique, which allows to formally verify software for embedded systems.
For verifying the software against its specification, it is also necessary to build a model of the system hardware. Thereby, the difficulty is to create a model which is detailed enough to capture the hardware behavior so that the software performs correctly, while keeping the computation effort for the verification process manageable. In this work, the drivers which communicate with the hardware are therefore replaced with abstract models during the verification process. This enables the verification based on an abstract hardware platform independent of specific hardware.
A special role within embedded systems play interrupts. Interrupts are used to save power and can also be used to react on external events. Current methods for verification of interrupt driven software are based on the interleaving model and partial order reduction to reduce the size of the verification problem. This thesis argues that this method is not sufficient for software, whose behavior relies on periodically occurring interrupts. Therefore, in this thesis, a new approach called periodic interrupt modeling is introduced. This approach can be applied automatically and reduces the number of incorrect verification results due to inaccurate modeling. In addition, properties can be proven that depend on the number of occurring interrupts.
Using applications for the Contiki operating system, and based on a verification flow, the approaches toward interrupt modeling are compared.
Das Internet der Dinge (IoT) und drahtlose Sensor-Netzwerke (WSNs) sind grundlegende Konzepte für die Vernetzung der heutigen globalen Informationsgesellschaft, die auf kleinen drahtlosen Geräten basiert. Wenn die Funktionalitäten oder Daten dieser Geräte manipuliert werden, kann der potenzielle Schaden erheblich sein. Daher ist die Sicherung der Datenübertragung zwischen diesen Geräten mithilfe von Kryptografie entscheidend. Die Sicherheit kryptografischer Algorithmen hängt jedoch von der Geheimhaltung der kryptografischen Schlüssel ab, die aufgrund der physischen Zugänglichkeit anfällig sein können. Side-Channel-Angriffe können diese Anfälligkeit ausnutzen, indem sie physikalische Parameter nutzen, die mit dem Betrieb kryptografischer Chips verbunden sind, wie z. B. die elektromagnetische Strahlung während kryptografischer Operationen.Als Antwort auf diese Herausforderung wurde in dieser Arbeit das "Leakage Source Cartography Tool" (LSC-Tool) entwickelt, um die Analyse der elektromagnetischen Strahlung in den elliptischen Kurvenkryptografie-Designs des IHP zu beschleunigen. Das LSC-Tool ermöglicht die automatisierte Auswertung von Sätzen von elektromagnetischen Traces, die aus verschiedenen Messpositionen über einen kryptografischen Chip gewonnen wurden. Die Analyse führt zu einer "Leakage Source Map" (LS-Map), die den Erfolg von elektromagnetischen Analyseangriffen an jeder Messposition darstellt. Dieses Tool bietet eine kostengünstige und schnelle Möglichkeit, die Widerstandsfähigkeit kryptografischer Designs gegen Angriffe zu bewerten, und bietet Designern Einblicke in die anfälligsten Bereiche des Chips sowie Informationen über den Leakage pro Taktzyklus.Durch den Einsatz des LSC-Tools wurde der Widerstand von zwei IHP ECC-Designs gegen horizontale differentielle elektromagnetische Analyseangriffe an 25 Messpositionen getestet. Die statistische Analyse von Traces kann mit drei Methoden durchgeführt werden: der Methode der kleinsten Quadrate, dem Difference-of-means-Test oder der Difference-of-the-mean-Methode. Die generierten LS-Maps zeigen, dass die Verwendung unterschiedlicher Methoden unterschiedliche Anzeichen für Leakagestellen liefert. Die Kombination dieser Karten erhöht die Erfolgsrate des Angriffs. Beachtenswert ist, dass im Laufe dieser Forschung klar wurde, dass das LSC-Tool angepasst werden kann, um LS-Maps für die funktionellen Blöcke von ECC-Designs zu erstellen und so die Analyse simulierter Power-Traces für das IHP ECC-Designs zu ermöglichen.
Mixed signal integrated circuits (MSICs) contain both analog and digital circuitry, integrated together on the same die. While this integration brings many benefits, it also gives rise to the issue of substrate noise coupling between the noisy digital circuitry and noise-sensitive analog circuitry. In order to counteract this issue, various substrate noise reduction methodologies had been developed so far. This thesis explores a new approach in substrate noise reduction – using a GALS (globally-synchronous, locally-asynchronous) design strategy for the digital part of a MSIC, in order to reduce the noise generation at its source. GALS architectures consist of several locally synchronous modules (LSMs) which communicate asynchronously to each other. By converting an initially synchronous architecture of digital circuitry into a GALS architecture, simultaneous switching noise generated by this circuitry can be reduced. While GALS had already been used for reducing other types of simultaneous switching noise, this is, to the best of the author’s knowledge, the first attempt to develop a GALS-based methodology for substrate noise reduction. In order to be able to theoretically analyze GALS-based methodologies for substrate noise suppression, corresponding models at high abstraction level for substrate noise generation and substrate noise propagation in lightly doped substrates (which is a type of substrate mostly used for MSICs) have been developed. These models have further been used for developing two new GALS-based substrate noise reduction methodologies: harmonic-balanced plesiochronous GALS partitioning (HB) and harmonic-and-area-based plesiochronous GALS partitioning with power domain separation (HAB). A theoretical analysis has shown that HB can reach substrate noise attenuation of up to 20log(M), where M is the number of LSMs of the resulting GALS system. On the other hand, the attenuation achievable by HAB depends on the distribution of switching current harmonics and area among the partitions, as well as from the substrate itself. For each of the two methodologies, a suitable partitioning procedure for a practical application has been developed; these partitionig procedures have been numerically evaluated in MATLAB. HB has further been embedded within the EMIAS CAD tool, where it has been evaluated on a real design example – a wireless sensor node. A special case of HAB for low frequencies has been applied for developing a test chip called SGE (power domain Separation and Galsification Experiment). The measurements on silicon have proved the applicability of the methodology.
Wireless communication has become an indispensable part of our life and the demand for achieving higher throughput with lower energy consumption is ever growing. The ambitious throughput of 100 Gb/s and beyond is now becoming a modest goal thanks to comprehensive advances in transmission technologies and protocols. One important aspect of these advances is with regard to channel coding methods and the ability to detect and correct errors at the receiver. Computations needed by such methods become generally more complicated as they become more powerful in their performance. This imposes a great challenge for researchers attempting to devise practical methods for encoding and decoding Forward-error Correction (FEC) techniques tailored for high-throughput scenarios.
In this work we focus on high-throughput Quasi-Cyclic LDPC (QC-LDPC) codes, as they have been selected as one of the main FEC techniques for the two major next generation wireless technologies, namely Wi-Fi 6 (IEEE 802.11ax) and 5G. Our target is to develop complete encoding and decoding design for these codes in order to reach the throughput of 100 Gb/s with affordable power consumption. Toward this goal, we investigate first the appropriate encoder design for these codes which can be used at such high data-rate with reasonably low power consumption. Then we propose several novel ideas for improving the decoding performance and complexity of QC-LDPC codes. The proposed novel ideas collectively facilitate a decoder able to run at 50 Gb/s with less than 12 pJ/b energy consumption for a Latin squares QC-LDPC code. All the proposed methods are practical and implementable and their effectiveness are showcased by either Field Programmable Gate Array (FPGA) or Application-Specific Integrated Circuit (ASIC) synthesis.
Der Einsatz funkbasierter Steuerungs- und Überwachungssysteme wird sich in den nächsten Jahren in der Automatisierungsindustrie wesentlich erhöhen. Funkbasierte Systeme sind flexibel, das heißt skalierbar, leicht rekonfigurierbar und mobil. Außerdem sind Funksysteme kostengünstig, insbesondere bei der Wartung.
Dennoch müssen diese Systeme hohen Anforderungen genügen, wie Sicherheit, Zuverlässigkeit, Energieverbrauch, Geschwindigkeit und Wirtschaftlichkeit. Besonders wichtig für den Einsatz drahtloser Funktechnologien in Automatisierungssystemen ist die harte Echtzeitfähigkeit bei Zykluszeiten im Bereich von unter 1 ms bei Netzwerkgrößen von bis zu 127 Knoten bei einer bidirektionalen Kommunikation mit einer Nutzdatenmenge von bis zu 48 Byte je Sensorknoten. Eine weitere Herausforderung ist die Integration dieser Systeme in bestehende Infrastrukturen, wo Koexistenz mit bereits vorhandenen drahtlosen Systemen ein kritischer Faktor ist.
Ziel dieser Arbeit ist es, die IR-UWB Funktechnik basierend auf dem Standard IEEE 802.15.4a so zu verbessern, dass sie die hohen Anforderungen der Automatisierungsindustrie erfüllt. Dabei soll gewährleistet werden, dass die Abweichungen im Vergleich zum Standard möglichst gering ausfallen und dass die Vorgaben der Regulierungsbehörden nicht verletzt werden. Diese Anforderungen begrenzen die Möglichkeiten der Optimierungen stark, was die Aufgabe noch schwieriger macht, aber zugleich wird damit sichergestellt, dass die Lösungen auch in realen Systemen eingesetzt werden können.
In dieser Arbeit wurden sowohl komplexe theoretische Ansätze als auch Optimierungen der Implementierung ausgearbeitet, in Matlab simuliert und in einem FPGA implementiert. Anschließend wurde ein ASIC gefertigt.
Um die hohen zeitlichen Anforderungen zu erfüllen, wurden die einzelnen Teile des UWB-Frames optimiert. Um dies zu erreichen mussten neue Synchronisations- und Datenübertragungs-Verfahren entwickelt werden. Dieses Verfahren ermöglicht eine parallele bidirektionale Kommunikation mit einer variablen Anzahl an Sensorknoten (bis zu 127). Eine Kombination verschiedener Fehlerkorrekturverfahren (Reed-Solomon-Code und Hamming-Code) wurde untersucht, um die Zuverlässigkeit zu erhöhen. Zusätzlich wurde ein Fehlerkorrekturverfahren für ternäre Impulssequenzen mit geringem Overhead ausgearbeitet. Dieses Verfahren erlaubt eine ausreichend gute Fehlerkorrektur und erlaubt im Gegensatz zu der Fehlerkorrektur mit dem Reed-Solomon-Code das Einhalten der zeitlichen Anforderungen.
Das Hauptergebnis dieser Arbeit ist ein für IR-UWB optimiertes Übertragungskonzept, welches eine zuverlässige und energieeffiziente Datenübertragung von unter 1 ms für einen Master und 127 Slaves ermöglicht. Teile dieses Verfahrens wurden in Hardware gefertigt und experimentell evaluiert.
Wenn alle vorgeschlagenen Optimierungen verwendet werden, kann die Zykluszeit im Vergleich zum IEEE 802.15.4a Standard, um 95% reduziert werden. Der Energieverbrauch des gesamten Netzwerkes sinkt dabei um 65%.
Einige der vorgeschlagenen Verbesserungen wurden implementiert und für die übrigen wurde gezeigt, wie sie implementiert werden können. Der Einfluss weiterer Faktoren, wie die Umschaltzeit zwischen Sender und Empfänger, und deren Auswirkungen auf den Energieverbrauch wurden untersucht.
Im Rahmen dieser Doktorarbeit entstand eine standardkonforme IR-UWB Einzelchiplösung, die um Eigenschaften erweitert wurde, die vom Standard, abweichen, aber notwendig sind um die Anforderungen der Automatisierungsindustrie zu erfüllen.
Die gefertigte Variante der Einzelchiplösung enthält nicht alle in dieser Arbeit vorgeschlagenen Optimierungen, ist aber dennoch in der Lage die Zykluszeit um 57% zu verkürzen. Obwohl dieser Chip viele zusätzliche Features bietet, wurde die Komplexität und somit auch die benötigte Chipfläche um 43% reduziert.
Elektronische Systeme sind in vielen Bereichen des täglichen Lebens zur Selbstverständlichkeit geworden. Dabei werden diese zunehmend komplexer und leistungsfähiger. Für den Entwurf entstehen dadurch Herausforderungen, die z. B. zunehmend mit Hilfe von SystemC gelöst werden. SystemC, eine C++- Klassenbibliothek, erlaubt die Modellierung von Hardwarekomponenten in einer Programmiersprache, wie sie zuvor nur mittels spezieller Hardwarebeschreibungssprachen möglich war. Die Simulation des Systems im Zusammenhang mit Fehlererscheinungen ist ein wichtiger Schritt für den Zuverlässigkeitsnachweis. Für die Simulation von Fehlern ergeben sich dabei im wesentlichen zwei Einsatzbereiche. Zum einen ist es die Fehlersimulation, welche Testmuster hinsichtlich ihrer Effektivität für den Produktionstest beurteilt. Zum anderen dient sie, häufig als simulierte Fehlerinjektion bezeichnet, dem Nachweis der Fehlertoleranz oder des Systemverhaltens im Betrieb. In dieser Arbeit werden erstmals verschiedene Aspekte und Strategien zur Simulation von Fehlern in digitalen Schaltungen als SystemC-Beschreibungen methodisch untersucht. Vorteile mit der Verwendung von SystemC bestehen z. B. in der Verwendung eines einheitlichen Beschreibungsmittels in einem durchgängigen Ablauf und in der Möglichkeit einer schnellen Ausführung. Voraussetzung für die Simulation von Hardware ist eine entsprechende Modellierungsmöglichkeit. Neben der Betrachtung der Register-Transfer- und Gatterebene wird eine neue Modellierung auf der Schalterebene präsentiert. Der Vorteil liegt hierbei in einer höheren Auflösung bei einer akzeptablen Geschwindigkeitseinbuße, wie sie insbesondere bei der Simulation von Fehlern sinnvoll ist. Bei der Modellierung der Fehler wurden neben dem klassischen Haftfehlermodell weitere Modelle kreiert, die Defekte und Störungen realitätsnäher abbilden. Die Injektion der Fehler in die Hardware-Beschreibung erfolgt mit Hilfe verschiedener Strategien. Neben der Umsetzung von Methoden, wie sie aus anderen Hardwarebeschreibungssprachen bekannt sind, werden weitere Wege in SystemC gezeigt. Hierbei nutzt man spezielle Eigenschaften der Sprache C++ und des SystemC-Kernels. Ergebnis dieser Techniken ist eine Modifikation der SystemC-Bibliothek, die zu einer sehr effizienten Fehlerinjektion führt. Bei der Einführung neuer Entwurfswerkzeuge entsteht oft das Problem der Portierung des bestehenden Know-hows. Eine Alternative kann die Kopplung von bestehenden und neuen Simulationsprogrammen sein. Probleme solcher gekoppelten Simulationen liegen z. B. im zusätzlichen Kommunikationsaufwand und der Synchronisation, welche die Ausführungszeit oft deutlich erhöhen. Die hier präsentierte Mixed-Language-Co-Simulation in Form einer Thread-Implementierung und einer weiteren Modifikation der SystemC-Bibliothek erweist sich aber als sehr effizient im Vergleich zu anderen Co-Simulationen. Eine wesentliche Herausforderung für Simulationsaufgaben besteht in ihren Ausführungen in einer akzeptablen Zeit. Es werden verschiedene Implementierungen der beschleunigten Simulation präsentiert. Dabei kommen unterschiedliche Ebenen der Parallelisierung zur Verwendung und zur Untersuchung in Bezug auf ihre Performance. Eine Kombination verschiedener Methoden führt zu einer zusätzlichen Verbesserung. Mit dieser Arbeit wird gezeigt, dass die Simulation von Fehlern in Hardware mit SystemC praktikabel und sinnvoll ist. Anhand von Simulationen und Bewertungen an Beispielschaltungen wird dies unterstrichen.
Effiziente Auswahl redundanter Komponenten für Prozessoren zur Kompensation permanenter Fehler
(2014)
Die stetige Skalierung von Fertigungstechnologien sorgte für einen rasanten Anstieg der Komplexität und damit auch der Verarbeitungsleistung von integrierten Schaltungen. Dies führte auch zu höheren Anforderungen an die Entwurfs- und Produktionsprozesse für diese Systeme. Zusätzlich dazu steigern Strukturen im Nanometerbereich die Anfälligkeit gegenüber physikalischen Effekten, welche sich in temporären und zunehmend auch dauerhaften Störungen der Funktionalität äußern können. Der Einsatz von Fehlertoleranz ist für diese komplexen Systeme nicht wegzudenken und wird für zukünftige anfälligere Fertigungstechnologien noch relevanter.
In dieser Arbeit wird eine skalierbare Architektur zur Kompensation dauerhafter Störungen für beliebige Prozessorkomponenten vorgestellt. Der Einsatz dieser Architektur ist unabhängig von der Fehlerursache und kann sowohl direkt nach der Produktion als auch während des Einsatzes im Zielsystem genutzt werden. Durch die Verwendung dieser Architektur, auf aktiver Hardware-Redundanz basierend, ist eine Steigerung der Zuverlässigkeit, der Lebensdauer aber auch der Produktionsausbeute bei gleichbleibender Funktionalität möglich. Mit der Modellierung in dieser Arbeit wird die Effizienz der vorgestellten Architektur, unter Berücksichtigung der zusätzlichen Hardware für Redundanz und der notwendigen administrativen Komponenten, ermittelt und ermöglicht damit einen zielgerichteten Auswahlprozess für Prozessorkomponenten und die Menge ihrer Redundanz. Somit wird die optimale Redundanz für ein gegebenes System und ein zu erreichendes Ziel bereits im Entwurfsprozess bestimmtund kann damit frühzeitig bei der Umsetzung berücksichtigt werden.
Neben der Beschreibung des Aufbaus der Architektur und ihrer Funktionsweise zeigt diese Arbeit wie sich eine Integration in bestehende Entwurfsprozesse mit gängigen Methoden und Werkzeugen realisieren lässt. Zusätzlich dazu wird die Systemmodellierung zur Realisierung des zielgerichteten Auswahlprozesses beschrieben. Anhand eines Anwendungsbeispiels wird die Möglichkeit der Umsetzung aufgezeigt und die daraus resultierenden Ergebnisse diskutiert.
The design of 100 Gbps wireless networks is a challenging task. A serial Reed-Solomon decoder at the targeted data rate has to operate at ultra-fast clock frequency of 12.5 GHz to fulfill timing constraints of the transmission. Receiving a single Ethernet frame on the physical layer may be faster than accessing DDR3 memory. Moreover, data link layer of wireless systems has to cope with high bit error rate (BER). The BER in wireless communication can be several orders of magnitude higher than in wired systems. For example, the IEEE 802.3ba standard for 100 Gbps Ethernet limits the BER to 1e-12 at the data link layer. On the contrary, the BER of high-speed wireless RF-frontend working in the Terahertz band might be higher than 1e-3. Performing forward error correction on the state of the art FPGA (field programmable gate arrays) and ASICs requires a highly parallelized approach. Thus, new processing concepts have to be developed for fast wireless communication. Due to the mentioned factors, the data link layer for the wireless 100G communication has to be considered as new research, and cannot be adopted from other systems.
This work provides a detailed case study about 100 Gbps data link layer design with the main focus on communication reliability improvements for ultra-high-speed wireless communication. Firstly, constraints of available hardware platforms are identified (memory capacity, memory access time, and logic area). Later, simulation of popular techniques used for data link layer optimizations are presented (frame fragmentation, frames aggregation, forward error correction, acknowledge frame compression, hybrid automatic repeat request, link adaptation, selective fragment retransmission). After that, data link layer FPGA accelerator processing ~116 Gbps of user data is presented. At the end, ASIC synthesis is considered and detailed statistics of consumed energy per bit are introduced. The research includes link adaptation techniques, which optimize goodput and consumed energy according to the channel BER. To the author’s best knowledge, it is the first published data link layer implementation dedicated for 100 Gbps wireless communication shown anywhere in the world.
The design of embedded sensor node hardware systems is a challenging task driven by the increasing demands for low power, high efficiency, low cost and small size. These unique requirements make the usage of off-the-shelf general purpose microcontrollers fairly inefficient. For many wireless sensor network applications, the design of a dedicated low power sensor node microcontroller is the only way to answer specific application requirements. According to the trends in device, process and design technology, the development of sensor node devices is relying on a cheap planar bulk-CMOS technology, where power consumption is dominated by static power loss caused by high leakage currents. To keep the power at acceptable level, designers are compelled to apply the methodologies based on advanced low power techniques that target both static and dynamic power in the chip. The decisions made early in design phase are likely to determine the energy efficiency of the final design. Therefore, the choice of power saving strategy is the key challenge in designing energy-efficient sensor node hardware.
This work presents a methodology that assists designers meeting the critical design decisions regarding power, early in the design process. The presented methodology extracts the activity profiles of single system components and applies them in the developed models for energy estimation of particular low power implementation. The energy estimation models account for the energy overhead introduced by specific low power techniques, enabling comprehensive exploration of system’s energy efficiency in a given application scenario. Special attention is paid to the methodology utilization in typical wireless sensor network applications. Accordingly, the examples of activity profiling in wireless sensor node systems are presented. The proposed methodology is integrated within a power-driven design flow and applied to the design of an embedded sensor node microcontroller. This methodology is used to perform the cross comparison of alternative low power implementations for the target system architecture. The implementation relying on concurrent clock and power gating is selected as the most energy efficient and consequently realised. Power switching cells and power control logic have been designed and characterized. Also, the final system architecture, basic system components and applied design process are described. Finally, the developed power-gated sensor node microcontroller is implemented, fabricated and successfully tested. The chip measurements results are presented and analyzed.
The analysis of different low power approaches applied to the target system architecture has shown large impact of clock gating on the system energy. In a given application scenario, the clock gating implementation has reduced 72 times the dynamic energy and 12 times the total energy of the system. The implementation of power gating technique has gained 2.8 times reduction of the leakage energy and 2 times reduction of the total system energy compared to the clock gating only implementation. The analysis of two alternative power gating approaches has emphasized the significance of partitioning in power-gated design. A heuristic partitioning that combines two specific blocks having successive activity phases into a single power domain, thereby reducing design complexity and chip area, has been shown to have positive impact on the energy efficiency of the target design.