6 research outputs found
Synthesis of Minimal Error Control Software
Software implementations of controllers for physical systems are at the core
of many embedded systems. The design of controllers uses the theory of
dynamical systems to construct a mathematical control law that ensures that the
controlled system has certain properties, such as asymptotic convergence to an
equilibrium point, while optimizing some performance criteria. However, owing
to quantization errors arising from the use of fixed-point arithmetic, the
implementation of this control law can only guarantee practical stability:
under the actions of the implementation, the trajectories of the controlled
system converge to a bounded set around the equilibrium point, and the size of
the bounded set is proportional to the error in the implementation. The problem
of verifying whether a controller implementation achieves practical stability
for a given bounded set has been studied before. In this paper, we change the
emphasis from verification to automatic synthesis. Using synthesis, the need
for formal verification can be considerably reduced thereby reducing the design
time as well as design cost of embedded control software.
We give a methodology and a tool to synthesize embedded control software that
is Pareto optimal w.r.t. both performance criteria and practical stability
regions. Our technique is a combination of static analysis to estimate
quantization errors for specific controller implementations and stochastic
local search over the space of possible controllers using particle swarm
optimization. The effectiveness of our technique is illustrated using examples
of various standard control systems: in most examples, we achieve controllers
with close LQR-LQG performance but with implementation errors, hence regions of
practical stability, several times as small.Comment: 18 pages, 2 figure
Low Parametric Sensitivity Realizations with relaxed L2-dynamic-range-scaling constraints
This paper presents a new dynamic-range scaling for the implementation of filters/controllers in state-space form. Relaxing the classical L2-scaling constraints by specific fixed-point considerations allows for a higher degree of freedom for the optimal L2-parametric sensitivity problem. However, overflows in the implementation are still prevented. The underlying constrained problem is converted into an unconstrained problem for which a solution can be provided. This leads to realizations which are still scaled but less sensitive
Hardware/Software Partitioning of Floating Point Software Applications to Fixed-Pointed Coprocessor Circuits
ABSTRACT General Terms Design, Performance. Keywords Hardware/software partitioning, floating point to fixed conversion, floating point, fixed point
On the Generation of Precise Fixed-Point Expressions
Several problems in the implementations of control systems, signal-processing systems, and scientific computing systems reduce to compiling a polynomial expression over the reals into an imperative program using fixed-point arithmetic. Fixed-point arithmetic only approximates real values, and its operators do not have the fundamental properties of real arithmetic, such as associativity. Consequently, a naive compilation process can yield a program that significantly deviates from the real polynomial, whereas a different order of evaluation can result in a program that is close to the real value on all inputs in its domain. We present a compilation scheme for real-valued arithmetic expressions to fixed-point arithmetic programs. Given a real-valued polynomial expression t, we find an expression t' that is equivalent to t over the reals, but whose implementation as a series of fixed-point operations minimizes the error between the fixed-point value and the value of t over the space of all inputs. We show that the corresponding decision problem, checking whether there is an implementation t' of t whose error is less than a given constant, is NP-hard. We then propose a solution technique based on genetic programming. Our technique evaluates the fitness of each candidate program using a static analysis based on affine arithmetic. We show that our tool can significantly reduce the error in the fixed-point implementation on a set of linear control system benchmarks. For example, our tool found implementations whose errors are only one half of the errors in the original fixed-point expressions
Automated Floating-point to Fixed-point Conversion with the fixify Environment
Conversion from floating-point to fixed-point formats is a necessary step in the design process of embedded systems and is traditionally performed manually. Automating this conversion process brings significant and much needed improvement in the efficiency of the design process. The fixify environment presented here fully automates the conversion process and comprises three optimization methods. The restricted-set full search algorithm is suited to designs that will be implemented on DSP cores and is, for such designs, guaranteed to find globally optimal solutions. On the other hand, the greedy search algorithm finds solution in the continuous search space and produces nearly optimal results, with the shortest required runtime. The branch-and-bound algorithm also works in the continuous search space and finds optimal solutions, but requires relatively long runtimes. 1
High-level power optimisation for Digital Signal Processing in Recon gurable Logic
This thesis is concerned with the optimisation of Digital Signal Processing (DSP) algorithm
implementations on recon gurable hardware via the selection of appropriate word-lengths
for the signals in these algorithms, in order to minimise system power consumption. Whilst
existing word-length optimisation work has concentrated on the minimisation of the area of
algorithm implementations, this work introduces the rst set of power consumption models
that can be evaluated quickly enough to be used within the search of the enormous design
space of multiple word-length optimisation problems. These models achieve their speed by
estimating both the power consumed within the arithmetic components of an algorithm
and the power in the routing wires that connect these components, using only a high-level
description of the algorithm itself. Trading o a small reduction in power model accuracy
for a large increase in speed is one of the major contributions of this thesis.
In addition to the work on power consumption modelling, this thesis also develops a
new technique for selecting the appropriate word-lengths for an algorithm implementation
in order to minimise its cost in terms of power (or some other metric for which models
are available). The method developed is able to provide tight lower and upper bounds on
the optimal cost that can be obtained for a particular word-length optimisation problem
and can, as a result, nd provably near-optimal solutions to word-length optimisation
problems without resorting to an NP-hard search of the design space.
Finally the costs of systems optimised via the proposed technique are compared to
those obtainable by word-length optimisation for minimisation of other metrics (such as
logic area) and the results compared, providing greater insight into the nature of wordlength
optimisation problems and the extent of the improvements obtainable by them