Home
UNISIM Virtex 5 FXT Simulator Manual
Contents
1. Type parameter Data type boolean Name flash sector protect 141 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 142 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 67 Name flash sector protect 143 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 144 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 145 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 146 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 147 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 148 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 149 Default false Valid
2. From the directory where you uncompressed the archive do the following at the command prompt build sh all HOME mibench v1 source v3 builds powerpc 440fp linux gnu HOME crosstool powerpc 440fp linux gnu 5 3 7 Booting the distribution A very small Linux distribution based on Busybox together with a configuration file are provided for the simulator To boot that small Linux distribution within the simulator do the following at the command prompt cd linux_distro unisim virtex5fxt wfpu 1 0betal1 c config sim config xml The simulator acts as a telnet server to emulate a terminal over the XPS UART Lite Once started it waits for a telnet client connection like telnet or PuTTY To connect the telnet client to the simulator do the following at the command prompt telnet localhost 1234 You can see in the telnet terminal the Linux distribution booting in the simulator 0 000000 Using Xilinx Virtex440 machine description 0 000000 Linux version 3 0 4 unisim vp unisim vp org gcc version 4 6 crosstool NG 1 13 2 2 PREEMPT Thu Jan 1 00 00 00 CEST 1970 000000 Found initrd at 0xc0900000 0xc1900000 000000 Zone PFN ranges 000000 DMA 0x00000000 gt 0x00001000 000000 Normal empty 000000 Movable zone start PFN for each node 000000 early_node_map 1 active PFN ranges 000000 0 0x00000000 gt 0x00001000 000000 MMU Allocated 1088 bytes of context maps for 255 contexts 000000 Built 1 zonelists i
3. filename lt filenamel gt format lt format1 gt filename lt filename2 gt form e g boot bin raw app elf loader memory mapper Name loader memory mapper verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name loader memory mapper verbose Type parameter parser Default false Data type boolean Valid true false Description Enable Disable verbosity of parser Name loader memory mapper mapping Type parameter Default ram effective to physical Data type string gt address translator 0x0 Oxfffffff bram gt effective to physical address gt translator 0xfffc0000 Oxffffffff flash gt effective to physical address gt translator 0xfc000000 Oxfdffffff Description Memory mapping Syntax G memory lt memory1 gt range lt low1 high1 gt memory lt memory2 gt range lt low2 high2 gt e g ram 0x0 Ox00ffff rom 0xff0000 OxfHfFfE masterl dcr stub Name masteri dcr stub enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name masteri dcr stub verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity mci Name mci verbose Type parameter 95 Default false
4. gt Toolchain options gt 440fp Tuple s vendor string Operating System gt Target OS linux gt Linux kernel version 3 7 3 gt Binary utilities gt binutils version 2 22 gt C compiler gt gcc version 4 7 2 gt C Link libstdc statically into the gcc binary C library gt C library glibc gt glibc version 2 16 0 gt g gcc extra flags Minimum supported kernel version Specific kernel version gt Specific kernel version 2 6 9 Minimum kernel version to supports Debug facilities gt gdb gt Figure 2 crosstool chain build configuration changes from default only for Crosstool NG 1 18 0 14 4 5 2 Using cross GCC A GCC cross compiler together with a LD cross linker can be used to create binaries for the target machine from the host machine HOME crosstool powerpc 440fp linux gnu bin powerpc 440fp linux gnu gcec nodefaultlibs nostdlib mcpu 440fp c hello c o hello o HOME crosstool powerpc 440fp linux gnu bin powerpc 440fp linux gnu 1ld hello lds o hello elf Simulator can directly loads such binary files see Section 4 2 4 5 3 Using cross GDB GNU GDB client can debug applications running on a remote local host on the network The application is run under the control of program gdbserver while program gdb only manages in teractions with the user Program gdbserver and gdb communicates over the TCP IP network
5. Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 81 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 82 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 83 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 84 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 85 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 86 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 60 Name flash sector protect 87 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 88 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name fla
6. February 2010 UG200 http www xilinx com support documentation user_guides ug200 pdf LogiCORE IP XPS Interrupt Controller v2 01a Xilinx April 2010 DS572 xilinx com support documentation ip_documentation xps_intc pdf LogiCORE IP XPS Timer Counter v1 02a Xilinx April 2010 DS573 xilinx com support documentation ip_documentation xps_timer pdf LogiCORE IP Virtex 5 APU Floating Point Unit vl Ola Xilinx March 2011 DS693 http www xilinx com support documentation ip_documentation apu_fpu_virtex5 pdf M R Guthaus J S Ringenberg D Ernst T M Austin T Mudge and R B Brown Mibench A free commercially representative embedded benchmark suite In Proceedings of the Workload Characterization 2001 WWC 4 2001 IEEE International Workshop pages 3 14 Washington DC USA 2001 IEEE Computer Society Richard Stallman Roland Pesch Stan Shebs and al Debugging with GDB GNU sourceware org gdb current onlinedocs gdb pdf gz 112
7. Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 12 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 13 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 14 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 51 Name flash sector protect 15 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 16 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 17 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 18 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 19 Default false Valid true false Description enable disable sector write protection Type parameter Data type bo
8. Valid true false Description Keep logger output in a file xml formatted Name kernel logger xml file gzipped Type parameter Default false Data type boolean Valid true false Description If the xml file option is active the output file will be compressed a gz extension will be automatically added to the xml filename option Name kernel logger xml filename Type parameter Default logger output xml Data type string Description Filename to keep logger xml output the option xml file must be activated 5 leds positions Name 5 leds positions verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity 38 apu dcr stub Name apu dcr stub enable Default true Valid true false Description Type parameter Data type boolean Enable Disable a lazy implementation of TLM 2 0 method interface Name apu dcr stub verbose Default false Valid true false Description Enable Disable verbosity Type parameter Data type boolean bram Name bram org Default 0x00000000fffc0000 Description memory origin base address Type parameter Data type unsigned 64 bit integer Name bram bytesize Default 262144 Description memory size in bytes Type parameter Data type unsigned 64 bit integer Name bram initial byte value Default 0x00 Type parameter Data type unsigned
9. true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 107 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 108 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 109 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 110 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 63 Name flash sector protect 111 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 112 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 113 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 114 Default false Valid true false Description enable disable sector write protection Type parameter Data type b
10. 5bit verbose Default false Valid true false Description Enable Disable verbosity Type parameter Data type boolean Name gpio push buttons 5bit c baseaddHype parameter Default 0x0000000081440000 Description Data type unsigned 64 bit integer Base address C BASEADDR design parameter Name gpio push buttons 5bit c highaddHype parameter Default 0x000000008144ffff Description Data type unsigned 64 bit integer High address C HIGHADDR design parameter Name gpio push buttons 5bit cycle time Default 5 ns Description Cycle time Type parameter Data type sc time inline debugger Name inline debugger memory atom size Default 0x00000001 Description Type parameter Data type unsigned 32 bit integer size of the smallest addressable element in memory Name inline debugger search path Default Description Search path for source separated by Type parameter Data type string Name inline debugger init macro Type parameter 85 Default Data type string Description path to initial macro to run when debugger starts Name inline debugger output Type parameter Default Data type string Description path to output file where to redirect the debugger outputs input interrupt stub0 Name input interrupt stub0 enable Type parameter Default true Data type boolean Valid true
11. Data type boolean Valid true false Description Enable Disable verbosity Name mci cycle time Type parameter Default 5 ns Data type sc time Description Enable Disable verbosity mplb Name mplb cycle time Type parameter Default 5 ns Data type sc_time Description Time to process a request response by the router Name mplb port buffer size Type parameter Default O Data type unsigned 32 bit integer Description Defines the size of the buffer for incomming requests in each of the input ports 0 infinite Name mplb mapping O Type parameter Default range start 0x81800000 Data type unisim component tlm2 interconnect range end 0x8180ffff output generic router Mapping port 0 translation 0x81800000 Description Defined a mapping of the router with format range_start range end outport_index where range start range end and outport index are to be replaced with the initial address end address range start range_size 1 and the output port index respectively 2 y Name mplb mapping 1 Type parameter Default range_start 0x83c00000 Data type unisim component tlm2 interconnect range end 0x83c0ffff output generic router Mapping port 1 translation 0x83c00000 Description Defined a mapping of the router with format range start range end outport_index where
12. Type parameter Data type boolean Name flash sector protect 72 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 73 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 74 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 75 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 76 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 77 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 78 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 59 Name flash sector protect 79 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 80 Default false Valid true false
13. accesses floating point Description L1 instruction cache miss rate Name cpu dli miss rate Type formula Formula cpu num dli misses cpu Data type double precision gt num dl1 accesses floating point Description L1 data cache miss rate Name cpu itlb miss rate Type formula Formula cpu num itlb misses cpu Data type double precision num itlb accesses floating point Description shadow instruction translation look aside buffer miss rate Name cpu dtlb miss rate Type formula Formula cpu num dtlb misses cpu Data type double precision gt num dtlb accesses floating point Description shadow data translation look aside buffer miss rate 110 Name cpu utlb miss rate Formula cpu num utlb misses cpu num utlb accesses Description Type formula Data type floating point double precision unified data translation look aside buffer miss rate Name cpu idle rate Formula cpu idle time cpu run gt time Description idle rate Type formula Data type floating point double precision Name cpu load rate Formula 1 cpu idle time cpu gt run time Description load rate Type formula Data type floating point double precision timer Name timer num timer0 capture losses Formula timer num timer0 old capture losses timer num timer0 new capture losses Description Number of timer O capture losses Type formula D
14. dads GLb GDA ede SASS 15 5 Examples of use 15 phoned loge ge ee eee obs ete epee ck ee Se eat a as 15 ioe ee A eee ee ee ee ee ee 15 A Sage ee Ne a O O ee ee E a a 16 o Sy A ers ay ee ENE es a ese ee O E 17 5 2 The MiBench version 1 benchmarks e 18 fs to esl NS Shee ees eee td SN ee a se eB es Se 18 Dr ae ek dest GO ee Ge Re eee a A 18 See ep ea ates A ny eee ere a eee 18 ge ee ee eo Gea sees ee ee oe 20 5 3 1 The boot progra 20 5 3 2 The Linux kernel 2 200000000000 0000 ee 21 che fo a eee ah ae A pues ae ee BSS a Wo 21 5 3 4 The initial RAM disk e 24 en ean ous did a cea AA 26 5 3 6 Building the distribution 22 2020 00048 26 So tte Sasi ae bees ies ae cece ee eet ge eae Shei do ee hee 26 30 Ae ooo See oe ee ee ees y Boe ge eae Gee e E as 30 As bo oy Sone he ORBAN ERE AES eee DES eee 30 e Aah ed ee ara aeons 30 st inte a hd 36 Sere ae aes ee rere 36 Paa genes bec Bsa ae ee Sos ee ee ee ee NN 103 E Pets eee a AE kek a 110 List of Figures Sb pak DEA e ho ah as 4 2 crosstool chain build configuration changes from default only for Crosstool NG E EE TR 14 Boot program boot S compiled as boot elf loaded in BRAM 22 Linux kernel configuration changes from default only 23 oe ee ae 30 List of Tables 1 Simulator memory mapping lt soo ee 4 Eee nia ane Sete ai RO Ss a ee can 16 Be de go BED be 3 aw
15. enable disable sector write protection Type parameter Data type boolean 56 Name flash sector protect 55 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 56 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 57 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 58 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 59 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 60 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 61 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 62 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 57 Name flash secto
16. machine or any machine on the internet as virtual serial console To enable the serial console do the following at the command prompt unisim virtex5fxt wfpu 1 0betal1 s enable telnet true s telnet telnet tcp port 1234 During initialization the simulator waits for a telnet client connection on the telnet port In another console connect a telnet client to the simulator telnet localhost 1234 At this point the user can interact with the target application using the telnet client 4 4 Using the builtin debugger The simulator has an integrated debugger for debugging the target application an a non intrusive manner To enable the inline debugger do the following at the command prompt unisim virtex5fxt wfpu 1 O0betail s enable inline debugger true The user can enter classical debug commands from the debugger such as putting breakpoints watchpoints stepping instructions disassembling dumping memory regions etc To obtain help within the debugger uses the debugger command help inline debugger gt help 4 5 Using a GNU crosstool chain 4 5 1 Building a GNU crosstool chain A crosstool chain is a tool chain to create and manipulate binary programs for a target architec ture and operating system e g PowerPC Linux that are different from host architecture and operating system e g x86 Linux that runs the tool chain Building a GNU crosstool chain from scratch is a very tedious task The process consists of a
17. prompt make CROSS_COMPILE HOME crosstool powerpc 440fp linux gnu bin powerpc 440f p linux gnu 16 5 1 3 Running the tests To check in an automatic mannner that the UNISIM Virtex 5 FXT simulator correctly runs the system level unit tests do the following at the command prompt check sh HOME unisim virtex5fxt 1 0beta11 virtex5fxt bin unisim virtex5fxt wfpu 1 Obetail You should get the following output Running xps_timer poll done Running xps_timer pwm done Running xps_timer gen done Running xps_timer cap done Running s29g1256p single_word_programming done Running s29g1256p unlock_bypass_word_programming done Running s29g1256p cfi_query done Running s29g1256p sector erase done Running s29g1256p chip erase done Running s29g1256p autoselect done Running s29g1256p unlock bypass sector erase done Running s29g1256p write buffer programming done Running s29g1256p unlock bypass chip erase done Running xps uart lite echo done xps timer poll PASS xps timer pwm PASS xps timer gen PASS xps timer cap PASS s29g1256p single word programming PASS s29g1256p unlock bypass word programming PASS s29g1256p cfi query PASS s29g1256p sector erase PASS s29g1256p chip erase PASS s29g1256p autoselect PASS s29g1256p unlock bypass sector erase PASS s29g1256p write buffer programming PASS s29g1256p unlock bypass chip erase PASS xps uart lite echo PASS 17 5 2 The MiBench version 1 benchmark
18. protection Type parameter Data type boolean Name flash sector protect 227 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 228 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 229 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 230 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 78 Name flash sector protect 231 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 232 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 233 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 234 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 235 Default fal
19. sector protect 175 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 176 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 177 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 178 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 179 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 180 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 181 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 182 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 72 Name flash sector protect 183 Default false Valid true false Description enable disable sector write
20. set initrd consumer typeset large img Busybox consumer typeset large data set initrd consumer typeset small img Busybox consumer typeset small data set initrd network dijkstra large img Busybox network dijkstra large data set initrd network dijkstra small img Busybox network dijkstra small data set initrd network patricia large img Busybox network patricia large data set initrd network patricia small img Busybox network patricia small data set initrd office ghostscript large img Busybox office ghostscript large data set initrd office ghostscript small img Busybox office ghostscript small data set initrd office ispell large img Busybox office ispell large data set initrd office ispell small img Busybox office ispell small data set initrd office rsynth large img Busybox office rsynth large data set initrd office rsynth small img Busybox office rsynth small data set initrd office stringsearch large img Busybox office stringsearch large data set initrd office stringsearch small img Busybox office stringsearch small data set initrd security blowfish large img Busybox security blowfish large data set initrd security blowfish small img Busybox security blowfish small data set initrd security pgp img Busybox security PGP initrd_security_rijndael_large img Busybox security rijndael large data set initrd security rijndael small img Busybox security rijnda
21. simulator parameters Section A 6 gives the simulator statistic counters Section A 7 gives the simulator statistic formulas A 2 Licensing UNISIM Virtex 5 FXT 1 0beta11 Copyright C 2007 2011 Commissariat a Energie Atomique CEA License BSD see file COPYING Authors Gilles Mouchard lt gilles mouchardQcea fr gt Daniel Gracia P rez lt daniel gracia perezQcea fr gt A 3 Simulated configuration Binary Files PPC440 Embedded Processor Block Val VA Boot loade So O Val GDB Debugger CEEE R EA E ata S Crossbar S SMCIS DCR 5 Controller VA VA PPC440x5 MMU Caches DTLB DL1 E w MEB IL1 HW FPU optional APU Val Telnet Putty Figure 5 UNISIM Virtex 5 FXT simulator schematic The UNISIM Virtex 5 FXT simulator is composed of the following modules and services e 5 leds positions This module implements a 5 LED board on GPIO e apu dcr stub A target stub 30 bram this module implements a memory bram effective to physical address translator this service translates memory ad dresses when playing with different address sizes capture trigger stub0 A stub that if enabled can generate random inputs for a capture timer capture trigger stubl A stub that if enabled can generate random inputs for a capture timer cpu This module implements a PPC440 CPU core It has the following chara
22. the following charac teristics Manufacturer ID 0x0001 Device ID word 0 0x227e Device ID word 1 0x2222 Device ID word 2 0x2201 Size 33554432 bytes I O width 16 bits Number of chips 1 chip I O width per chip 16 bits Size per chip 33554432 bytes Number of Sectors 256 sectors 8 bit mode support yes 16 bit mode support yes Access time 100 ns Byte programming time 60000 us Word programming time 60000 us Sector erasing time 500000000 us Chip erasing time 128000000000 us e flash effective to physical address translator this service translates memory addresses when playing with different address sizes e gdb server this service implements the GDB server remote serial protocol over TCP IP Standards GDB clients e g gdb eclipse ddd can connect to the simulator to debug the target application that runs within the simulator e generate out stub0 A target stub e generate out stubl A target stub e gpio 5 leds positions This module implements a Xilinx XPS GPIO v2 00a It has the following characteristics PLB data width 128 bits Use dual channel no GPIO Channel 1 width 5 bits GPIO_DATA reset value 0x0 GPIO_TRI reset value Oxf e gpio dip switches 8bit This module implements a Xilinx XPS GPIO v2 00a It has the following characteristics PLB data width 128 bits Use dual channel no GPIO Channel 1 width 8 bits GPIO_DATA reset value 0x0 GPIO_TRI reset value Oxf e gpio leds 8bit This module implemen
23. when accessing shadow data translation lookahead buffer Name cpu verbose utlb Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when accessing unified translation lookahead buffer Name cpu verbose d11 Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when accessing L1 data cache Name cpu verbose i11 Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when accessing L1 instruction cache Name cpu verbose load Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when simulating a load 43 Name cpu verbose store Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when simulating a store Name cpu verbose read memory Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when reading memory for a debug purpose Name cpu verbose write memory Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when writing memory for a debug purpose Name cpu verbose exception Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when handlin
24. written in C C and based on industry standards like IEEE16667M Accellera SystemC7 and Accellera SystemC Y TLM 2 0 Some use cases of UNISIM virtual platforms are e Development of SystemC IPs intellectual property and new virtual platforms UNISIM is an open development environment that comprise a SystemC module library and a set of services debugging program loaders It can be a fundation for the development of new SystemC IPs and new virtual virtual platforms e Hybrid virtual platform UNISIM SystemC and an FPGA accelerator can be mixed to build some hybrid virtual platforms for instance simulating processor cores within UNISIM SystemC and prototyping specialized IPs devices within an FPGA accelerator Hybridization allows using indifferently both UNISIM SystemC IPs on a standard host machine and VHDL IPs on an FPGA accelerator but also speeding up simulation of large systems e Non intrusive debugging and testing of software It means that unlike on the real hard ware software can be debugged and tested without affecting either its functional and or temporal behavior With such virtual instrumentation the user can seamlessly stop and resume execution of software profile the software inspect the system status inject values on the sensors modify the state of program variables and microprocessor device registers and then analyze the result without modifying the software e Hardware software integration software st
25. 0000 Data type unsigned 32 bit integer Description Minimum address for data write profiling Name profiler max data write prof Type parameter addr Default Oxffffffff Data type unsigned 32 bit integer Description Maximum address for data write profiling Name profiler min insn fetch prof Type parameter addr Default 0x00000000 Data type unsigned 32 bit integer Description Minimum address for instruction fetch profiling Name profiler max insn fetch prof Type parameter addr Default Oxffffffff Data type unsigned 32 bit integer Description Maximum address for instruction fetch profiling Name profiler min insn exec prof Type parameter addr Default 0x00000000 Data type unsigned 32 bit integer Description Minimum address for instruction execution profiling Name profiler max insn exec prof Type parameter addr Default Oxffffffff Data type unsigned 32 bit integer Description Maximum address for instruction execution profiling Name profiler enable data read Type parameter prof Default false Data type boolean Valid true false 99 Description Enable Disable data read profiling Name profiler enable data write prof Default false Valid true false Description Enable Disable data write profiling Type parameter Data type boolean Name profiler enable insn fetch prof Default false Valid true false Description Enable Dis
26. 2 7 8 tar gz cd libxml2 2 7 8 mkdir HOME 1ibxm12 mingw32 configure host i586 mingw32msvc without python with zlib HOME zlib mingw32 CPPFLAGS DLIBXML_STATIC RPA A A A make make install prefix HOME 1libxm12 mingw32 3 5 Cross compiling Boost Download the source code tarball at http downloads sourceforge net boost boost 1 47_0 tar bz2 Uncompress the source code tarball and cross compile the library tar jxvf boost_1_47_0 tar bz2 cd boost_1_47_0 mkdir HOME boost mingw32 bootstrap sh without icu MINGW32 VERSION 1586 mingw32msvc g v 2 gt amp 1 tail 1 awk print 3 cut f 1 d echo using gcc MINGW32_VERSION 1586 mingw32msvc g lt rc gt i586 mingw32msvc windres A A RA A e e lt archiver gt i586 mingw32msvc ar 3 gt user config jam bjam toolset gcc target os windows variant release threading multi threadapi win32 link shared runtime link shared prefix HOME boost mingw32 user config user config jam without mpi without python sNO_BZIP2 1 sZLIB_BINARY z d11 sZLIB_INCLUDE HOME zlib mingw32 include sZLIB_LIBPATH HOME zlib mingw32 lib layout tagged install 3 6 Cross compiling the UNISIM Virtex 5 FXT simulator 3 6 1 Uncompressing the source code tarball tar zxvf unisim virtexbfxt 1 0betall tar gz 3 6 2 Configuring the simulator building process cd unisim virtex5fxt 1 0betal1 configure cross host
27. 8 bit integer Name bram cycle time Default 5 ns Description memory cycle time Type parameter Data type sc_time Name bram read latency Default 5 ns Description memory read latency Type parameter Data type sc_time Name bram write latency Default 0 s Description memory write latency Type parameter Data type sc_time 39 Name bram verbose Type parameter Default false Data type boolean Valid true false Description enable disable verbosity capture trigger stub0 Name capture trigger stub0 cycle Type parameter time Default 5 ns Data type sc time Description cycle time Name capture trigger stub0 nice Type parameter time Default 1 ms Data type sc time Description nice time Name capture trigger stub0 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name capture trigger stub0 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable Name capture trigger stub0 randomizedType parameter output Default false Data type boolean Valid true false Description Enable Disable randomized output Name capture trigger stub0 random Type parameter gt seed Default 123456 Data type signed 32 bit integer Description Seed for the random generator 40 Name captu
28. Data type boolean Name flash sector protect 244 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 245 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 246 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 80 Name flash sector protect 247 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 248 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 249 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 250 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 251 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 252 Default false Valid true false Descrip
29. Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub9 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity 93 intc Name intc verbose Default false Valid true false Description Enable Disable verbosity Type parameter Data type boolean Name intc c baseaddr Default 0x0000000081800000 Description Type parameter Data type unsigned 64 bit integer Base address C_BASEADDR design parameter Name intc c highaddr Default 0x000000008180ffff Description Type parameter Data type unsigned 64 bit integer High address C_HIGHADDR design parameter Name intc cycle time Default 5 ns Description Cycle time Type parameter Data type sc_time leds 8bit Name leds 8bit verbose Default false Valid true false Description Enable Disable verbosity Type parameter Data type boolean loader Name loader verbose Default false Valid true false Description Enable Disable verbosity Type parameter Data type boolean Name loader verbose parser Default false Valid true false Description Enable Disable verbosity of parser Type parameter Data type boolean Name loader filename Default Type parameter Data type string 94 Description List of files to load Syntax
30. PASS of 35 of 35 of 35 of 35 automotive qsort small PASS automotive qsort large PASS automotive susan small PASS automotive susan large PASS consumer jpeg small PASS consumer jpeg large PASS consumer lame small PASS consumer lame large PASS consumer typeset small PASS consumer typeset large PASS network dijkstra small PASS network dijkstra large PASS network patricia small PASS network patricia large PASS office stringsearch small PASS office stringsearch large PASS security blowfish small PASS security blowfish large PASS security pgp PASS security rijndael small PASS security rijndael large PASS security sha small PASS security sha large PASS telecomm adpcm small PASS telecomm adpcm large PASS telecomm crc32 small PASS telecomm crc32 large PASS telecomm fft small PASS telecomm fft large PASS telecomm gsm small PASS telecomm gsm large PASS 29 of 35 ok of 35 ok Appendices A Simulator technical reference generated This documentation has been automatically generated from the simulator UNISIM Virtex 5 FXT version 1 0betall on Oct 24 2013 A 1 Introduction UNISIM Virtex 5 FXT full system PPC440x5 based simulator including some Virtex 5 IPs Section gives licensing informations about the simulator Section shows the set of modules and services that compose the simulator Section A 4 shows how to invoke the simulator at the command line prompt Section A 5 gives the
31. UNISIM Virtex 5 FXT Simulator Manual Gilles Mouchard Contents 3 EMER eR Lon bee Sw SS a BEE dE Gla de dew ah wR E ios 3 1 2 Virtex 5 FXT Simulator 3 6 a eee oe Gt Som Aue ee Ss Se ee a ee es ee e 6 2 2 Installing SystemC 2 38 0 0 0 0 LL ee 6 2 2 1 Download the source code 2 2 a a a a e 6 bn dr e ies 6 2 2 3 Configuring SystemC LL LL LL A T 2 2 4 Compiling and installing SystemC LL LL LL LL oo e 7 inh eh fume A a 7 2 3 1 Uncompressing the source code tarballl 7 and E 7 be A Bon wh A e 7 8 O RO ie A AA By ee ts q onda 8 3 2 Installing a cross compiled SystemC 2 3 0 0 0 0 0 00002 eee eee 8 3 2 1 Download the source code 2 a a a a 8 ET ies lite 8 3 2 3 Configuring SystemC 2 0 0 0 a 9 3 2 4 Cross compiling and installing SystemC 2 9 3 3 Cross compiling zhb ee 9 3 4 Cross compiling libxml2 0 0 020 0 0 00 00 0000 2 eee eee 9 3 5 Cross compiling Boost 2 LL ee 9 end Gra bles 10 3 6 1 Uncompressing the source code tarballl 10 IA 10 peda Pao O eee O dd 10 4 Getting started 10 a eii aa at daa 10 BS os ep Ss Gress ee ds A a Gee a es eG ee 11 4 3 Serial console o oa aaa E E E a Re 12 op ob A be Got E en 12 de he Hay Ate ok Gee SE oe Sa me aoe Ge Se a 12 4 5 1 Building a GNU crosstool chain 0 0 0 20 0 0000008 12 4 5 2 Using cross GCC IL ee 15 gi So dar woe woes Plu
32. _TREE_PTRCh ori r3 r3 DEV_TREE_PTR 1 r3 lt device tree address lis r4 INITRD_START h ori r4 r4 INITRD_START 1 r4 lt initrd start lis r5 INITRD_END h ori r5 r5 INITRD ENDO1 r5 lt initrd end li r6 O r6 lt start of kernel command line unused as kernel command line is in dev tree li r7 O r7 lt end of kernel command line unused as kernel command line is in dev tree lis r0 KERNEL_START h ori rO rO KERNEL STARTO1 mtspr SRRO rO SRRO lt kernel start address Li ad Q mtspr SRR1 ri MSR lt O rfi Branch to Linux kernel and invalidate shadow TLBs global start org Oxffc start b init Figure 3 Boot program boot S compiled as boot elf loaded in BRAM 22 Processor support gt Processor Types AMCC 44x 46x or 47x General Setup gt Initial RAM filesystem and RAM disk initramfs initrd support Platform support gt Generic Xilinx Virtex 5 FXT board support Device Drivers gt Block devices gt 16 Default number of RAM disks 65536 Default RAM disk size kbytes Character devices gt Serial drivers gt lt gt Xilinx uartlite serial port support Support for console on Xilinx uartlite serial port GPIO Support gt x Xilinx GPIO support Watchdog Timer Support gt lt gt PowerPC Book E Watchdog Timer File systems gt lt gt Second extended fs support Kernel hacki
33. a type boolean Name flash sector protect 201 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 202 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 203 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 204 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 205 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 206 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 75 Name flash sector protect 207 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 208 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 209 Default false Valid true false Descripti
34. a type unsigned 64 bit integer Description Base address C_BASEADDR design parameter Name timer c highaddr Type parameter Default 0x0000000083c0ffff Data type unsigned 64 bit integer Description High address C HIGHADDR design parameter 102 Name timer cycle time Type parameter Default 5 ns Data type sc_time Description Cycle time uart lite Name uart lite verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name uart lite c baseaddr Type parameter Default 0x0000000084000000 Data type unsigned 64 bit integer Description Base address C BASEADDR design parameter Name uart lite c highaddr Type parameter Default 0x000000008400f fff Data type unsigned 64 bit integer Description High address C_HIGHADDR design parameter Name uart lite cycle time Type parameter Default 5 ns Data type sc_time Description Cycle time Name uart lite telnet refresh time Type parameter Default 10 ms Data type sc time Description Telnet refresh time A 6 Statistics Simulation statistic counters are listed below bram Name bram memory usage Type statistic Data type unsigned 64 bit integer Description target memory usage in bytes page granularity of 1048576 bytes Name bram read counter Type statistic Data type unsigned 64 bit integer 103 Descriptio
35. able instruction fetch profiling Type parameter Data type boolean Name profiler enable insn exec prof Default false Valid true false Description Enable Disable instruction execution profiling Type parameter Data type boolean Name profiler verbose Default false Valid true false Description Enable Disable verbosity Type parameter Data type boolean push buttons 5bit Name push buttons 5bit verbose Default false Valid true false Description Enable Disable verbosity Type parameter Data type boolean Name push buttons 5bit polling period Default 10 ms Description Polling period of host keyboard Type parameter Data type sc_time pwm stub Name pwm stub enable Default true Valid true false Type parameter Data type boolean 100 Description Enable Disable a lazy implementation of TLM 2 0 method interface Name pwm stub verbose Default false Valid true false Description Enable Disable verbosity Type parameter Data type boolean ram Name ram org Default 0x0000000000000000 Description memory origin base address Type parameter Data type unsigned 64 bit integer Name ram bytesize Default 268435456 Description memory size in bytes Type parameter Data type unsigned 64 bit integer Name ram initial byte value Default 0x00 Type paramet
36. ack can be debugged and tested within a rep resentative hardware environment before the availability of either the FPGA prototypes or the real hardware The software stack can be composed of low level software e g drivers of a real time operating system and of applications generated from high level models Papyrus Matlab Simulink Statemate Stateflow Several open source virtual platforms for different targets ARM PowerPC Star12X and TMS320C3X and different hosts Linux Windows Mac OS X are available for download here These virtual platforms have been evaluated and used in various industry domains such as automotive avionic military electrical equipments for medium tension nuclear safety 1 2 Virtex 5 FXT Simulator The UNISIM Virtex 5 FXT is a virtual platform that tries to mimic a Xilinx ML507 development board that include a Xilinx Virtex 5 FXT FPGA PPC440 Binary Files PPC440 Embedded Processor Block E VA Boot loader Val MAA DCR Controller Operating A 5 Crossbar S SIMciS SRAM _ _ 5 System Multi Format DB Debugge 2 eS tee SSE r Server MMU Val VA PPC440x5 Caches S BRAM XPS GPIO XPS Timer XPS UART Lite AJU Ya XPS IntC Val 5 NOR Flash a A S29GL256P Loader ELF S19 COFF Raw 5 Telnet TCP IP K a 5 Figure 1 UNISIM Virtex 5 FXT simulator schema
37. aded loop module loaded Error Driver xsysace is already registered aborting xsysace registration failed err 16 mousedev PS 2 mouse device common for all mice booke_wdt powerpc book e watchdog driver loaded TCP cubic registered NET Registered protocol family 17 RAMDISK ext2 filesystem found at block 0 RAMDISK Loading 16384KiB 1 disk into ram disk done VFS Mounted root ext2 filesystem on device 1 0 0 632744 Freeing unused kernel memory 256k init starting pid 747 tty etc init d rcS starting pid 750 tty bin cttyhack etc init sh BusyBox v1 19 3 2012 09 11 13 47 51 CEST built in shell ash Enter help for a list of built in commands 1 Once the boot is over you can enter shell commands at the command prompt in the telnet terminal For example you can ask for CPU informations to the Linux kernel by doing the following at the command prompt in the telnet terminal 1 cat proc cpuinfo processor cpu 0 440 in Virtex 5 FXT 27 clock 400 000000MHz revision 25 18 pvr 7ff2 1912 bogomips 800 00 timebase 400000000 platform Xilinx Virtex440 model testing Memory 256 MB 1 You may also want to try some MiBench benchmarks within that small Linux distribution We provide an initial RAM disk for almost each MiBench benchmark and the corresponding simulator configuration file For example to run the MiBench Lame benchmark large data
38. ameter Default false Data type boolean Valid true false Description Enable Disable verbosity generate out stub0 Name generate out stub0 enable Type parameter 82 Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name generate out stub0 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity generate out stubl Name generate out stub1 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name generate out stub1 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity gpio 5 leds positions Name gpio 5 leds positions verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name gpio 5 leds positions c baseaddr Type parameter Default 0x0000000081420000 Data type unsigned 64 bit integer Description Base address C_BASEADDR design parameter Name gpio 5 leds positions c highaddr Type parameter Default 0x000000008142ffff Data type unsigned 64 bit integer Description High address C_HIGHADDR design parameter Name gpio 5 leds positions cycle Type parameter ti
39. ansion 256 Mbits 32 MB S29GL256P off chip flash memory 6 on MPLB XPS UART Lite vl 01a 8 on MPLB Four XPS GPIO modules v2 00a 7 on MPLB connected to two LED boards and two DIP switch push buttons boards Several stub modules are currently integrated in the simulator to test the XPS Timer Counter module e GenerateOut stubs connected on XPS Timer Counter GenerateOut outputs PWM stub connected on XPS Timer Counter PWMO output CaptureTrigger stubs optional randomized outputs connected on XPS Timer Counter CaptureTrigger inputs SPLB stubs DCR stubs The simulator also supports the following features e Loading of ELF32 ELF64 3 and Motorola S19 S Record 2 files e An integrated console debugger that supports debugging both at assembly level and source level e g C source code Source level debugging is only available for ELF binary files including DWARF v2 or v3 5 debugging informations e Support for the GDB serial remote protocol over TCP IP That allows debugging a binary running into the simulator at assembly and or source level using the GNU debugger aka GDB e Support for a telnet console over the XPS UART Lite Table 1 shows the simulator memory mapping The 1 0 release of the simulator is composed of e the simulator source code unisim virtex5fxt 1 0betal1 tar gz e the present documentation Please follow the installation instructions in Section 2 to get the simulator building on your own buil
40. ata type signed 64 bit integer Name timer num timer1 capture losses Formula timer num timeri old capture losses timer num timerl1 gt new capture losses Description Number of timer 1 capture losses Type formula Data type signed 64 bit integer 111 References 1 MiBench Version 1 0 http www eecs umich edu mibench 2 S Record Output Format 1992 In MC68000 Family Programmers Reference Manual Ap 10 11 12 13 14 3 pendix C http www freescale com files archives doc ref_manual M68000PRM pdf ELF 64 Object File Format May 1998 http downloads openwatcom org ftp devel docs elf 64 gen pdf PPC440x5 CPU Core User s Manual IBM July 2003 http www 01 ibm com chips techlib techlib nsf techdocs 622DCFA1D98B1F10002575A7005464AF file ppc440x5_um pdf DWARF Debugging Information Format Version 3 Free Standards Group December 2005 http www dwarfstd org doc Dwarf3 pdf S29GL P MirrorBit Flash Family SPANSION November 2006 spansion com Support Datasheets S29GL P_00_A13_e pdf XPS General Purpose Input Output GPIO v2 00a Xilinx December 2009 DS569 http www xilinx com support documentation ip_documentation xps_gpio pdf XPS UART Lite vl 0la Xilinx December 2009 DS571 http www xilinx com support documentation ip_documentation xps_uartlite pdf Embedded Processor Block in Virtex 5 FPGAs v1 8 Reference Guide Xilinx
41. ata type unsigned 64 bit integer Description number of accesses to shadow data translation look aside buffer Name cpu num dtlb misses Type statistic Data type unsigned 64 bit integer Description number of misses to shadow data translation look aside buffer Name cpu num utlb accesses Type statistic Data type unsigned 64 bit integer Description number of accesses to unified data translation look aside buffer Name cpu num utlb misses Type statistic Data type unsigned 64 bit integer Description number of misses to unified data translation look aside buffer Name cpu num interrupts Type statistic Data type unsigned 64 bit integer Description Number of interrupts Name cpu num decrementer interrupts Type statistic Data type unsigned 64 bit integer Description Number decrementer interrupts 105 Name cpu num fixed interval timer Type statistic interrupts Data type unsigned 64 bit integer Description Number of fixed interval timer interrupts Name cpu num watchdog timer interrupt ype statistic Data type unsigned 64 bit integer Description Number of watchdog timer interrupts Name cpu num debug interrupts Type statistic Data type unsigned 64 bit integer Description Number of debug interrupts Name cpu num external input interrupt lype statistic Data type unsigned 64 bit integer Description Number of external input interrupts Name cpu num critical input i
42. ator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub input interrupt stub4 An initiator stub input interrupt stub5 An initiator stub input interrupt stub6 An initiator stub input interrupt stub9 An initiator stub 33 e intc This module implements a Xilinx XPS Interrupt Controller v2 01a It has the following characteristics PLB data width 128 bits Number of interrupt inputs 32 interrupt inputs IPR support yes SIE support yes CIE support yes IVR support yes Ouput active on high level input 0 capture mode input 1 capture mode input 2 capture mode input 3 capture mode input 4 capture mode input 5 capture mode input 6 capture mode input 7 capture mode input 8 capture mode input 9 capture mode input 10 capture mode input 11 capture mode input 12 capture mode input 13 capture mode input 14 capture mode input 15 capture mode input 16 capture mode input 17 capture mode input 18 capture mode input 19 capture mode input 20 capture mode input 21 capture mode input 22 capture mode input 23 capture mode input 24 capture mode input 25 capture mode input 26 capture mode input 27 capture mode input 28 capture mode input 29 capture mode input 30 capture mode input 31 capture mode rising edge rising ed
43. b 9 of 35 ok Launching consumer_jpeg_large job 10 of 35 ok Launching consumer_lame_small job 11 of 35 ok Launching consumer_lame_large job 12 of 35 ok Launching consumer_typeset_small job 13 of 35 ok Launching consumer_typeset_large job 14 of 35 ok Launching network_dijkstra_small job 15 of 35 ok Launching network_dijkstra_large job 16 of 35 ok Launching network_patricia_small job 17 of 35 ok Launching network_patricia_large job 18 of 35 ok Launching office_stringsearch_small job 19 of 35 ok Launching office_stringsearch_large job 20 of 35 ok Launching security_blowfish_small job 21 of 35 ok Launching security_blowfish_large job 22 of 35 ok Launching security_pgp job 23 of 35 ok Launching security_rijndael_small job 24 of 35 ok Launching security_rijndael_large job 25 of 35 ok Launching security_sha_small job 26 of 35 ok Launching security_sha_large job 27 of 35 ok 28 Launching Launching Launching Launching Launching Launching Launching Launching telecomm adpcm small job 28 telecomm adpcm large job 29 of 35 telecomm crc32 small job 30 telecomm crc32 large job 31 of 35 telecomm fft small job 32 telecomm fft large job 33 telecomm gsm small job 34 telecomm gsm large job 35 automotive basicmath small PASS automotive basicmath large PASS automotive bitcount small PASS automotive bitcount large
44. ber of timer 1 generate interrupts Name timer num timer0 generate Type statistic gt interrupt losses Data type unsigned 64 bit integer Description Number of timer O generate interrupt losses Name timer num timerl generate Type statistic gt interrupt losses Data type unsigned 64 bit integer Description Number of timer 1 generate interrupt losses Name timer num timer0 captures Type statistic Data type unsigned 64 bit integer Description Number of timer O captures Name timer num timeri captures Type statistic Data type unsigned 64 bit integer Description Number of timer 1 captures Name timer num timer0 old capture Type statistic losses Data type unsigned 64 bit integer Description Number of timer 0 old capture losses Name timer num timeri old capture Type statistic losses Data type unsigned 64 bit integer 109 Description Number of timer 1 old capture losses Name timer num timer0 new capture Type statistic losses Data type unsigned 64 bit integer Description Number of timer 0 new capture losses Name timer num timeri new capture Type statistic losses Data type unsigned 64 bit integer Description Number of timer 1 new capture losses A 7 Formulas Simulation statistic formulas are listed below cpu Name cpu ili miss rate Type formula Formula cpu num ili misses cpu Data type double precision num ili
45. ble disable sector write protection Type parameter Data type boolean Name flash sector protect 124 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 125 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 126 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 65 Name flash sector protect 127 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 128 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 129 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 130 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 131 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector pro
46. ce trees that is one for each initial RAM disk size 6 MB 8 MB 12 MB 16 MB 24 MB 32 MB 64 MB and 96 MB The provided device trees are 21 Registers Description r3 Address of the device tree r4 Start address of the initial RAM disk r5 End address of the initial RAM disk Table 5 Linux kernel register parameters 0 NO OIA ON rr MS Hs HS HS HS PPP PP CI CU CI OU YY YY WWW NN NN NN NN VVAA BRP ODNOOTBPWNRFPOWOANDAPBPWNHRPOWMOANADAOTBPWNHRODMDANATKPWNHRO O 50 include ppc44x_regs h define KERNEL_START 0x00000000 define DEV_TREE_PTR 0x00800000 define INITRD_START 0x00900000 define INITRD END 0x01900000 define TLBO 0x00000250 map 0x00000000 256 MB in system address space define TLB1 0x0 at physical address 0x0 define TLB2 0x7 with access control SX 1 SW 1 SR 1 define MI_CONTROL 0x10 define MI_CONTROL_ENABLE 0x8000 section text org O init mfdcr rO MI CONTROL oris r0 r0 MI CONTROL ENABLE mtdcr MI CONTROL rO enable MCI li r0 O TLB entry 0 lis r8 TLBO h ori r8 r8 TLBOC1 li r9 O mtspr MMUCR r9 MMUCR STID O lis r10 TLB1 h ori r10 r10 TLB1 1 lis r11 TLB20h ori rii r11 TLB201 tlbwe r8 rO O Set EPN V TS SIZE TID of UTLB entry 0 word 0 tlbwe r10 r0 1 Set RPN ERPN of UTLB entry 0 word 1 tlbwe r11 r0 2 Set UO U1 U2 U3 W I MG E UX UW UR SX SW SR of UTLB entry 0 word 2 lis r3 DEV
47. cteristics Processor version PVR value 0x7ff21912 Reset configuration RSTCFG U0 0 U1 0 U2 0 U3 0 E 0 ERPN 0x0 Start address Oxfffffffc L1 data cache size 32768 bytes block size 32 bytes associativity 64 L1 instruction cache size 32768 bytes block size 32 bytes associativity 64 shadow instruction TLB size 4 entries associativity 4 shadow data TLB size 8 entries associativity 8 unified TLB size 64 entries associativity 64 FSB PLB burst size 256 bits FSB PLB width 128 bits MMU yes FPU APU yes critical input interrupt stub An initiator stub crossbar This module implements the crossbar of the embedded processor block in Virtex 5 FXT FPGAs from Xilinx It has the following address mappings at reset ICURD mapping Ox0 Ox7fftfff MCI 0x80000000 Oxfffffffff MPLB DCUWR mapping Ox0 Ox7fftfff MCI 0x80000000 Oxfffffffff MPLB DCURD mapping Ox0 Ox7fftfff MCI 0x80000000 Oxfffffffff MPLB SPLBO mapping Ox0 Oxffftttftf MCI SPLB1 mapping Ox0 Oxffftttftf MCI dcr controller A Device Control Register bus controller debugger dip switches 8bit This module implements a 8 switch board DIP switch or push but tons on GPIO dma0 dcr stub A target stub dmal dcr stub A target stub dma2 dcr stub A target stub dma3 dcr stub A target stub external slave dcr stub A target stub 31 e flash This module implements an S29GL256P flash memory with
48. d copy every files and directories you want in your image 5 Unmount image root localhost umount media initrd We provide several prebuilt initial RAM disks Some of the initial RAM disks contain a MiBench benchmark see Table 3 in opt Table 6 summarizes the prebuilt initial RAM disks 24 Initial RAM disk Content initrd img Busybox only initrd automotive basicmath large img Busybox automotive basicmath large data set initrd automotive basicmath small img Busybox automotive basicmath small data set initrd automotive bitcount large img Busybox automotive bitcount large data set initrd_automotive_bitcount_small img Busybox automotive bitcount small data set initrd_automotive_qsort_large img Busybox automotive qsort large data set initrd automotive qsort small img Busybox automotive qsort small data set initrd automotive susan large img Busybox automotive susan large data set initrd automotive susan small img Busybox automotive susan small data set initrd consumer jpeg large img Busybox consumer JPEG MiBench large data set initrd consumer jpeg small img Busybox consumer JPEG MiBench small data set initrd consumer lame large img Busybox consumer lame large data set initrd consumer lame small img Busybox consumer lame small data
49. de the user with a default XML configuration file with option g 10 unisim virtex5fxt wfpu 1 0beta11 g default_sim_config xml The XML configuration file can be edited and then reloaded by the simulator with option unisim virtex5fxt wfpu 1 0beta11 c sim_config xml The user can also simply set the value of an individual parameter with option s unisim virtex5fxt wfpu 1 0beta11 s enable inline debugger true The simulator can prints the list of parameter set on the console with option 1 unisim virtex5fxt wfpu 1 0beta11 1 In general each simulator components have log messages that can be switched on or off using a parameter named verbose or approching unisim virtex5fxt wfpu 1 0beta11 s cpu verbose exception true The simulator accepts any combination of the above options For example you can combine these options to change the value of one or more parameters in an XML configuration file unisim virtex5fxt wfpu 1 0beta11 c sim_config xml s enable inline debugger true g sim config xml 4 2 Loading binaries The simulators has a multi format loader service that can detect the format of binaries and accordingly instantiate the right loader The user can set the list of binary files to load in Parameter loader filename each filenames being separated by a comma unisim virtex5fxt wfpu 1 0beta11 s loader filename boot elf vmlinux device_tree dtb initrd img In the hypothetic case where the multi for
50. ding environment Section 4 presents the basics for using the simulator Section presents some examples of use of the simulator Appendix A contains the technical references generated of the simulator 2 Building the simulator 2 1 Requirements The following tools or libraries must be installed e GNU C compiler aka g e GNU Flex aka flex e GNU Bison aka bison e Standard GNU C library aka libstde dev that comes with g e Boost aka libboost dev e Editline Libedit aka libedit dev e zlib aka zliblg dev e libxml2 aka libxml2 dev 2 2 Installing SystemC 2 3 2 2 1 Download the source code Register at http www accellera org and then download systemc 2 3 0 tgz from the Accelera SystemC standards download page 2 2 2 Uncompressing the source code tarballs tar zxvf systemc 2 3 0 tgz This will uncompress the source of SystemC in directory systemc 2 3 0 2 2 3 Configuring SystemC To handle threads SystemC relies on QuickThreads a fast implementation of user s threads QuickThreads speeds up threads switching compared to the slower kernel POSIX threads and thus considerably improves overall simulation performance To configure the SystemC build ing process with the built in QuickThreads recommended do the following at the command prompt cd systemc 2 3 0 mkdir objdir cd objdir mkdir HOME systemc configure prefix HOME systemc disable shared However if you i
51. e Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 193 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 194 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 195 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 196 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 197 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 198 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 74 Name flash sector protect 199 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 200 Default false Valid true false Description enable disable sector write protection Type parameter Dat
52. e of the boot program is to initialize early boot and provides the Kernel with some parameters in the processor registers Table 5 shows the registers that needs to be initialized before branching into the Linux Kernel entry point The boot program which source is shown on Figure 3 has been designed to make instruction at Label start match the processor start address Actually a branch instructions to elsewhere in the boot program Label init is placed at the reset address The boot program then starts enabling the MCI Memory Controller Interface so that processor can use RAM which is behind the MCI It programs the MMU to map the whole 256 MB RAM in the processor address space It initializes required register parameters of the Linux kernel that is the device tree address into Register r3 the initial RAM disk address range into Registers r4 and r5 the Linux kernel start 20 address into Register SRRO and the value of MSR into Register SRR1 It then branches to the Linux kernel using an rfi instruction return from interrupt 5 3 2 The Linux kernel The Linux kernel aka vmlinux must be configured and built for the target platform The steps to follow are 1 Get the Linux kernel source code Download the linux 3 0 4 tar bz2 tarball at ftp kernel org pub linux kernel v3 x linux 3 0 4 tar bz2 2 Uncompress the tarball tar jxvf linux 3 0 4 tar bz2 3 Before starting configuring the Linux kernel build we need to modify a Li
53. e sector write protection Type parameter Data type boolean Name flash sector protect 29 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 30 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 53 Name flash sector protect 31 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 32 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 33 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 34 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 35 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 36 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 37 Defaul
54. e sector write protection Type parameter Data type boolean Name flash sector protect 3 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 4 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 5 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 6 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 50 Name flash sector protect 7 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 8 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 9 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 10 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 11 Default false
55. el small data set initrd security sha large img Busybox security sha large data set initrd security sha small img Busybox security sha small data set initrd telecomm adpcm large img Busybox telecomm ADPCM large data set initrd telecomm adpcm small img Busybox telecomm ADPCM small data set initrd telecomm crc32 large img Busybox telecomm CRC32 large data set initrd telecomm crc32 small img Busybox telecomm CRC32 small data set initrd telecomm fft large img Busybox telecomm FFT large data set initrd telecomm fft large img Busybox telecomm FFT small data set initrd telecomm gsm large img Busybox telecomm GSM large data set initrd telecomm gsm small img Busybox telecomm GSM small data set Table 6 Initial RAM disks 25 5 3 5 Busybox Busybox is a light weight shell that includes most of standard UNIX commands Actually commands are symbolic links to the busybox binary Busybox knows which commands to implement looking at its argv 0 It is usually a good idea to install Busybox in the initial RAM disk image of an Linux based embedded platform because it s tiny and easy to cross compile The Linux kernel vmlinux at the end of the boot procedure starts linuxrc located at the root of the root file system e g in an initial RAM disk on device dev ram0 Usually linuxrc is a symbolic link to the boot shell e g the Busybox ash shell located at bin ash 5 3 6 Building the distribution
56. er Data type unsigned 8 bit integer Name ram cycle time Default 5 ns Description memory cycle time Type parameter Data type sc time Name ram read latency Default 5 ns Description memory read latency Type parameter Data type sc time Name ram write latency Default O s Description memory write latency Type parameter Data type sc_time Name ram verbose Default false Valid true false Type parameter Data type boolean 101 Description enable disable verbosity spIb0 stub Name splb0 stub enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name splb0 stub verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity splb1 stub Name splbi stub enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name splbi stub verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity timer Name timer verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name timer c baseaddr Type parameter Default 0x0000000083c00000 Dat
57. er on a Linux PPC440FP target machine do the following at the command prompt auto sh run powerpc 440fp linux To execute the benchmarks in an automatic manner on the UNISIM Virtex 5 FXT simulator do the following at the command prompt auto sh sim powerpc 440fp linux HOME unisim virtex5fxt 1 0betai1 virtex5fxt bin unisim virtex5fxt wfpu 1 O0betail To check that the results from the PPC440FP target and the simulator match do the following at the command prompt auto sh check powerpc 440fp linux ref powerpc 440fp linux sim You should get the following output automotive basicmath large pass automotive basicmath small pass automotive bitcount large pass automotive bitcount small pass automotive qsort large pass automotive qsort small pass automotive susan large pass automotive susan small pass consumer jpeg large pass consumer jpeg small pass consumer lame large pass consumer lame small pass consumer typeset large pass consumer typeset small pass 18 Benchmark Category Description Status sha security 160 bit secure hash algorithm OK blowfish security Blowfish encryption and de OK cryption rijndael security AES encryption and decryp OK after patching aesxam c tion use ftell instead of fgetpos pgp security Asymetric public key en OK cryption and decryption qsort automotive Sorting algorithm OK susan automotive Cor
58. eriod Default 10 ms Data type sc_time Description Polling period of host keyboard dma0 dcr stub Name dma0 dcr stub enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name dma0 dcr stub verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity dmal dcr stub Name dmal dcr stub enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name dmal dcr stub verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity dma2 dcr stub Name dma2 dcr stub enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name dma2 dcr stub verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity 48 dma3 dcr stub Name dma3 dcr stub enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name dma3 dcr stub verbose Type parameter Default false Data type boolean Valid true false De
59. ess reporting control selector 5 tee memory access reporting tee memory access reporting control selector 6 tee memory access reporting tee memory access reporting control selector 7 tee memory access reporting tee memory access reporting control selector 8 tee memory access reporting tee memory access reporting control selector 9 time this service is an abstraction layer for the SystemC kernel time 35 e timer This module implements a Xilinx XPS Timer Counter v1 02a It has the follow ing characteristics PLB data width 128 bits Width of the counters 32 bits One timer only no CaptureTrig0 assertion level high CaptureTrigl assertion level high GenerateOutO assertion level high GenerateOut0 assertion level high e uart lite This module implements a Xilinx XPS UART Lite v1 01a It has the follow ing characteristics PLB data width 128 bits Baud rate 9600 bits s Data bits 8 bits Parity odd A 4 Using the UNISIM Virtex 5 FXT simulator The UNISIM Virtex 5 FXT simulator has the following command line options Usage unisim virtex5fxt wfpu 1 0beta11 lt options gt Options e set lt param value gt or s lt param value gt set value of parameter param to value e config lt XML file gt or c lt XML file gt configures the simulator with the given XML configuration file e get config lt XML file gt or g lt XML file gt get the simulator configuration XML file you can use it to crea
60. false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub0 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stubl Name input interrupt stub1 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stubl verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stubl0 Name input interrupt stub10 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stubl0 verbose Type parameter Default false Data type boolean Valid true false 86 Description Enable Disable verbosity input interrupt stub11 Name input interrupt stub11 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub11 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stubl12 Name input interrupt stub12 enable Type parame
61. g exceptions Name cpu verbose set msr Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when setting MSR Name cpu verbose tlbwe Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when executing a tlbwe instruction Name cpu enable linux printk snooping Type parameter Default false Data type boolean Valid true false Description enable disable linux printk buffer snooping Name cpu enable linux syscall snoopingfype parameter Default false Data type boolean Valid true false Description enable disable linux syscall snooping 44 Name cpu trap on instruction counter Type parameter Default 18446744073709551615 Description Data type unsigned 64 bit integer number of simulated instruction before traping Name cpu enable trap on exception Default false Valid true false Description enable disable trap reporting on exception Type parameter Data type boolean Name cpu halt on Default Description Symbol or address where to stop simulation Type parameter Data type string Name cpu bus cycle time Default 5 ns Description bus cycle time Type parameter Data type sc_time Name cpu ext timer cycle time Default 5 ns Description external timer cycle time Type parameter Data type sc_time Name cpu n
62. ge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge rising edge leds 8bit This module implements a 8 LED board on GPIO loader A multi format loader that supports ELF32 ELF64 19 COFF and Raw binary files loader memory mapper A memory mapper loader tee backtrace This service client implements a tee T It unifies the backtrace capability of several services that individually provides their own backtrace capability loader tee blob This service client implements a tee T It unifies the statement lookup capability of several services that individually provides their own statement lookup 34 capability loader tee loader This service client implements a tee T It unifies the loader capa bility of several services that individually provides their own loader capability loader tee stmt lookup This service client implements a tee T It unifies the state ment lookup capability of several services that individually provides their own statement lookup capability loader tee symbol table lookup This service client implements a tee T It unifies the symbol table lookup capability of seve
63. i586 mingw32msvc N with systemc HOME systemc mingw32 with zlib HOME zlib mingw32 with libxm12 HOME libxm12 mingw32 with boost HOME boost mingw32 CXXFLAGS 03 g3 Wall 3 6 3 Cross compiling the simulator make f Makefile cross The simulator binaries are in virtex5fxt bin subdirectory The simulators comes in four flavors in e unisim virtex5fxt 1 0betal1 exe release simulator without FPU e unisim virtex5fxt wfpu 1 0betal1 exe release simulator with FPU e unisim virtex5fxt debug 1 0betal1 exe developement simulator e unisim virtex5fxt wfpu debug 1 0betal1 exe developement simulator with FPU The simulator binaries may need some DLLs from mingw32 e g libgcc_s d11 or third party libraries e g 1ibxm12 2 d11 Place these DLLs in the virtex5fxt bin subdirectory If you prefer not to use DLLs add LDFLAGS static to the configure cross command line arguments The simulator binaries can run natively run on a Windows host system or an emulated Windows using wine windows emulator 4 Getting started In this section we present the basics for using the simulator More details are available in Appendix A 4 1 Run time configuration The simulator has a parametrization system that allows configuring individual simulator compo nents that is the hardware components and the services The simulator stores its configuration a set of parameters in a XML configuration file The simulator can provi
64. ice IDs It prints the two IDs on the serial console It prints also protection status of each sector CFI query The test puts the S29GL256P NOR Flash chip in CFI Common Flash Interface query mode It queries the unique ASCII string QRY For each of the three characters it prints on the serial console whether they match what is expected QRY Chip erase The test erases the S29GL256P NOR Flash chip It checks that all sectors have been erased Sector erase The test erases the S29GL256P NOR Flash chip one sector at a time It checks that all sectors have been erased Single word programming The test program a word on the S29GL256P NOR Flash chip It verifies that word has been effectively programmed Unlock bypass chip erase The test erases the S220GL256P NOR Flash chip four times It checks that all sectors have been erased Unlock bypass sector erase The test erases the 29GL256P NOR Flash chip one sector at a time It checks that all sectors have been erased Unlock bypass word programming The test programs four words in the S29GL256P NOR Flash chip one word at a time It verifies that the four words have beed effectively programmed Write buffer programming The test programs four words in the S29GL256P NOR Flash chip using the write buffer It verifies that the four words have beed effectively programmed 5 1 2 Building the tests From the directory where you uncompressed the archive do the following at the command
65. ice time Default 200 ns Description maximum time between synchonizations Type parameter Data type sc_time Name cpu ipc Default 2 Description Type parameter Data type floating point double precision maximum instructions per cycle should be lt 2 0 Name cpu enable host idle Default false Valid true false Type parameter Data type boolean 45 Description Enable Disable host idle periods when target is idle Name cpu enable dmi Type parameter Default true Data type boolean Valid true false Description Enable Disable TLM 2 0 DMI Direct Memory Access to speed up simulation Name cpu debug dmi Type parameter Default false Data type boolean Valid true false Description Enable Disable debugging of DMI Direct Memory Access critical input interrupt stub Name critical input interrupt stub Type parameter gt enable Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name critical input interrupt stub Type parameter verbose Default false Data type boolean Valid true false Description Enable Disable verbosity crossbar Name crossbar verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name crossbar cycle time Type parameter Default 5 ns Data t
66. mat loader would wrongly guess the format of a binary the user tells the loader what is the format of the binary file unisim virtex5fxt wfpu 1 0beta11 s loader filename boot elf elf32 vmlinux elf32 device_tree dtb raw initrd img raw If for any reason virtual memory self relocation the simulator must load a binary file to an address that is not the final address indicated in the binary file itself the user tells the loader to override when possible the base address unisim virtex5fxt wfpu 1 0betal1 s loader filename boot elf vmlinux device_tree dtb initrd img s loader file1 base addr 0 s loader filei force base addr true If you intend to do Linux User mode simulation that is running a statically linked ap plication binary designed for Linux PPC440 without actually running Linux PPC440 within the simulator as opposed to full system simulation you should enable Linux system call translation using command line option enable linux os 1 11 4 3 Serial console The simulator comes with a UART Lite module on MPLB that the target application can use as a serial console The simulator telnet service that is actually a server for the telnet protocol manages communication between the real network and the virtual UART Lite module The combination of the UART Lite module the telnet service and a serial console aware target application enables using a real telnet client running on the host
67. max default 32768 minimum 301 Mount cache hash table entries 8192 NET Registered protocol family 16 PCI Probing PCI hardware bio create slab lt bio 0 gt at O XGpio plb 0 gpio0 81460000 registered XGpio plb 0 gpio0 81400000 registered XGpio plb 0 gpio0 81420000 registered XGpio plb 0 gpio0 81440000 registered vgaarb loaded Switching to clocksource timebase NET Registered protocol family 2 IP route cache hash table entries 16384 order O 65536 bytes TCP established hash table entries 8192 order 0 65536 bytes TCP bind hash table entries 8192 order 1 32768 bytes TCP Hash tables configured established 8192 bind 8192 TCP reno registered UDP hash table entries 4096 order O 65536 bytes UDP Lite hash table entries 4096 order O 65536 bytes NET Registered protocol family 1 RPC Registered named UNIX socket transport module RPC Registered udp transport module RPC Registered tcp transport module RPC Registered tcp NFSv4 1 backchannel transport module Trying to unpack rootfs image as initramfs rootfs image is not initramfs junk in compressed archive looks like an initrd Freeing initrd memory 16384k freed ROMFS MTD C 2007 Red Hat Inc msgmni has been set to 500 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered default 84000000 serial ttyULO at MMIO 0x84000000 ira 19 is a uartlite console ttyULO enabled brd module lo
68. me Default 5 ns Data type sc time 83 Description Cycle time gpio dip switches 8bit Name gpio dip switches 8bit verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name gpio dip switches 8bit c baseaddH ype parameter Default 0x0000000081460000 Data type unsigned 64 bit integer Description Base address C_BASEADDR design parameter Name gpio dip switches 8bit c highaddH ype parameter Default 0x000000008146ffff Data type unsigned 64 bit integer Description High address C_HIGHADDR design parameter Name gpio dip switches 8bit cycle Type parameter time Default 5 ns Data type sc time Description Cycle time gpio leds 8bit Name gpio leds 8bit verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name gpio leds 8bit c baseaddr Type parameter Default 0x0000000081400000 Data type unsigned 64 bit integer Description Base address C BASEADDR design parameter Name gpio leds 8bit c highaddr Type parameter Default 0x000000008140ffff Data type unsigned 64 bit integer Description High address C HIGHADDR design parameter 84 Name gpio leds 8bit cycle time Default 5 ns Description Cycle time Type parameter Data type sc_time gpio push buttons 5bit Name gpio push buttons
69. n read access counter not accurate when using SystemC TLM 2 0 DMI Name bram write counter Type statistic Data type unsigned 64 bit integer Description write access counter not accurate when using SystemC TLM 2 0 DMI cpu Name cpu instruction counter Type statistic Data type unsigned 64 bit integer Description number of simulated instructions Name cpu timer cycle Type statistic Data type unsigned 64 bit integer Description number of simulated timer cycles Name cpu num ili accesses Type statistic Data type unsigned 64 bit integer Description number of accesses to L1 instruction cache Name cpu num ili misses Type statistic Data type unsigned 64 bit integer Description number of misses to L1 instruction cache Name cpu num dl1 accesses Type statistic Data type unsigned 64 bit integer Description number of accesses to L1 data cache Name cpu num dli misses Type statistic Data type unsigned 64 bit integer Description number of misses to L1 data cache 104 Name cpu num itlb accesses Type statistic Data type unsigned 64 bit integer Description number of accesses to shadow instruction translation look aside buffer Name cpu num itlb misses Type statistic Data type unsigned 64 bit integer Description number of misses to shadow instruction translation look aside buffer Name cpu num dtlb accesses Type statistic D
70. n Zone order mobility grouping off Total pages 4094 000000 Kernel command line root dev ram0 rw init linuxrc console ttyULO 000000 PID hash table entries 1024 order 4 4096 bytes 000000 Dentry cache hash table entries 32768 order 1 131072 bytes 000000 Inode cache hash table entries 16384 order O 65536 bytes 000000 Memory 240128k 262144k available 3776k kernel code 22016k reserved 448k data 620k bss 256k init 000000 Kernel virtual memory layout 000000 Oxfffd0000 Oxffff0000 fixmap 000000 Oxfde00000 Oxfe000000 consistent mem 000000 Oxfde00000 Oxfde00000 early ioremap 000000 0xd1000000 0xfde00000 vmalloc amp ioremap 000000 Preemptible hierarchical RCU implementation 000000 NR_IRQS 512 ooo0o0o00000000000 PRA oo 0o0oooo 26 ss ss ss ss ss ss ss o aas GA mns S0Oo000000000000000000000000000000000000000000000 000000 000000 000343 000802 007581 009045 018693 019190 019403 019618 019831 020361 021282 037828 038118 039300 039638 039836 039851 039869 040208 041188 041734 041751 041764 041778 041965 042228 089044 094043 094294 094696 094709 094790 273876 274651 282141 286330 286568 286741 288341 288842 290497 290521 292335 292374 632474 clocksource timebase mult a00000 shift 22 registered Console colour dummy device 80x25 pid_
71. nable Disable verbosity input interrupt stub20 Name input interrupt stub20 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub20 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub21 Name input interrupt stub21 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface 89 Name input interrupt stub21 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub22 Name input interrupt stub22 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub22 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub23 Name input interrupt stub23 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub23 verbose Type parameter Default false Data ty
72. nable disable sector write protection Type parameter Data type boolean 70 Name flash sector protect 167 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 168 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 169 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 170 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 171 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 172 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 173 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 174 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 71 Name flash
73. ner and edge recognition OK basicmath automotive Solving cubic polynomial OK computing integer square root and converting angles bitcount automotive Count set bits in integer OK dijkstra network Shortest path in a graph OK FFT telecomm Fast Fourier Transform OK GSM telecomm Global System for Mobile OK Communications encoder and decoder CRC32 telecomm 32 bit Cyclic Redundancy OK Check ADPCM telecomm Adaptative Differential Pulse OK Code Modulation encoder and decoder typeset consumer A batch document formatter OK lame consumer MP3 encoder OK mad consumer MPEG audio decoding Can t get it to cross compile JPEG consumer JPEG encoder and decoder OK tiff office Conversion and Dithering of Can t get it to cross compile pictures ghostscript office Postscript renderer Crashes on PowerPC ispell office Spell checker Fail input files are endian sensitive stringsearch office Search for words in text OK rsynth office Text to speech synthesis OK sphinx office Speech decoder Can t be compiled on modern compilers Table 3 MiBench version 1 0 19 network dijkstra large pass network dijkstra small pass network patricia large pass network patricia small pass office stringsearch large pass office stringsearch small pass security blowfish large pass security blowfish small pass security pgp pass security rijndael large pass security rijndael small pass security sha large pass security sha small pass
74. ng gt Compile the kernel with debug info Figure 4 Linux kernel configuration changes from default only 23 1 device tree 6m dtb device tree for a 6 MB large initial RAM disk 2 device tree 8m dtb device tree for a 8 MB large initial RAM disk 3 device tree 16m dtb device tree for a 16 MB large initial RAM disk 4 device tree 24m dtb device tree for a 24 MB large initial RAM disk 5 device tree 16m dtb device tree for a 16 MB large initial RAM disk 6 device tree 32m dtb device tree for a 32 MB large initial RAM disk 7 device tree 64m dtb device tree for a 64 MB large initial RAM disk 8 device tree 96m dtb device tree for a 96 MB large initial RAM disk 5 3 4 The initial RAM disk The initial RAM disk file is a file containing an image of the root file system We consider creating an initial RAM disk with an Ext2 file system in it Note that creating an image requires root privileges because mounting a file system requires root privileges The steps to follow are 1 Create an empty image initrd img of 16 MB root localhost dd if dev zero of initrd img count 16384 bs 1024 2 Create an Ext2 file system in image root localhost mke2fs F m O initrd img 3 Create a mount point and mount image on it root localhost mkdir media initrd root localhost mount o loop initrd img mnt initrd 4 Now you can directly access withing the image using directory mnt initrd In directory mnt initr
75. ntend to instrument your simulator e g with valgrind to debug the simulator memory leaks bad memory accesses pointers and uninitialized memory reads you should use the slower kernel POSIX threads To configure the SystemC building process with the kernel POSIX threads do the following at the command prompt cd systemc 2 3 0 mkdir objdir cd objdir mkdir HOME systemc configure prefix HOME systemc enable pthreads disable shared 2 2 4 Compiling and installing SystemC To compile SystemC do the following at the command prompt make make install 2 3 Building the UNISIM Virtex 5 FXT simulator 2 3 1 Uncompressing the source code tarball tar zxvf unisim virtex5fxt 1 0betall tar gz 2 3 2 Configuring the simulator building process cd unisim virtexbfxt 1 0betal1 configure with systemc HOME systemc 2 3 3 Compiling the simulator make The simulator binaries are in virtex5fxt bin subdirectory The simulators comes in eight flavors in e unisim virtex5fxt 1 0betall release simulator e unisim virtexbfxt wfpu 1 0betal1 release simulator with a FPU APU e unisim virtex5fxt wfpu wocache 1 0betal1 release simulator with a FPU APU but without instruction and data caches e unisim virtexbfxt wocache 1 0betal1 release simulator without instruction and data caches e unisim virtexbfxt debug 1 0betal1 development simulator e unisim virtexbfxt wfpu debug 1 Obetal1 development simulat
76. nterrupt lype statistic Data type unsigned 64 bit integer Description Number of critical input interrupts Name cpu num machine check interrupts Type statistic Data type unsigned 64 bit integer Description Number of machine check interrupts Name cpu num data storage interrupts Type statistic Data type unsigned 64 bit integer Description Number of data storage interrupts Name cpu num instruction storage Type statistic interrupts Data type unsigned 64 bit integer 106 Description Number of instruction storage interrupts Name cpu num data tlb error interrupt lype statistic Data type unsigned 64 bit integer Description Number of data TLB error interrupts Name cpu num instruction tlb error Type statistic interrupts Data type unsigned 64 bit integer Description Number of instruction TLB error interrupts Name cpu num alignment interrupts Type statistic Data type unsigned 64 bit integer Description Number of alignment interrupts Name cpu num program interrupts Type statistic Data type unsigned 64 bit integer Description Number of program interrupts Name cpu num system call interrupts Type statistic Data type unsigned 64 bit integer Description Number of system call interrupts Name cpu num floating point unavailablEype statistic interrupts Data type unsigned 64 bit integer Description Number of floating point unavailable interrupts Name cpu
77. nts the read characters on the serial console Poll The test polls the timer counter 0 It prints some of the sampled values on the serial console Gen The test uses the timer generate mode with interrupt generation every 100 us It prints the tick of timer on the serial console 15 q aa E 0 E e sIEI lt LIO Test Name Directory SIEIPIZ Echo xps uart lite echo J J Poll xps_timer poll VI Gen xps_timer gen VV IV Cap xps timer cap VIVI PWM xps timer pwm VV IV Autoselect s29g1256p autoselect J Viv CFI query s29g1256p cfi query y Viv Chip erase s29g1256p chip_erase y VIIy Sector erase s29g1256p sector erase J Viv Single word programming s29g1256p single word programming J Viv Unlock bypass chip erase s29g1256p unlock bypass chip erase J Viv Unlock bypass sector erase s29g1256p unlock bypass sector erase y V J Unlock bypass word programming s29g1256p unlock bypass word programming y Viv Write buffer programming s29g1256p write buffer programming y Viv Table 2 Summary of basic system level tests Cap The test uses the timer capture mode randomized input between 1 us and 3 995 us It prints the captured time stamp on the serial console PWM The test uses the timer in PWM Pulse Width Modulation mode with a period of 2 ps and a duty cycle of 300 ns Autoselect The test puts the S29GL256P NOR Flash chip in autoselect mode It reads the manufacturer and dev
78. num auxiliary processor Type statistic unavailable interrupts Data type unsigned 64 bit integer Description Number of auxiliary processor unavailable interrupts 107 Name cpu run time Description run time Type statistic Data type sc time Name cpu idle time Description idle time Type statistic Data type sc_time ram Name ram memory usage Type statistic Data type unsigned 64 bit integer Description target memory usage in bytes page granularity of 1048576 bytes Name ram read counter Type statistic Data type unsigned 64 bit integer Description read access counter not accurate when using SystemC TLM 2 0 DMI Name ram write counter Type statistic Data type unsigned 64 bit integer Description write access counter not accurate when using SystemC TLM 2 0 DMI timer Name timer num tcr0 roll over Type statistic Data type unsigned 64 bit integer Description Number of timer counter 0 roll over Name timer num tcri roll over Type statistic Data type unsigned 64 bit integer Description Number of timer counter 1 roll over Name timer num timer0 generate Type statistic interrupts Data type unsigned 64 bit integer 108 Description Number of timer O generate interrupts Name timer num timer1 generate interrupts Type statistic Data type unsigned 64 bit integer Description Num
79. nux configuration file to enable support of hardware FPU In File arch powerpc platforms 44x Kconfig after config XILINX_VIRTEX_5_FXT bool select XILINX_VIRTEX add the following line select PPC_FPU 4 We can now configure the Linux kernel build make ARCH powerpc CROSS_COMPILE HOME crosstool powerpc 440fp linux gnu bin powerpc 440fp linux gnu V 1 menuconfig The Linux kernel should be configured as shown on Figure 4 Once configuration is finished at exit don t forget to answer Yes when prompted for saving the settings in File config 5 The Linux kernel vmlinux can now be built The build may take tens of minutes Do the following at the command prompt make ARCH powerpc CROSS_COMPILE HOME crosstool powerpc 440fp linux gnu bin powerpc 440fp linux gnu V 1 vmlinux 5 3 3 The device Tree On PowerPC embedded platforms the Linux kernel uses a hierarchical list of devices namely a device tree where leaves are devices and non leaf nodes are buses bridges and interconnects It is a rather detailed machine description to allow the Linux kernel to correctly initialize devices and route interrupts to the interrupt routines The boot loader or anything else launching the Linux kernel should provide the Linux kernel with the device tree Linux provides a device tree compiler that compile a text description dts file in a loadable binary form dtb file Our example provides user with several devi
80. of randomized output Name capture trigger stubl random Type parameter gt period max Default 799 Data type unsigned 32 bit integer Description Maximum period in cycles of randomized output cpu Name cpu cpu cycle time Type parameter Default 2500 Data type unsigned 64 bit integer Description CPU cycle time in picoseconds Name cpu voltage Type parameter Default 1000 Data type unsigned 64 bit integer Description CPU voltage in mV Name cpu max inst Type parameter Default 18446744073709551615 Data type unsigned 64 bit integer Description maximum number of instructions to simulate Name cpu verbose all Type parameter Default false Data type boolean Valid true false Description globally enable disable verbosity Name cpu verbose setup Type parameter 42 Default false Data type boolean Valid true false Description enable disable verbosity while setup Name cpu verbose step Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when simulating an instruction Name cpu verbose itlb Type parameter Default false Data type boolean Valid true false Description enable disable verbosity when accessing shadow instruction translation lookahead buffer Name cpu verbose dtlb Type parameter Default false Data type boolean Valid true false Description enable disable verbosity
81. olean Name flash sector protect 158 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 69 Name flash sector protect 159 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 160 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 161 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 162 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 163 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 164 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 165 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 166 Default false Valid true false Description e
82. olean Name flash sector protect 20 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 21 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 22 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 52 Name flash sector protect 23 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 24 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 25 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 26 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 27 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 28 Default false Valid true false Description enable disabl
83. on enable disable sector write protection Type parameter Data type boolean Name flash sector protect 210 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 211 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 212 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 213 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 214 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 76 Name flash sector protect 215 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 216 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 217 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash
84. on of TLM 2 0 method interface Name input interrupt stub31 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub4 Name input interrupt stub4 enable Type parameter Default true Data type boolean Valid true false 92 Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub4 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub5 Name input interrupt stub5 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub5 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub6 Name input interrupt stub6 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub6 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub9 Name input interrupt stub9 enable Type parameter Default true Data type boolean Valid true false
85. oolean Name flash sector protect 115 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 116 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 117 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 118 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 64 Name flash sector protect 119 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 120 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 121 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 122 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 123 Default false Valid true false Description ena
86. or with a FPU APU e unisim virtex5fxt wfpu wocache debug 1 0beta11 development simulator with a FPU APU but without instruction and data caches e unisim virtex5fxt wocache debug 1 0beta11 development simulator without instruc tion and data caches 3 Cross compiling the simulator This section explains how to build i e cross compile the simulator for a host system type e g Windows from another build system type e g Linux i386 The simulator is built on the build machine whereas it will run on the host machine In later sub sections we consider cross compiling the simulator for Windows from a Linux distribution using the mingw32 GCC cross compiler Most Linux distributions provide a mingw32 tool chain as a set of packages Once installed the mingw32 tool chain binary file names are prefixed with e i586 mingw32msvc on Ubuntu and Debian Linux distributions e 686 pc mingw32 on RedHat Fedora and SUSE Linux distributions e i586 pc mingw32 on Mandriva and Mageia Linux distributions The later sub sections will refer to the mingw32 tool chain of Ubuntu and Debian Linux distri butions 3 1 Requirements The following tools must be installed on the Linux build system e GNU C cross compiler for the host system type aka i586 mingw32msvc g e GNU Flex aka flex e GNU Bison aka bison e Standard GNU C library for the host machine aka libstdc 3 2 Installing a cross compiled SystemC 2 3 0 3 2 1 Download the sou
87. pe boolean Valid true false Description Enable Disable verbosity input interrupt stub24 Name input interrupt stub24 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub24 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub25 Name input interrupt stub25 enable Type parameter 90 Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub25 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub26 Name input interrupt stub26 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub26 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub27 Name input interrupt stub27 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input inter
88. protection Type parameter Data type boolean Name flash sector protect 184 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 185 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 186 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 187 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 188 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 189 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 190 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 73 Name flash sector protect 191 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 192 Default fals
89. quite high number of undocu mented steps and mostly relies on the users experience Fortunately a community sharing its experience the crossgcc mailing list actively supports a tool crosstool NG that considerably simplifies the process of building a crosstool chain Xilinx Virtex 5 FXT embedded processor is a PPC440x5 and Xilinx Platform Studio provides a PowerPC hardware FPU Hence from now we will focus our effort on creating a crosstool chain with GNU GCC 4 7 2 gcc and g GNU C library 2 16 0 glibc GNU binutils 2 22 1d objdump and readelf and GNU GDB 7 4 1 gdb for target powerpc 440fp linux gnu 1 Get crosstool NG Download the crosstool NG archive e g crosstool ng 1 18 0 tar bz2 from this page http crosstool ng org 2 Uncompress crosstool NG archive tar jxvf crosstool ng 1 18 0 tar bz2 12 Configure crosstool NG build cd crosstool ng 1 18 0 configure enable local Compile crosstool NG make Configure the crosstool chain build as shown on Figure 2 ct ng menuconfig Build the crosstool chain this may take tens of minutes hours ct ng build You crosstool chain is ready in HOME crosstool powerpc 440f p linux gnu 13 Paths and misc options gt HOME crosstool powerpc 440fp linux gnu Prefix directory Target options gt Target Architecture powerpc gt 440fp Emit assembly for CPU 440fp Tune for CPU Floating point hardware FPU
90. r Default false Data type boolean Valid true false Description Enable Disable telnet instantiation Name estimate power Type parameter Default false Data type boolean Valid true false Description Enable Disable power estimators instantiation Name kernel logger file Type parameter Default false Data type boolean Valid true false Description Keep logger output in a file Name kernel logger filename Type parameter Default logger output txt Data type string Description Filename to keep logger output the option file must be activated Name kernel logger std err Type parameter Default true Data type boolean Valid true false 37 Description Show logger output through the standard error output Name kernel_logger std_err_color Type parameter Default false Data type boolean Valid true false Description Colorize logger output through the standard error output only works if std_err is active Name kernel_logger std_out Type parameter Default false Data type boolean Valid true false Description Show logger output through the standard output Name kernel_logger std_out_color Type parameter Default false Data type boolean Valid true false Description Colorize logger output through the standard output _ only works if std_out is active Name kernel_logger xml_file Type parameter Default false Data type boolean
91. r protect 63 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 64 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 65 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 66 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 67 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 68 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 69 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 70 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 58 Name flash sector protect 71 Default false Valid true false Description enable disable sector write protection
92. ral services that individually provides their own symbol table lookup capability masterl dcr stub An initiator stub mci A Memory Controller Interface MCT mplb A memory mapped router profiler push buttons 5bit This module implements a 5 switch board DIP switch or push but tons on GPIO pwm stub A target stub ram this module implements a memory ram effective to physical address translator this service translates memory addresses when playing with different address sizes splb0 stub An initiator stub splb1 stub An initiator stub tee memory access reporting tee memory access reporting tee memory access reporting control selector 0 tee memory access reporting tee memory access reporting control selector 10 tee memory access reporting tee memory access reporting control selector 11 tee memory access reporting tee memory access reporting control selector 12 tee memory access reporting tee memory access reporting control selector 13 tee memory access reporting tee memory access reporting control selector 14 tee memory access reporting tee memory access reporting control selector 15 tee memory access reporting tee memory access reporting control selector 1 tee memory access reporting tee memory access reporting control_selector 2 tee memory access reporting tee memory access reporting control _selector 3 tee memory access reporting tee memory access reporting control_selector 4 tee memory access reporting tee memory acc
93. range_start range_end and outport_index are to be replaced with the initial address end address range start range size 1 and the output port index respectively 96 Name mplb mapping 2 Type parameter Default range_start 0xfc000000 Data type unisim component tlm2 interconnect range end 0xfdffffff output generic router Mapping port 2 translation 0xfc000000 Description Defined a mapping of the router with format range start range_end outport index where range_start range end and outport index are to be replaced with the initial address end address range start range size 1 and the output port index respectively Name mplb mapping 3 Type parameter Default range start 0xfffc0000 Data type unisim component tlm2 interconnect range end 0xffffffff output generic router Mapping port 3 translation 0xfffc0000 Description Defined a mapping of the router with format range start range_end outport_index where range_start range_end and outport index are to be replaced with the initial address end address range start rangesize 1 and the output port index respectively Name mplb mapping 4 Type parameter Default range start 0x84000000 Data type unisim component tlm2 interconnect range end 0x8400ffff output generic router Mapping port 4 translation 0
94. rce code Register at http www accellera org and then download systemc 2 3 0 tgz from the Ac cellera SystemC standards download page 3 2 2 Uncompressing the source code tarballs tar zxvf systemc 2 3 0 tgz This will uncompress the source of SystemC in directory systemc 2 3 0 3 2 3 Configuring SystemC To configure cross compile and install SystemC in your home directory do the following at the command prompt cd systemc 2 3 0 mkdir objdir cd objdir mkdir HOME systemc mingw32 configure prefix HOME systemc mingw32 host i586 mingw32msvc disable shared 3 2 4 Cross compiling and installing SystemC To cross compile SystemC do the following at the command prompt make make install 3 3 Cross compiling zlib Download the source code tarball at http zlib net zlib 1 2 5 tar gz Uncompress the source code tarball and cross compile the library tar zxvf zlib 1 2 5 tar gz cd zlib 1 2 5 mkdir HOME zlib mingw32 make f win32 Makefile gcc PREFIX i586 mingw32msvc BINARY_PATH HOME zlib mingw32 bin INCLUDE_PATH HOME z1lib mingw32 include LIBRARY_PATH HOME zlib mingw32 lib SHARED_MODE 1 install mv HOME zlib mingw32 bin zdll a HOME zlib mingw32 bin z dll a 3 4 Cross compiling libxml2 Download the source code tarball at ftp xmlsoft org libxml2 libxml2 2 7 8 tar gz Uncompress the source code tarball and cross compile the library tar zxvf libxml2
95. re trigger stub0 random Type parameter period min Default 200 Data type unsigned 32 bit integer Description Minimum period in cycles of randomized output Name capture trigger stub0 random Type parameter period max Default 799 Data type unsigned 32 bit integer Description Maximum period in cycles of randomized output capture trigger stubl Name capture trigger stubl cycle Type parameter time Default 5 ns Data type sc_time Description cycle time Name capture trigger stubl nice Type parameter time Default 1 ms Data type sc time Description nice time Name capture trigger stubl verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name capture trigger stub1 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable Name capture trigger stub1 randomizedType parameter output Default false Data type boolean Valid true false Description Enable Disable randomized output 41 Name capture trigger stubl random Type parameter gt seed Default 123456 Data type signed 32 bit integer Description Seed for the random generator Name capture trigger stubl random Type parameter gt period min Default 200 Data type unsigned 32 bit integer Description Minimum period in cycles
96. rupt stub27 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub28 Name input interrupt stub28 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub28 verbose Type parameter Default false Data type boolean Valid true false 91 Description Enable Disable verbosity input interrupt stub29 Name input interrupt stub29 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub29 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub30 Name input interrupt stub30 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub30 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub31 Name input interrupt stub31 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementati
97. s 5 2 1 Description The MiBench version 1 is a free commercially representative embedded benchmark suite Most of the benchmarks come with small and large data sets Table 3 summarizes the available benchmarks and there current status Be aware that some of the benchmarks are so difficult to cross compile they were only intended to be natively compiled on the machine that will run them that we gave up to build them Also note that some benchmarks do not run correctly on PowerPC processors because these benchmarks wrongly assumes endian PowerPC processors natural endian is big endian whether processors of standard PC are little endian When such limitations exist they are explained in the status column of the table 5 2 2 Building the benchmarks From the directory where you uncompressed the archive do the following at the command prompt build sh all powerpc 440fp linux gnu HOME crosstool powerpc 440fp linux gnu 5 2 3 Running the benchmarks The simulator can easily run the MiBench version 1 benchmarks for Linux PPC440FP without booting Linux To do so the simulator implements a mechanism known as Linux system call translation also known as User Mode simulation It means that a set of Linux system calls are passed through the host operating system so that it is possible for the loaded applications to access the host file system read user inputs and print messages on the console To execute the benchmarks in an automatic mann
98. scription Enable Disable verbosity external slave dcr stub Name external slave dcr stub enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name external slave dcr stub verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity flash Name flash verbose Type parameter Default false Data type boolean Valid true false Description enable disable verbosity Name flash org Type parameter Default 0x00000000fc000000 Data type unsigned 64 bit integer Description flash memory base address Name flash bytesize Type parameter Default 33554432 Data type unsigned 64 bit integer Description flash memory size in bytes Name flash endian Type parameter Default little endian Data type endianess 49 Valid little endian big endian Description endianness of flash memory Name flash sector protect 0 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 1 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 2 Default false Valid true false Description enable disabl
99. se Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 236 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 237 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 238 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 79 Name flash sector protect 239 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 240 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 241 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 242 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 243 Default false Valid true false Description enable disable sector write protection Type parameter
100. sector protect 218 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 219 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 220 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 221 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 222 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean TT Name flash sector protect 223 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 224 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 225 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 226 Default false Valid true false Description enable disable sector write
101. set do the following at the command prompt cd linux_distro unisim virtexbfxt wfpu 1 0betali c config sim_config_consumer_lame_large xml In another console connect the telnet client to the simulator telnet localhost 1234 Note The UNISIM Virtex 5 FXT Simulator must have the hardware FPU enabled unisim virter5fut wfpu 1 0beta11 to run a Linux kernel for powerpc 440fp linuz gnu When the simulator has the hardware FPU disabled unisim virtezrb5fut 1 0betal1 the simulator can only use the Linux kernel for powerpc 440 Linuz gnu To check this may take tens of minutes hours in an automatic mannner that the UNISIM Virtex 5 FXT simulator correctly boots Linux and runs the MiBench version 1 benchmarks do the following at the command prompt check sh 1HOME unisim virtexbfxt 1 0betal1 virtex5fxt bin unisim virtexb5fxt wfpu 1 0betal1 1234 Note the Netcat utility either traditional or BSD version must be installed You should get the following output Launching automotive_basicmath_small job 1 of 35 ok Launching automotive_basicmath_large job 2 of 35 ok Launching automotive_bitcount_small job 3 of 35 ok Launching automotive_bitcount_large job 4 of 35 ok Launching automotive_qsort_small job 5 of 35 ok Launching automotive_qsort_large job 6 of 35 ok Launching automotive_susan_small job 7 of 35 ok Launching automotive_susan_large job 8 of 35 ok Launching consumer_jpeg_small jo
102. sh sector protect 89 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 90 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 91 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 92 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 93 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 94 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 61 Name flash sector protect 95 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 96 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 97 Default false Valid true false Description enable disable sector write protec
103. sra Anais ee a A Aes 19 4 Files for booting Linux in the simulator o o 20 y e fal a ee a ae we AES 22 ia amp 2 ok We doe del SU Sn RS DES o o ee 25 1 Introduction 1 1 UNISIM UNISIM provides several virtual platforms and a framework to ease the development of new virtual platforms A virtual platform is a software tool often called simulator that mimics the behavior of an electronic system so that software can run on it before silicon or FPGA imple mentation of that electronic system is available The simulated electronic system can include lots of microprocessors and devices Depending on the needed representativeness and simulator development budget a simulator can be as simple as an instruction set simulator as well as a full system simulator A full system simulator not only executes the microprocessor instruction set like an instruction set simulator but also simulates buses I O devices sensors actuators so that real application workloads and operating systems can run on them Most of UNISIM virtual platforms are full system simulators which means that they are sufficiently representative of the real hardware that whole operating systems e g Linux VxWorks unmodified software stacks e g an AUTOSAR software stack and industrial applications can run on them The UNISIM virtual platforms are modular a simulator is the assembly of properly configured simulation components e g CPU RAM buses They are
104. t false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 38 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 54 Name flash sector protect 39 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 40 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 41 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 42 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 43 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 44 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 45 Default false Valid true false Description enable disable sector write protection Type parameter Da
105. ta type boolean Name flash sector protect 46 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 55 Name flash sector protect 47 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 48 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 49 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 50 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 51 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 52 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 53 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 54 Default false Valid true false Description
106. ta type unisim component tlm2 interconnect range end 0x8142ffff output generic router Mapping port 7 translation 0x81420000 Description Defined a mapping of the router with format range_start range_end outport_index where range_start range_end and outport index are to be replaced with the initial address end address range start rangesize 1 and the output port index respectively Name mplb mapping 8 Type parameter Default range start 0x81440000 Data type unisim component tlm2 interconnect range end 0x8144ffff output generic router Mapping port 8 translation 0x81440000 Description Defined a mapping of the router with format range_start range_end outport index where range start range end and outport index are to be replaced with the initial address end address range start range_size 1 and the output port index respectively profiler Name profiler min data read prof Type parameter addr Default 0x00000000 Data type unsigned 32 bit integer Description Minimum address for data read profiling Name profiler max data read prof Type parameter addr Default Oxffffffff Data type unsigned 32 bit integer Description Maximum address for data read profiling 98 Name profiler min data write prof Type parameter addr Default 0x0000
107. te your own configuration This option can be combined with c to get a new configuration file with existing variables from another file e list or 1 lists all available parameters their type and their current value e warn or w enable printing of kernel warnings e doc lt Latex file gt or d lt Latex file gt enable printing a latex documentation e version or v displays the program version information e share path lt path gt or p lt path gt the path that should be used for the share di rectory absolute path e help or h displays this help A 5 Configuration Simulator configuration see below can be modified using command line Options set lt param value gt or config lt config file gt Global Name enable gdb server Type parameter Default true Data type boolean Valid true false 36 Description Enable Disable GDB server instantiation Name enable inline debugger Type parameter Default true Data type boolean Valid true false Description Enable Disable inline debugger instantiation Name enable linux os Type parameter Default false Data type boolean Valid true false Description Enable Disable target Linux ABI to host ABI translation Name enable press enter at exit Type parameter Default false Data type boolean Valid true false Description Enable Disable pressing key enter at exit Name enable telnet Type paramete
108. tect 132 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 133 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 134 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 66 Name flash sector protect 135 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 136 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 137 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 138 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 139 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 140 Default false Valid true false Description enable disable sector write protection
109. telecomm adpcm large pass telecomm adpcm small pass telecomm CRC32 large pass telecomm CRC32 small pass telecomm FFT large pass telecomm FFT small pass telecomm gsm large pass telecomm gsm small pass 5 3 A light weight Linux distribution The simulator can easily run a minimalist Linux distribution for a Xilinx Virtex 5 FXT devel opment board Table 4 shows the files to load in the simulator to run such a minimalist Linux distribution In later sub sections we explain how these files are obtained We provides you with prebuilt files to allow you quickly boot a minimalist Linux distribution within the simulator Go directly to Sub section 5 3 7 if you don t bother about the technique behind creating a light weight Linux distribution for the simulator To build such a minimalist Linux distribution you need a working crosstool chain see Section 4 5 1 File Start address Memory Description boot elf Oxffff0000 BRAM Boot program vmlinux 0x00000000 RAM Linux kernel device_tree dtb 0x00800000 RAM Device Tree initrd img 0x00900000 RAM Initial RAM disk Table 4 Files for booting Linux in the simulator 5 3 1 The boot program The boot program is loaded in BRAM which is behind the MPLB At reset the processor starts executing instructions from physical address Oxfffffffc Thus the boot program is located in memory so that it has an instruction usually a branch at that physical address The rol
110. ter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub12 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stubl3 Name input interrupt stub13 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stubl3 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stubl4 Name input interrupt stub14 enable Type parameter Default true Data type boolean Valid true false 87 Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stubl4 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stubl5 Name input interrupt stub15 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stubl5 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt st
111. tic Address range Component name Hardware device 0x00000000 0x0003ffff ram 256 MB RAM 0x81400000 0x8140ffff gpio leds 8bit XPS GPIO 0x81420000 0x8142ffff gpio 5 leds positions XPS GPIO 0x81440000 0x8144ffff gpio push buttons 5bit XPS GPIO 0x81460000 0x8146ffff gpio dip switches 8bit XPS GPIO 0x81800000 0x8180ffff intc XPS IntC 0x83c00000 0x83c0ffff timer XPS Timer Counter 0x84000000 0x8400ffff uart lite XPS UART Lite Oxfc000000 Oxfdffffff flash S29GL256P Oxfffc0000 Oxffffffff bram 256 KB BRAM Table 1 Simulator memory mapping Telnet Putty The UNISIM Virtex 5 FXT simulator which Figure 1 shows the schematic implements the following e PPC440 Embedded Processor Block UG200 9 All the PPC440x5 4 instruction set of a Xilinx Virtex 5 FXT Optional FPU that is similar to Xilinx FPU APU PowerPC Book E MMU shadow ITLB shadow DTLB unified TLB Caches instruction and data Integrated timers decrementer fixed interval watchdog Exception handling mechanisms DCR device control register bus controller Crossbar MCI Memory Controller Interface MPLB master processor local bus interface SPLBO and SPLB1 slave processor local bus interfaces MPLB master processor local bus link 256 MB RAM on MCI 256 KB BRAM on MPLB XPS IntC interrupt controller v2 01a on MPLB XPS Timer Counter v1 02a on MPLB Sp
112. tion Type parameter Data type boolean Name flash sector protect 98 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 99 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 100 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 101 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 102 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 62 Name flash sector protect 103 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 104 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 105 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 106 Default false Valid
113. tion enable disable sector write protection Type parameter Data type boolean Name flash sector protect 253 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 254 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 81 Name flash sector protect 255 Type parameter Default false Data type boolean Valid true false Description enable disable sector write protection Name flash fsm to graphviz output Type parameter filename Default Data type string Description FSM finite state machine to Graphviz output filename Name flash cycle time Type parameter Default 5 ns Data type sc_time Description Cycle time gdb server Name gdb server memory atom size Type parameter Default 0x00000001 Data type unsigned 32 bit integer Description size of the smallest addressable element in memory Name gdb server tcp port Type parameter Default O Data type signed 32 bit integer Description TCP IP port to listen waiting for a GDB client connection Name gdb server architecture descriptibype parameter filename Default gdb ppc440fp xml Data type string Description filename of a XML description of the connected processor Name gdb server verbose Type par
114. true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 150 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean 68 Name flash sector protect 151 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 152 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 153 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 154 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 155 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 156 Default false Valid true false Description enable disable sector write protection Type parameter Data type boolean Name flash sector protect 157 Default false Valid true false Description enable disable sector write protection Type parameter Data type bo
115. ts a Xilinx XPS GPIO v2 00a It has the follow ing characteristics PLB data width 128 bits Use dual channel no GPIO Channel 1 width 8 bits GPIO_DATA reset value 0x0 GPIO_TRI reset value Oxf 32 gpio push buttons 5bit This module implements a Xilinx XPS GPIO v2 00a It has the following characteristics PLB data width 128 bits Use dual channel no GPIO Channel 1 width 5 bits GPIO_DATA reset value 0x0 GPIO_TRI reset value Oxffftftff host time this service is an abstraction layer for the host machine time inline debugger this service implements a built in debugger in the terminal console input interrupt stubO An initiator stub input interrupt stub1 An initiator stub input interrupt stub10 input interrupt stubll input interrupt stubl2 input interrupt stubl3 input interrupt stub14 input interrupt stubl5 input interrupt stubl16 input interrupt stub17 input interrupt stubl8 input interrupt stubl9 input interrupt stub20 input interrupt stub21 input interrupt stub22 input interrupt stub23 input interrupt stub24 input interrupt stub25 input interrupt stub26 input interrupt stub27 input interrupt stub28 input interrupt stub29 input interrupt stub30 input interrupt stub31 An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initiator stub An initi
116. ubl6 Name input interrupt stub16 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stubl6 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stubl7 Name input interrupt stub17 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub17 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity 88 input interrupt stub18 Name input interrupt stub18 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stub18 verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity input interrupt stub19 Name input interrupt stub19 enable Type parameter Default true Data type boolean Valid true false Description Enable Disable a lazy implementation of TLM 2 0 method interface Name input interrupt stubl9 verbose Type parameter Default false Data type boolean Valid true false Description E
117. using a documented serial remote protocol The simulator has a GDB server service that imple ments the GDB serial remote protocol so that the simulator can acts as Program gdbserver from the GDB client point of view To enable the simulator GDB server do the following at the command prompt unisim virtex5fxt wfpu 1 O0betail s enable gdb server true s gdb server tcp port 1234 During initialization the simulator waits for a GDB client connection on the GDB server TCP IP port In another console connect a GDB client to the simulator powerpc 440fp linux gnu gdb boot elf gdb target remote 1234 5 Examples of use In this section we present some examples of use for the simulator We provide you with scripts and makefiles to build in an automatic manner all the examples These examples are available for download in source and binary forms on our web site http unisim vp org e Basic system level unit tests hyperlink to binaries e MiBench version 1 hyperlink to binaries e light weight Linux distribution hyperlink to binaries To build the examples you need a functional cross tool chain for Target powerpc 440fp linux gnu see Section In later sub sections we assume that your cross tool chain is installed in HOME crosstool powerpc 440f p linux gnu 5 1 Basic system level tests Table 2 shows a summary of basic system level tests 5 1 1 Description Echo The test reads characters from the serial console It pri
118. x84000000 Description Defined a mapping of the router with format range_start range_end outport index where range start range end and outport index are to be replaced with the initial address end address range start range_size 1 and the output port index respectively Name mplb mapping 5 Type parameter Default range_start 0x81460000 Data type unisim component tlm2 interconnect range end 0x8146ffff output generic router Mapping port 5 translation 0x81460000 Description Defined a mapping of the router with format range start range_end outport index where range_start range end and outport index are to be replaced with the initial address end address range start range size 1 and the output port index respectively 97 Name mplb mapping 6 Type parameter Default range_start 0x81400000 Data type unisim component tlm2 interconnect range end 0x8140ffff output generic router Mapping port 6 translation 0x81400000 Description Defined a mapping of the router with format range start range_end outport index where range_start range end and outport index are to be replaced with the initial address end address range start range size 1 and the output port index respectively Name mplb mapping 7 Type parameter Default range start 0x81420000 Da
119. ype sc_time Description Enable Disable verbosity dcr controller Name dcr controller verbose Type parameter Default false Data type boolean Valid true false 46 Description Enable Disable verbosity Name dcr controller cycle time Type parameter Default 5 ns Data type sc_time Description Cycle time debugger Name debugger verbose Type parameter Default false Data type boolean Valid true false Description Enable Disable verbosity Name debugger dwarf to html output Type parameter directory Default Data type string Description DWARF v2 v3 to HTML output directory Name debugger dwarf register number Type parameter mapping filename Default powerpc_eabi_gcc_dwarf_register_Data type string lt gt number_mapping xml Description DWARF register number mapping filename Name debugger parse dwarf Type parameter Default true Data type boolean Valid true false Description Enable Disable parsing of DWARF debugging informations Name debugger debug dwarf Type parameter Default false Data type boolean Valid true false Description Enable Disable debugging of DWARF dip switches 8bit Name dip switches 8bit verbose Type parameter Default false Data type boolean Valid true false 47 Description Enable Disable verbosity Name dip switches 8bit polling Type parameter p
Download Pdf Manuals
Related Search
Related Contents
Bedienungsanleitung AF-TA430 AF Kit profesional de flash para estudio British Telecom Graphite 1100 Quad thermostat_carel_pj32c00000 Es-dozit-04102497 Description du module EE4.4_Bâtiment intelligent Implementing the TERIDIAN 73S8024RN in NDS Applications RC832 Instruction Manual OnScreenCommunicator Benutzerhandbuch Copyright © All rights reserved.
Failed to retrieve file