MATLAB/Simulink based hardware/software co-simulation for designing using FPGA configured soft processors

FPGA configured soft processors are an attractive choice for implementing many embedded systems. For application development using these soft processors, the users can execute portions of the applications as software programs and the other portions as customized hardware implementations. Being able to rapidly simulate various partitions of the applications on hardware and software is crucial to efficiently execute them on soft processors because (a) there are many possible configurations of soft processors, and (b) low-level simulation techniques are too time consuming for evaluating these different partitioning and configuration possibilities. While state-of-the-art design tools rely on low-level simulation and are unable to deliver such a fast simulation speed, we propose a high-level cycle-accurate hardware/software co-simulation environment based on MATLAB/Simulink for application development using soft processors. By utilizing the high-level cycle-accurate abstractions of the low-level hardware implementations and the arithmetic simulation capability provided by MATLAB/Simulink, our tool considerably accelerates the time for cycle-accurate functional simulation of both hardware and software portions of a given application running on soft processors. To illustrate our approach, we develop a CORDIC division application and a matrix multiplication application on a commercial soft processor. Up to 19.4x improvement in simulation time is achieved using our co-simulation environment compared with that of low-level simulation for various partitions of these applications and for various configurations of the soft processor.

[1]  Viktor K. Prasanna,et al.  Domain-Specific Modeling for Rapid System-Wide Energy Estimation of Reconfigurable Architectures , 2002 .

[2]  Viktor K. Prasanna,et al.  PyGen: a MATLAB/Simulink based tool for synthesizing parameterized and energy efficient designs using FPGAs , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[3]  Bo-Cheng Lai,et al.  Leakage power analysis of a 90nm FPGA , 2003, Proceedings of the IEEE 2003 Custom Integrated Circuits Conference, 2003..

[4]  Nabeel Shirazi,et al.  System Level Tools for DSP in FPGAs , 2001, FPL.

[5]  Ray Andraka,et al.  A survey of CORDIC algorithms for FPGA based computers , 1998, FPGA '98.

[6]  Viktor K. Prasanna,et al.  Rapid energy estimation of computations on FPGA based soft processors , 2004, IEEE International SOC Conference, 2004. Proceedings..