35 research outputs found
Hierarchical strategies for efficient fault recovery on the reconfigurable PAnDA device
A novel hierarchical fault-tolerance methodology for reconfigurable devices is presented. A bespoke multi-reconfigurable FPGA architecture, the programmable analogue and digital array (PAnDA), is introduced allowing fine-grained reconfiguration beyond any other FPGA architecture currently in existence. Fault blind circuit repair strategies, which require no specific information of the nature or location of faults, are developed, exploiting architectural features of PAnDA. Two fault recovery techniques, stochastic and deterministic strategies, are proposed and results of each, as well as a comparison of the two, are presented. Both approaches are based on creating algorithms performing fine-grained hierarchical partial reconfiguration on faulty circuits in order to repair them. While the stochastic approach provides insights into feasibility of the method, the deterministic approach aims to generate optimal repair strategies for generic faults induced into a specific circuit. It is shown that both techniques successfully repair the benchmark circuits used after random faults are induced in random circuit locations, and the deterministic strategies are shown to operate efficiently and effectively after optimisation for a specific use case. The methods are shown to be generally applicable to any circuit on PAnDA, and to be straightforwardly customisable for any FPGA fabric providing some regularity and symmetry in its structure
Multi-objective Optimisation of Digital Circuits based on Cell Mapping in an Industrial EDA Flow
Modern electronic design automation (EDA) tools can handle the complexity of state-of-the-art electronic systems by decomposing them into smaller blocks or cells, introducing different levels of abstraction and staged design flows. However, throughout each independent-optimised design step, overhead and inefficiency can accumulate in the resulting overall design. Performing design-specific optimisation from a more global viewpoint requires more time due to the larger search space, but has the potential to provide solutions with improved performance. In this work, a fully-automated, multi-objective (MO) EDA flow is introduced to address this issue. It specifically tunes drive strength mapping, preceding physical implementation, through multi-objective population-based search algorithms. Designs are evaluated with respect to their power, performance and area (PPA). The proposed approach is aimed at digital circuit optimisation at the block-level, where it is capable of expanding the design space and offers a set of trade-off solutions for different case-specific utilisation. We have applied the proposed MOEDA framework to ISCAS-85 and EPFL benchmark circuits using a commercial 65nm standard cell library. The experimental results demonstrate how the MOEDA flow enhances the solutions initially generated by the standard digital flow, and how simultaneously a significant improvement in PPA metrics is achieved
A substrate-independent framework to characterize reservoir computers
The reservoir computing (RC) framework states that any nonlinear, input-driven dynamical system (the reservoir) exhibiting properties such as a fading memory and input separability can be trained to perform computational tasks. This broad inclusion of systems has led to many new physical substrates for RC. Properties essential for reservoirs to compute are tuned through reconfiguration of the substrate, such as change in virtual topology or physical morphology. As a result, each substrate possesses a unique 'quality'-obtained through reconfiguration-to realize different reservoirs for different tasks. Here we describe an experimental framework to characterize the quality of potentially any substrate for RC. Our framework reveals that a definition of quality is not only useful to compare substrates, but can help map the non-trivial relationship between properties and task performance. In the wider context, the framework offers a greater understanding as to what makes a dynamical system compute, helping improve the design of future substrates for RC
A Multi-objective Evolutionary Approach for Efficient Kernel Size and Shape for CNN
While state-of-the-art development in CNN topology, such as VGGNet and
ResNet, have become increasingly accurate, these networks are computationally
expensive involving billions of arithmetic operations and parameters. To
improve the classification accuracy, state-of-the-art CNNs usually involve
large and complex convolutional layers. However, for certain applications, e.g.
Internet of Things (IoT), where such CNNs are to be implemented on
resource-constrained platforms, the CNN architectures have to be small and
efficient. To deal with this problem, reducing the resource consumption in
convolutional layers has become one of the most significant solutions. In this
work, a multi-objective optimisation approach is proposed to trade-off between
the amount of computation and network accuracy by using Multi-Objective
Evolutionary Algorithms (MOEAs). The number of convolution kernels and the size
of these kernels are proportional to computational resource consumption of
CNNs. Therefore, this paper considers optimising the computational resource
consumption by reducing the size and number of kernels in convolutional layers.
Additionally, the use of unconventional kernel shapes has been investigated and
results show these clearly outperform the commonly used square convolution
kernels. The main contributions of this paper are therefore a methodology to
significantly reduce computational cost of CNNs, based on unconventional kernel
shapes, and provide different trade-offs for specific use cases. The
experimental results further demonstrate that the proposed method achieves
large improvements in resource consumption with no significant reduction in
network performance. Compared with the benchmark CNN, the best trade-off
architecture shows a reduction in multiplications of up to 6X and with slight
increase in classification accuracy on CIFAR-10 dataset.Comment: 13 pages paper, plus 17 papers supplementary material
Artificial Neural Microcircuits for use in Neuromorphic System Design
Artificial Neural Networks (ANNs) are one of the most widely employed forms of biomorphic computation. However (unlike the biological nervous systems they draw inspiration from) the current trend is for ANNs to be structurally homogeneous. Furthermore, this structural homogeneity requires the application of complex training & learning tools that produce application specific ANNs, susceptible to pitfalls like overfitting. In this paper, an alternative approach is suggested, inspired by the role played in biology by Neural Microcircuits, the so called āfundamental processing elementsā of organic nervous systems. How large neural networks can be assembled using Artificial Neural Microcircuits, intended as off-the-shelf components, is articulated; before showing the results of initial work to produce a catalogue of such Microcircuits though the use of Novelty Search
A perspective on physical reservoir computing with nanomagnetic devices
Neural networks have revolutionized the area of artificial intelligence and
introduced transformative applications to almost every scientific field and
industry. However, this success comes at a great price; the energy requirements
for training advanced models are unsustainable. One promising way to address
this pressing issue is by developing low-energy neuromorphic hardware that
directly supports the algorithm's requirements. The intrinsic non-volatility,
non-linearity, and memory of spintronic devices make them appealing candidates
for neuromorphic devices. Here we focus on the reservoir computing paradigm, a
recurrent network with a simple training algorithm suitable for computation
with spintronic devices since they can provide the properties of non-linearity
and memory. We review technologies and methods for developing neuromorphic
spintronic devices and conclude with critical open issues to address before
such devices become widely used
A Novel Multi-objective Optimisation Algorithm for Routability and Timing Driven Circuit Clustering on FPGAs
Circuit clustering algorithms fit synthesised circuits into FPGA configurable logic blocks (CLBs) efficiently. This fundamental process in FPGA CAD flow directly impacts both effort required and performance achievable in subsequent place-and-route processes. Circuit clustering is limited by hardware constraints of specific target architectures. Hence, better circuit clustering approaches are essential for improving device utilisation whilst at the same time optimising circuit performance parameters such as, e.g., power and delay. In this paper, we present a method based on multi-objective genetic algorithm (MOGA) to facilitate circuit clustering. We address a number of challenges including CLB input bandwidth constraints, improvement of CLB utilisation, minimisation of interconnects between CLBs. Our new approach has been validated using the "Golden 20" MCNC benchmark circuits that are regularly used in FPGA-related literature. The results show that the method proposed in this paper achieves improvements of up to 50% in clustering, routability and timing when compared to state-of-the-art approaches including VPack, T-VPack, RPack, DPack, HDPack, MOPack and iRAC. Key contribution of this work is a flexible EDA flow that can incorporate numerous objectives required to successfully tackle real-world circuit design on FPGA, providing device utilisation at increased design performance