freecores/layer2
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
+------------------------------------------------------------------------------+ | | | layer[2] SoC for Spartan-3E Starter Kit | | | +------------------------------------------------------------------------------+ The layer[2] system-on-a-chip combines to the greatest possible extent a MIPS I(tm) compatible CPU with various memories and I/O-controllers. The spectrum of supported memories includes (inter alia) adjacent to an internal 16 kB memory, a flash-memory of 16 MB. The input/output capabilities of the system are realized by a PS/2 keyboard controller for handling the input and a VGA-textmode-controller responsible for output purposes. For the communication with other computer systems a RS-232 interface is used. The implementation of the hardware components was accomplished by the usage of the VHDL hardware description language and furthermore these components were synthesised for the Spartan-3E Starter Kit. Because of the compatibility with the MIPS I(tm) ISA, it is additionally possible to compile software with the GCC for layer[2]. +------------------------------------------------------------------------------+ | Toolchain Setup | +------------------------------------------------------------------------------+ This Section helps you with setting up the toolchain appropriatly. +---------------------------------------------------------------------------+ | cygwin | +---------------------------------------------------------------------------+ Installing cygwin is pretty easy. Just download the Installer from the cygwin homepage. After you have selected a download mirror, you will be prompted a "Select Packages" Window. We need Python for the upload script <sw/common/upload.py> and the memory file generator script <sw/common/vhd.py>, so check if its node is set to Default (This should suffice). The Devel node contains 'make', 'subversion', 'binutils' and the 'gcc'. These packages should be selected by default. +---------------------------------------------------------------------------+ | ISE WebPack | +---------------------------------------------------------------------------+ You can download the WebPack here if you haven't already installed it. The hardware build script xilinx/Makefile assumes that you have installed the WebPack at "C:\Xilinx". If your installation is located somewhere else, don't forget to adjust the build script. +---------------------------------------------------------------------------+ | pySerial | +---------------------------------------------------------------------------+ Download and extract pySerial. Open cygwin and navigate into the pySerial directory. Type python setup.py install If you still get some error when using the upload script, you probably need to install pyWin as well. +---------------------------------------------------------------------------+ | GCC Cross Compiler | +---------------------------------------------------------------------------+ Go to Cygwin Mirror Sites and download the newest source packages 'binutils-*-src.tar.bz', 'gcc-core-*-src.tar.bz' as well as 'mpfr-*-src.tar.bz'. First we define some global variables. In cygwin type line-by-line: export TARGET=mips-elf export PREFIX=/usr/local/$TARGET export PATH=$PATH:$PREFIX/bin Extract the archives into the directories 'binutils', 'gcc' and 'mpfr' respectively. In cygwin go to your directory that contains the extracted directories and type line-by-line: mkdir build-binutils cd build-binutils ../binutils/configure --target=$TARGET --prefix=$PREFIX make make install cd .. Next, we compile MPFR which is a prerequisite for GCC: mkdir build-mpfr cd build-mpfr ../mpfr/configure -–target=$TARGET -–prefix=$PREFIX make make install cd .. And finally, GCC: mkdir build-gcc cd build-gcc ../gcc/configure --with-newlib --without-headers \ --enable-languages="c" --target=$TARGET --prefix=$PREFIX \ --with-gnu-ld --with-gnu-as --disable-libssp --with-mpfr=$PREFIX make make install cd .. If the compilation ends with an error, search 'build-gcc' for the binaries 'mips-elf-cc1.exe' and 'mips-elf-gcc.exe' and copy them manually into the directory </usr/local/mips-elf/bin> +------------------------------------------------------------------------------+ | User Guide | +------------------------------------------------------------------------------+ The following section describes how to build and upload the hardware, the bootloader and the demo software. +---------------------------------------------------------------------------+ | Hardware | +---------------------------------------------------------------------------+ To build the hardware just navigate to <xilinx/> and enter make build Once completed, you can upload it onto your Starter Kit with make upload This just loads it directly onto your Spartan-3E. If you wish to load the design to the Plattform Flash type make prom If nothing shows up on the display, you might accidetally erased the CPLD. Start the iMPACT GUI and upload <xilinx/CPLD_bypass_logic.jed> to the CPLD. +---------------------------------------------------------------------------+ | Building the Bootloader | +---------------------------------------------------------------------------+ The source for the 'void Bootloader' is located at <sw/void>. You can build it with make standalone This will create the binary and translates it into the VHDL memory file <sw/bin/data.vhd>. You need to rebuild the hardware subsequently. +---------------------------------------------------------------------------+ | Configuring 'upload.py' | +---------------------------------------------------------------------------+ The serial port number of the upload script <sw/common/upload.py> needs to be adjusted. 34] port = 4, # 'COM5', +---------------------------------------------------------------------------+ | Uploading images | +---------------------------------------------------------------------------+ Start layer[2] and select 'Upload image ...'. You can navigate with the 'ARROW UP' and 'ARROW DOWN' keys. The system now waits for some incomming serial transmission. In cygwin switch to the directory where <sw/tennmino/> resides and type make upload This will build and upload the application. If everything went well, you'll see the 'void Bootloader' start-up screen again. If you select 'View memory contents ...', you can monitor the contents of the StrataFlash and the DDR. 'ARROW UP' and 'ARROW DOWN' increases or decreases the starting address of the displayed memory contents respectively. Press 'ESC' to return. With 'Start ...' the contents of the StrataFlash will be loaded to the DDR and the system starts the execution of the uploaded program.
About
layer[2]
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published