Download GEZEL User Manual
Transcript
Cosimulating GEZEL with Instruction Set Simulators April 21, 2005 10:39 am The armcosim tool cialized interface on the other hand, is that it provides a dedicated, non-shared and usually high-bandwidth data channel between the core and the hardware. A cycle-true cosimulation interface by itself provides only a mechanism to transfer data between a C program and GEZEL. This data transfer proceeds between two concurrent entities (a core and a hardware block). To avoid that data values get lost when one party is unware of the others’ activities, synchronization is required. Such synchronization will be provided in a synchronization protocol. A synchronization protocol defines a signalling sequence on one or more control signals, in addition to the data transfer channel between C and GEZEL. This signalling sequence ensures that the communicating parties achieve synchronization. Both the control signals and data transfer channel can be implemented using the same cosimulation interfaces. For example, you can use a memory-mapped interface for both of them. Some examples of synchronization strategies will be provided in the examples of armcosim, armzilla and gezel51. 6.2 The armcosim tool The armcosim tool is a cosimulator for a single ARM core with the GEZEL kernel. The command line for armcosim is as follows: armcosim [-v] [-f fpe-path] [-h] [-c cyclecount] \ -g gezel_description \ -a arm_executable [arm_program_parameters] Parameters in between square brackets are optional. The -v is the verbose flag. When it is enabled, the ARM instruction-set simulator provides more detailed feedback on the activities it is performing. The -f flag allows to select the path to an ARM floating-point emulation library. The ARM instruction-set simulator comes with a floating point emulator as a separate binary file (nwfpe.bin). The emulator is required when you want to execute a C program that uses floating point operations. During compilation of armcosim, the path to this emulator is hardcoded into the simulator. When, after installing armcosim, the emulator is no longer available from the default path, the -f flag allows to indicate where to look for this file. The -h flag prints a help message. The -c flag allows to indicate an upperbound for the amount of cycles to simulate. By default, the cosimulation will run until the C program has completed execution, i.e. when the main function terminates. The -g flag is used to indicate the path to the GEZEL hardware description. The -a flag is used to indicate the path to the ARM executable that must run on the ISS. This executable must be created as a statically linked ARM-ELF executable. Schaumont, Ching GEZEL User Manual 54