Changes

Jump to: navigation, search

How to add a Microblaze to a WILDSTAR4 VHDL project

3,079 bytes added, 19:12, 21 May 2010
Created page with 'The procedure to insert a Microblaze softcore processor into a VHDL design for Annapolis Micro Systems Inc. (AMS) WILDSTAR4 board is outlined below. <br \><br \> This guide assum…'
The procedure to insert a Microblaze softcore processor into a VHDL design for Annapolis Micro Systems Inc. (AMS) WILDSTAR4 board is outlined below.
<br \><br \>
This guide assumes you are using the Xilinx 10.1 build tools along with the, Cygwin, command line build procedure created by AMS.
<br \><br \>
----
<br \>
1.) Create Microblaze Project in EDK<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Ensure you append ", BUFFER_TYPE=NONE" to all ports in the .mhs file<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.) Run Hardware -> Generate Netlist to create .NGC files in the implementation folder<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.) Modify the system.bmm file located in the implementation folder<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i.) Find out what you called/will call your microblaze instantiation in the PE VHDL (say "microblaze_inst")<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ii.) Prepend "microblaze_inst/" to all ramb16 paths in system.bmm<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.) Build your microblaze application<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i.) Right click your software application and select "Build Project"<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ii.) This generates your executable.elf file.<br \>
2.) Instantiate the Microblaze in the appropriate PE's VHDL<br \>
3.) Modify "makefile" in the synthesis/<pe>/xst folder<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Modify line 37 to point to a local copy of the "wildstar4_xst.mk" instead of the original (yes, modify below the do not modify below this line line)<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.) Add a variable pointing to the BMM file, something like "MICROBLAZE_BMM = ../../../../edk/implementation/system.bmm" right below line 11<br \>
4.) Modify line 38 of the new "wildstar4_xst.mk"<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Append "-sd ../../../../edk/implementation" (or whatever path points to your microblaze NGC files) to the ngdbuild call<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.) Append "-bm ${MICROBLAZE_BMM}" to the ngdbuild call<br \>
5.) Build the WS4 project<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Navigate to the appropriate PE build folder (in cygwin)<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.) Run "make new"<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.) Run "make xst"<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.) Run "make"<br \>
6.) Update the .bit file with the processor data<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Navigate to the PE build folder<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.) Run "data2mem -bm ../../../../edk/implementation/system_bd.bmm -bd ../../../../edk/main_app/executable.elf -bt ace2_cpe0.bit -o b ace2_cpe0_download.bit"<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.) Run "promgen -p hex -w -o ace2_cpe0.dum -u 0 ace2_cpe0_download.bit"<br \>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.) Run "/cygdrive/c/annapolis/wildstar4/bin/peutils.exe ace2_cpe0.hex ace2_cpe0.x86 -s"<br \>
7.) Move the .x86 to the host/<fpga type> folder and run the software like normal<br \>

Navigation menu