21 research outputs found
Synthesis of asynchronous controllers using integer linear programming
A novel strategy for the logic synthesis of asynchronous control circuits is presented. It is based on the structural theory of Petri nets and integer linear programming. Techniques that are capable of checking implementability conditions, such as complete state coding, and deriving a gate netlist to implement the specified behavior are presented. These techniques can handle Petri net specifications consisting of several thousands of transitions and provide a significant speed-up compared with techniques that have previously been proposed.Peer ReviewedPostprint (published version
State-based encoding of large asynchronous controllers
State encoding is one of the fundamental problems in the synthesis of asynchronous controllers. The requirement for a correct hazard-free implementation imposes severe constraints on the way encoding signals can be inserted in the specification of a controller. Even though some specification formalisms, such as Burst-mode machines or Signal Transition Graphs, enable to specify behaviors at the event level, the state encoding methods that provide the best good-quality solutions work at the state level. This imposes a severe limitation on the size of the controllers that can be handled by these methods. This paper proposes a method to solve the encoding problem for large asynchronous controllers using statebased methods. It is based on an iterative process of projection and re-composition that reduces the size specification by hiding signals, partially solves the encoding problem at the state level and re-composes the original specification using a synchronous product. The process iterates until all encoding conflicts have been solved. The method is proved to preserve the behavior of the specification (branching bisimilarity) and shown to be capable of providing good-quality solutions for controllers of more than 100 signals and 106 states.Peer ReviewedPostprint (published version
Interpreted graph models
A model class called an Interpreted Graph Model (IGM) is defined. This class includes a large number of graph-based models that are used in asynchronous circuit design and other applications of concurrecy. The defining characteristic of this model class is an underlying static graph-like structure where behavioural semantics are attached using additional entities, such as tokens or node/arc states. The similarities in notation and expressive power allow a number of operations on these formalisms, such as visualisation, interactive simulation, serialisation, schematic entry and model conversion to be generalised. A software framework called Workcraft was developed to take advantage of these properties of IGMs. Workcraft provides an environment for rapid prototyping of graph-like models and related tools. It provides a large set of standardised functions that considerably facilitate the task of providing tool support for any IGM. The concept of Interpreted Graph Models is the result of research on methods of application of lower level models, such as Petri nets, as a back-end for simulation and verification of higher level models that are more easily manipulated. The goal is to achieve a high degree of automation of this process. In particular, a method for verification of speed-independence of asynchronous circuits is presented. Using this method, the circuit is specified as a gate netlist and its environment is specified as a Signal Transition Graph. The circuit is then automatically translated into a behaviourally equivalent Petri net model. This model is then composed with the specification of the environment. A number of important properties can be established on this compound model, such as the absence of deadlocks and hazards. If a trace is found that violates the required property, it is automatically interpreted in terms of switching of the gates in the original gate-level circuit specification and may be presented visually to the circuit designer. A similar technique is also used for the verification of a model called Static Data Flow Structure (SDFS). This high level model describes the behaviour of an asynchronous data path. SDFS is particularly interesting because it models complex behaviours such as preemption, early evaluation and speculation. Preemption is a technique which allows to destroy data objects in a computation pipeline if the result of computation is no longer needed, reducing the power consumption. Early evaluation allows a circuit to compute the output using a subset of its inputs and preempting the inputs which are not needed. In speculation, all conflicting branches of computation run concurrently without waiting for the selecting condition; once the selecting condition is computed the unneeded branches are preempted. The automated Petri net based verification technique is especially useful in this case because of the complex nature of these features. As a result of this work, a number of cases are presented where the concept of IGMs and the Workcraft tool were instrumental. These include the design of two different types of arbiter circuits, the design and debugging of the SDFS model, synthesis of asynchronous circuits from the Conditional Partial Order Graph model and the modification of the workflow of Balsa asynchronous circuit synthesis system.EThOS - Electronic Theses Online ServiceEPSRCGBUnited Kingdo
Synthesis of variability-tolerant circuits with adaptive clocking
Improvements in circuit manufacturing have allowed, along the years, increasingly complex designs. This has been enabled by the miniaturization that circuit components have undergone. But, in recent years, this scaling has shown decreasing benefits as we approach fundamental limits. Furthermore, the decrease in size is nowadays producing an increase in variability: unpredictable differences and changes in the behavior of components. Historically, this has been addressed by establishing guardband margins at the design stage. Nonetheless, as variability grows, the amount of pessimism introduced by these margins is taking an ever-increasing cost on performance and power consumption.
In recent years, several approaches have been proposed to lower the impact of variability and reduce margins. One such technique is the substitution of a classical PLL clock by a Ring Oscillator Clock. The design of the Ring Oscillator Clock is done in such a way that its variability is highly correlated to that of the circuit. One of the contributions of this thesis is in the automatic design of such circuits. In particular, we propose a novel method to design digital delay lines with variability-tracking properties.
Those designs are also suitable for other purposes, such as bundled-data circuits or performance monitors. The advantage of the proposed technique is based on the exclusive use of cells from a standard cell library, which lowers the design cost and complexity.
The other focus of this thesis is on state encoding for asynchronous controllers. One of the main properties of asynchronous circuits is their ability to, implicitly, work under variable conditions. In the near future, this advantage might increase the relevance of this class of circuits. One of the hardest stages for the synthesis of these circuits is the state encoding. This thesis presents a SAT-based algorithm for solving the state encoding at the state level. It is shown, by means of a comprehensive benchmark suite, that results obtained by this technique improve significantly compared to results from similar approaches.
Nonetheless, the main limitation of techniques at the state level is the state explosion problem, to which the sequential modeling of concurrency is often subject to. The last contribution of this thesis is a method to process asynchronous circuits in order to allow the use of state-based techniques for large instances. In particular, the process is divided into three stages: projection, signal insertion and re-composition. In the projection step, the behavior of the controller is simplified until the signal insertion can be performed by state-based techniques. Afterwards, the re-composition generalizes the insertion of the signal into the original controller. Experimental results show that this process enables
the resolution of large controllers, in the order of 10 6 states, by state-based techniques.
At the same time, only a minor impact in solution quality is observed, preserving one of the main advantages for state-based approaches.A lo largo de los años, mejoras en la fabricación de circuitos han permitido diseños cada vez más complejos. Esta tendencia, que ha tenido lugar gracias a la miniaturización de los componentes que forman estos circuitos, recientemente está mostrando beneficios decrecientes a medida que nos acercamos a ciertas limitaciones fundamentales. Además de estos beneficios decrecientes, la reducción en tamaño está produciendo un aumento, cada vez mayor, en la variabilidad: diferencias impredecibles y cambios en el comportamiento de los componentes. Esto se ha compensado históricamente con el uso de márgenes de seguridad en la fase de diseño. No obstante, a medida que la variabilidad crece, la cantidad de pesimismo que estos márgenes introducen está afectando significativamente el coste en rendimiento y consumo energético. En los últimos años se han propuesto diferentes técnicas para limitar el impacto de la variabilidad y reducir márgenes de seguridad. Una de estas técnicas consiste en substituir un reloj PLL clásico por un Ring Oscillator Clock. El diseño de un Ring Oscillator Clock se realiza de manera que su variabilidad este altamente correlacionada con la del circuito. Una de las contribuciones de esta tesis consiste en el diseño automático de estos relojes. Concretamente, se propone un nuevo método para diseñar líneas de retardo digitales (digital delay lines) que tengan como propiedad la capacidad de imitar la variabilidad de un circuito dado. Estos diseños son también apropiados para otros propósitos, tal y como circuitos con ?bundled-data? o monitorizadores de rendimiento. La ventaja del método propuesto con respecto a otras técnicas similares radica en el uso exclusivo de celdas provenientes de una librería de celdas estándar, lo que reduce considerablemente el coste de diseño y su complejidad. Por otro lado, esta tesis también se centra en la codificación de estados de circuitos asíncronos. Una de las principales propiedades de estos circuitos reside en su capacidad implícita para trabajar bajo condiciones de variabilidad. Es previsible que, en un futuro próximo, esta ventaja se vuelva aún más relevante. La síntesis de circuitos asíncronos consta de varias etapas, una de las cuales es la codificación de estados. Este trabajo presenta un algoritmo basado en SAT que permite resolver la codificación de estados a nivel de estado. Mediante el uso de un exhaustivo banco de pruebas, esta tesis muestra como resultados obtenidos por esta técnica mejoran significativamente en comparación con otros métodos similares. A pesar de ello, técnicas que trabajan a nivel de estado tienen como principal limitación el problema conocido como "explosión de estados" que aparece habitualmente cuando se modelan elementos concurrentes de manera secuencial. Así pues, la última contribución de esta tesis es la propuesta de un método para procesar circuitos asíncronos de manera que técnicas a nivel de estado sean usables para instancias grandes. En concreto, el proceso está dividido en tres fases: proyección, inserción de señal y re-composición. En la etapa de proyección, el comportamiento del controlador es simplificado suficientemente como para que la inserción de la señal se pueda realizar con técnicas a nivel de estado. A continuación, la re-composición generaliza esta inserción en el controlador original. Resultados experimentales muestran que este proceso permite la resolución de grandes controladores, del orden de 10^6 estados, mediante el uso de técnicas a nivel de estado. Al mismo tiempo, solo se observa un impacto mínimo en la calidad de las soluciones, preservando una de las mayores ventajas de los métodos a nivel de estado
Compositional approach to design of digital circuits
PhD ThesisIn this work we explore compositional methods for design of digital circuits with
the aim of improving existing methodoligies for desigh reuse. We address compositionality
techniques looking from both structural and behavioural perspectives.
First we consider the existing method of handshake circuit optimisation via control
path resynthesis using Petri nets, an approach using structural composition. In
that approach labelled Petri net parallel composition plays an important role and
we introduce an improvement to the parallel composition algorithm, reducing the
number of redundant places in the resulting Petri net representations. The proposed
algorithm applies to labelled Petri nets in general and can be applied outside of the
handshake circuit optimisation use case.
Next we look at the conditional partial order graph (CPOG) formalism, an approach
that allows for a convenient representation of systems consisting of multiple
alternative system behaviours, a phenomenon we call behavioural composition. We
generalise the notion of CPOG and identify an algebraic structure on a more general
notion of parameterised graph. This allows us to do equivalence-preserving manipulation
of graphs in symbolic form, which simplifies specification and reasoning about
systems defined in this way, as displayed by two case studies.
As a third contribution we build upon the previous work of CPOG synthesis used
to generate binary encoding of microcontroller instruction sets and design the corresponding
instruction decoder logic. The proposed CPOG synthesis technique solves
the optimisation problem for the general case, reducing it to Boolean satisfiability
problem and uses existing SAT solving tools to obtain the result.This work was
supported by a studentship from Newcastle University EECE school, EPSRC grant
EP/G037809/1 (VERDAD) and EPSRC grant EP/K001698/1 (UNCOVER).
i
Exploiting robustness in asynchronous circuits to design fine-tunable systems
PhD ThesisRobustness property in a circuit defines its tolerance to the effects of process, voltage and
temperature variations. The mode signaling and event communication between computing
units in a asynchronous circuits makes them inherently robust. The level of robustness
depends on the type of delay assumptions used in the design and specification process.
In this thesis, two approaches to exploiting robustness in asynchronous circuits to design
self-adapting and fine-tunable systems are investigated. In the first investigation, a Digitally
Controllable Oscillator (DCO) and a computing unit are integrated such that the operating
conditions of the computing unit modulated the operation of the DCO. In this investigation,
the computing unit which is a self-timed counter interacts with the DCO in a four-phase
handshake protocol. This mode of interaction ensures a DCO and computing unit system
that can fine-tune its operation to adapt to the effects of variations. In this investigation, it
is shown that such a system will operate correctly in wide range of voltage supply. In the
second investigation, a Digital Pulse-Width Modulator (DPWM) with coarse and fine-tune
controls is designed using two Kessels counters. The coarse control of the DPWM tuned the
pulse ratio and pulse frequency while the fine-tune control exploited the robustness property
of asynchronous circuits in an addition-based delay system to add or subtract delay(s) to
the pulse width while maintaining a constant pulse frequency. The DPWM realized gave
constant duty ratio regardless of the operating voltage. This type of DPWM has practical
application in a DC-DC converter circuit to tune the output voltage of the converter in high
resolution. The Kessels counter is a loadable self-timed modulo−n counter, which is realized
by decomposition using Horner’s method, specified and verified using formal asynchronous
design techniques. The decomposition method used introduced parallelism in the system by
dividing the counter into a systolic array of cells, with each cell further decomposed into
two parts that have distinct defined operations. Specification of the decomposed counter cell
parts operation was in three stages. The first stage employed high-level specification using
Labelled Petri nets (LPN). In this form, functional correctness of the decomposed counter is
modelled and verified. In the second stage, a cell part is specified by combing all possible
operations for that cell part in high-level form. With this approach, a combination of inputs
from a defined control block activated the correct operation for a cell part. In the final stage,
the LPNs were converted to Signal Transition Graphs, from which the logic circuits of the
cells were synthesized using the WorkCraft Tool. In this thesis, the Kessels counter was
implemented and fabricated in 350 nm CMOS Technology.Niger Delta Development Commission (NDD
Power-compute co-design for robust pervasive IoT applications
PhD ThesisThe modern development of internet of things (IoT) requires the IoT devices to be more
compact and energy autonomous. Many of them require to be able to operate with
unstable and low power supplies that come from various energy sources such as energy
harvesters. This creates a challenge for building IoT devices that need to be robust to
energy variations.
In this research we propose methods for improving energy characteristics of IoT
devices from the perspective of two main challenges: (i) improving the efficiency
and stability of power regulators, and (ii) enhancing the energy robustness of the IoT
devices. The existing design methods do not consider these two aspects holistically. One
important feature of our approach is holistic use of event-based, temporal representation
of data, which involves using asynchronous techniques and duty-cycle-based encoding.
For power regulation we use switched-capacitor converters (SCC) because they offer
compactness and ease of on-chip implementation. In this research we adapt the existing
methods and develop new techniques for SCC design based on asynchronous circuits.
This allows us to improve their performance and stability. We also investigate the
methods of parasitic charge redistribution, and apply them to self-oscillating SCC,
improving their performance. The key contribution within (i) is development of the
methods of SCC design with improved characteristics.
The majority of novel IoT systems are shifting towards the “AI at the edge” vision,
for example, involving neural networks (NN). We consider a perceptron-based neural
network as a typical IoT computing device. In our research we propose a novel
NN design approach using the principle of pulse-width modulation (PWM). PWMencoded
signals represent information with their duty cycle values which may be made
independent of the voltages and frequencies of the carrier signals. As a result, the device
is more robust to voltage variations, and, thus, the power regulation can be simplified.
This is the second major contribution addressing challenge (ii).
The advantages of the proposed methods are validated with simulations in the
Cadence environment. The simulations demonstrate the operation of the designed
power regulators, and the improvements of their efficiency. The simulations also
demonstrate the principle of operation of the PWM-based perceptron and prove its
power and frequency elasticity.
The thesis gives future research directions into a deeper study of the holistic co-design
of a variation-robust power-compute paradigm and its impact on developing future IoT
applications