Abstract:
The hardware implementation of a parallel system is often addressed by the creation of dedicated Very Large Scale Integrated Circuit (VLSI) technology. The intent of this thesis is to demonstrate the use and hence the potential of bit-streams in the implementation of parallel, real time systems. The focus of this research is on the implementation of controllers using bit-streams on a Field Programmable Gate Array (FPGA) platform. There is a significant body of literature devoted to parallel paradigms. Researchers intending a hardware implementation of these paradigms or solutions usually address it by creating a dedicated VLSI device. Alternative strategies may consider multi-tasking software or a multiprocessor environment. The VLSI solution may not be accessible but more importantly, it may not be necessary. A multi-tasking solution could certainly work provided a fast processor is deployed. A multi-processor solution on the other hand may be hampered by the inter-processor communication overhead. The intent of this thesis is to demonstrate the use and hence the potential of bit-streams in the implementation of parallel, real time systems. The focus of this research is on the implementation of controllers using bit-streams on a FPGA platform. First an attempt to justify the suitability of a bit-stream representation of bipolar analogue signals is made. Another view is given that this representation maybe interpreted as a combination of a zero signal and a non zero signa.l Bit-stream convertors are analysed and the equations which characterise their performance are presented. Arithmetic operators like addition, multiplication and others have been encapsulated into bit-stream functional elements. In addition to these operators, Fuzzy Systems also require fuzzy operators, membership function generators, inference engines and defuzzification elements. These have also been created. All the elements have operands (inputs) as bit-streams and also have their results (outputs) as bit-streams. The behaviour of each element is explained conceptually as well as analytically. Each element is characterised using typical test signals and its behaviour is verified using simulations as well as by physical measurements. Finally the functional elements are assembled into a library of components which can be used as building blocks for larger or more complex systems. Two case studies are used to demonstrate the effectiveness of bit-streams in real time control. This assertion is based on simulations as well as practical experiments. Two distinctly different simulation engines, Matlab™ and Very High Speed Integrated Circuits Hardware Description Language (VHDL) , are used for verification. The Matlab simulation serves as a benchmark while the VHDL simulation is used for verification of an ideal system response. The first example is a thermal process control plant. Using the library of bit-stream functional elements, a Proportional Integral Derivative (PID) controller is implemented. The bit-stream simulations confirm the expectations of the ideal response of the thermal plant. Although Matlab and VHDL are distinctly different simulation engines, they report comparable results. The physical experimental results are well within expectations. The second case study is a servo mechanism. The verification methodology used for this example is identical to the first plant. These two experiments clearly show that the behaviour of this plant with a bit-stream controller is very comparable in VHDL simulations as well as in practice. A bit-stream fuzzy controller, with 2 inputs, 4 rules and one output, is also implemented. The physical experiments show very good agreement with the results from VHDL and Matlab benchmarks. Three examples of bit-stream implementations of neural networks are presented. In all cases, Matlab is used to determine the structure of the network. The simulations of the bit-stream equivalent networks are comparable to the performances in Matlab. Finally a novel method of producing a sigmoid activation function is presented. This research shows that a bit-stream solution is a viable platform for a variety of controllers and paradigms. The FPGA technology base is far more readily accessible than VLSI and hence this parallel implementation is ideal for applications requiring several simultaneous outputs or control actions.