International Journal of Recent Development in Engineering and Technology Website: www.ijrdet.com (ISSN 2347 - 6435 (Online)) Volume 4, Issue 11, November 2015) 18 Acceleration Framework using MicroBlaze Soft-core Processors on FPGAs Shrikant Jadhav 1 , Christopher Doss 2 , Clay Gloster 3 , Youngsoo Kim 4 1,2 Dept. of ECE North Carolina A&T State University, Greensboro, NC 3 Dept. of CST North Carolina A&T State University, Greensboro, NC 4 Dept. of EE San Jose State University, San Jose, CA Abstract— Offloading the complex computational kernel from the processor is the common way to improve performance of embedded system. In our work we are using MicroBlaze soft- core processor in design and implementation of acceleration framework. In acceleration framework MicroBlaze is coupled with co-processor with the help of communication bus. We can attach the co-processor to our design that can handle the computation part. This co-processor helps to offload the burden on the MicroBlaze and thus reduces clock cycles needed for computation. In this paper we provide the acceleration framework to compute floating point natural logarithm value. The hardware implemented floating point natural logarithm unit is connected as co-processor to MicroBlaze. Xilinx provide a way to connect MicroBlaze processor and co-processor with the help of Fast Simplex Link (FSL). The FSL is used as mode of communication between floating point natural logarithm unit (co-processor) to MicroBlaze processor. We have implemented this framework on Virtex 5 and Zynq-7000. Our design consumes 28% on Zynq-7000 and 59% on Virtex 5 of the resources on FPGA. We compared the time in milliseconds required to execute different number of samples on (MicroBlaze processor + co-processor) design, on MicroBlaze soft-core processor. Our acceleration framework has achieved approximately 527x speedup on Zynq 7000 (100 MHz) over MicroBlaze soft-core design. Keywords—Field Programmable Gate Arrays (FPGA); MicroBlaze processor; soft-core; co-processor; acceleration framework; Fast Simplex Link (FSL); Floating point Natural Logarithm Unit. I. INTRODUCTION Field Programmable Gate Array (FPGA) is a semiconductor device that can be used to program desired hardware functions and applications. FPGA gives hardware designers the benefits of achieving high performance as well as re-configurability. Hardware designers can reconfigure hardware blocks in an FPGA for specific applications or kernels in their application algorithms. Additionally, FPGA has soft- core processors such as MicroBlaze processor which can be instantiated without much of hardware resources. We use these soft-core processors as Processing Elements (PE) in link to auxiliary floating point units that we can accelerate scientific algorithms in our FPGA framework. In this paper, we demonstrated execution of logarithmic functions in FPGA with the help of software augmented with hardware floating point unit. This will ensure that HW designers will get acceleration of their algorithmic execution on a FPGA. Floating point logarithm is used in number of real world applications. Using logarithmic scale scientific quantities are expressed as logarithm of other quantities. For example, the Decibel which is unit of measurement is a logarithmic unit expressing the ratio of physical quantity often power or intensity. In electrical signal transmission, it is used to quantify voltage loss. The earthquake intensity in Richter scale is measured by taking logarithm of the energy emitted during quake. Logarithmic scale is used in chemistry to represent pH value. Logarithm is used significantly in psychology field. Some of the human perception laws need the help of logarithm. The laws like Hick’s law, Fitt’s law, Weber-Fechner law uses logarithm to describe the relation between the entities the particular law is dealing with. Logarithm is used in probability theory, log normal distribution, used in maximum likelihood estimation of parametric statistical models. Logarithms are also useful in calculation of computational complexity of the algorithms. Fractals are infinitely complex geometric pattern that are self-similar across different scales. Logarithm is used to represent such Fractals. Logarithm is also used in music to describe intervals. In number theory logarithm is closely related in counting prime numbers, one of the important topics in number theory.